<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=OCUP_Interaction_Diagrams</id>
	<title>OCUP Interaction Diagrams - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=OCUP_Interaction_Diagrams"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP_Interaction_Diagrams&amp;action=history"/>
	<updated>2026-04-21T08:52:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=OCUP_Interaction_Diagrams&amp;diff=11719&amp;oldid=prev</id>
		<title>Filip Stachecki: /* Message Types⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=OCUP_Interaction_Diagrams&amp;diff=11719&amp;oldid=prev"/>
		<updated>2013-06-28T07:41:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Message Types⌘&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Private]]&lt;br /&gt;
[[Category:OCUP]]&lt;br /&gt;
==Interaction⌘==&lt;br /&gt;
* An &amp;#039;&amp;#039;&amp;#039;interaction&amp;#039;&amp;#039;&amp;#039; is a unit of behavior that focuses on the visible exchange of information between participants (limited in time).&lt;br /&gt;
* 4 interaction diagrams in UML 2.0:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Sequence diagrams&amp;#039;&amp;#039;&amp;#039; - sequence in which messages are exchanged (OCUP Fundamental)&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Communication diagrams&amp;#039;&amp;#039;&amp;#039; - relationship between the participants&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Timing diagrams&amp;#039;&amp;#039;&amp;#039; - state changes of the participants relative to the time&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Interaction overview diagrams&amp;#039;&amp;#039;&amp;#039; - order of interactions in an activity-like notation&lt;br /&gt;
==Sequence Diagram⌘==&lt;br /&gt;
[[File:SimpleSequenceDiagram.png]]&lt;br /&gt;
* Participants are represented by a rectangle and a dashed line (lifeline)&lt;br /&gt;
* Messages are represented by arrows between lifelines&lt;br /&gt;
* Time runs from top to bottom&lt;br /&gt;
* The entire diagram represents one interaction&lt;br /&gt;
===Connectable Element⌘===&lt;br /&gt;
[[File:Lifeline.png]]&lt;br /&gt;
&lt;br /&gt;
Connectable Element&lt;br /&gt;
* a set of instances&lt;br /&gt;
* can be considered as objects of the specified type&lt;br /&gt;
* lifelines (participants) represent connectable elements&lt;br /&gt;
&lt;br /&gt;
The header of a lifeline can also show the keyword &amp;#039;&amp;#039;&amp;#039;self&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
In this case, the lifeline represents an instance of the classifier to which the interaction belongs.&lt;br /&gt;
&lt;br /&gt;
===Selector⌘===&lt;br /&gt;
[[File:Selector.png]]&lt;br /&gt;
* If the &amp;#039;&amp;#039;&amp;#039;ConnectableElement&amp;#039;&amp;#039;&amp;#039; is multivalued (i.e, has a multiplicity &amp;gt; 1), then the &amp;#039;&amp;#039;&amp;#039;Lifeline&amp;#039;&amp;#039;&amp;#039; may have an expression (the &amp;quot;selector&amp;quot;). &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Selector&amp;#039;&amp;#039;&amp;#039; specifies which particular part is represented by this Lifeline. &lt;br /&gt;
* If the selector is omitted, this means that an arbitrary representative of the multivalued ConnectableElement is chosen.&lt;br /&gt;
&lt;br /&gt;
===Execution Specification (Execution Occurrence)⌘===&lt;br /&gt;
[[File:ExecutionSpecification.png]]&lt;br /&gt;
* Specification of the execution of a unit of behavior within the lifeline.&lt;br /&gt;
* Sending and receiving messages determine start and end of execution specification.&lt;br /&gt;
&lt;br /&gt;
===Message⌘===&lt;br /&gt;
[[File:SequenceDiagramMessage.png]]&lt;br /&gt;
===Message Types⌘===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Synchronous message&amp;#039;&amp;#039;&amp;#039; (filled arrowhead):&lt;br /&gt;
** caller waits until called behavior terminates&lt;br /&gt;
** reply message represented by dashed line with open arrowhead&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Asynchronous message&amp;#039;&amp;#039;&amp;#039; (open arrowhead):&lt;br /&gt;
** caller doesn&amp;#039;t wait but continues after call, no reply&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Found message&amp;#039;&amp;#039;&amp;#039; (open arrowhead originating from a filled circle):&lt;br /&gt;
** receiver known, sender not known&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lost message&amp;#039;&amp;#039;&amp;#039; (open arrowhead pointing to a filled circle)&lt;br /&gt;
** sender known, receiver not known&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Create message&amp;#039;&amp;#039;&amp;#039; (dashed line with open arrowhead pointing to header of lifeline):&lt;br /&gt;
** new lifeline is created at this point in the diagram&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Delete message&amp;#039;&amp;#039;&amp;#039; (open arrowhead):&lt;br /&gt;
** object destruction, stop (destruction of an object is represented by a cross on the lifeline)&lt;br /&gt;
&lt;br /&gt;
===Event Occurrences⌘===&lt;br /&gt;
[[File:SequenceEventOcc.png]]&lt;br /&gt;
* send event is denoted by an exclamation mark (&amp;#039;&amp;#039;&amp;#039;!p&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* receive event is denoted by question mark (&amp;#039;&amp;#039;&amp;#039;?p&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* A valid sequence for the interaction: &amp;#039;&amp;#039;&amp;#039;&amp;lt; !p, ?p, !q, ?q &amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;It&amp;#039;s not the only valid sequence!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
===Event Occurrences valid trace⌘===&lt;br /&gt;
[[File:SequenceEventOcc2.png]]&lt;br /&gt;
&lt;br /&gt;
===Event Occurrences Rule⌘===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Send&amp;#039;&amp;#039;&amp;#039; event &amp;#039;&amp;#039;&amp;#039;before receive &amp;#039;&amp;#039;&amp;#039;event&lt;br /&gt;
* The order of events along one lifeline is &amp;#039;&amp;#039;&amp;#039;relevant&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
* The position of one event relative to an event on another lifeline is &amp;#039;&amp;#039;&amp;#039;insignificant&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Event Occurrences Example⌘===&lt;br /&gt;
[[File:SequenceEventOccExample.png]]&lt;br /&gt;
&lt;br /&gt;
===General Ordering⌘===&lt;br /&gt;
[[File:SequenceGeneralOrdering.png]]&lt;br /&gt;
&lt;br /&gt;
* relationship between two events (on different lifelines)&lt;br /&gt;
* one event must occur before the other in a valid trace&lt;br /&gt;
* Notation: a dotted line between a centre filled triangle - Triangle points to later event&lt;br /&gt;
{{PB}}&lt;br /&gt;
==Other Interaction Diagrams⌘==&lt;br /&gt;
* Communication Diagram&lt;br /&gt;
* Timing Diagram&lt;br /&gt;
* Interaction Overview Diagram&lt;br /&gt;
&lt;br /&gt;
===Communication Diagram⌘===&lt;br /&gt;
[[File:CommunicationDiagram.png]]&lt;br /&gt;
===Timing Diagram⌘===&lt;br /&gt;
[[File:TimingDiagram.png]]&lt;br /&gt;
===Interaction Overview Diagram⌘===&lt;br /&gt;
[[File:InteractionOverviewDiagram.png]]&lt;br /&gt;
&lt;br /&gt;
===Questions⌘===&lt;br /&gt;
*What is an interaction?&lt;br /&gt;
*What does a lifeline represent?&lt;br /&gt;
*What is an execution occurrence?&lt;br /&gt;
* What types of message are there?&lt;br /&gt;
* How is the semantics of an interaction defined?&lt;/div&gt;</summary>
		<author><name>Filip Stachecki</name></author>
	</entry>
</feed>