Evaluation of VP-UML: Lots of issues

Hello,

I’m currently evaluating VP-UML and some competing products (MagicDraw UML, Borland Together). It has some convenient features that I miss when using the other programs. But after using VP-UML for just about 2 hours and using only the Class and Sequence Diagram, I’ve already found several issues:

Class Diagram: No synchronisation between association and attribute
Create new Class Diagram; Create 2 classes A and B; add an attribute “myB : B” to class A; Right click->“Multiplicity”->0…1; Right click->“Show Association” --> Association is always created with multiplicity “1”. Additionally, changing the attribute does never influence the association and vice-versa (this includes deleting).

Class Diagram: Dragging associations
Dragging one end of an aggregation association onto another class is possible, dragging an end of a composition associaton to another class is impossible?

Deleting in Model Explorer not undoable!
Deleted “Interface (Class)” -> all interface stereotypes disappeared (that’s expected behaviour). But Undo does neither restore the Item “Interface (Class)” nor the stereotypes on the classes.

Sequence Diagram: Incosistent base classifiers
Sequence Diagram: Assigning the Base Classifier of a life line via the “Properties View” sets the type of the life line to the base name (eg. “MyClass”) only. But setting it via the “Specification Dialog” results in the fully qualified name (FQN) being shown everywhere (eg. “MyNamespace.MyClass”). This is inconsistent behaviour. Additionally, the Sequence Diagram does not recognize the FQN and refuses to show the avaiable operations (methods) for a call to a lifeline with a FQ base classifier.

Minor:
“VP-UML” is shown as “run_vpuml” in the Mac OS X dock while running. This is just a cosmetic issue.

Additionally I’m missing the following (basic) features (maybe I’ve failed to find them, please tell me in that case):

Invalid associations possible
Dragging a realization association from a class to an interface is possible, but actually invalid (an interface cannot realize a class, only vice versa). (See Magic Draw UML for a proper implementation of this: Associations can only be created between valid partners. Dragging a realization from a class to an interface always results in a “class realizes interface” association, no matter where you start to drag.)

No link between Seq.D. message and method definition in the model
I haven’t found a quick way to jump from a sequence diagram “call” to the corresponding method definition (in model explorer or just in a specification popup).

Filters of very limited use
Some (maybe all) filters only search for elements that begin with the filter string, but it would be much easier if it also matched elements that contain the filter text. (I’ve noticed this while using the “Base Classifier”-Filter in the Properties View of a Sequence Diagram life line.)

Forum issues
It is not possible to preview or post a message in this forum with “Safari” web browser (latest version under Mac OS X). Pressing the Preview or Submit button results in being redirected to the forum list and the message is lost! (I had to switch to Firefox in order to be able to post this message.)

Any comments appreciatet.

Yours faithfully
RCh

Hello RCh,

Thank you for your message. For the issues you discovered:

Class Diagram: No synchronisation between association and attribute
In VP, the attribute related to association (including multiplicity) is defined in the association end in stead of directly under class. But the show association feature only care about the relationship between attributes and class, without take care about the multiplicity. I’ll ask our engineers investigate on it to enhance this feature.

Class Diagram: Dragging associations
I’ve checked and confirm dragging the composition and aggregation end to another class is possible. But what I tested currently is only on Widnows platform. We will test on Mac and get back to you in details about this.

Deleting in Model Explorer not undoable!
I’m sorry that currently the undo/redo is only cover the diagram editor. We will support the undo/redo on other part of the application very soon.

Sequence Diagram: Incosistent base classifiers
I’ve tested your steps but unable to repeat your problem. What I tested is as follow

If possible, can you show me the difference between my testing and you testing steps? Thanks!

Minor (run_vpuml)
I believe this is caused by you are running the run_vpuml directly under the launcher folder. Upon successfully installed the software, you can using the “Visual Paradigm for UML” shortcut inside the bin folder to launch the software.

Invalid associations possible
Thanks and I’ll ask our engineers take a look into this.

No link between Seq.D. message and method definition in the model
Do you mean showing the specification dialog (or similar) of the referenced operation?

Filters of very limited use
Thanks and I’ll ask our engineers take a look into this.

