ExecutionSpecifications on Sequence Diagrams



ExecutionSpecifications on Sequence Diagrams

From: Greg O'Keefe ^lt;greg.okeefe@anu.edu.au>
Date: Tue 25 Apr 2006 - 02:54:27 BST
Message-Id: <1145930067.10517.390.camel@reflex.rsise.anu.edu.au>
I have a simple sequence diagram, and I am trying to parse it to produce
an object diagram showing its metamodel elements, similar to the one
shown in Figure 14.24 on Page 493 of the UML 2.0 Superstructure document
formal/05-07-04.  I hope to use this to guide me in reading the
semantics sections of the UML definition, to determine exactly what the
diagram means.

Note that the example diagram in Fig. 14.24 uses "EventOccurrence" where
it should say "OccurrenceSpecification" - see Issue #8824
http://www.omg.org/issues/uml2-rtf.open.html

My diagram, unlike the example, has ExecutionSpecifications on the
lifelines.  The semantics paragraph on this metaclass, in Section,
14.3.10 says

   Typically the start occurrence and the finish occurrence will
   represent OccurrenceSpecifications such as a receive
   OccurrenceSpecification (of a Message) and the send
   OccurrenceSpecification (of a reply Message).

I have not been able to determine what this means.  

Intuitively, I guess it is saying that the beginning of an execution can
be the same thing as receipt of a synchronous message (procedure call),
and the end of the execution is the same thing as returning a value from
the procedure.  But what exactly does it mean in terms of the metamodel
elements and their semantics?

MessageOccurrenceSpecification and ExecutionOccurrenceSpecification are
distinct metaclasses, so they have no instances in common, so message
reception and execution start can not be syntactically equal (same
metamodel element).  Each OccurrenceSpecification is linked to an Event,
but again, these are MessageEvents and ExecutionEvents respectively, so
they can not be the same metamodel element either.

If the message and execution occurrences are syntactically distinct,
perhaps the quoted passage means that they typically denote the same
thing (occurrence) in the semantic domain?  If that is what it means, it
is not helpful that they talk about one piece of syntax "representing"
another.  It would be better to say "...will represent occurrences such
as receive occurrence (of a Message) ..."

The relationship between the semantics of the Events and the Occurrence
specifications is also not clear to me.  An Event is described as "the
specification of some occurrence" (13.3.13) which is what I thought
OccurrenceSpecifications were for.  The semantics of an
OccurrenceSpecification (14.3.25) "is just the trace of a single
OccurrenceSpecification."  That did not help me.  Perhaps the occurrence
denoted by the Event related to the OccurrenceSpecification must be
contained in the (singleton?) list of occurrences denoted by the
OccurrenceSpecification?  But this is all just guesswork.  Why don't
they actually define things?

I would be very grateful if anybody can help me clarify this, or correct
my thinking on the matter.

Thanks in advance,

Greg O'Keefe
-- 
Computer Sciences Laboratory
Research School of Information Sciences and Engineering
RSISE Building 115
The Australian National University
Canberra ACT 0200
Australia

T: +61-2-6125-8608
F: +61-2-6125-8824
E: greg.okeefe@anu.edu.au
W: http://rsise.anu.edu.au/~okeefe
Received on Tue Apr 25 02:54:40 2006