Hi *,
A summary of my thoughts around this matter...
Related to the latest remarks on issue 5030.
In the previous sequence diagrams, and also sequence2, up to revision
16316, the text shown above a Message was the name of the Message.
In the light of issue 5150, I have changed this to showing the script of
the action attached to the Message, together with the whole notation
possible for Messages as specified in the UML standard. There is the
added complexity that the notation on sequence diagram is not supposed
to show sequence numbers, like on the collaboration diagram.
However, IMHO the UML standard is very unclear about the requirements...
Issue 952 contains a nice summary of the requirements for the text shown
above a Message by Alex B., although also he was unsure about how to
combine contradictory requirements:
«we should have something like:
name of operation or signal +
arg. val.s and expressions +
return type and value (optional: if the return message is hidden) +
sequence number (optional) +
guard contition (optional)
All of this has to be derived by the associations in the meta-model.
Actions play an important role (...)
The section on collaboration diags gives a more complete treatment:
from page 3-121
sections
3.71.2.2 Arrow Label
3.71.2.5 Signature
3.71.4 Example
the user should also be able to enter a simple text label such as "get
invoice", or "hang up phone".
but this should disable all of the above machinery so that you don't get
the current situation of (possible) incoherence.
I think this will be the case where the diagram is a specification-level
one.
there will be Messages and classifier roles, assoc. roles; but no
stim's, links, objects, actions etc.»
Let me try to simplify my problem:
The text shown above the Message maps on the model as follows - 3
possibilities - in UML speak:
1. The Name of the Message itself.
2. The Name of the Operation or Message attached to the Action of the
Message.
3. The Body of the Script of the Action.
Up until now, ArgoUML only supported case 1.
I tested Papyrus, they use 1.
Some input about other tools would be welcome!
Interpreting the UML standard is difficult, in one place you would read
to support 2, in another 3.
I have been reading the UML 2.1.2 standard, too. This is still quite new
to me, but I think I found a place where case 2 is specified.
As Alex said: «the user should also be able to enter a simple text label
such as "get invoice", or "hang up phone"», so option 3 is surely needed.
How should this be implemented?
I am considering several possibilities.
I told Bob that it would be best to copy the Message.name from sequence
1 diagrams to the Message.Action.Script.Body of sequence 2 diagrams, so
that the texts still appear on the diagram. Is this the best way?
This led me to come up with this algo:
Why don't we keep the 3 fields in sync with a smart algorithm, and show
the most complex one?
Any input is welcome.
Regards,
Michiel
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=984023
To unsubscribe from this discussion, e-mail:
[[email protected]].