Forum issues
Thanks and I’ll ask our web team take a look into this.

Once again, thank you very much for reporting the issues and I’m looking forward to hear your reply.

Best regards,
Rain Wong

Thank you for your reply. Here are my answers (and even more issues):

Class Diagram: Dragging associations
I’m sorry, I meant “containment”, not “composition”. Dragging the end of a composition works fine, dragging a containment does not. (See attached project, “Class Diagram1”)

Sequence Diagram: Incosistent base classifiers
It works fine if the class diagram is set to “” and therefore “Class” is in “”. If I set the package to something else (eg. “testPackage”) in step one, it does not work. (See attached project, lifeline 3 and 4 in “Sequence Diagram1”, which reference “Class5” in “Class Diagram2”.)

Minor (run_vpuml)
It does not matter whether the app is called via the shortcut or directly, the name in the dock is alway “run_vpuml”. The Menu bar always shows (correctly) “VP-UML”.

No link between Seq.D. message and method definition in the model
Yes, I mean either opening the specification of the operation or selecting the operation in the model explorer (which would be handy as it allows to jump to views that contain the message).
Actually, I’ve found a way: right click on message->Open Specification->click on “…” next to action type->click on “…” next to operaton. But this is very tedious and involves opening 3(!) Dialogs. An easier way might be “right click”->“show attribute/operation in Model Explorer” or “open attribute/operation specification” or cascaded as “right click”->“Operation”->“open specification” or “show in model explorer”.

While evaluating your solutions, I’ve found several new bugs / strange behaviours (this seems like a never ending quest):

Invalid Style applied
Drag-creating a class from the “Resource Centric” view of another class creates it with an incorrect style. (See “Class Diagram1” in attached project file.)

Missing references in “Show View”
I don’t know if this is a bug or a misunderstood feature:

  • Create a class diagram
    Add a class “Class”
    Create a sequence diagram
    Add 2 lifelines of type “Class”
    Add a call message between them that references “operation”
    Go to “Model Explorer”
    Right click on “operation” within “Class”
    Click on “Show View…”
    The sequence diagram is missing in the list although it references “operation”.
    Worse: Right click on “Class” in “Model Explorer”
    Click on “Show View…”
    The sequence diagram is missing in the list although it contains a lifeline of type “Class”.

Maybe this is behaving as designed. In that case, is there another way to find all diagrams that reference “Class” or even “operation”? (The former is quite important, the latter would be nice but is not necessary if the former works.)

Minor: VP_UML is not registered for “vpp” files under Mac OS X.
Under Mac OS X (10.5.2) VP_UML neither registers itself to open “vpp” files on double click, nor does it announce to the OS that it could handle “vpp” files, which results in a warning message if you right click on a file, chose “open with…” and select “VP_UML”.

Edit: Forgot to attach the test project.

Best regards
RCh
testproject.vpp

Hi,

Class Diagram: No synchronisation between association and attribute
I’ve created another very simple project to illustrate the bug.

  • Open “Class Diagram 1”
  • Right click on “compositionAtt” within “Class”
  • Click on “Open Specification…”
  • You’ll see that the attribute has Multiplicity “1…*” and Aggregation “Composited”
  • Close the specification
  • Right click on “compositionAtt” within “Class”
  • Click on “Show Association”
  • A new association is created between “Class” and “Class2” but it has a Multiplicity of “1” and Aggregation Kind “none”.

Something different:
I’ve noticed that every attribute and operation that is created via “Shift-Alt-A/O” or the popup menu has the property “unique” set to true. Is this specified UML behaviour or is there some other reason for this? Is there any way to turn it off by default?

Best regards
RCh
attributeAssociation.vpp

Hello RCh,

Thanks for the details.

Containment relationship
I’m clarifying with our engineers why we introduce this limitation.

Sequence Diagram: Incosistent base classifiers
This should be a bug in the program. If you type in the base classifier (testPackage.Class), it will then generate your case. But if you select the base classifier from the drop down box in property window, it will working fine. We will fix this up.

run_vpuml
We will check why the dock not showing the right name.

No link between Seq.D. message and method definition in the model
Thanks for your clarification and I think this should be enhanced.

Invalid Style applied
Currently the style of the models created by resource centric will only following the origin model, but will not care about the stereotype presentation. We will investigate the possibility on enhancing this one.

Missing references in "Show View"
I think this is following our original design, but maybe the design is not complete enough to cover this case (operations referenced by message). I’ll ask our engineers to check how we can support this.

VP_UML is not registered for “vpp” files under Mac OS X
We will take a look to it and try out best to support it.

Class Diagram: No synchronisation between association and attribute
We will check about the multiplicity and aggregation kind issue. And about the “unique”, according to our engineers the UML spec. said it should be set to true as default. Do you mean you would like to able to customize this default setting?

Thanks for your help and looking forward to hear from you soon.

Best regards,
Rain Wong

Thank you again for the fast response.

I did not type the base classifier manually! I used “open Specification” on the lifeline to open the specification dialog and used the “Base classifier” combo box in this dialog to set the base classifier. This results in the fully qualified name which then leads to the message problem. As you stated correctly, using the property view in the bottom left of the window instead of the specification dialog works fine.

[quote=Rain]
And about the “unique”, according to our engineers the UML spec. said it should be set to true as default. Do you mean you would like to able to customize this default setting?[/quote]
If this is according to UML specification, it’s ok. I just wasn’t sure if I switched this on somewhere accidentially (eg. via a keyboard shortcut).

Best regards
RCh

Hi, this message is send from Safari 3.1 on Mac OS 10.5.2 . :smiley:

This is screenshot. I love my Mac! :smiley:

Picture 2.png

That is indeed interesting! Testing again with Safari 3.1 and Mac OS 10.5.2…

It works! Seems like they might have fixed it already? I’ve tried it several times on Sunday and it failed to work… strange.

I think you can try restart Safari next time.

Hello RCh,

I would like to let you know we have deployed a new build which solved the following issues:

But about the undo/redo in tree, this take some time for development and we currently consider to support it in some later release.

You can download the patch build at the following link. Hope this helps.

http://files3.visual-paradigm.com/200804/Patch/sp1_20080402x/VP_Suite_MacOSX_3_2_sp1_20080402x.dmg

Best regards,
Rain Wong

Hello Rain,

I’ve just installed the patch.

Multiplicity and aggregation type are now copied to the association when “Show association” is selected for the first time. But subsequent changes are not synchronized (eg. changing the multiplicity of the attribute does not influence the corresponding association), neither automatically nor when “Show association” is chosen again.

I’m can’t fully verify whether the “vpp” registration worked or not because I’ve already associated VP_UML with “*.vpp” files manually. But it doesn’t seem to work, because both run_vpuml.app and the launcher are still greyed out in the “select app to open .vpp" dialog. (See third screenshot) This is because they are not considered “recommended apps” for ".vpp” by Mac OS X which means that they didn’t announce that they can handle those files. (As you see on the very left, some apps like “TextWrangler” are not greyed out because they announced that they can handle every file.)

Additionally, drawing for rounded rectilinear connectors seems to be flawed in this version. Additionally to a bug I’ve already reported yesterday (line is drawn through aggregation shape) the lines are now drawn incorrectly after “Show association” is selected for the first time (see first screenshot) and after undo/redo of move operations (see second screenshot). All of this happens only for rounded rectilinear connectors and they are drawn correctly if moved around a bit when being drawn incorrectly.
Bild 6.png
Bild 11.png

Bild 5.png

Hello RCh,

Our engineers deployed another build which fixed the following issue

You can download the latest build at
http://files3.visual-paradigm.com/200804/Patch/sp1_20080415b/VP_Suite_MacOSX_3_2_sp1_20080415b.dmg

And about the file association issue, currently it only fixed to VP-UML, this issue will be fixed in the future build.

And for the containment connector issue, actually the contentment connector is representing the actual model containment relationship (i.e. package and class, as well as inner class). Unlike association, in our perception that the containment connector is not something need to change frequently. Therefore we don’t implement the changing from/to feature for it. If you have examples showing this feature will be helpful, please let me know and we are open for discussion.

Looking forward to hear from you.

Best regards,
Rain Wong