diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html/etrice-docse22.html')
-rw-r--r-- | plugins/org.eclipse.etrice.doc/html/etrice-docse22.html | 3756 |
1 files changed, 1939 insertions, 1817 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html index eac8e8896..8a1f54a10 100644 --- a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html +++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html @@ -10,7 +10,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> <!-- xhtml,3,next,html --> <meta name="src" content="etrice-doc.tex" /> -<meta name="date" content="2015-08-27 23:56:00" /> +<meta name="date" content="2015-08-28 18:10:00" /> <link rel="stylesheet" type="text/css" href="etrice-doc.css" /> </head><body > @@ -21,7 +21,7 @@ href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a href="#tailetrice-docse22.html">tail</a>] [<a href="etrice-docch7.html#etrice-docse22.html" >up</a>] </p></div> <h3 class="sectionHead"><span class="titlemark">7.1 </span> <a - id="x31-1700001"></a>ROOMLanguage</h3> + id="x31-1660001"></a>ROOMLanguage</h3> <!--l. 2--><p class="noindent" ><a id="ref:ROOMLanguage"></a> The Real Time Object Oriented Modeling (ROOM). </p><!--l. 5--><p class="noindent" >eTrice comprises several models: @@ -46,76 +46,76 @@ src="images/080-models.jpg" alt="PIC" <!--l. 20--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-170001r1"></a></p> -<!--l. 25--><div class="longtable"> <table id="TBL-20" class="longtable" + id="x31-166001r1"></a></p> +<!--l. 25--><div class="longtable"> <table id="TBL-19" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-20-1g"><col -id="TBL-20-1" /></colgroup><colgroup id="TBL-20-2g"><col -id="TBL-20-2" /><col -id="TBL-20-3" /></colgroup> +><colgroup id="TBL-19-1g"><col +id="TBL-19-1" /></colgroup><colgroup id="TBL-19-2g"><col +id="TBL-19-2" /><col +id="TBL-19-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-1-2" + style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-19-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-1-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-1-3" class="td11"> <!--l. 25--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> - - </tr><tr - style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-2-2" + style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-19-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:PhysicalModel">PhysicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-2-3" +href="#ref:PhysicalModel">PhysicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-2-3" class="td11"> <!--l. 26--><p class="noindent" >The PhysicalModel defines the setup of your nodes with their attributes like threads and mode of execution. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-3-2" + style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-19-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-3-3" +href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-3-3" class="td11"> <!--l. 27--><p class="noindent" >The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-4-2" + style="vertical-align:baseline;" id="TBL-19-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-19-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ConfigModel">ConfigModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-4-3" +href="#ref:ConfigModel">ConfigModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-4-3" class="td11"> <!--l. 28--><p class="noindent" >The ConfigModel describes the Attribute configuration of ActorInstances and PortInstances. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-20-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-5-1" + style="vertical-align:baseline;" id="TBL-19-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-6-1" + style="vertical-align:baseline;" id="TBL-19-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-7-1" + style="vertical-align:baseline;" id="TBL-19-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-8-1" + style="vertical-align:baseline;" id="TBL-19-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-20-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-9-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-9-3" + style="vertical-align:baseline;" id="TBL-19-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-19-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-19-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-19-9-3" class="td11"> </td></tr> </table></div> <a - id="x31-170002r238"></a> + id="x31-166002r237"></a> <h4 class="subsectionHead"><span class="titlemark">7.1.1 </span> <a - id="x31-1710001"></a>ConfigModel</h4> + id="x31-1670001"></a>ConfigModel</h4> <!--l. 34--><p class="noindent" ><a id="ref:ConfigModel"></a> The ConfigModel describes the Attribute configuration of ActorInstances and PortInstances. </p><!--l. 37--><p class="noindent" >The scope of this model is the configuration of Attributes of the LogicalModel. Thus it provides enhanced capabilities for @@ -130,8 +130,8 @@ assigning default values to Attributes, which are: </p> The configuration is available for actors and ports, thus ActorClasses/ActorRefs and ProtocolClasses/Ports. </p> <!--l. 47--> -<div class="lstlisting" id="listing-52"><span class="label"><a - id="x31-171001r1"></a></span><span +<div class="lstlisting" id="listing-40"><span class="label"><a + id="x31-167001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ConfigModel</span><span class="ec-lmtt-9"> </span><span @@ -139,7 +139,7 @@ class="ec-lmtt-9">ExampleConfig</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171002r2"></a></span><span + id="x31-167002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -156,9 +156,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171003r3"></a></span><span + id="x31-167003r3"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171004r4"></a></span><span + id="x31-167004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -168,7 +168,7 @@ class="ec-lmtt-9">ActorClass1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171005r5"></a></span><span + id="x31-167005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -181,15 +181,15 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">4</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171006r6"></a></span><span + id="x31-167006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171007r7"></a></span><span + id="x31-167007r7"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171008r8"></a></span><span + id="x31-167008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -203,7 +203,7 @@ class="ec-lmtt-9">actor1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171009r9"></a></span><span + id="x31-167009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -216,158 +216,158 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">7</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171010r10"></a></span><span + id="x31-167010r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-171011r11"></a></span><span + id="x31-167011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> <!--l. 63--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-171012r2"></a></p> -<!--l. 68--><div class="longtable"> <table id="TBL-21" class="longtable" + id="x31-167012r2"></a></p> +<!--l. 68--><div class="longtable"> <table id="TBL-20" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-21-1g"><col -id="TBL-21-1" /></colgroup><colgroup id="TBL-21-2g"><col -id="TBL-21-2" /><col -id="TBL-21-3" /></colgroup> +><colgroup id="TBL-20-1g"><col +id="TBL-20-1" /></colgroup><colgroup id="TBL-20-2g"><col +id="TBL-20-2" /><col +id="TBL-20-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-1-2" + style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-1-3" +href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-1-3" class="td11"> <!--l. 68--><p class="noindent" >An Attribute is a member variable of a class </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-2-1" + style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-3-1" + style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-4-1" + style="vertical-align:baseline;" id="TBL-20-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-21-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-5-1" + style="vertical-align:baseline;" id="TBL-20-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-21-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-6-3" + style="vertical-align:baseline;" id="TBL-20-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-20-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-20-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-20-6-3" class="td11"> </td></tr> </table></div> <a - id="x31-171013r242"></a> + id="x31-167013r241"></a> <h4 class="subsectionHead"><span class="titlemark">7.1.2 </span> <a - id="x31-1720002"></a>LogicalModel</h4> + id="x31-1680002"></a>LogicalModel</h4> <!--l. 80--><p class="noindent" ><a id="ref:LogicalModel"></a> The LogicalModel describes the logical structure and behavior of a ROOM application. </p><!--l. 83--><p class="noindent" >The ROOM model defines DataTypes, ProtocolClasses, ActorClasses, SubSystemClasses and LogicalSystems. Thereby the three latter form a hierarchy. The LogicalSystem is the top level element of the structure. It contains references to SubSystemClass elements. The SubSystemClass in turn contains references to ActorClass elements which -again contain (recursively) references to ActorClass elements. The complete structural hierarchy implies a tree -which has the LogicalSystem as root and where each reference stands for a new node with possibly further +again contain (recursively) references to ActorClass elements. The complete structural hierarchy implies a tree +which has the LogicalSystem as root and where each reference stands for a new node with possibly further branches. </p><!--l. 93--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-172001r3"></a></p> -<!--l. 98--><div class="longtable"> <table id="TBL-22" class="longtable" + id="x31-168001r3"></a></p> +<!--l. 98--><div class="longtable"> <table id="TBL-21" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-22-1g"><col -id="TBL-22-1" /></colgroup><colgroup id="TBL-22-2g"><col -id="TBL-22-2" /><col -id="TBL-22-3" /></colgroup> +><colgroup id="TBL-21-1g"><col +id="TBL-21-1" /></colgroup><colgroup id="TBL-21-2g"><col +id="TBL-21-2" /><col +id="TBL-21-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-22-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-1-2" + style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-1-3" +href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-1-3" class="td11"> <!--l. 98--><p class="noindent" >The LogicalSystem is the topmost structural class. It assembles a distributed system by means of sub systems. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-2-2" + style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-2-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-2-3" class="td11"> <!--l. 99--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-3-2" + style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-3-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-3-3" class="td11"> <!--l. 100--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-4-2" + style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-4-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-4-3" class="td11"> <!--l. 101--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-5-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-5-2" + style="vertical-align:baseline;" id="TBL-21-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-5-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-5-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-5-3" class="td11"> <!--l. 102--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-6-2" + style="vertical-align:baseline;" id="TBL-21-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-6-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:AnnotationType">AnnotationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-6-3" +href="#ref:AnnotationType">AnnotationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-6-3" class="td11"> <!--l. 103--><p class="noindent" >AnnotationTypes can be used to tag ROOM classes for further custom processing. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-22-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-7-1" + style="vertical-align:baseline;" id="TBL-21-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-8-1" + style="vertical-align:baseline;" id="TBL-21-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-9-1" + style="vertical-align:baseline;" id="TBL-21-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-10-1" + style="vertical-align:baseline;" id="TBL-21-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-10-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-22-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-11-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-11-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-11-3" + style="vertical-align:baseline;" id="TBL-21-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-21-11-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-21-11-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-21-11-3" class="td11"> </td></tr> </table></div> <a - id="x31-172002r123"></a> + id="x31-168002r122"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.1 </span> <a - id="x31-1730001"></a>ActorClass</h5> + id="x31-1690001"></a>ActorClass</h5> <!--l. 115--><p class="noindent" ><a id="ref:ActorClass"></a> An actor is the basic structural building block for building systems with ROOM. </p><!--l. 118--><p class="noindent" >An ActorClass consists of three main parts: </p> @@ -388,8 +388,8 @@ class="ec-lmssbx-10">Behavior </span>is described by the StateMachine. It can re <!--l. 125--><p class="noindent" ><img src="images/040-ActorClass.png" alt="PIC" /> </p><!--l. 126--> -<div class="lstlisting" id="listing-53"><span class="label"><a - id="x31-173001r1"></a></span><span +<div class="lstlisting" id="listing-41"><span class="label"><a + id="x31-169001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ActorClass</span><span @@ -398,7 +398,7 @@ class="ec-lmtt-9">ExampleActorClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173002r2"></a></span><span + id="x31-169002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -406,7 +406,7 @@ class="ec-lmssbx-10x-x-90">Interface</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173003r3"></a></span><span + id="x31-169003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -419,7 +419,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173004r4"></a></span><span + id="x31-169004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -432,13 +432,13 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173005r5"></a></span><span + id="x31-169005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173006r6"></a></span><span + id="x31-169006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -446,7 +446,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173007r7"></a></span><span + id="x31-169007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -458,7 +458,7 @@ class="ec-lmssbx-10x-x-90">Port</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">port1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173008r8"></a></span><span + id="x31-169008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -473,7 +473,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173009r9"></a></span><span + id="x31-169009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -488,9 +488,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173010r10"></a></span><span + id="x31-169010r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173011r11"></a></span><span + id="x31-169011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -503,7 +503,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClass2</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173012r12"></a></span><span + id="x31-169012r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -516,9 +516,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClass3</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173013r13"></a></span><span + id="x31-169013r13"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173014r14"></a></span><span + id="x31-169014r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -534,7 +534,7 @@ class="ec-lmtt-9">ActorRef_A</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">port5</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173015r15"></a></span><span + id="x31-169015r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -544,13 +544,13 @@ class="ec-lmtt-9">//</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">...</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173016r16"></a></span><span + id="x31-169016r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173017r17"></a></span><span + id="x31-169017r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -558,7 +558,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173018r18"></a></span><span + id="x31-169018r18"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -568,13 +568,13 @@ class="ec-lmtt-9">//</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">...</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173019r19"></a></span><span + id="x31-169019r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-173020r20"></a></span><span + id="x31-169020r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> @@ -582,321 +582,353 @@ class="ec-lmtt-9">}</span> <!--l. 151--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-173021r4"></a></p> -<!--l. 156--><div class="longtable"> <table id="TBL-23" class="longtable" + id="x31-169021r4"></a></p> +<!--l. 156--><div class="longtable"> <table id="TBL-22" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-23-1g"><col -id="TBL-23-1" /></colgroup><colgroup id="TBL-23-2g"><col -id="TBL-23-2" /><col -id="TBL-23-3" /></colgroup> +><colgroup id="TBL-22-1g"><col +id="TBL-22-1" /></colgroup><colgroup id="TBL-22-2g"><col +id="TBL-22-2" /><col +id="TBL-22-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-23-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-1-2" + style="vertical-align:baseline;" id="TBL-22-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ExecutionType">ExecutionType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-1-3" +href="#ref:ExecutionType">ExecutionType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-1-3" class="td11"> <!--l. 156--><p class="noindent" >Determines the execution type of an actor. </p></td> - - </tr><tr - style="vertical-align:baseline;" id="TBL-23-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-2-2" + style="vertical-align:baseline;" id="TBL-22-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-2-3" +href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-2-3" class="td11"> <!--l. 157--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-3-2" + style="vertical-align:baseline;" id="TBL-22-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-3-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-3-3" class="td11"> <!--l. 158--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-4-2" + style="vertical-align:baseline;" id="TBL-22-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SAP">SAP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-4-3" +href="#ref:SAP">SAP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-4-3" class="td11"> <!--l. 159--><p class="noindent" >A Service Access Point is similar to a Port, but uses a LayerConnection for wiring. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-5-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-5-2" + style="vertical-align:baseline;" id="TBL-22-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-5-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SPP">SPP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-5-3" +href="#ref:SPP">SPP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-5-3" class="td11"> <!--l. 160--><p class="noindent" >A Service Provision Point is the counterpart of a SAP </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-6-2" + style="vertical-align:baseline;" id="TBL-22-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-6-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Binding">Binding</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-6-3" +href="#ref:Binding">Binding</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-6-3" class="td11"> <!--l. 161--><p class="noindent" >A Binding connects two Ports with each other. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-7-2" + style="vertical-align:baseline;" id="TBL-22-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-7-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LayerConnection">LayerConnection</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-7-3" +href="#ref:LayerConnection">LayerConnection</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-7-3" class="td11"> <!--l. 162--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, resulting in an connection of all SAPs on its instance hierarchy. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-8-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-8-2" + style="vertical-align:baseline;" id="TBL-22-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-8-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-8-3" +href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-8-3" class="td11"> <!--l. 163--><p class="noindent" >An Attribute is a member variable of a class </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-9-2" + style="vertical-align:baseline;" id="TBL-22-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-9-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-9-3" +href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-9-3" class="td11"> <!--l. 164--><p class="noindent" >An Operation is a member function of a class. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-10-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-10-2" + style="vertical-align:baseline;" id="TBL-22-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-10-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-10-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:StateMachine">StateMachine</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-10-3" +href="#ref:StateMachine">StateMachine</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-10-3" class="td11"> <!--l. 165--><p class="noindent" >A StateMachine describes the state based, event driven behavior of an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-11-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-11-2" + style="vertical-align:baseline;" id="TBL-22-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-11-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-11-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-11-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-11-3" class="td11"> <!--l. 166--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-23-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-12-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-12-2" + style="vertical-align:baseline;" id="TBL-22-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-12-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-12-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-12-3" +href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-12-3" class="td11"> <!--l. 168--><p class="noindent" >A class can specify a super class and inherits elements from the super class hierarchy. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-23-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-13-1" + style="vertical-align:baseline;" id="TBL-22-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-13-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-14-1" + style="vertical-align:baseline;" id="TBL-22-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-14-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-15-1" + style="vertical-align:baseline;" id="TBL-22-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-15-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-16-1" + style="vertical-align:baseline;" id="TBL-22-16-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-16-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-23-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-17-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-17-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-17-3" + style="vertical-align:baseline;" id="TBL-22-17-"><td style="white-space:nowrap; text-align:left;" id="TBL-22-17-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-22-17-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-22-17-3" class="td11"> </td></tr> </table></div> <!--l. 174--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-173022r5"></a></p> -<!--l. 179--><div class="longtable"> <table id="TBL-24" class="longtable" + id="x31-169022r5"></a></p> +<!--l. 179--><div class="longtable"> <table id="TBL-23" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-24-1g"><col -id="TBL-24-1" /></colgroup><colgroup id="TBL-24-2g"><col -id="TBL-24-2" /><col -id="TBL-24-3" /></colgroup> +><colgroup id="TBL-23-1g"><col +id="TBL-23-1" /></colgroup><colgroup id="TBL-23-2g"><col +id="TBL-23-2" /><col +id="TBL-23-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-24-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-1-1" -class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-1-2" + style="vertical-align:baseline;" id="TBL-23-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-1-1" +class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-1-3" +href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-1-3" class="td11"> <!--l. 179--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-24-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-2-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-2-2" + style="vertical-align:baseline;" id="TBL-23-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-2-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-2-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-2-3" class="td11"> <!--l. 181--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-24-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-3-1" + style="vertical-align:baseline;" id="TBL-23-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-3-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-3-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-3-3" +class="td11"> + <!--l. 183--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-23-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-24-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-4-1" + style="vertical-align:baseline;" id="TBL-23-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-24-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-5-1" + style="vertical-align:baseline;" id="TBL-23-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-24-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-6-1" + style="vertical-align:baseline;" id="TBL-23-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-24-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-7-3" + style="vertical-align:baseline;" id="TBL-23-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-23-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-23-8-3" class="td11"> </td></tr> </table></div> -<!--l. 186--><p class="noindent" ><span +<!--l. 188--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> <a - id="x31-173023r244"></a> + id="x31-169023r243"></a> </p> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.2 </span> <a - id="x31-1740002"></a>ActorRef</h5> -<!--l. 195--><p class="noindent" ><a + id="x31-1700002"></a>ActorRef</h5> +<!--l. 197--><p class="noindent" ><a id="ref:ActorRef"></a> An ActorRef is an instance of an ActorClass. + + </p> <ul class="itemize1"> <li class="itemize">ActorClass: The type of the ActorRef </li> <li class="itemize">Multiplicity: The number of instances. A number greater than one can be seen as an array of instances - - </li> <li class="itemize">Reference Type: Can be fixed or optional. Fixed requires an integer multiplicity and results in an static instantiation with an fixed number of instances during runtime . Optional denotes an dynamic instantiation, where ActorRefs can be created in arbitrary number during runtime. In this case, the multiplicity has to be set to ’*’</li></ul> -<!--l. 204--><p class="noindent" ><span +<!--l. 206--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">multiplicity : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">1..n</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">*</span></span></span>’</li></ul> -<!--l. 210--><p class="noindent" ><span +<!--l. 212--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-174001r6"></a></p> -<!--l. 215--><div class="longtable"> <table id="TBL-25" class="longtable" + id="x31-170001r6"></a></p> +<!--l. 217--><div class="longtable"> <table id="TBL-24" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-25-1g"><col -id="TBL-25-1" /></colgroup><colgroup id="TBL-25-2g"><col -id="TBL-25-2" /><col -id="TBL-25-3" /></colgroup> +><colgroup id="TBL-24-1g"><col +id="TBL-24-1" /></colgroup><colgroup id="TBL-24-2g"><col +id="TBL-24-2" /><col +id="TBL-24-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-25-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-1-2" + style="vertical-align:baseline;" id="TBL-24-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-1-3" class="td11"> - <!--l. 215--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 217--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-25-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-2-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-2-2" + style="vertical-align:baseline;" id="TBL-24-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-2-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Replication">Replication</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-2-3" +href="#ref:Replication">Replication</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-2-3" class="td11"> - <!--l. 217--><p class="noindent" >Replication is mechanism for multi instantiation for + <!--l. 219--><p class="noindent" >Replication is mechanism for multi instantiation for ActorRefs and Ports. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-25-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-3-1" + style="vertical-align:baseline;" id="TBL-24-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-25-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-4-1" + style="vertical-align:baseline;" id="TBL-24-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-25-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-5-1" + style="vertical-align:baseline;" id="TBL-24-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-25-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-6-1" + style="vertical-align:baseline;" id="TBL-24-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-25-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-7-3" + style="vertical-align:baseline;" id="TBL-24-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-24-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-7-3" class="td11"> </td></tr> </table></div> -<!--l. 223--><p class="noindent" ><span +<!--l. 225--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-174002r7"></a></p> -<!--l. 228--><div class="longtable"> <table id="TBL-26" class="longtable" + id="x31-170002r7"></a></p> +<!--l. 230--><div class="longtable"> <table id="TBL-25" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-26-1g"><col -id="TBL-26-1" /></colgroup><colgroup id="TBL-26-2g"><col -id="TBL-26-2" /><col -id="TBL-26-3" /></colgroup> +><colgroup id="TBL-25-1g"><col +id="TBL-25-1" /></colgroup><colgroup id="TBL-25-2g"><col +id="TBL-25-2" /><col +id="TBL-25-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-26-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-26-1-2" + style="vertical-align:baseline;" id="TBL-25-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-26-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-1-3" class="td11"> - <!--l. 228--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 230--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-26-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-26-2-2" + style="vertical-align:baseline;" id="TBL-25-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-26-2-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-2-3" class="td11"> - <!--l. 229--><p class="noindent" >A SubSystem is the topmost building block of the + <!--l. 231--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-26-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-3-1" + style="vertical-align:baseline;" id="TBL-25-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-3-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-3-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-3-3" +class="td11"> + <!--l. 233--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-25-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-4-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:ActorRefPropertyDialog">ActorRefPropertyDialog</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-4-3" +class="td11"> + <!--l. 234--><p class="noindent" >A dialog to edit properties of an ActorRef. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-25-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-26-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-4-1" + style="vertical-align:baseline;" id="TBL-25-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-26-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-5-1" + style="vertical-align:baseline;" id="TBL-25-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-26-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-6-1" + style="vertical-align:baseline;" id="TBL-25-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-26-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-26-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-26-7-3" + style="vertical-align:baseline;" id="TBL-25-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-25-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-25-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-25-9-3" class="td11"> </td></tr> </table></div> -<!--l. 234--><p class="noindent" ><span +<!--l. 239--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 236--> -<div class="lstlisting" id="listing-54"><span class="label"><a - id="x31-174003r1"></a></span><span +<!--l. 241--> +<div class="lstlisting" id="listing-42"><span class="label"><a + id="x31-170003r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -906,7 +938,7 @@ class="ec-lmtt-9">SubSystemExample</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174004r2"></a></span><span + id="x31-170004r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -919,9 +951,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClassExample</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174005r3"></a></span><span + id="x31-170005r3"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174006r4"></a></span><span + id="x31-170006r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -930,15 +962,15 @@ class="ec-lmssbx-10x-x-90">LogicalThread</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">default_thread</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174007r5"></a></span><span + id="x31-170007r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174008r6"></a></span><span + id="x31-170008r6"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174009r7"></a></span><span + id="x31-170009r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -948,7 +980,7 @@ class="ec-lmtt-9">ActorClassExample</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174010r8"></a></span><span + id="x31-170010r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -957,7 +989,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174011r9"></a></span><span + id="x31-170011r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -972,7 +1004,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">Sender</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174012r10"></a></span><span + id="x31-170012r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -987,9 +1019,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">Receiver</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174013r11"></a></span><span + id="x31-170013r11"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174014r12"></a></span><span + id="x31-170014r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1008,22 +1040,22 @@ class="ec-lmtt-9">sender</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174015r13"></a></span><span + id="x31-170015r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174016r14"></a></span><span + id="x31-170016r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174017r15"></a></span><span + id="x31-170017r15"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174018r16"></a></span><span + id="x31-170018r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1033,7 +1065,7 @@ class="ec-lmtt-9">ActorClassExampleReplicated</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174019r17"></a></span><span + id="x31-170019r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1042,7 +1074,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174020r18"></a></span><span + id="x31-170020r18"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1056,7 +1088,7 @@ class="ec-lmtt-9">[3]:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">Sender</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174021r19"></a></span><span + id="x31-170021r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1072,9 +1104,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">Receiver</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174022r20"></a></span><span + id="x31-170022r20"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174023r21"></a></span><span + id="x31-170023r21"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1093,7 +1125,7 @@ class="ec-lmtt-9">sender</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174024r22"></a></span><span + id="x31-170024r22"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1107,7 +1139,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">to</span><span class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174025r23"></a></span><span + id="x31-170025r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1128,7 +1160,7 @@ class="ec-lmtt-9">sender</span><span class="ec-lmtt-9">[1].</span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174026r24"></a></span><span + id="x31-170026r24"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1149,7 +1181,7 @@ class="ec-lmtt-9">sender</span><span class="ec-lmtt-9">[2].</span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174027r25"></a></span><span + id="x31-170027r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1160,7 +1192,7 @@ class="ec-lmtt-9">*</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">....</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174028r26"></a></span><span + id="x31-170028r26"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1169,53 +1201,55 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">*/</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174029r27"></a></span><span + id="x31-170029r27"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-174030r28"></a></span><span + id="x31-170030r28"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> + + <hr class="figure" /><div class="figure" > <a - id="x31-174031r1"></a> + id="x31-170031r1"></a> -<!--l. 267--><p class="noindent" ><img +<!--l. 272--><p class="noindent" ><img src="images/300-ActorRefInstanceDiagram.jpg" alt="PIC" /> <br /> </p><div class="caption" ><span class="id">Figure 7.1: </span><span -class="content">*</span></div><!--tex4ht:label?: x31-174031r1 --> +class="content">*</span></div><!--tex4ht:label?: x31-170031r1 --> Instance hierarchy of ActorRef Example (System(System) not shown in code snippet) </div><hr class="endfigure" /> <a - id="x31-174032r245"></a> + id="x31-170032r244"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.3 </span> <a - id="x31-1750003"></a>Annotation</h5> -<!--l. 276--><p class="noindent" ><a + id="x31-1710003"></a>Annotation</h5> +<!--l. 281--><p class="noindent" ><a id="ref:Annotation"></a> An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. -</p><!--l. 279--><p class="noindent" >It refers to an AnnotationType and may have to pass key value pairs. Its notation is similar to Java: </p><!--l. 280--> -<div class="lstlisting" id="listing-55"><span class="label"><a - id="x31-175001r1"></a></span><span +</p><!--l. 284--><p class="noindent" >It refers to an AnnotationType and may have to pass key value pairs. Its notation is similar to Java: </p><!--l. 285--> +<div class="lstlisting" id="listing-43"><span class="label"><a + id="x31-171001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">@AnnotationType1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-175002r2"></a></span><span + id="x31-171002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1233,204 +1267,214 @@ class="ec-lmtt-9">=3,</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">...)</span> </div> -<!--l. 285--><p class="noindent" >See section Annotations for further reading. -</p><!--l. 289--><p class="noindent" ><span +<!--l. 290--><p class="noindent" >See section Annotations for further reading. +</p><!--l. 294--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-175003r8"></a></p> -<!--l. 294--><div class="longtable"> <table id="TBL-27" class="longtable" + id="x31-171003r8"></a></p> +<!--l. 299--><div class="longtable"> <table id="TBL-26" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-27-1g"><col -id="TBL-27-1" /></colgroup><colgroup id="TBL-27-2g"><col -id="TBL-27-2" /><col -id="TBL-27-3" /></colgroup> +><colgroup id="TBL-26-1g"><col +id="TBL-26-1" /></colgroup><colgroup id="TBL-26-2g"><col +id="TBL-26-2" /><col +id="TBL-26-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-27-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-1-2" + style="vertical-align:baseline;" id="TBL-26-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-26-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:AnnotationType">AnnotationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-1-3" +href="#ref:AnnotationType">AnnotationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-26-1-3" class="td11"> - <!--l. 294--><p class="noindent" >AnnotationTypes can be used to tag ROOM classes for + <!--l. 299--><p class="noindent" >AnnotationTypes can be used to tag ROOM classes for further custom processing. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-27-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-2-1" + style="vertical-align:baseline;" id="TBL-26-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-27-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-3-1" + style="vertical-align:baseline;" id="TBL-26-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-27-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-4-1" + style="vertical-align:baseline;" id="TBL-26-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-27-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-5-1" + style="vertical-align:baseline;" id="TBL-26-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-27-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-6-3" + style="vertical-align:baseline;" id="TBL-26-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-26-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-26-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-26-6-3" class="td11"> </td></tr> </table></div> -<!--l. 300--><p class="noindent" ><span +<!--l. 305--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-175004r9"></a></p> -<!--l. 305--><div class="longtable"> <table id="TBL-28" class="longtable" + id="x31-171004r9"></a></p> +<!--l. 310--><div class="longtable"> <table id="TBL-27" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-28-1g"><col -id="TBL-28-1" /></colgroup><colgroup id="TBL-28-2g"><col -id="TBL-28-2" /><col -id="TBL-28-3" /></colgroup> +><colgroup id="TBL-27-1g"><col +id="TBL-27-1" /></colgroup><colgroup id="TBL-27-2g"><col +id="TBL-27-2" /><col +id="TBL-27-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-28-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-1-2" + style="vertical-align:baseline;" id="TBL-27-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-1-3" +href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-1-3" class="td11"> - <!--l. 305--><p class="noindent" >The LogicalSystem is the topmost structural class. It + <!--l. 310--><p class="noindent" >The LogicalSystem is the topmost structural class. It assembles a distributed system by means of sub systems. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-2-2" + style="vertical-align:baseline;" id="TBL-27-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-2-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-2-3" class="td11"> - <!--l. 306--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 311--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-3-2" + style="vertical-align:baseline;" id="TBL-27-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-3-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-3-3" class="td11"> - <!--l. 307--><p class="noindent" >A SubSystem is the topmost building block of the + <!--l. 312--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-4-2" + style="vertical-align:baseline;" id="TBL-27-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-4-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-4-3" class="td11"> - <!--l. 308--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 313--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-5-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-5-2" + style="vertical-align:baseline;" id="TBL-27-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-5-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-5-3" +href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-5-3" class="td11"> - <!--l. 309--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> + <!--l. 314--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-28-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-6-1" + style="vertical-align:baseline;" id="TBL-27-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-6-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-6-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse24.html#ref:DataLogging">DataLogging</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-6-3" +class="td11"> + <!--l. 316--><p class="noindent" >Runtime logger for data-driven Messages with primtive + data. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-27-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-7-1" + style="vertical-align:baseline;" id="TBL-27-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-8-1" + style="vertical-align:baseline;" id="TBL-27-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-9-1" + style="vertical-align:baseline;" id="TBL-27-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-10-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-28-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-10-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-10-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-10-3" + style="vertical-align:baseline;" id="TBL-27-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-27-11-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-27-11-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-27-11-3" class="td11"> </td></tr> </table></div> -<!--l. 314--><p class="noindent" ><span +<!--l. 321--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> -</p><!--l. 316--><p class="noindent" >import room.basic.annotations.* from "../../org.eclipse.etrice.modellib.c/model/Annotations.room" -</p><!--l. 318--><p class="noindent" >ActorClass ComponentAbstraction Interface conjugated Port port1: Protocol1 Structure external Port port1 Behavior // +</p><!--l. 323--><p class="noindent" >import room.basic.annotations.* from "../../org.eclipse.etrice.modellib.c/model/Annotations.room" +</p><!--l. 325--><p class="noindent" >ActorClass ComponentAbstraction Interface conjugated Port port1: Protocol1 Structure external Port port1 Behavior // custom/external state machine implementation @BehaviorManual -<a - id="x31-175005r247"></a> -</p> +<a + id="x31-171005r246"></a> +</p> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.4 </span> <a - id="x31-1760004"></a>AnnotationType</h5> -<!--l. 336--><p class="noindent" ><a + id="x31-1720004"></a>AnnotationType</h5> +<!--l. 343--><p class="noindent" ><a id="ref:AnnotationType"></a> AnnotationTypes can be used to tag ROOM classes for further custom processing. -</p><!--l. 339--><p class="noindent" >They provide the ability to associate custom properties to ROOM classes, that adjust or toogle features, like generation or +</p><!--l. 346--><p class="noindent" >They provide the ability to associate custom properties to ROOM classes, that adjust or toogle features, like generation or the runtime behavior. eTrice has some built-in annotations, which can be found in Annotations.room within the eTrice modellib. -</p><!--l. 342--><p class="noindent" >See section Annotations for further reading. -</p><!--l. 347--><p class="noindent" ><span +</p><!--l. 349--><p class="noindent" >See section Annotations for further reading. +</p><!--l. 354--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-176001r10"></a></p> -<!--l. 352--><div class="longtable"> <table id="TBL-29" class="longtable" + id="x31-172001r10"></a></p> +<!--l. 359--><div class="longtable"> <table id="TBL-28" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-29-1g"><col -id="TBL-29-1" /></colgroup><colgroup id="TBL-29-2g"><col -id="TBL-29-2" /><col -id="TBL-29-3" /></colgroup> +><colgroup id="TBL-28-1g"><col +id="TBL-28-1" /></colgroup><colgroup id="TBL-28-2g"><col +id="TBL-28-2" /><col +id="TBL-28-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-29-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-1-1" -class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-29-1-2" + style="vertical-align:baseline;" id="TBL-28-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-1-1" +class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-29-1-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-1-3" class="td11"> - <!--l. 352--><p class="noindent" >An Annotation can be attached to a ROOM classes to + <!--l. 359--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-29-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-2-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-29-2-2" + style="vertical-align:baseline;" id="TBL-28-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-2-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-29-2-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-2-3" class="td11"> - <!--l. 354--><p class="noindent" >The LogicalModel describes the logical structure and + <!--l. 361--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-29-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-3-1" + style="vertical-align:baseline;" id="TBL-28-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-29-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-4-1" + style="vertical-align:baseline;" id="TBL-28-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-29-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-5-1" + style="vertical-align:baseline;" id="TBL-28-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-29-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-6-1" + style="vertical-align:baseline;" id="TBL-28-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-29-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-29-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-29-7-3" + style="vertical-align:baseline;" id="TBL-28-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-28-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-28-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-28-7-3" class="td11"> </td></tr> </table></div> <a - id="x31-176002r248"></a> + id="x31-172002r247"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.5 </span> <a - id="x31-1770005"></a>Attribute</h5> -<!--l. 365--><p class="noindent" ><a + id="x31-1730005"></a>Attribute</h5> +<!--l. 372--><p class="noindent" ><a id="ref:Attribute"></a> An Attribute is a member variable of a class -</p><!--l. 368--><p class="noindent" >An Attribute can be be used to store arbitrary data. There are two common conceptual purpose of use: +</p><!--l. 375--><p class="noindent" >An Attribute can be be used to store arbitrary data. There are two common conceptual purpose of use: </p> <ul class="itemize1"> <li class="itemize">model current system state (state machine variable) </li> <li class="itemize">store reference to more fine-grained components (e.g. c pointer to handle)</li></ul> -<!--l. 374--><p class="noindent" >Attributes can be defined in several ROOM classes. -</p><!--l. 376--><p class="noindent" ><span +<!--l. 381--><p class="noindent" >Attributes can be defined in several ROOM classes. +</p><!--l. 383--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">defaultValueLiteral : ’<span class="obeylines-h"><span class="verb"><span @@ -1441,121 +1485,121 @@ class="ec-lmtt-10"> code></span></span></span>’ class="ec-lmtt-10">1..n</span></span></span>’ </li> <li class="itemize">ref :</li></ul> -<!--l. 384--><p class="noindent" ><span +<!--l. 391--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-177001r11"></a></p> -<!--l. 389--><div class="longtable"> <table id="TBL-30" class="longtable" + id="x31-173001r11"></a></p> +<!--l. 396--><div class="longtable"> <table id="TBL-29" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-30-1g"><col -id="TBL-30-1" /></colgroup><colgroup id="TBL-30-2g"><col -id="TBL-30-2" /><col -id="TBL-30-3" /></colgroup> +><colgroup id="TBL-29-1g"><col +id="TBL-29-1" /></colgroup><colgroup id="TBL-29-2g"><col +id="TBL-29-2" /><col +id="TBL-29-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-30-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-1-2" + style="vertical-align:baseline;" id="TBL-29-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-29-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-29-1-3" class="td11"> - <!--l. 389--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 396--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-30-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-2-1" + style="vertical-align:baseline;" id="TBL-29-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-30-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-3-1" + style="vertical-align:baseline;" id="TBL-29-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-30-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-4-1" + style="vertical-align:baseline;" id="TBL-29-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-30-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-5-1" + style="vertical-align:baseline;" id="TBL-29-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-30-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-6-3" + style="vertical-align:baseline;" id="TBL-29-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-29-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-29-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-29-6-3" class="td11"> </td></tr> -</table></div> -<!--l. 395--><p class="noindent" ><span +</table></div> +<!--l. 402--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-177002r12"></a></p> -<!--l. 400--><div class="longtable"> <table id="TBL-31" class="longtable" + id="x31-173002r12"></a></p> +<!--l. 407--><div class="longtable"> <table id="TBL-30" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-31-1g"><col -id="TBL-31-1" /></colgroup><colgroup id="TBL-31-2g"><col -id="TBL-31-2" /><col -id="TBL-31-3" /></colgroup> +><colgroup id="TBL-30-1g"><col +id="TBL-30-1" /></colgroup><colgroup id="TBL-30-2g"><col +id="TBL-30-2" /><col +id="TBL-30-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-31-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-1-2" + style="vertical-align:baseline;" id="TBL-30-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-1-3" class="td11"> - <!--l. 400--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 407--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-2-2" + style="vertical-align:baseline;" id="TBL-30-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-2-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-2-3" class="td11"> - <!--l. 401--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 408--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-3-2" + style="vertical-align:baseline;" id="TBL-30-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-3-3" +href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-3-3" class="td11"> - <!--l. 402--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> + <!--l. 409--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-31-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-4-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-4-2" + style="vertical-align:baseline;" id="TBL-30-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-4-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ConfigModel">ConfigModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-4-3" +href="#ref:ConfigModel">ConfigModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-4-3" class="td11"> - <!--l. 404--><p class="noindent" >The ConfigModel describes the Attribute configuration of + <!--l. 411--><p class="noindent" >The ConfigModel describes the Attribute configuration of ActorInstances and PortInstances. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-31-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-5-1" + style="vertical-align:baseline;" id="TBL-30-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-6-1" + style="vertical-align:baseline;" id="TBL-30-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-7-1" + style="vertical-align:baseline;" id="TBL-30-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-8-1" + style="vertical-align:baseline;" id="TBL-30-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-31-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-9-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-9-3" + style="vertical-align:baseline;" id="TBL-30-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-30-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-30-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-30-9-3" class="td11"> </td></tr> </table></div> -<!--l. 409--><p class="noindent" ><span +<!--l. 416--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 411--> -<div class="lstlisting" id="listing-56"><span class="label"><a - id="x31-177003r1"></a></span><span +<!--l. 418--> +<div class="lstlisting" id="listing-44"><span class="label"><a + id="x31-173003r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1590,9 +1634,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177004r2"></a></span><span + id="x31-173004r2"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177005r3"></a></span><span + id="x31-173005r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1603,7 +1647,7 @@ class="ec-lmtt-9">SimpleDataClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177006r4"></a></span><span + id="x31-173006r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1617,7 +1661,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">int16</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177007r5"></a></span><span + id="x31-173007r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1631,16 +1675,16 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177008r6"></a></span><span + id="x31-173008r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177009r7"></a></span><span + id="x31-173009r7"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177010r8"></a></span><span + id="x31-173010r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1651,7 +1695,7 @@ class="ec-lmtt-9">ActorClassWithAttributes</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177011r9"></a></span><span + id="x31-173011r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1662,7 +1706,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177012r10"></a></span><span + id="x31-173012r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1690,7 +1734,7 @@ class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177013r11"></a></span><span + id="x31-173013r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1719,7 +1763,7 @@ class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177014r12"></a></span><span + id="x31-173014r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1728,16 +1772,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177015r13"></a></span><span + id="x31-173015r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177016r14"></a></span><span + id="x31-173016r14"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177017r15"></a></span><span + id="x31-173017r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1748,7 +1792,7 @@ class="ec-lmtt-9">ActorClassWithAttributes2</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177018r16"></a></span><span + id="x31-173018r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1759,7 +1803,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177019r17"></a></span><span + id="x31-173019r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1787,7 +1831,7 @@ class="ec-lmtt-9">multiplicity</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177020r18"></a></span><span + id="x31-173020r18"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1824,7 +1868,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177021r19"></a></span><span + id="x31-173021r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1833,16 +1877,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177022r20"></a></span><span + id="x31-173022r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177023r21"></a></span><span + id="x31-173023r21"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177024r22"></a></span><span + id="x31-173024r22"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1853,7 +1897,7 @@ class="ec-lmtt-9">ActorClassWithAttributeInitialization</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177025r23"></a></span><span + id="x31-173025r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1864,7 +1908,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177026r24"></a></span><span + id="x31-173026r24"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1885,7 +1929,7 @@ class="ec-lmtt-9">"</span><span class="ec-lmtt-9">3</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177027r25"></a></span><span + id="x31-173027r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1908,7 +1952,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">2}</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177028r26"></a></span><span + id="x31-173028r26"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1939,7 +1983,7 @@ class="ec-lmtt-9">{0,0,0,</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">...}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177029r27"></a></span><span + id="x31-173029r27"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1981,7 +2025,7 @@ class="ec-lmtt-9">state</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">machine</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177030r28"></a></span><span + id="x31-173030r28"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1990,7 +2034,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-177031r29"></a></span><span + id="x31-173031r29"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -1998,18 +2042,18 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> <a - id="x31-177032r249"></a> + id="x31-173032r248"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.6 </span> <a - id="x31-1780006"></a>Binding</h5> -<!--l. 448--><p class="noindent" ><a + id="x31-1740006"></a>Binding</h5> +<!--l. 455--><p class="noindent" ><a id="ref:Binding"></a> A Binding connects two Ports with each other. -</p><!--l. 451--><p class="noindent" >In essence, a binding is a abstraction for an underlying communication channel whose function is to convey messages from +</p><!--l. 458--><p class="noindent" >In essence, a binding is a abstraction for an underlying communication channel whose function is to convey messages from one port to the other. The precise semantics of these channels are not defined in the Binding. Instead, they are determined by the ProtocolClasses that are associated with the Ports at the end of the Binding. </p> -<!--l. 454--> -<div class="lstlisting" id="listing-57"><span class="label"><a - id="x31-178001r1"></a></span><span +<!--l. 461--> +<div class="lstlisting" id="listing-45"><span class="label"><a + id="x31-174001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2019,7 +2063,7 @@ class="ec-lmtt-9">ExampleActorClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178002r2"></a></span><span + id="x31-174002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2028,7 +2072,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178003r3"></a></span><span + id="x31-174003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2044,7 +2088,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178004r4"></a></span><span + id="x31-174004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2058,9 +2102,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClass2</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178005r5"></a></span><span + id="x31-174005r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178006r6"></a></span><span + id="x31-174006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2077,7 +2121,7 @@ class="ec-lmtt-9">actorRef</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">receiver</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178007r7"></a></span><span + id="x31-174007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2085,123 +2129,136 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-178008r8"></a></span><span + id="x31-174008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 467--><p class="noindent" ><span +<!--l. 474--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-178009r13"></a></p> -<!--l. 472--><div class="longtable"> <table id="TBL-32" class="longtable" + id="x31-174009r13"></a></p> +<!--l. 479--><div class="longtable"> <table id="TBL-31" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-32-1g"><col -id="TBL-32-1" /></colgroup><colgroup id="TBL-32-2g"><col -id="TBL-32-2" /><col -id="TBL-32-3" /></colgroup> +><colgroup id="TBL-31-1g"><col +id="TBL-31-1" /></colgroup><colgroup id="TBL-31-2g"><col +id="TBL-31-2" /><col +id="TBL-31-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-32-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-1-2" + style="vertical-align:baseline;" id="TBL-31-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> : endpoint1 </td><td style="white-space:wrap; text-align:left;" id="TBL-32-1-3" +href="#ref:Port">Port</a> : endpoint1 </td><td style="white-space:wrap; text-align:left;" id="TBL-31-1-3" class="td11"> - <!--l. 472--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 479--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-32-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-2-2" + style="vertical-align:baseline;" id="TBL-31-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> : endpoint2 </td><td style="white-space:wrap; text-align:left;" id="TBL-32-2-3" +href="#ref:Port">Port</a> : endpoint2 </td><td style="white-space:wrap; text-align:left;" id="TBL-31-2-3" class="td11"> - <!--l. 473--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 480--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-32-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-3-1" + style="vertical-align:baseline;" id="TBL-31-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-32-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-4-1" + style="vertical-align:baseline;" id="TBL-31-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-32-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-5-1" + style="vertical-align:baseline;" id="TBL-31-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-32-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-6-1" + style="vertical-align:baseline;" id="TBL-31-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-32-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-32-7-3" + style="vertical-align:baseline;" id="TBL-31-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-31-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-31-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-31-7-3" class="td11"> </td></tr> </table></div> -<!--l. 479--><p class="noindent" ><span +<!--l. 486--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-178010r14"></a></p><!--l. 484--><div class="longtable"> <table id="TBL-33" class="longtable" + id="x31-174010r14"></a></p> +<!--l. 491--><div class="longtable"> <table id="TBL-32" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-33-1g"><col -id="TBL-33-1" /></colgroup><colgroup id="TBL-33-2g"><col -id="TBL-33-2" /><col -id="TBL-33-3" /></colgroup> +><colgroup id="TBL-32-1g"><col +id="TBL-32-1" /></colgroup><colgroup id="TBL-32-2g"><col +id="TBL-32-2" /><col +id="TBL-32-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-33-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-1-2" + style="vertical-align:baseline;" id="TBL-32-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-32-1-3" class="td11"> - <!--l. 484--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 491--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-33-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-2" + style="vertical-align:baseline;" id="TBL-32-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-2-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-32-2-3" class="td11"> - <!--l. 485--><p class="noindent" >A SubSystem is the topmost building block of the + <!--l. 492--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-33-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-1" + style="vertical-align:baseline;" id="TBL-32-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-3-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-3-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-32-3-3" +class="td11"> + <!--l. 494--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-32-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-33-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-4-1" + style="vertical-align:baseline;" id="TBL-32-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-33-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-5-1" + style="vertical-align:baseline;" id="TBL-32-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-33-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-6-1" + style="vertical-align:baseline;" id="TBL-32-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-33-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-7-3" + style="vertical-align:baseline;" id="TBL-32-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-32-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-32-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-32-8-3" class="td11"> </td></tr> </table></div> <a - id="x31-178011r250"></a> + id="x31-174011r249"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.7 </span> <a - id="x31-1790007"></a>CommunicationType</h5> -<!--l. 496--><p class="noindent" ><a + id="x31-1750007"></a>CommunicationType</h5> +<!--l. 505--><p class="noindent" ><a id="ref:CommunicationType"></a> The CommunicationType defines the communication semantics of a ProtocolClass. -</p><!--l. 499--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are +</p><!--l. 508--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are executed and communicate with each other. The combination of communication and execution is called the <span class="ec-lmsso-10">execution model</span>. Therefore the ExecutionType of an actor and the CommunicationType of the ports has to be considered. -</p><!--l. 503--><p class="noindent" >The CommunicationType of a ProtocolClass (and thus of a Port) specifies in which way the communication should +</p><!--l. 512--><p class="noindent" >The CommunicationType of a ProtocolClass (and thus of a Port) specifies in which way the communication should happen: </p> <ul class="itemize1"> @@ -2220,75 +2277,75 @@ class="ec-lmssbo-10">function call </span><span class="ec-lmsso-10">– synchronous, blocking, return value:</span><br class="newline" /><span class="ec-lmsso-10">Regular function call as known in most programming languages. </span>(not supported yet)</li></ul> -<!--l. 514--><p class="noindent" >CommunicationType relates with the <a +<!--l. 523--><p class="noindent" >CommunicationType relates with the <a href="#ref:ExecutionType">ExecutionType</a> of an ActorClass, e.g. a data-driven port needs a cyclic thread, that polls the shared data. -</p><!--l. 516--><p class="noindent" ><span +</p><!--l. 525--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">type : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">eventdriven</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">datadriven</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">sync</span></span></span>’</li></ul> -<!--l. 523--><p class="noindent" ><span +<!--l. 532--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-179001r15"></a></p> -<!--l. 528--><div class="longtable"> <table id="TBL-34" class="longtable" + id="x31-175001r15"></a></p> +<!--l. 537--><div class="longtable"> <table id="TBL-33" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-34-1g"><col -id="TBL-34-1" /></colgroup><colgroup id="TBL-34-2g"><col -id="TBL-34-2" /><col -id="TBL-34-3" /></colgroup> +><colgroup id="TBL-33-1g"><col +id="TBL-33-1" /></colgroup><colgroup id="TBL-33-2g"><col +id="TBL-33-2" /><col +id="TBL-33-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-34-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-1-2" + style="vertical-align:baseline;" id="TBL-33-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-1-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-1-3" class="td11"> - <!--l. 528--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 537--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-34-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-2" + style="vertical-align:baseline;" id="TBL-33-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ExecutionType">ExecutionType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-2-3" +href="#ref:ExecutionType">ExecutionType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-2-3" class="td11"> - <!--l. 530--><p class="noindent" >Determines the execution type of an actor. </p></td> + <!--l. 539--><p class="noindent" >Determines the execution type of an actor. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-34-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-1" + style="vertical-align:baseline;" id="TBL-33-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-34-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-4-1" + style="vertical-align:baseline;" id="TBL-33-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-34-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-5-1" + style="vertical-align:baseline;" id="TBL-33-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-34-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-6-1" + style="vertical-align:baseline;" id="TBL-33-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-34-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-7-3" + style="vertical-align:baseline;" id="TBL-33-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-33-7-3" class="td11"> </td></tr> - - </table></div> -<!--l. 535--><p class="noindent" ><span +<!--l. 544--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 537--> -<div class="lstlisting" id="listing-58"><span class="label"><a - id="x31-179002r1"></a></span><span +<!--l. 546--> +<div class="lstlisting" id="listing-46"><span class="label"><a + id="x31-175002r1"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179003r2"></a></span><span + id="x31-175003r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2323,9 +2380,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179004r3"></a></span><span + id="x31-175004r3"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179005r4"></a></span><span + id="x31-175005r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2348,7 +2405,7 @@ class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179006r5"></a></span><span + id="x31-175006r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2368,7 +2425,7 @@ class="ec-lmtt-9">EventdrivenProtocolClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179007r6"></a></span><span + id="x31-175007r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2379,7 +2436,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179008r7"></a></span><span + id="x31-175008r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2402,7 +2459,7 @@ class="ec-lmtt-9">data</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179009r8"></a></span><span + id="x31-175009r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2430,7 +2487,7 @@ class="ec-lmtt-9">data</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179010r9"></a></span><span + id="x31-175010r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2439,7 +2496,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179011r10"></a></span><span + id="x31-175011r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2450,7 +2507,7 @@ class="ec-lmssbx-10x-x-90">outgoing</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179012r11"></a></span><span + id="x31-175012r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2483,7 +2540,7 @@ class="ec-lmtt-9">directions</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179013r12"></a></span><span + id="x31-175013r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2492,16 +2549,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179014r13"></a></span><span + id="x31-175014r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179015r14"></a></span><span + id="x31-175015r14"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179016r15"></a></span><span + id="x31-175016r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2514,7 +2571,7 @@ class="ec-lmtt-9">DatadrivenProtocolClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179017r16"></a></span><span + id="x31-175017r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2525,7 +2582,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179018r17"></a></span><span + id="x31-175018r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2558,7 +2615,7 @@ class="ec-lmtt-9">data</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179019r18"></a></span><span + id="x31-175019r18"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2567,7 +2624,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179020r19"></a></span><span + id="x31-175020r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2594,16 +2651,16 @@ class="ec-lmtt-9">(</span><span class="ec-lmtt-9">signals</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179021r20"></a></span><span + id="x31-175021r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179022r21"></a></span><span + id="x31-175022r21"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179023r22"></a></span><span + id="x31-175023r22"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2620,7 +2677,7 @@ class="ec-lmtt-9">supported</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">yet</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179024r23"></a></span><span + id="x31-175024r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2634,14 +2691,14 @@ class="ec-lmtt-9">SyncProtcolClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179025r24"></a></span><span + id="x31-175025r24"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">//</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-179026r25"></a></span><span + id="x31-175026r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2650,17 +2707,17 @@ class="ec-lmtt-9">//</span><span class="ec-lmtt-9">}</span> </div> <a - id="x31-179027r251"></a> + id="x31-175027r250"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.8 </span> <a - id="x31-1800008"></a>DataClass</h5> -<!--l. 570--><p class="noindent" ><a + id="x31-1760008"></a>DataClass</h5> +<!--l. 579--><p class="noindent" ><a id="ref:DataClass"></a> A DataClass is a composition of Attributes. -</p><!--l. 573--><p class="noindent" >Intended to model a type that primarily consists of data, which is usually grouped together in some manner. DataClasses +</p><!--l. 582--><p class="noindent" >Intended to model a type that primarily consists of data, which is usually grouped together in some manner. DataClasses roughly translate to Java classes without interaction or C structs. </p> -<!--l. 575--> -<div class="lstlisting" id="listing-59"><span class="label"><a - id="x31-180001r1"></a></span><span +<!--l. 584--> +<div class="lstlisting" id="listing-47"><span class="label"><a + id="x31-176001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">DataClass</span><span class="ec-lmtt-9"> </span><span @@ -2668,7 +2725,7 @@ class="ec-lmtt-9">TCPConnectionData</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180002r2"></a></span><span + id="x31-176002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2679,7 +2736,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">string</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180003r3"></a></span><span + id="x31-176003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2690,92 +2747,92 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">int32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180004r4"></a></span><span + id="x31-176004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 584--><p class="noindent" ><span +<!--l. 593--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-180005r16"></a></p> -<!--l. 589--><div class="longtable"> <table id="TBL-35" class="longtable" + id="x31-176005r16"></a></p> +<!--l. 598--><div class="longtable"> <table id="TBL-34" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-35-1g"><col -id="TBL-35-1" /></colgroup><colgroup id="TBL-35-2g"><col -id="TBL-35-2" /><col -id="TBL-35-3" /></colgroup> +><colgroup id="TBL-34-1g"><col +id="TBL-34-1" /></colgroup><colgroup id="TBL-34-2g"><col +id="TBL-34-2" /><col +id="TBL-34-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-35-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-1-2" + style="vertical-align:baseline;" id="TBL-34-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-1-3" class="td11"> - <!--l. 589--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 598--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-35-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-2" + style="vertical-align:baseline;" id="TBL-34-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-2-3" +href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-2-3" class="td11"> - <!--l. 591--><p class="noindent" >An Attribute is a member variable of a class </p></td> + <!--l. 600--><p class="noindent" >An Attribute is a member variable of a class </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-2" + style="vertical-align:baseline;" id="TBL-34-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-3-3" +href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-3-3" class="td11"> - <!--l. 592--><p class="noindent" >An Operation is a member function of a class. </p></td> + <!--l. 601--><p class="noindent" >An Operation is a member function of a class. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-2" + style="vertical-align:baseline;" id="TBL-34-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-4-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-4-3" class="td11"> - <!--l. 593--><p class="noindent" >An Annotation can be attached to a ROOM classes to + <!--l. 602--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-35-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-2" + style="vertical-align:baseline;" id="TBL-34-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-5-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-5-3" +href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-5-3" class="td11"> - <!--l. 595--><p class="noindent" >A class can specify a super class and inherits elements from + <!--l. 604--><p class="noindent" >A class can specify a super class and inherits elements from the super class hierarchy. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-35-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-6-1" + style="vertical-align:baseline;" id="TBL-34-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-7-1" + style="vertical-align:baseline;" id="TBL-34-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-8-1" + style="vertical-align:baseline;" id="TBL-34-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-9-1" + style="vertical-align:baseline;" id="TBL-34-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-35-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-10-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-10-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-10-3" + style="vertical-align:baseline;" id="TBL-34-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-10-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-10-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-34-10-3" class="td11"> </td></tr> </table></div> -<!--l. 601--><p class="noindent" ><span +<!--l. 610--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 603--> -<div class="lstlisting" id="listing-60"><span class="label"><a - id="x31-180006r1"></a></span><span +<!--l. 612--> +<div class="lstlisting" id="listing-48"><span class="label"><a + id="x31-176006r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2785,7 +2842,7 @@ class="ec-lmtt-9">SimpleDataClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180007r2"></a></span><span + id="x31-176007r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2797,7 +2854,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint16</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180008r3"></a></span><span + id="x31-176008r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2809,15 +2866,15 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180009r4"></a></span><span + id="x31-176009r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180010r5"></a></span><span + id="x31-176010r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180011r6"></a></span><span + id="x31-176011r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2827,7 +2884,7 @@ class="ec-lmtt-9">DataClassExample</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180012r7"></a></span><span + id="x31-176012r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2839,7 +2896,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180013r8"></a></span><span + id="x31-176013r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2851,7 +2908,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">SimpleDataClass</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180014r9"></a></span><span + id="x31-176014r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2865,9 +2922,9 @@ class="ec-lmtt-9">voidType</span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ref</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180015r10"></a></span><span + id="x31-176015r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180016r11"></a></span><span + id="x31-176016r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2893,7 +2950,7 @@ class="ec-lmtt-9">boolean</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180017r12"></a></span><span + id="x31-176017r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -2907,178 +2964,180 @@ class="ec-lmtt-9">true</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180018r13"></a></span><span + id="x31-176018r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-180019r14"></a></span><span + id="x31-176019r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> + + </div> <a - id="x31-180020r252"></a> + id="x31-176020r251"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.9 </span> <a - id="x31-1810009"></a>DataType</h5> -<!--l. 625--><p class="noindent" ><a + id="x31-1770009"></a>DataType</h5> +<!--l. 634--><p class="noindent" ><a id="ref:DataType"></a> A DataType can take 4 forms and types data elements like an Attribute or Operation argument. - - -</p><!--l. 632--><p class="noindent" ><span +</p><!--l. 641--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-181001r17"></a></p> -<!--l. 637--><div class="longtable"> <table id="TBL-36" class="longtable" + id="x31-177001r17"></a></p> +<!--l. 646--><div class="longtable"> <table id="TBL-35" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-36-1g"><col -id="TBL-36-1" /></colgroup><colgroup id="TBL-36-2g"><col -id="TBL-36-2" /><col -id="TBL-36-3" /></colgroup> +><colgroup id="TBL-35-1g"><col +id="TBL-35-1" /></colgroup><colgroup id="TBL-35-2g"><col +id="TBL-35-2" /><col +id="TBL-35-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-36-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-1-1" -class="td11"> Inheriting features: </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-1-2" + style="vertical-align:baseline;" id="TBL-35-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-1-1" +class="td11"> Inheriting features: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:PrimitiveType">PrimitiveType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-1-3" +href="#ref:PrimitiveType">PrimitiveType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-1-3" class="td11"> - <!--l. 637--><p class="noindent" >A PrimitiveType is an abstraction of a target language’s + <!--l. 646--><p class="noindent" >A PrimitiveType is an abstraction of a target language’s basic type (e.g. integer or boolean). </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-2" + style="vertical-align:baseline;" id="TBL-35-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Enumeration">Enumeration</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-2-3" +href="#ref:Enumeration">Enumeration</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-2-3" class="td11"> - <!--l. 638--><p class="noindent" >An EnumerationType declares an enumeration similar to + <!--l. 647--><p class="noindent" >An EnumerationType declares an enumeration similar to most well-known languages. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-2" + style="vertical-align:baseline;" id="TBL-35-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-3-3" +href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-3-3" class="td11"> - <!--l. 639--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> + <!--l. 648--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-4-2" + style="vertical-align:baseline;" id="TBL-35-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ExternalType">ExternalType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-4-3" +href="#ref:ExternalType">ExternalType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-4-3" class="td11"> - <!--l. 640--><p class="noindent" >An ExternalType is used to make an target language type + <!--l. 649--><p class="noindent" >An ExternalType is used to make an target language type accessible in ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-36-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-1" -class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-2" + style="vertical-align:baseline;" id="TBL-35-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-1" +class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-5-3" +href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-5-3" class="td11"> - <!--l. 642--><p class="noindent" >An Attribute is a member variable of a class </p></td> + <!--l. 651--><p class="noindent" >An Attribute is a member variable of a class </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-36-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-6-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-6-2" + style="vertical-align:baseline;" id="TBL-35-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-6-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-6-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-6-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-6-3" class="td11"> - <!--l. 644--><p class="noindent" >The LogicalModel describes the logical structure and + <!--l. 653--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-36-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-7-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-7-2" + style="vertical-align:baseline;" id="TBL-35-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-7-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-7-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-7-3" +href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-7-3" class="td11"> - <!--l. 646--><p class="noindent" >An Operation is a member function of a class. </p></td> + <!--l. 655--><p class="noindent" >An Operation is a member function of a class. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-36-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-8-1" + style="vertical-align:baseline;" id="TBL-35-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-9-1" + style="vertical-align:baseline;" id="TBL-35-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-10-1" + style="vertical-align:baseline;" id="TBL-35-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-10-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-11-1" + style="vertical-align:baseline;" id="TBL-35-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-11-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-36-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-12-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-12-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-12-3" + style="vertical-align:baseline;" id="TBL-35-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-12-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-12-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-35-12-3" class="td11"> </td></tr> </table></div> <a - id="x31-181002r253"></a> + id="x31-177002r252"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.10 </span> <a - id="x31-18200010"></a>Enumeration</h5> -<!--l. 657--><p class="noindent" ><a + id="x31-17800010"></a>Enumeration</h5> +<!--l. 666--><p class="noindent" ><a id="ref:Enumeration"></a> An EnumerationType declares an enumeration similar to most well-known languages. -</p><!--l. 661--><p class="noindent" ><span +</p><!--l. 670--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">literals : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10"><name></span></span></span>’</li></ul> -<!--l. 667--><p class="noindent" ><span +<!--l. 676--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-182001r18"></a></p> -<!--l. 672--><div class="longtable"> <table id="TBL-37" class="longtable" + id="x31-178001r18"></a></p> +<!--l. 681--><div class="longtable"> <table id="TBL-36" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-37-1g"><col -id="TBL-37-1" /></colgroup><colgroup id="TBL-37-2g"><col -id="TBL-37-2" /><col -id="TBL-37-3" /></colgroup> +><colgroup id="TBL-36-1g"><col +id="TBL-36-1" /></colgroup><colgroup id="TBL-36-2g"><col +id="TBL-36-2" /><col +id="TBL-36-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-37-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-1-2" + style="vertical-align:baseline;" id="TBL-36-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-37-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-1-3" class="td11"> - <!--l. 672--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 681--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-37-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-1" + style="vertical-align:baseline;" id="TBL-36-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-37-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-1" + style="vertical-align:baseline;" id="TBL-36-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-37-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-4-1" + style="vertical-align:baseline;" id="TBL-36-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-37-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-5-1" + style="vertical-align:baseline;" id="TBL-36-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-37-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-37-6-3" + style="vertical-align:baseline;" id="TBL-36-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-36-6-3" class="td11"> </td></tr> </table></div> -<!--l. 678--><p class="noindent" ><span +<!--l. 687--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 680--> -<div class="lstlisting" id="listing-61"><span class="label"><a - id="x31-182002r1"></a></span><span +<!--l. 689--> + + +<div class="lstlisting" id="listing-49"><span class="label"><a + id="x31-178002r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3088,7 +3147,7 @@ class="ec-lmtt-9">EOnOff</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182003r2"></a></span><span + id="x31-178003r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3106,7 +3165,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">value</span><span class="ec-lmtt-9">=0</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182004r3"></a></span><span + id="x31-178004r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3124,15 +3183,15 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">value</span><span class="ec-lmtt-9">=1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182005r4"></a></span><span + id="x31-178005r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182006r5"></a></span><span + id="x31-178006r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182007r6"></a></span><span + id="x31-178007r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3142,7 +3201,7 @@ class="ec-lmtt-9">EDay</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182008r7"></a></span><span + id="x31-178008r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3150,7 +3209,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">SUN</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182009r8"></a></span><span + id="x31-178009r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3158,7 +3217,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">MON</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182010r9"></a></span><span + id="x31-178010r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3166,7 +3225,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">TUE</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182011r10"></a></span><span + id="x31-178011r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3174,7 +3233,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">WED</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182012r11"></a></span><span + id="x31-178012r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3182,7 +3241,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">THU</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182013r12"></a></span><span + id="x31-178013r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3190,7 +3249,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">FRI</span><span class="ec-lmtt-9">,</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182014r13"></a></span><span + id="x31-178014r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3205,26 +3264,24 @@ class="ec-lmtt-9">enumeration</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">0..6</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-182015r14"></a></span><span + id="x31-178015r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> <a - id="x31-182016r254"></a> - - + id="x31-178016r253"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.11 </span> <a - id="x31-18300011"></a>ExecutionType</h5> -<!--l. 702--><p class="noindent" ><a + id="x31-17900011"></a>ExecutionType</h5> +<!--l. 711--><p class="noindent" ><a id="ref:ExecutionType"></a> Determines the execution type of an actor. -</p><!--l. 705--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are +</p><!--l. 714--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are executed and communicate with each other. The combination of communication and execution is called the <span class="ec-lmsso-10">execution model</span>. Therefore the ExecutionType of an actor and the CommunicationType of the ports has to be considered. -</p><!--l. 709--><p class="noindent" >The ExecutionType of an ActorClass specifies in which way its instance (ActorRef) should be executed: </p> +</p><!--l. 718--><p class="noindent" >The ExecutionType of an ActorClass specifies in which way its instance (ActorRef) should be executed: </p> <ul class="itemize1"> <li class="itemize"><span class="ec-lmssbx-10">execution by receive event</span>: The message queue or the event dispatcher calls a <span @@ -3241,15 +3298,15 @@ class="ec-lmsso-10">: The caller executes the called object via function call </ </li> <li class="itemize"><span class="ec-lmssbx-10">mixture</span>: An asynchronous execution combines an event dispachter and a polled execution.</li></ul> -<!--l. 718--><p class="noindent" >Thereby the ExecutionType determines the execution mode of the actor’s logical thread: <img +<!--l. 727--><p class="noindent" >Thereby the ExecutionType determines the execution mode of the actor’s logical thread: <img src="images/010-RoomIntroduction03.png" alt="PIC" /> -</p><!--l. 721--><p class="noindent" >The actual execution of the underlying physical thread can be specified in the PhysicalModel in conjunction with the +</p><!--l. 730--><p class="noindent" >The actual execution of the underlying physical thread can be specified in the PhysicalModel in conjunction with the MappingModel. -</p><!--l. 723--><p class="noindent" >ExecutionType relates to the <a +</p><!--l. 732--><p class="noindent" >ExecutionType relates to the <a href="#ref:CommunicationType">CommunicationType</a>, e.g. if an actor uses data-driven ports, it should support an polled execution. -</p><!--l. 725--><p class="noindent" ><span +</p><!--l. 734--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">mode : ’<span class="obeylines-h"><span class="verb"><span @@ -3257,92 +3314,94 @@ class="ec-lmtt-10">eventdriven</span></span></span>’, ’<span class=" class="ec-lmtt-10">datadriven</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">async</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">sync</span></span></span>’</li></ul> -<!--l. 731--><p class="noindent" ><span +<!--l. 740--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-183001r19"></a></p> -<!--l. 736--><div class="longtable"> <table id="TBL-38" class="longtable" + id="x31-179001r19"></a></p> +<!--l. 745--><div class="longtable"> <table id="TBL-37" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-38-1g"><col -id="TBL-38-1" /></colgroup><colgroup id="TBL-38-2g"><col -id="TBL-38-2" /><col -id="TBL-38-3" /></colgroup> +><colgroup id="TBL-37-1g"><col +id="TBL-37-1" /></colgroup><colgroup id="TBL-37-2g"><col +id="TBL-37-2" /><col +id="TBL-37-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-38-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-1-2" + style="vertical-align:baseline;" id="TBL-37-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:CommunicationType">CommunicationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-38-1-3" +href="#ref:CommunicationType">CommunicationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-37-1-3" class="td11"> - <!--l. 736--><p class="noindent" >The CommunicationType defines the communication + <!--l. 745--><p class="noindent" >The CommunicationType defines the communication semantics of a ProtocolClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-38-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-1" + style="vertical-align:baseline;" id="TBL-37-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-38-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-1" + style="vertical-align:baseline;" id="TBL-37-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-38-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-4-1" + style="vertical-align:baseline;" id="TBL-37-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-38-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-5-1" + style="vertical-align:baseline;" id="TBL-37-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-38-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-38-6-3" + style="vertical-align:baseline;" id="TBL-37-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-37-6-3" class="td11"> </td></tr> </table></div> -<!--l. 742--><p class="noindent" ><span +<!--l. 751--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-183002r20"></a></p> -<!--l. 747--><div class="longtable"> <table id="TBL-39" class="longtable" + id="x31-179002r20"></a></p> +<!--l. 756--><div class="longtable"> <table id="TBL-38" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-39-1g"><col -id="TBL-39-1" /></colgroup><colgroup id="TBL-39-2g"><col -id="TBL-39-2" /><col -id="TBL-39-3" /></colgroup> +><colgroup id="TBL-38-1g"><col +id="TBL-38-1" /></colgroup><colgroup id="TBL-38-2g"><col +id="TBL-38-2" /><col +id="TBL-38-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-39-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-1-2" + style="vertical-align:baseline;" id="TBL-38-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-39-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-38-1-3" class="td11"> - <!--l. 747--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 756--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-39-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-1" + style="vertical-align:baseline;" id="TBL-38-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-39-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-1" + style="vertical-align:baseline;" id="TBL-38-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-39-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-1" + style="vertical-align:baseline;" id="TBL-38-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-39-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-5-1" + style="vertical-align:baseline;" id="TBL-38-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-39-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-39-6-3" + style="vertical-align:baseline;" id="TBL-38-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-38-6-3" class="td11"> </td></tr> + + </table></div> -<!--l. 752--><p class="noindent" ><span +<!--l. 761--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 754--> -<div class="lstlisting" id="listing-62"><span class="label"><a - id="x31-183003r1"></a></span><span +<!--l. 763--> +<div class="lstlisting" id="listing-50"><span class="label"><a + id="x31-179003r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3364,7 +3423,7 @@ class="ec-lmtt-9">]</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183004r2"></a></span><span + id="x31-179004r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3385,15 +3444,15 @@ class="ec-lmtt-9">ActorRefs</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">allowed</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183005r3"></a></span><span + id="x31-179005r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183006r4"></a></span><span + id="x31-179006r4"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183007r5"></a></span><span + id="x31-179007r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3405,7 +3464,7 @@ class="ec-lmtt-9">DatadrivenActor</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183008r6"></a></span><span + id="x31-179008r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3426,15 +3485,15 @@ class="ec-lmtt-9">ActorRefs</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">allowed</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183009r7"></a></span><span + id="x31-179009r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183010r8"></a></span><span + id="x31-179010r8"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183011r9"></a></span><span + id="x31-179011r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3445,7 +3504,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">MixedActor</span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183012r10"></a></span><span + id="x31-179012r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3468,24 +3527,22 @@ class="ec-lmtt-9">ActorRefs</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">allowed</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-183013r11"></a></span><span + id="x31-179013r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> - - </div> <a - id="x31-183014r255"></a> + id="x31-179014r254"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.12 </span> <a - id="x31-18400012"></a>ExternalEndPort</h5> -<!--l. 773--><p class="noindent" ><a + id="x31-18000012"></a>ExternalEndPort</h5> +<!--l. 782--><p class="noindent" ><a id="ref:ExternalEndPort"></a> A ExternalEndPort is an interface Port, that is made accessible to the internal interface of an ActorClass. </p> -<!--l. 776--> -<div class="lstlisting" id="listing-63"><span class="label"><a - id="x31-184001r1"></a></span><span +<!--l. 785--> +<div class="lstlisting" id="listing-51"><span class="label"><a + id="x31-180001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ActorClass</span><span class="ec-lmtt-9"> </span><span @@ -3493,7 +3550,7 @@ class="ec-lmtt-9">ExternalEndPortExample</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184002r2"></a></span><span + id="x31-180002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3501,7 +3558,7 @@ class="ec-lmssbx-10x-x-90">Interface</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184003r3"></a></span><span + id="x31-180003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3536,7 +3593,7 @@ class="ec-lmtt-9">containing</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClass</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184004r4"></a></span><span + id="x31-180004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3549,13 +3606,13 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">PSimpleProtocol</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184005r5"></a></span><span + id="x31-180005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184006r6"></a></span><span + id="x31-180006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3563,7 +3620,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184007r7"></a></span><span + id="x31-180007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3574,13 +3631,13 @@ class="ec-lmssbx-10x-x-90">Port</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">externalEndPort</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184008r8"></a></span><span + id="x31-180008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184009r9"></a></span><span + id="x31-180009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3588,7 +3645,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184010r10"></a></span><span + id="x31-180010r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3605,114 +3662,116 @@ class="ec-lmtt-9">from</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">externalEndPort</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184011r11"></a></span><span + id="x31-180011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-184012r12"></a></span><span + id="x31-180012r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 793--><p class="noindent" ><span +<!--l. 802--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-184013r21"></a></p> -<!--l. 798--><div class="longtable"> <table id="TBL-40" class="longtable" + id="x31-180013r21"></a></p> +<!--l. 807--><div class="longtable"> <table id="TBL-39" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-40-1g"><col -id="TBL-40-1" /></colgroup><colgroup id="TBL-40-2g"><col -id="TBL-40-2" /><col -id="TBL-40-3" /></colgroup> +><colgroup id="TBL-39-1g"><col +id="TBL-39-1" /></colgroup><colgroup id="TBL-39-2g"><col +id="TBL-39-2" /><col +id="TBL-39-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-40-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-1-2" + style="vertical-align:baseline;" id="TBL-39-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-40-1-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-39-1-3" class="td11"> - <!--l. 798--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 807--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-40-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-1" + style="vertical-align:baseline;" id="TBL-39-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-40-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-1" + style="vertical-align:baseline;" id="TBL-39-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-40-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-1" + style="vertical-align:baseline;" id="TBL-39-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-40-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-5-1" + style="vertical-align:baseline;" id="TBL-39-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-40-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-40-6-3" + style="vertical-align:baseline;" id="TBL-39-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-39-6-3" class="td11"> </td></tr> </table></div> <a - id="x31-184014r256"></a> + id="x31-180014r255"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.13 </span> <a - id="x31-18500013"></a>ExternalType</h5> -<!--l. 810--><p class="noindent" ><a + id="x31-18100013"></a>ExternalType</h5> +<!--l. 819--><p class="noindent" ><a id="ref:ExternalType"></a> An ExternalType is used to make an target language type accessible in ROOM. -</p><!--l. 814--><p class="noindent" ><span +</p><!--l. 823--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">targetName : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10"><identifier</span><span class="ec-lmtt-10"> name></span></span></span>’</li></ul> -<!--l. 820--><p class="noindent" ><span +<!--l. 829--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-185001r22"></a></p> -<!--l. 825--><div class="longtable"> <table id="TBL-41" class="longtable" + id="x31-181001r22"></a></p> +<!--l. 834--><div class="longtable"> <table id="TBL-40" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-41-1g"><col -id="TBL-41-1" /></colgroup><colgroup id="TBL-41-2g"><col -id="TBL-41-2" /><col -id="TBL-41-3" /></colgroup> +><colgroup id="TBL-40-1g"><col +id="TBL-40-1" /></colgroup><colgroup id="TBL-40-2g"><col +id="TBL-40-2" /><col +id="TBL-40-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-41-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-2" + style="vertical-align:baseline;" id="TBL-40-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-40-1-3" class="td11"> - <!--l. 825--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 834--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-41-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-1" + style="vertical-align:baseline;" id="TBL-40-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-41-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-1" + style="vertical-align:baseline;" id="TBL-40-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-41-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-1" + style="vertical-align:baseline;" id="TBL-40-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-41-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-5-1" + style="vertical-align:baseline;" id="TBL-40-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-41-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-6-3" + style="vertical-align:baseline;" id="TBL-40-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-40-6-3" class="td11"> </td></tr> </table></div> -<!--l. 831--><p class="noindent" ><span +<!--l. 840--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 833--> -<div class="lstlisting" id="listing-64"><span class="label"><a - id="x31-185002r1"></a></span><span + + +<!--l. 842--> +<div class="lstlisting" id="listing-52"><span class="label"><a + id="x31-181002r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3739,7 +3798,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClassWithExternalType</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185003r2"></a></span><span + id="x31-181003r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3755,9 +3814,9 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">FILE_HANDLE</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185004r3"></a></span><span + id="x31-181004r3"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185005r4"></a></span><span + id="x31-181005r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3766,7 +3825,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorClassWithExternalType</span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185006r5"></a></span><span + id="x31-181006r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3775,7 +3834,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185007r6"></a></span><span + id="x31-181007r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3786,7 +3845,7 @@ class="ec-lmssbx-10x-x-90">usercode1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185008r7"></a></span><span + id="x31-181008r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3816,7 +3875,7 @@ class="ec-lmtt-9">here</span><span class="ec-lmtt-9">*/</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185009r8"></a></span><span + id="x31-181009r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3825,7 +3884,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185010r9"></a></span><span + id="x31-181010r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3848,14 +3907,14 @@ class="ec-lmtt-9">needs</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">include</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185011r10"></a></span><span + id="x31-181011r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185012r11"></a></span><span + id="x31-181012r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3864,7 +3923,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185013r12"></a></span><span + id="x31-181013r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3883,7 +3942,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185014r13"></a></span><span + id="x31-181014r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3907,7 +3966,7 @@ class="ec-lmtt-9">need</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">includes</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185015r14"></a></span><span + id="x31-181015r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3926,7 +3985,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185016r15"></a></span><span + id="x31-181016r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -3935,34 +3994,32 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185017r16"></a></span><span + id="x31-181017r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-185018r17"></a></span><span + id="x31-181018r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> - - <a - id="x31-185019r257"></a> + id="x31-181019r256"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.14 </span> <a - id="x31-18600014"></a>Inheritance</h5> -<!--l. 858--><p class="noindent" ><a + id="x31-18200014"></a>Inheritance</h5> +<!--l. 867--><p class="noindent" ><a id="ref:Inheritance"></a> A class can specify a super class and inherits elements from the super class hierarchy. -</p><!--l. 861--><p class="noindent" >When a ROOM class specifies a super class, it generally inherits all elements and properties. In several cases, it is possible, to +</p><!--l. 870--><p class="noindent" >When a ROOM class specifies a super class, it generally inherits all elements and properties. In several cases, it is possible, to override these inherited elements. Generally, eTrice has two semantics of overriding: refinement and replacement. Refinement is used in most cases (e.g. StateMachine) and realizes an extension of the overridden elements. In this case, if a sub class overrides a piece of logic from a super class, it will always be executed subsequently to the inherited. Contrary to this, replacement is applied to overridden Operations, similar to programming languages C++ and Java. -</p><!--l. 867--><p class="noindent" >A formal definition of overriding is given below: </p> +</p><!--l. 876--><p class="noindent" >A formal definition of overriding is given below: </p> <ul class="itemize1"> <li class="itemize">early or late resolve - if element is overriden, which one should super class use by default - own or override ? </li> @@ -3971,12 +4028,12 @@ Java. <li class="itemize">(non_)accessible - if element is overriden, is super class’ original accessible from sub class ? e.g. super.foo() </li> <li class="itemize">implict or explicit - does it use distinct model element / keyword?</li></ul> -<!--l. 875--><p class="noindent" >Examples programming languages:<br +<!--l. 884--><p class="noindent" >Examples programming languages:<br class="newline" />c++ virtual function and java override <==> accessible explicit late replacing<br class="newline" />c++ function redefine <==> accessible implict early replacing<br class="newline" />c++ dtor <==> late refinement<br class="newline" /> -</p><!--l. 880--><p class="noindent" >eTrice override of model elements:<br +</p><!--l. 889--><p class="noindent" >eTrice override of model elements:<br class="newline" />Operations (C generation) <==> non_accessible explicit late replacing<br class="newline" />Operations (Java generation) <==> accessible explicit late replacing<br class="newline" />State and Transitions <==> non_accessible explicit late refinement<br @@ -3984,78 +4041,80 @@ class="newline" />ctor/dtor <==> non_accessible implicit late refi class="newline" />StateMachine <==> non_accessible implicit late refinement<br class="newline" />UserCode <==> non_accessible implicit late refinement<br class="newline" /> -</p><!--l. 891--><p class="noindent" ><span +</p><!--l. 900--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-186001r23"></a></p> -<!--l. 896--><div class="longtable"> <table id="TBL-42" class="longtable" + id="x31-182001r23"></a></p> +<!--l. 905--><div class="longtable"> <table id="TBL-41" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-42-1g"><col -id="TBL-42-1" /></colgroup><colgroup id="TBL-42-2g"><col -id="TBL-42-2" /><col -id="TBL-42-3" /></colgroup> +><colgroup id="TBL-41-1g"><col +id="TBL-41-1" /></colgroup><colgroup id="TBL-41-2g"><col +id="TBL-41-2" /><col +id="TBL-41-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-42-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-1-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-1-2" + style="vertical-align:baseline;" id="TBL-41-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-1-3" class="td11"> - <!--l. 896--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 905--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-2-2" + style="vertical-align:baseline;" id="TBL-41-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:StateMachine">StateMachine</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-2-3" +href="#ref:StateMachine">StateMachine</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-2-3" class="td11"> - <!--l. 897--><p class="noindent" >A StateMachine describes the state based, event driven + <!--l. 906--><p class="noindent" >A StateMachine describes the state based, event driven behavior of an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-3-2" + style="vertical-align:baseline;" id="TBL-41-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-3-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-3-3" class="td11"> - <!--l. 898--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 907--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-4-2" + style="vertical-align:baseline;" id="TBL-41-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-4-3" +href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-4-3" class="td11"> - <!--l. 899--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> + <!--l. 908--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-42-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-5-1" + style="vertical-align:baseline;" id="TBL-41-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-6-1" + style="vertical-align:baseline;" id="TBL-41-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-7-1" + style="vertical-align:baseline;" id="TBL-41-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-8-1" + style="vertical-align:baseline;" id="TBL-41-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-42-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-9-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-9-3" + style="vertical-align:baseline;" id="TBL-41-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-41-9-3" class="td11"> </td></tr> + + </table></div> -<!--l. 904--><p class="noindent" ><span +<!--l. 913--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 906--> -<div class="lstlisting" id="listing-65"><span class="label"><a - id="x31-186002r1"></a></span><span +<!--l. 915--> +<div class="lstlisting" id="listing-53"><span class="label"><a + id="x31-182002r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4070,7 +4129,7 @@ class="ec-lmtt-9">ActorBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186003r2"></a></span><span + id="x31-182003r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4093,16 +4152,16 @@ class="ec-lmtt-9">type</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">hierarchy</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186004r3"></a></span><span + id="x31-182004r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186005r4"></a></span><span + id="x31-182005r4"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186006r5"></a></span><span + id="x31-182006r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4113,7 +4172,7 @@ class="ec-lmtt-9">ActorBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186007r6"></a></span><span + id="x31-182007r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4124,7 +4183,7 @@ class="ec-lmssbx-10x-x-90">Interface</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186008r7"></a></span><span + id="x31-182008r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4140,7 +4199,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolBaseClass</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186009r8"></a></span><span + id="x31-182009r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4149,7 +4208,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186010r9"></a></span><span + id="x31-182010r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4160,7 +4219,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186011r10"></a></span><span + id="x31-182011r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4176,7 +4235,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186012r11"></a></span><span + id="x31-182012r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4185,7 +4244,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186013r12"></a></span><span + id="x31-182013r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4196,7 +4255,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186014r13"></a></span><span + id="x31-182014r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4210,7 +4269,7 @@ class="ec-lmtt-9">operation1</span><span class="ec-lmtt-9">()</span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186015r14"></a></span><span + id="x31-182015r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4225,7 +4284,7 @@ class="ec-lmtt-9">return</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186016r15"></a></span><span + id="x31-182016r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4235,7 +4294,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186017r16"></a></span><span + id="x31-182017r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4244,16 +4303,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186018r17"></a></span><span + id="x31-182018r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186019r18"></a></span><span + id="x31-182019r18"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186020r19"></a></span><span + id="x31-182020r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4268,7 +4327,7 @@ class="ec-lmtt-9">ProtocolBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186021r20"></a></span><span + id="x31-182021r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4291,16 +4350,16 @@ class="ec-lmtt-9">type</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">hierarchy</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186022r21"></a></span><span + id="x31-182022r21"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186023r22"></a></span><span + id="x31-182023r22"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186024r23"></a></span><span + id="x31-182024r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4311,7 +4370,7 @@ class="ec-lmtt-9">ProtocolBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186025r24"></a></span><span + id="x31-182025r24"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4322,7 +4381,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186026r25"></a></span><span + id="x31-182026r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4335,7 +4394,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">message1</span><span class="ec-lmtt-9">()</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186027r26"></a></span><span + id="x31-182027r26"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4344,16 +4403,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186028r27"></a></span><span + id="x31-182028r27"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186029r28"></a></span><span + id="x31-182029r28"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186030r29"></a></span><span + id="x31-182030r29"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4368,7 +4427,7 @@ class="ec-lmtt-9">DataBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186031r30"></a></span><span + id="x31-182031r30"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4391,16 +4450,16 @@ class="ec-lmtt-9">type</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">hierarchy</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186032r31"></a></span><span + id="x31-182032r31"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186033r32"></a></span><span + id="x31-182033r32"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186034r33"></a></span><span + id="x31-182034r33"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4411,7 +4470,7 @@ class="ec-lmtt-9">DataBaseClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186035r34"></a></span><span + id="x31-182035r34"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4426,25 +4485,23 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-186036r35"></a></span><span + id="x31-182036r35"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> - - </div> <a - id="x31-186037r258"></a> + id="x31-182037r257"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.15 </span> <a - id="x31-18700015"></a>InternalEndPort</h5> -<!--l. 949--><p class="noindent" ><a + id="x31-18300015"></a>InternalEndPort</h5> +<!--l. 958--><p class="noindent" ><a id="ref:InternalEndPort"></a> A InternalEndPort is an local Port, that is declared in the internal interface of an ActorClass. </p> -<!--l. 952--> -<div class="lstlisting" id="listing-66"><span class="label"><a - id="x31-187001r1"></a></span><span +<!--l. 961--> +<div class="lstlisting" id="listing-54"><span class="label"><a + id="x31-183001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ActorClass</span><span class="ec-lmtt-9"> </span><span @@ -4452,7 +4509,7 @@ class="ec-lmtt-9">InternalEndPortExample</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187002r2"></a></span><span + id="x31-183002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4460,7 +4517,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187003r3"></a></span><span + id="x31-183003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4473,7 +4530,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">PSimpleProtocol</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187004r4"></a></span><span + id="x31-183004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4486,9 +4543,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">SimpleActorClass</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187005r5"></a></span><span + id="x31-183005r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187006r6"></a></span><span + id="x31-183006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4505,7 +4562,7 @@ class="ec-lmtt-9">’</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">and</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187007r7"></a></span><span + id="x31-183007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4530,7 +4587,7 @@ class="ec-lmtt-9">a</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorRef</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187008r8"></a></span><span + id="x31-183008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4545,13 +4602,13 @@ class="ec-lmtt-9">actorRef1</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">externalPort2</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187009r9"></a></span><span + id="x31-183009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187010r10"></a></span><span + id="x31-183010r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4559,7 +4616,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187011r11"></a></span><span + id="x31-183011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -4576,64 +4633,64 @@ class="ec-lmtt-9">from</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">internalEndPorts</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187012r12"></a></span><span + id="x31-183012r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-187013r13"></a></span><span + id="x31-183013r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 967--><p class="noindent" ><img +<!--l. 976--><p class="noindent" ><img src="images/300-InternalEndPort.png" alt="PIC" /> -</p><!--l. 971--><p class="noindent" ><span +</p><!--l. 980--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-187014r24"></a></p> -<!--l. 976--><div class="longtable"> <table id="TBL-43" class="longtable" + id="x31-183014r24"></a></p> +<!--l. 985--><div class="longtable"> <table id="TBL-42" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-43-1g"><col -id="TBL-43-1" /></colgroup><colgroup id="TBL-43-2g"><col -id="TBL-43-2" /><col -id="TBL-43-3" /></colgroup> +><colgroup id="TBL-42-1g"><col +id="TBL-42-1" /></colgroup><colgroup id="TBL-42-2g"><col +id="TBL-42-2" /><col +id="TBL-42-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-43-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-43-1-2" + style="vertical-align:baseline;" id="TBL-42-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-43-1-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-1-3" class="td11"> - <!--l. 976--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 985--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-43-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-2-1" + style="vertical-align:baseline;" id="TBL-42-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-43-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-3-1" + style="vertical-align:baseline;" id="TBL-42-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-43-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-4-1" + style="vertical-align:baseline;" id="TBL-42-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-43-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-5-1" + style="vertical-align:baseline;" id="TBL-42-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-43-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-43-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-43-6-3" + style="vertical-align:baseline;" id="TBL-42-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-42-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-42-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-42-6-3" class="td11"> </td></tr> </table></div> <a - id="x31-187015r259"></a> + id="x31-183015r258"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.16 </span> <a - id="x31-18800016"></a>LayerConnection</h5> -<!--l. 988--><p class="noindent" ><a + id="x31-18400016"></a>LayerConnection</h5> +<!--l. 997--><p class="noindent" ><a id="ref:LayerConnection"></a> A LayerConnection associates a SPP to an ActorRef, resulting in an connection of all SAPs on its instance hierarchy. </p> @@ -4645,221 +4702,233 @@ hierarchy. </li> <li class="itemize">For a given actor hierarchy, a LayerConnection defines which SAP will be satisfied by (connected to) which SPP</li></ul> -<!--l. 999--><p class="noindent" ><span +<!--l. 1008--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-188001r25"></a></p> -<!--l. 1004--><div class="longtable"> <table id="TBL-44" class="longtable" + id="x31-184001r25"></a></p> +<!--l. 1013--><div class="longtable"> <table id="TBL-43" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-44-1g"><col -id="TBL-44-1" /></colgroup><colgroup id="TBL-44-2g"><col -id="TBL-44-2" /><col -id="TBL-44-3" /></colgroup> +><colgroup id="TBL-43-1g"><col +id="TBL-43-1" /></colgroup><colgroup id="TBL-43-2g"><col +id="TBL-43-2" /><col +id="TBL-43-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-44-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-1-2" + style="vertical-align:baseline;" id="TBL-43-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-43-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SAP">SAP</a> : SAPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-44-1-3" +href="#ref:SAP">SAP</a> : SAPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-43-1-3" class="td11"> - <!--l. 1004--><p class="noindent" >A Service Access Point is similar to a Port, but uses a + <!--l. 1013--><p class="noindent" >A Service Access Point is similar to a Port, but uses a LayerConnection for wiring. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-44-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-2-2" + style="vertical-align:baseline;" id="TBL-43-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-43-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SPP">SPP</a> : SPPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-44-2-3" +href="#ref:SPP">SPP</a> : SPPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-43-2-3" class="td11"> - <!--l. 1005--><p class="noindent" >A Service Provision Point is the counterpart of a SAP </p></td> + <!--l. 1014--><p class="noindent" >A Service Provision Point is the counterpart of a SAP </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-44-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-3-1" + style="vertical-align:baseline;" id="TBL-43-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-44-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-4-1" + style="vertical-align:baseline;" id="TBL-43-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-44-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-5-1" + style="vertical-align:baseline;" id="TBL-43-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-44-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-6-1" + style="vertical-align:baseline;" id="TBL-43-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-44-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-44-7-3" + style="vertical-align:baseline;" id="TBL-43-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-43-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-43-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-43-7-3" class="td11"> </td></tr> - - </table></div> -<!--l. 1011--><p class="noindent" ><span +<!--l. 1020--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-188002r26"></a></p> -<!--l. 1016--><div class="longtable"> <table id="TBL-45" class="longtable" + id="x31-184002r26"></a></p> +<!--l. 1025--><div class="longtable"> <table id="TBL-44" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-45-1g"><col -id="TBL-45-1" /></colgroup><colgroup id="TBL-45-2g"><col -id="TBL-45-2" /><col -id="TBL-45-3" /></colgroup> +><colgroup id="TBL-44-1g"><col +id="TBL-44-1" /></colgroup><colgroup id="TBL-44-2g"><col +id="TBL-44-2" /><col +id="TBL-44-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-45-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-1-2" + style="vertical-align:baseline;" id="TBL-44-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-44-1-3" class="td11"> - <!--l. 1016--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1025--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-45-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-2-2" + style="vertical-align:baseline;" id="TBL-44-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-2-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-44-2-3" class="td11"> - <!--l. 1017--><p class="noindent" >A SubSystem is the topmost building block of the + <!--l. 1026--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-45-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-3-1" + style="vertical-align:baseline;" id="TBL-44-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-3-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-3-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-44-3-3" +class="td11"> + <!--l. 1028--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-44-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-45-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-4-1" + style="vertical-align:baseline;" id="TBL-44-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-45-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-5-1" + style="vertical-align:baseline;" id="TBL-44-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-45-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-6-1" + style="vertical-align:baseline;" id="TBL-44-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-45-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-7-3" + style="vertical-align:baseline;" id="TBL-44-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-44-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-44-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-44-8-3" class="td11"> </td></tr> </table></div> <a - id="x31-188003r260"></a> + id="x31-184003r259"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.17 </span> <a - id="x31-18900017"></a>LogicalSystem</h5> -<!--l. 1028--><p class="noindent" ><a + id="x31-18500017"></a>LogicalSystem</h5> +<!--l. 1039--><p class="noindent" ><a id="ref:LogicalSystem"></a> The LogicalSystem is the topmost structural class. It assembles a distributed system by means of sub systems. -</p><!--l. 1031--><p class="noindent" >It describes the logical topology of your distributed system and is composed of sub systems (SubSystemRefs). Thus it is the +</p><!--l. 1042--><p class="noindent" >It describes the logical topology of your distributed system and is composed of sub systems (SubSystemRefs). Thus it is the notationally root of every instance path or actor hierarchy. -</p><!--l. 1035--><p class="noindent" ><span +</p><!--l. 1046--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-189001r27"></a></p> -<!--l. 1040--><div class="longtable"> <table id="TBL-46" class="longtable" + id="x31-185001r27"></a></p> +<!--l. 1051--><div class="longtable"> <table id="TBL-45" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-46-1g"><col -id="TBL-46-1" /></colgroup><colgroup id="TBL-46-2g"><col -id="TBL-46-2" /><col -id="TBL-46-3" /></colgroup> +><colgroup id="TBL-45-1g"><col +id="TBL-45-1" /></colgroup><colgroup id="TBL-45-2g"><col +id="TBL-45-2" /><col +id="TBL-45-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-46-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-1-2" + style="vertical-align:baseline;" id="TBL-45-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-1-3" +href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-1-3" class="td11"> - <!--l. 1040--><p class="noindent" >A Sub System Reference is an instance of an + <!--l. 1051--><p class="noindent" >A Sub System Reference is an instance of an SubSystemClass </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-46-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-2-2" + style="vertical-align:baseline;" id="TBL-45-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-2-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-2-3" class="td11"> - <!--l. 1041--><p class="noindent" >An Annotation can be attached to a ROOM classes to + <!--l. 1052--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-46-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-3-1" + style="vertical-align:baseline;" id="TBL-45-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-46-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-4-1" + style="vertical-align:baseline;" id="TBL-45-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-46-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-5-1" + style="vertical-align:baseline;" id="TBL-45-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-46-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-6-1" + style="vertical-align:baseline;" id="TBL-45-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-46-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-7-3" + style="vertical-align:baseline;" id="TBL-45-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-45-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-45-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-45-7-3" class="td11"> </td></tr> </table></div> -<!--l. 1047--><p class="noindent" ><span +<!--l. 1058--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-189002r28"></a></p> -<!--l. 1052--><div class="longtable"> <table id="TBL-47" class="longtable" + id="x31-185002r28"></a></p> +<!--l. 1063--><div class="longtable"> <table id="TBL-46" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-47-1g"><col -id="TBL-47-1" /></colgroup><colgroup id="TBL-47-2g"><col -id="TBL-47-2" /><col -id="TBL-47-3" /></colgroup> +><colgroup id="TBL-46-1g"><col +id="TBL-46-1" /></colgroup><colgroup id="TBL-46-2g"><col +id="TBL-46-2" /><col +id="TBL-46-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-47-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-47-1-2" + style="vertical-align:baseline;" id="TBL-46-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-47-1-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-1-3" class="td11"> - <!--l. 1052--><p class="noindent" >The LogicalModel describes the logical structure and + <!--l. 1063--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-47-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-2-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-47-2-2" + style="vertical-align:baseline;" id="TBL-46-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-2-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-47-2-3" +href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-2-3" class="td11"> - <!--l. 1054--><p class="noindent" >The MappingModel describes the mapping of elements of + <!--l. 1065--><p class="noindent" >The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-47-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-3-1" + style="vertical-align:baseline;" id="TBL-46-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-47-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-4-1" + style="vertical-align:baseline;" id="TBL-46-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-47-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-5-1" + style="vertical-align:baseline;" id="TBL-46-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-47-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-6-1" + style="vertical-align:baseline;" id="TBL-46-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-47-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-47-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-47-7-3" + style="vertical-align:baseline;" id="TBL-46-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-46-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-46-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-46-7-3" class="td11"> </td></tr> </table></div> <a - id="x31-189003r261"></a> - - + id="x31-185003r260"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.18 </span> <a - id="x31-19000018"></a>Operation</h5> -<!--l. 1065--><p class="noindent" ><a + id="x31-18600018"></a>Operation</h5> +<!--l. 1076--><p class="noindent" ><a id="ref:Operation"></a> An Operation is a member function of a class. -</p><!--l. 1068--><p class="noindent" >Operations can be used to define a piece of reusable logic. The definition consists of: </p> +</p><!--l. 1079--><p class="noindent" >Operations can be used to define a piece of reusable logic. The definition consists of: </p> <ul class="itemize1"> <li class="itemize">Arbitrary amount of arguments </li> @@ -4868,7 +4937,7 @@ class="td11"> <li class="itemize">User code body, which can access the structural part of the containing class (e.g. attributes) </li> <li class="itemize">’override’ keyword, replaces the logic of the inherited operation having the same signature</li></ul> -<!--l. 1076--><p class="noindent" ><span +<!--l. 1087--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">returnType : ’<span class="obeylines-h"><span class="verb"><span @@ -4878,109 +4947,111 @@ class="ec-lmtt-10"><DataType></span></span></span>’ class="ec-lmtt-10"><name></span><span class="ec-lmtt-10"> :</span><span class="ec-lmtt-10"> <DataType></span></span></span>’</li></ul> -<!--l. 1083--><p class="noindent" ><span +<!--l. 1094--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-190001r29"></a></p> -<!--l. 1088--><div class="longtable"> <table id="TBL-48" class="longtable" + id="x31-186001r29"></a></p> +<!--l. 1099--><div class="longtable"> <table id="TBL-47" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-48-1g"><col -id="TBL-48-1" /></colgroup><colgroup id="TBL-48-2g"><col -id="TBL-48-2" /><col -id="TBL-48-3" /></colgroup> +><colgroup id="TBL-47-1g"><col +id="TBL-47-1" /></colgroup><colgroup id="TBL-47-2g"><col +id="TBL-47-2" /><col +id="TBL-47-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-48-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-1-2" + style="vertical-align:baseline;" id="TBL-47-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-47-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-47-1-3" class="td11"> - <!--l. 1088--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 1099--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-48-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-2-1" + style="vertical-align:baseline;" id="TBL-47-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-48-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-3-1" + style="vertical-align:baseline;" id="TBL-47-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-48-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-4-1" + style="vertical-align:baseline;" id="TBL-47-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-48-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-5-1" + style="vertical-align:baseline;" id="TBL-47-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-48-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-6-3" + style="vertical-align:baseline;" id="TBL-47-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-47-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-47-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-47-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1094--><p class="noindent" ><span +<!--l. 1105--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-190002r30"></a></p> -<!--l. 1099--><div class="longtable"> <table id="TBL-49" class="longtable" + id="x31-186002r30"></a></p> +<!--l. 1110--><div class="longtable"> <table id="TBL-48" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-49-1g"><col -id="TBL-49-1" /></colgroup><colgroup id="TBL-49-2g"><col -id="TBL-49-2" /><col -id="TBL-49-3" /></colgroup> +><colgroup id="TBL-48-1g"><col +id="TBL-48-1" /></colgroup><colgroup id="TBL-48-2g"><col +id="TBL-48-2" /><col +id="TBL-48-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-49-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-1-2" + style="vertical-align:baseline;" id="TBL-48-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-1-3" class="td11"> - <!--l. 1099--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1110--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-49-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-2-2" + style="vertical-align:baseline;" id="TBL-48-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-2-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-2-3" class="td11"> - <!--l. 1100--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 1111--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> + + </tr><tr - style="vertical-align:baseline;" id="TBL-49-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-3-2" + style="vertical-align:baseline;" id="TBL-48-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-3-3" +href="#ref:DataClass">DataClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-3-3" class="td11"> - <!--l. 1101--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> + <!--l. 1112--><p class="noindent" >A DataClass is a composition of Attributes. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-49-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-4-1" + style="vertical-align:baseline;" id="TBL-48-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-49-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-5-1" + style="vertical-align:baseline;" id="TBL-48-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-49-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-6-1" + style="vertical-align:baseline;" id="TBL-48-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-49-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-7-1" + style="vertical-align:baseline;" id="TBL-48-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-49-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-8-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-8-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-8-3" + style="vertical-align:baseline;" id="TBL-48-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-48-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-48-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-48-8-3" class="td11"> </td></tr> </table></div> -<!--l. 1106--><p class="noindent" ><span +<!--l. 1117--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 1108--> -<div class="lstlisting" id="listing-67"><span class="label"><a - id="x31-190003r1"></a></span><span +<!--l. 1119--> +<div class="lstlisting" id="listing-55"><span class="label"><a + id="x31-186003r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5015,9 +5086,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190004r2"></a></span><span + id="x31-186004r2"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190005r3"></a></span><span + id="x31-186005r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5028,7 +5099,7 @@ class="ec-lmtt-9">DataClassWithOperation</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190006r4"></a></span><span + id="x31-186006r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5043,9 +5114,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190007r5"></a></span><span + id="x31-186007r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190008r6"></a></span><span + id="x31-186008r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5073,7 +5144,7 @@ class="ec-lmtt-9">boolean</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190009r7"></a></span><span + id="x31-186009r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5098,7 +5169,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190010r8"></a></span><span + id="x31-186010r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5107,16 +5178,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190011r9"></a></span><span + id="x31-186011r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190012r10"></a></span><span + id="x31-186012r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190013r11"></a></span><span + id="x31-186013r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5127,7 +5198,7 @@ class="ec-lmtt-9">ActorClassWithOperation</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190014r12"></a></span><span + id="x31-186014r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5138,7 +5209,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190015r13"></a></span><span + id="x31-186015r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5154,7 +5225,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">uint32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190016r14"></a></span><span + id="x31-186016r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5163,7 +5234,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190017r15"></a></span><span + id="x31-186017r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5174,7 +5245,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190018r16"></a></span><span + id="x31-186018r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5203,7 +5274,7 @@ class="ec-lmtt-9">boolean</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190019r17"></a></span><span + id="x31-186019r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5230,7 +5301,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190020r18"></a></span><span + id="x31-186020r18"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5240,7 +5311,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190021r19"></a></span><span + id="x31-186021r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5249,16 +5320,16 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190022r20"></a></span><span + id="x31-186022r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190023r21"></a></span><span + id="x31-186023r21"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190024r22"></a></span><span + id="x31-186024r22"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5269,7 +5340,7 @@ class="ec-lmtt-9">ActorClassWithOperation2</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190025r23"></a></span><span + id="x31-186025r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5280,7 +5351,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190026r24"></a></span><span + id="x31-186026r24"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5292,7 +5363,7 @@ class="ec-lmssbx-10x-x-90">usercode1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190027r25"></a></span><span + id="x31-186027r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5324,7 +5395,7 @@ class="ec-lmtt-9">here</span><span class="ec-lmtt-9">*/</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190028r26"></a></span><span + id="x31-186028r26"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5334,7 +5405,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190029r27"></a></span><span + id="x31-186029r27"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5352,7 +5423,7 @@ class="ec-lmtt-9">voidType</span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ref</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190030r28"></a></span><span + id="x31-186030r28"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5361,7 +5432,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190031r29"></a></span><span + id="x31-186031r29"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5372,7 +5443,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190032r30"></a></span><span + id="x31-186032r30"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5392,7 +5463,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190033r31"></a></span><span + id="x31-186033r31"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5418,7 +5489,7 @@ class="ec-lmtt-9">need</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">includes</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190034r32"></a></span><span + id="x31-186034r32"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5439,7 +5510,7 @@ class="ec-lmtt-9">)</span><span class="ec-lmtt-9">;</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190035r33"></a></span><span + id="x31-186035r33"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5449,7 +5520,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190036r34"></a></span><span + id="x31-186036r34"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5458,29 +5529,27 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-190037r35"></a></span><span + id="x31-186037r35"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> - - <a - id="x31-190038r262"></a> + id="x31-186038r261"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.19 </span> <a - id="x31-19100019"></a>Port</h5> -<!--l. 1151--><p class="noindent" ><a + id="x31-18700019"></a>Port</h5> +<!--l. 1162--><p class="noindent" ><a id="ref:Port"></a> A Port is an instance of a ProtocolClass and the interface for an ActorClass. -</p><!--l. 1154--><p class="noindent" >Once a ProtocolClass has been created, it can be used to define actor interfaces. This is accomplished by means of Ports. A +</p><!--l. 1165--><p class="noindent" >Once a ProtocolClass has been created, it can be used to define actor interfaces. This is accomplished by means of Ports. A Port is a declaration that the set of messages defined by its ProtocolClass is now part of the actor’s interface. It provides strong decoupling of ActorClasses from each other, thus enabling easy testability, reusability and deployment of actors to different threads or nodes. </p> -<!--l. 1158--> -<div class="lstlisting" id="listing-68"><span class="label"><a - id="x31-191001r1"></a></span><span +<!--l. 1169--> +<div class="lstlisting" id="listing-56"><span class="label"><a + id="x31-187001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ActorClass</span><span class="ec-lmtt-9"> </span><span @@ -5488,14 +5557,14 @@ class="ec-lmtt-9">Example</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191002r2"></a></span><span + id="x31-187002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191003r3"></a></span><span + id="x31-187003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5508,13 +5577,13 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ProtocolClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191004r4"></a></span><span + id="x31-187004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191005r5"></a></span><span + id="x31-187005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5522,7 +5591,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191006r6"></a></span><span + id="x31-187006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5539,17 +5608,17 @@ class="ec-lmtt-9">from</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">port0</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191007r7"></a></span><span + id="x31-187007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-191008r8"></a></span><span + id="x31-187008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 1169--><p class="noindent" >For communication between two actors to take place, a connection must be established between a port on one of the +<!--l. 1180--><p class="noindent" >For communication between two actors to take place, a connection must be established between a port on one of the actors and a port on the other. One condition is, that both Ports have compatible ProtocolClasses. In most cases the Ports simply refer to the same protocol. In addition, a ProtocolClass has an imposed directionality - it defines one subset of messages as incoming and the complementary subset as outgoing. Which subset is @@ -5558,8 +5627,8 @@ defining. Therefore Ports can be ’regular’ and ’conjugatedR Ports, one Port has to be regular and the other conjugated. The ProtocolClass’ incoming messages are on one side received by the regular Port and on the other sent by the conjugated Port (outgoing message vice versa). -</p><!--l. 1176--><p class="noindent" >A connection of Ports is denoted by a Binding. -</p><!--l. 1178--><p class="noindent" ><span +</p><!--l. 1187--><p class="noindent" >A connection of Ports is denoted by a Binding. +</p><!--l. 1189--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">conjugated : ’<span class="obeylines-h"><span class="verb"><span @@ -5569,201 +5638,223 @@ class="ec-lmtt-10">conjugated</span></span></span>’ <li class="itemize">multiplicity : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">1..n</span></span></span>’, ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10">*</span></span></span>’</li></ul> -<!--l. 1185--><p class="noindent" ><span +<!--l. 1196--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-191009r31"></a></p> -<!--l. 1190--><div class="longtable"> <table id="TBL-50" class="longtable" + id="x31-187009r31"></a></p> +<!--l. 1201--><div class="longtable"> <table id="TBL-49" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-50-1g"><col -id="TBL-50-1" /></colgroup><colgroup id="TBL-50-2g"><col -id="TBL-50-2" /><col -id="TBL-50-3" /></colgroup> +><colgroup id="TBL-49-1g"><col +id="TBL-49-1" /></colgroup><colgroup id="TBL-49-2g"><col +id="TBL-49-2" /><col +id="TBL-49-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-50-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-1-2" + style="vertical-align:baseline;" id="TBL-49-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-1-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-1-3" class="td11"> - <!--l. 1190--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 1201--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-50-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-2-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-2-2" + style="vertical-align:baseline;" id="TBL-49-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-2-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Replication">Replication</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-2-3" +href="#ref:Replication">Replication</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-2-3" class="td11"> - <!--l. 1192--><p class="noindent" >Replication is mechanism for multi instantiation for + <!--l. 1203--><p class="noindent" >Replication is mechanism for multi instantiation for ActorRefs and Ports. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-50-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-3-1" + style="vertical-align:baseline;" id="TBL-49-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-3-1" class="td11"> </td> + + </tr><tr - style="vertical-align:baseline;" id="TBL-50-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-4-1" + style="vertical-align:baseline;" id="TBL-49-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-50-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-5-1" + style="vertical-align:baseline;" id="TBL-49-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-50-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-6-1" + style="vertical-align:baseline;" id="TBL-49-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-50-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-7-3" + style="vertical-align:baseline;" id="TBL-49-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-49-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-49-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-49-7-3" class="td11"> </td></tr> </table></div> -<!--l. 1198--><p class="noindent" ><span +<!--l. 1209--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-191010r32"></a></p> -<!--l. 1203--><div class="longtable"> <table id="TBL-51" class="longtable" + id="x31-187010r32"></a></p> +<!--l. 1214--><div class="longtable"> <table id="TBL-50" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-51-1g"><col -id="TBL-51-1" /></colgroup><colgroup id="TBL-51-2g"><col -id="TBL-51-2" /><col -id="TBL-51-3" /></colgroup> +><colgroup id="TBL-50-1g"><col +id="TBL-50-1" /></colgroup><colgroup id="TBL-50-2g"><col +id="TBL-50-2" /><col +id="TBL-50-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-51-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-1-1" -class="td11"> Inheriting features: </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-1-2" + style="vertical-align:baseline;" id="TBL-50-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-1-1" +class="td11"> Inheriting features: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:RelayPort">RelayPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-1-3" +href="#ref:RelayPort">RelayPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-1-3" class="td11"> - <!--l. 1203--><p class="noindent" >A RelayPort forwards its messages without exposing them + <!--l. 1214--><p class="noindent" >A RelayPort forwards its messages without exposing them to the internal interface of the ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-2-2" + style="vertical-align:baseline;" id="TBL-50-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ExternalEndPort">ExternalEndPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-2-3" +href="#ref:ExternalEndPort">ExternalEndPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-2-3" class="td11"> - <!--l. 1204--><p class="noindent" >A ExternalEndPort is an interface Port, that is made + <!--l. 1215--><p class="noindent" >A ExternalEndPort is an interface Port, that is made accessible to the internal interface of an ActorClass. </p></td> - - </tr><tr - style="vertical-align:baseline;" id="TBL-51-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-3-2" + style="vertical-align:baseline;" id="TBL-50-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:InternalEndPort">InternalEndPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-3-3" +href="#ref:InternalEndPort">InternalEndPort</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-3-3" class="td11"> - <!--l. 1205--><p class="noindent" >A InternalEndPort is an local Port, that is declared in the + <!--l. 1216--><p class="noindent" >A InternalEndPort is an local Port, that is declared in the internal interface of an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-51-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-4-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-4-2" + style="vertical-align:baseline;" id="TBL-50-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-4-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-4-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-4-3" class="td11"> - <!--l. 1207--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1218--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-51-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-5-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-5-2" + style="vertical-align:baseline;" id="TBL-50-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-5-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Binding">Binding</a> : endpoint1 </td><td style="white-space:wrap; text-align:left;" id="TBL-51-5-3" +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-5-3" class="td11"> - <!--l. 1209--><p class="noindent" >A Binding connects two Ports with each other. </p></td> + <!--l. 1220--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-6-2" + style="vertical-align:baseline;" id="TBL-50-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-6-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:PortPropertyDialog">PortPropertyDialog</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-6-3" +class="td11"> + <!--l. 1221--><p class="noindent" >A dialog to edit properties of an Port. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-50-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-7-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-7-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Binding">Binding</a> : endpoint2 </td><td style="white-space:wrap; text-align:left;" id="TBL-51-6-3" +href="#ref:Binding">Binding</a> : endpoint1 </td><td style="white-space:wrap; text-align:left;" id="TBL-50-7-3" class="td11"> - <!--l. 1210--><p class="noindent" >A Binding connects two Ports with each other. </p></td> + <!--l. 1223--><p class="noindent" >A Binding connects two Ports with each other. </p></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-50-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-8-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="#ref:Binding">Binding</a> : endpoint2 </td><td style="white-space:wrap; text-align:left;" id="TBL-50-8-3" +class="td11"> + <!--l. 1224--><p class="noindent" >A Binding connects two Ports with each other. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-51-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-7-1" + style="vertical-align:baseline;" id="TBL-50-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-8-1" + style="vertical-align:baseline;" id="TBL-50-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-10-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-9-1" + style="vertical-align:baseline;" id="TBL-50-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-11-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-10-1" + style="vertical-align:baseline;" id="TBL-50-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-12-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-51-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-11-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-11-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-11-3" + style="vertical-align:baseline;" id="TBL-50-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-13-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-13-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-13-3" class="td11"> </td></tr> </table></div> <a - id="x31-191011r263"></a> + id="x31-187011r262"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.20 </span> <a - id="x31-19200020"></a>PrimitiveType</h5> -<!--l. 1221--><p class="noindent" ><a + id="x31-18800020"></a>PrimitiveType</h5> +<!--l. 1235--><p class="noindent" ><a id="ref:PrimitiveType"></a> A PrimitiveType is an abstraction of a target language’s basic type (e.g. integer or boolean). -</p><!--l. 1225--><p class="noindent" ><span +</p><!--l. 1239--><p class="noindent" ><span class="ec-lmssbx-10">Properties:</span> </p> <ul class="itemize1"> <li class="itemize">targetName : ’<span class="obeylines-h"><span class="verb"><span class="ec-lmtt-10"><identifer</span><span class="ec-lmtt-10"> name></span></span></span>’</li></ul> -<!--l. 1231--><p class="noindent" ><span +<!--l. 1245--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-192001r33"></a></p> -<!--l. 1236--><div class="longtable"> <table id="TBL-52" class="longtable" + id="x31-188001r33"></a></p> +<!--l. 1250--><div class="longtable"> <table id="TBL-51" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-52-1g"><col -id="TBL-52-1" /></colgroup><colgroup id="TBL-52-2g"><col -id="TBL-52-2" /><col -id="TBL-52-3" /></colgroup> +><colgroup id="TBL-51-1g"><col +id="TBL-51-1" /></colgroup><colgroup id="TBL-51-2g"><col +id="TBL-51-2" /><col +id="TBL-51-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-52-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-1-2" + style="vertical-align:baseline;" id="TBL-51-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-1-3" +href="#ref:DataType">DataType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-1-3" class="td11"> - <!--l. 1236--><p class="noindent" >A DataType can take 4 forms and types data elements like + <!--l. 1250--><p class="noindent" >A DataType can take 4 forms and types data elements like an Attribute or Operation argument. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-52-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-2-1" + style="vertical-align:baseline;" id="TBL-51-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-52-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-3-1" + style="vertical-align:baseline;" id="TBL-51-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-52-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-4-1" + style="vertical-align:baseline;" id="TBL-51-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-52-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-5-1" + style="vertical-align:baseline;" id="TBL-51-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-52-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-6-3" + style="vertical-align:baseline;" id="TBL-51-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-51-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-51-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-51-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1242--><p class="noindent" ><span +<!--l. 1256--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> -</p><!--l. 1244--><p class="noindent" >The eTrice built-in types can be found in the org.eclipse.etrice.modellib project. In most cases the Types.room is already -included: </p><!--l. 1245--> -<div class="lstlisting" id="listing-69"><span class="label"><a - id="x31-192002r1"></a></span><span +</p><!--l. 1258--><p class="noindent" >The eTrice built-in types can be found in the org.eclipse.etrice.modellib project. In most cases the Types.room is already + + +included: </p><!--l. 1259--> +<div class="lstlisting" id="listing-57"><span class="label"><a + id="x31-188002r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5783,7 +5874,7 @@ class="ec-lmtt-9">(</span><span class="ec-lmtt-9">F3</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-192003r2"></a></span><span + id="x31-188003r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5818,18 +5909,18 @@ class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span> </div> <a - id="x31-192004r264"></a> + id="x31-188004r263"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.21 </span> <a - id="x31-19300021"></a>ProtocolClass</h5> -<!--l. 1255--><p class="noindent" ><a + id="x31-18900021"></a>ProtocolClass</h5> +<!--l. 1269--><p class="noindent" ><a id="ref:ProtocolClass"></a> A ProtocolClass defines messages and is the interface specification for a Port -</p><!--l. 1258--><p class="noindent" >A ProtocolClass provides a reusable interface specification for ports. It defines a set of incoming and outgoing Messages that +</p><!--l. 1272--><p class="noindent" >A ProtocolClass provides a reusable interface specification for ports. It defines a set of incoming and outgoing Messages that can be exchanged between two ports. The exact semantics of a message is defined by the CommunicationType. Protocol classes have only textual notation. </p> -<!--l. 1262--> -<div class="lstlisting" id="listing-70"><span class="label"><a - id="x31-193001r1"></a></span><span +<!--l. 1276--> +<div class="lstlisting" id="listing-58"><span class="label"><a + id="x31-189001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ProtocolClass</span><span class="ec-lmtt-9"> </span><span @@ -5837,7 +5928,7 @@ class="ec-lmtt-9">SimpleProtocolClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193002r2"></a></span><span + id="x31-189002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5845,7 +5936,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193003r3"></a></span><span + id="x31-189003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5860,7 +5951,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">int32</span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193004r4"></a></span><span + id="x31-189004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5870,13 +5961,13 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">msg2</span><span class="ec-lmtt-9">()</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193005r5"></a></span><span + id="x31-189005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193006r6"></a></span><span + id="x31-189006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5884,7 +5975,7 @@ class="ec-lmssbx-10x-x-90">outgoing</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193007r7"></a></span><span + id="x31-189007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5899,7 +5990,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">DataClass1</span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193008r8"></a></span><span + id="x31-189008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -5909,166 +6000,166 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">msg4</span><span class="ec-lmtt-9">()</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193009r9"></a></span><span + id="x31-189009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193010r10"></a></span><span + id="x31-189010r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> - - </div> -<!--l. 1277--><p class="noindent" ><span +<!--l. 1291--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-193011r34"></a></p> -<!--l. 1282--><div class="longtable"> <table id="TBL-53" class="longtable" + id="x31-189011r34"></a></p> +<!--l. 1296--><div class="longtable"> <table id="TBL-52" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-53-1g"><col -id="TBL-53-1" /></colgroup><colgroup id="TBL-53-2g"><col -id="TBL-53-2" /><col -id="TBL-53-3" /></colgroup> +><colgroup id="TBL-52-1g"><col +id="TBL-52-1" /></colgroup><colgroup id="TBL-52-2g"><col +id="TBL-52-2" /><col +id="TBL-52-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-53-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-1-2" + style="vertical-align:baseline;" id="TBL-52-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:CommunicationType">CommunicationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-1-3" +href="#ref:CommunicationType">CommunicationType</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-1-3" class="td11"> - <!--l. 1282--><p class="noindent" >The CommunicationType defines the communication + <!--l. 1296--><p class="noindent" >The CommunicationType defines the communication semantics of a ProtocolClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-2-2" + style="vertical-align:baseline;" id="TBL-52-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-2-3" +href="#ref:Attribute">Attribute</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-2-3" class="td11"> - <!--l. 1283--><p class="noindent" >An Attribute is a member variable of a class </p></td> + <!--l. 1297--><p class="noindent" >An Attribute is a member variable of a class </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-3-2" + style="vertical-align:baseline;" id="TBL-52-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-3-3" +href="#ref:Operation">Operation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-3-3" class="td11"> - <!--l. 1284--><p class="noindent" >An Operation is a member function of a class. </p></td> + <!--l. 1298--><p class="noindent" >An Operation is a member function of a class. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-4-2" + style="vertical-align:baseline;" id="TBL-52-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-4-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-4-3" class="td11"> - <!--l. 1285--><p class="noindent" >An Annotation can be attached to a ROOM classes to + <!--l. 1299--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-53-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-5-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-5-2" + style="vertical-align:baseline;" id="TBL-52-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-5-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-5-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-5-3" +href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-5-3" class="td11"> - <!--l. 1287--><p class="noindent" >A class can specify a super class and inherits elements from + <!--l. 1301--><p class="noindent" >A class can specify a super class and inherits elements from the super class hierarchy. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-53-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-6-1" + style="vertical-align:baseline;" id="TBL-52-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-7-1" + style="vertical-align:baseline;" id="TBL-52-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-8-1" + style="vertical-align:baseline;" id="TBL-52-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-9-1" + style="vertical-align:baseline;" id="TBL-52-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-9-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-53-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-10-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-10-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-10-3" + style="vertical-align:baseline;" id="TBL-52-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-52-10-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-52-10-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-52-10-3" class="td11"> </td></tr> </table></div> -<!--l. 1293--><p class="noindent" ><span +<!--l. 1307--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-193012r35"></a></p> -<!--l. 1298--><div class="longtable"> <table id="TBL-54" class="longtable" + id="x31-189012r35"></a></p> +<!--l. 1312--><div class="longtable"> <table id="TBL-53" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-54-1g"><col -id="TBL-54-1" /></colgroup><colgroup id="TBL-54-2g"><col -id="TBL-54-2" /><col -id="TBL-54-3" /></colgroup> +><colgroup id="TBL-53-1g"><col +id="TBL-53-1" /></colgroup><colgroup id="TBL-53-2g"><col +id="TBL-53-2" /><col +id="TBL-53-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-54-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-1-1" -class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-1-2" + style="vertical-align:baseline;" id="TBL-53-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-1-1" +class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-1-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-1-3" class="td11"> - <!--l. 1298--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 1312--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-2-2" + style="vertical-align:baseline;" id="TBL-53-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SAP">SAP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-2-3" +href="#ref:SAP">SAP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-2-3" class="td11"> - <!--l. 1299--><p class="noindent" >A Service Access Point is similar to a Port, but uses a + <!--l. 1313--><p class="noindent" >A Service Access Point is similar to a Port, but uses a LayerConnection for wiring. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-3-2" + style="vertical-align:baseline;" id="TBL-53-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SPP">SPP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-3-3" +href="#ref:SPP">SPP</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-3-3" class="td11"> - <!--l. 1300--><p class="noindent" >A Service Provision Point is the counterpart of a SAP </p></td> + <!--l. 1314--><p class="noindent" >A Service Provision Point is the counterpart of a SAP </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-54-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-4-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-4-2" + style="vertical-align:baseline;" id="TBL-53-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-4-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-4-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-4-3" class="td11"> - <!--l. 1302--><p class="noindent" >The LogicalModel describes the logical structure and + <!--l. 1316--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-54-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-5-1" + style="vertical-align:baseline;" id="TBL-53-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-6-1" + style="vertical-align:baseline;" id="TBL-53-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-7-1" + style="vertical-align:baseline;" id="TBL-53-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-8-1" + style="vertical-align:baseline;" id="TBL-53-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-54-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-9-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-9-3" + style="vertical-align:baseline;" id="TBL-53-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-53-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-53-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-53-9-3" class="td11"> </td></tr> + + </table></div> -<!--l. 1307--><p class="noindent" ><span +<!--l. 1321--><p class="noindent" ><span class="ec-lmssbx-10">Example:</span> </p> -<!--l. 1309--> -<div class="lstlisting" id="listing-71"><span class="label"><a - id="x31-193013r1"></a></span><span +<!--l. 1323--> +<div class="lstlisting" id="listing-59"><span class="label"><a + id="x31-189013r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6102,9 +6193,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193014r2"></a></span><span + id="x31-189014r2"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193015r3"></a></span><span + id="x31-189015r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6125,7 +6216,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">bidirectional</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193016r4"></a></span><span + id="x31-189016r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6137,7 +6228,7 @@ class="ec-lmtt-9">ProtocolClassEvt</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193017r5"></a></span><span + id="x31-189017r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6166,7 +6257,7 @@ class="ec-lmtt-9">is</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">default</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193018r6"></a></span><span + id="x31-189018r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6175,7 +6266,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193019r7"></a></span><span + id="x31-189019r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6210,7 +6301,7 @@ class="ec-lmtt-9">conjugated</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193020r8"></a></span><span + id="x31-189020r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6230,7 +6321,7 @@ class="ec-lmtt-9">without</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">data</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193021r9"></a></span><span + id="x31-189021r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6257,7 +6348,7 @@ class="ec-lmtt-9">simple</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">data</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193022r10"></a></span><span + id="x31-189022r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6288,16 +6379,16 @@ class="ec-lmtt-9">(</span><span class="ec-lmtt-9">DataClass</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193023r11"></a></span><span + id="x31-189023r11"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193024r12"></a></span><span + id="x31-189024r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193025r13"></a></span><span + id="x31-189025r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6306,7 +6397,7 @@ class="ec-lmssbx-10x-x-90">outgoing</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193026r14"></a></span><span + id="x31-189026r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6339,7 +6430,7 @@ class="ec-lmtt-9">conjugated</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193027r15"></a></span><span + id="x31-189027r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6384,22 +6475,22 @@ class="ec-lmtt-9">symmetric</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">protocols</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193028r16"></a></span><span + id="x31-189028r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193029r17"></a></span><span + id="x31-189029r17"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193030r18"></a></span><span + id="x31-189030r18"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193031r19"></a></span><span + id="x31-189031r19"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6419,7 +6510,7 @@ class="ec-lmtt-9">via</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">message</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193032r20"></a></span><span + id="x31-189032r20"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6429,7 +6520,7 @@ class="ec-lmtt-9">DMessageData</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193033r21"></a></span><span + id="x31-189033r21"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6441,7 +6532,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">int16</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193034r22"></a></span><span + id="x31-189034r22"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6453,15 +6544,15 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">int32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193035r23"></a></span><span + id="x31-189035r23"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193036r24"></a></span><span + id="x31-189036r24"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193037r25"></a></span><span + id="x31-189037r25"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6482,7 +6573,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">unidirectional</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193038r26"></a></span><span + id="x31-189038r26"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6494,7 +6585,7 @@ class="ec-lmtt-9">ProtocolClassData</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193039r27"></a></span><span + id="x31-189039r27"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6503,7 +6594,7 @@ class="ec-lmssbx-10x-x-90">incoming</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193040r28"></a></span><span + id="x31-189040r28"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6538,7 +6629,7 @@ class="ec-lmtt-9">conjugated</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">port</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193041r29"></a></span><span + id="x31-189041r29"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6573,7 +6664,7 @@ class="ec-lmtt-9">needs</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">data</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193042r30"></a></span><span + id="x31-189042r30"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6602,7 +6693,7 @@ class="ec-lmtt-9">simple</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">data</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193043r31"></a></span><span + id="x31-189043r31"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6635,16 +6726,16 @@ class="ec-lmtt-9">(</span><span class="ec-lmtt-9">DataClass</span><span class="ec-lmtt-9">)</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193044r32"></a></span><span + id="x31-189044r32"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193045r33"></a></span><span + id="x31-189045r33"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193046r34"></a></span><span + id="x31-189046r34"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6665,29 +6756,29 @@ class="ec-lmtt-9">ports</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">allowed</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-193047r35"></a></span><span + id="x31-189047r35"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> <a - id="x31-193048r265"></a> + id="x31-189048r264"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.22 </span> <a - id="x31-19400022"></a>RelayPort</h5> -<!--l. 1352--><p class="noindent" ><a + id="x31-19000022"></a>RelayPort</h5> +<!--l. 1366--><p class="noindent" ><a id="ref:RelayPort"></a> A RelayPort forwards its messages without exposing them to the internal interface of the ActorClass. </p> -<!--l. 1355--> -<div class="lstlisting" id="listing-72"><span class="label"><a - id="x31-194001r1"></a></span><span +<!--l. 1369--> +<div class="lstlisting" id="listing-60"><span class="label"><a + id="x31-190001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">ActorClass</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">RelayPortExample</span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194002r2"></a></span><span + id="x31-190002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6695,7 +6786,7 @@ class="ec-lmssbx-10x-x-90">Interface</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194003r3"></a></span><span + id="x31-190003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6708,13 +6799,13 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">PSimpleProtocol</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194004r4"></a></span><span + id="x31-190004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194005r5"></a></span><span + id="x31-190005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6722,7 +6813,7 @@ class="ec-lmssbx-10x-x-90">Structure</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194006r6"></a></span><span + id="x31-190006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6735,9 +6826,9 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">SimpleActorClass2</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194007r7"></a></span><span + id="x31-190007r7"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194008r8"></a></span><span + id="x31-190008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6762,7 +6853,7 @@ class="ec-lmtt-9">an</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">ActorRef</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194009r9"></a></span><span + id="x31-190009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6777,13 +6868,13 @@ class="ec-lmtt-9">actorRef1</span><span class="ec-lmtt-9">.</span><span class="ec-lmtt-9">externalPort</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194010r10"></a></span><span + id="x31-190010r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194011r11"></a></span><span + id="x31-190011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6791,7 +6882,7 @@ class="ec-lmssbx-10x-x-90">Behavior</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194012r12"></a></span><span + id="x31-190012r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6806,72 +6897,70 @@ class="ec-lmtt-9">available</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">!</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194013r13"></a></span><span + id="x31-190013r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-194014r14"></a></span><span + id="x31-190014r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> - - </div> -<!--l. 1371--><p class="noindent" ><img +<!--l. 1385--><p class="noindent" ><img src="images/300-RelayPort.png" alt="PIC" /> -</p><!--l. 1375--><p class="noindent" ><span +</p><!--l. 1389--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-194015r36"></a></p> -<!--l. 1380--><div class="longtable"> <table id="TBL-55" class="longtable" + id="x31-190015r36"></a></p> +<!--l. 1394--><div class="longtable"> <table id="TBL-54" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-55-1g"><col -id="TBL-55-1" /></colgroup><colgroup id="TBL-55-2g"><col -id="TBL-55-2" /><col -id="TBL-55-3" /></colgroup> +><colgroup id="TBL-54-1g"><col +id="TBL-54-1" /></colgroup><colgroup id="TBL-54-2g"><col +id="TBL-54-2" /><col +id="TBL-54-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-55-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-1-1" -class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-55-1-2" + style="vertical-align:baseline;" id="TBL-54-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-1-1" +class="td11"> Is a: </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-55-1-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-1-3" class="td11"> - <!--l. 1380--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 1394--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-55-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-2-1" + style="vertical-align:baseline;" id="TBL-54-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-55-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-3-1" + style="vertical-align:baseline;" id="TBL-54-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-55-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-4-1" + style="vertical-align:baseline;" id="TBL-54-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-55-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-5-1" + style="vertical-align:baseline;" id="TBL-54-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-55-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-55-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-55-6-3" + style="vertical-align:baseline;" id="TBL-54-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-54-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-54-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-54-6-3" class="td11"> </td></tr> </table></div> <a - id="x31-194016r266"></a> + id="x31-190016r265"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.23 </span> <a - id="x31-19500023"></a>Replication</h5> -<!--l. 1392--><p class="noindent" ><a + id="x31-19100023"></a>Replication</h5> +<!--l. 1406--><p class="noindent" ><a id="ref:Replication"></a> Replication is mechanism for multi instantiation for ActorRefs and Ports. -</p><!--l. 1395--><p class="noindent" >ActorRefs and Ports can be instantiated several times under the same name. The notation is similar to arrays in programming +</p><!--l. 1409--><p class="noindent" >ActorRefs and Ports can be instantiated several times under the same name. The notation is similar to arrays in programming languages. -</p><!--l. 1397--><p class="noindent" >This possibility provides an elegant way of scaling of your system without redundancy. </p><!--l. 1398--> -<div class="lstlisting" id="listing-73"><span class="label"><a - id="x31-195001r1"></a></span><span +</p><!--l. 1411--><p class="noindent" >This possibility provides an elegant way of scaling of your system without redundancy. </p><!--l. 1412--> +<div class="lstlisting" id="listing-61"><span class="label"><a + id="x31-191001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6890,7 +6979,7 @@ class="ec-lmtt-9">one</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">instance</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-195002r2"></a></span><span + id="x31-191002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6909,7 +6998,7 @@ class="ec-lmtt-9">one</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">instance</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-195003r3"></a></span><span + id="x31-191003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6928,10 +7017,10 @@ class="ec-lmtt-9">five</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">instances</span> </div> -<!--l. 1404--><p class="noindent" >Replication can also applied to Ports. One use case is to establish a communication with multiple actors through one port -interface. </p><!--l. 1405--> -<div class="lstlisting" id="listing-74"><span class="label"><a - id="x31-195004r1"></a></span><span +<!--l. 1418--><p class="noindent" >Replication can also applied to Ports. One use case is to establish a communication with multiple actors through one port +interface. </p><!--l. 1419--> +<div class="lstlisting" id="listing-62"><span class="label"><a + id="x31-191004r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6951,7 +7040,7 @@ class="ec-lmtt-9">five</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">instances</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-195005r2"></a></span><span + id="x31-191005r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -6975,167 +7064,181 @@ class="ec-lmtt-9">as</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">needed</span> </div> -<!--l. 1413--><p class="noindent" ><span +<!--l. 1427--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-195006r37"></a></p> -<!--l. 1418--><div class="longtable"> <table id="TBL-56" class="longtable" + id="x31-191006r37"></a></p> +<!--l. 1432--><div class="longtable"> <table id="TBL-55" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-56-1g"><col -id="TBL-56-1" /></colgroup><colgroup id="TBL-56-2g"><col -id="TBL-56-2" /><col -id="TBL-56-3" /></colgroup> +><colgroup id="TBL-55-1g"><col +id="TBL-55-1" /></colgroup><colgroup id="TBL-55-2g"><col +id="TBL-55-2" /><col +id="TBL-55-3" /></colgroup> + + <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-56-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-2" + style="vertical-align:baseline;" id="TBL-55-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-1-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-55-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-56-1-3" +href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-55-1-3" class="td11"> - <!--l. 1418--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> + <!--l. 1432--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-56-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-2-2" + style="vertical-align:baseline;" id="TBL-55-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-55-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-56-2-3" +href="#ref:Port">Port</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-55-2-3" class="td11"> - <!--l. 1419--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface + <!--l. 1433--><p class="noindent" >A Port is an instance of a ProtocolClass and the interface for an ActorClass. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-56-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-3-1" + style="vertical-align:baseline;" id="TBL-55-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-56-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-4-1" + style="vertical-align:baseline;" id="TBL-55-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-56-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-5-1" + style="vertical-align:baseline;" id="TBL-55-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-56-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-6-1" + style="vertical-align:baseline;" id="TBL-55-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-56-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-56-7-3" + style="vertical-align:baseline;" id="TBL-55-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-55-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-55-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-55-7-3" class="td11"> </td></tr> </table></div> <a - id="x31-195007r267"></a> + id="x31-191007r266"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.24 </span> <a - id="x31-19600024"></a>SAP</h5> -<!--l. 1430--><p class="noindent" ><a + id="x31-19200024"></a>SAP</h5> +<!--l. 1444--><p class="noindent" ><a id="ref:SAP"></a> A Service Access Point is similar to a Port, but uses a LayerConnection for wiring. </p> <ul class="itemize1"> <li class="itemize">An actor class can define a Service Provision Point (SPP) to publish a specific service, defined by a protocol class - - </li> <li class="itemize">An actor class can define a Service Access Point (SAP) if it needs a service, defined by a protocol class </li> <li class="itemize">For a given actor hierarchy, a LayerConnection defines which SAP will be satisfied by (connected to) which SPP</li></ul> -<!--l. 1441--><p class="noindent" ><span +<!--l. 1455--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-196001r38"></a></p> -<!--l. 1446--><div class="longtable"> <table id="TBL-57" class="longtable" + id="x31-192001r38"></a></p> +<!--l. 1460--><div class="longtable"> <table id="TBL-56" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-57-1g"><col -id="TBL-57-1" /></colgroup><colgroup id="TBL-57-2g"><col -id="TBL-57-2" /><col -id="TBL-57-3" /></colgroup> +><colgroup id="TBL-56-1g"><col +id="TBL-56-1" /></colgroup><colgroup id="TBL-56-2g"><col +id="TBL-56-2" /><col +id="TBL-56-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-57-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-2" + style="vertical-align:baseline;" id="TBL-56-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-57-1-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-56-1-3" class="td11"> - <!--l. 1446--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 1460--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-57-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-1" + style="vertical-align:baseline;" id="TBL-56-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-57-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-1" + style="vertical-align:baseline;" id="TBL-56-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-57-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-1" + style="vertical-align:baseline;" id="TBL-56-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-57-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-1" + style="vertical-align:baseline;" id="TBL-56-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-57-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-57-6-3" + style="vertical-align:baseline;" id="TBL-56-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-56-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-56-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-56-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1452--><p class="noindent" ><span +<!--l. 1466--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-196002r39"></a></p> -<!--l. 1457--><div class="longtable"> <table id="TBL-58" class="longtable" + id="x31-192002r39"></a></p> +<!--l. 1471--><div class="longtable"> <table id="TBL-57" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-58-1g"><col -id="TBL-58-1" /></colgroup><colgroup id="TBL-58-2g"><col -id="TBL-58-2" /><col -id="TBL-58-3" /></colgroup> +><colgroup id="TBL-57-1g"><col +id="TBL-57-1" /></colgroup><colgroup id="TBL-57-2g"><col +id="TBL-57-2" /><col +id="TBL-57-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-58-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-58-1-2" + style="vertical-align:baseline;" id="TBL-57-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-58-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-57-1-3" class="td11"> - <!--l. 1457--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1471--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-58-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-2-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-58-2-2" + style="vertical-align:baseline;" id="TBL-57-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LayerConnection">LayerConnection</a> : SAPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-58-2-3" +href="etrice-docse23.html#ref:GraphicalStructureEditor">GraphicalStructureEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-57-2-3" class="td11"> - <!--l. 1459--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, + <!--l. 1473--><p class="noindent" >The Structure Editor allows to edit the ActorClass’ + Structure in a convenient way. It is possible to create and + arrange actor references and ports and to create bindings + and layer connections. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-57-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-3-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="#ref:LayerConnection">LayerConnection</a> : SAPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-57-3-3" +class="td11"> + <!--l. 1475--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, resulting in an connection of all SAPs on its instance hierarchy. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-58-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-3-1" + style="vertical-align:baseline;" id="TBL-57-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-58-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-4-1" + style="vertical-align:baseline;" id="TBL-57-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-58-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-5-1" + style="vertical-align:baseline;" id="TBL-57-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-58-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-6-1" + style="vertical-align:baseline;" id="TBL-57-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-58-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-58-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-58-7-3" + style="vertical-align:baseline;" id="TBL-57-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-57-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-57-8-3" class="td11"> </td></tr> </table></div> + + <a - id="x31-196003r268"></a> + id="x31-192003r267"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.25 </span> <a - id="x31-19700025"></a>SPP</h5> -<!--l. 1470--><p class="noindent" ><a + id="x31-19300025"></a>SPP</h5> +<!--l. 1486--><p class="noindent" ><a id="ref:SPP"></a> A Service Provision Point is the counterpart of a SAP </p> <ul class="itemize1"> @@ -7146,454 +7249,475 @@ class="td11"> </li> <li class="itemize">For a given actor hierarchy, a LayerConnection defines which SAP will be satisfied by (connected to) which SPP</li></ul> -<!--l. 1481--><p class="noindent" ><span +<!--l. 1497--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-197001r40"></a></p> -<!--l. 1486--><div class="longtable"> <table id="TBL-59" class="longtable" + id="x31-193001r40"></a></p> +<!--l. 1502--><div class="longtable"> <table id="TBL-58" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-59-1g"><col -id="TBL-59-1" /></colgroup><colgroup id="TBL-59-2g"><col -id="TBL-59-2" /><col -id="TBL-59-3" /></colgroup> +><colgroup id="TBL-58-1g"><col +id="TBL-58-1" /></colgroup><colgroup id="TBL-58-2g"><col +id="TBL-58-2" /><col +id="TBL-58-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-59-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-1-2" + style="vertical-align:baseline;" id="TBL-58-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-58-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-1-3" +href="#ref:ProtocolClass">ProtocolClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-58-1-3" class="td11"> - <!--l. 1486--><p class="noindent" >A ProtocolClass defines messages and is the interface + <!--l. 1502--><p class="noindent" >A ProtocolClass defines messages and is the interface specification for a Port </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-59-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-2-1" + style="vertical-align:baseline;" id="TBL-58-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-2-1" class="td11"> </td> - - </tr><tr - style="vertical-align:baseline;" id="TBL-59-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-3-1" + style="vertical-align:baseline;" id="TBL-58-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-59-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-4-1" + style="vertical-align:baseline;" id="TBL-58-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-59-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-5-1" + style="vertical-align:baseline;" id="TBL-58-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-59-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-6-3" + style="vertical-align:baseline;" id="TBL-58-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-58-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-58-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-58-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1492--><p class="noindent" ><span +<!--l. 1508--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-197002r41"></a></p> -<!--l. 1497--><div class="longtable"> <table id="TBL-60" class="longtable" + id="x31-193002r41"></a></p> +<!--l. 1513--><div class="longtable"> <table id="TBL-59" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-60-1g"><col -id="TBL-60-1" /></colgroup><colgroup id="TBL-60-2g"><col -id="TBL-60-2" /><col -id="TBL-60-3" /></colgroup> +><colgroup id="TBL-59-1g"><col +id="TBL-59-1" /></colgroup><colgroup id="TBL-59-2g"><col +id="TBL-59-2" /><col +id="TBL-59-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-60-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-1-2" + style="vertical-align:baseline;" id="TBL-59-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-60-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-1-3" class="td11"> - <!--l. 1497--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1513--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-60-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-2-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-2-2" + style="vertical-align:baseline;" id="TBL-59-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-2-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-2-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:SPPPropertyDialog">SPPPropertyDialog</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-2-3" +class="td11"> + <!--l. 1515--><p class="noindent" >A dialog to edit properties of a SPP. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-59-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-3-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LayerConnection">LayerConnection</a> : SPPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-60-2-3" +href="#ref:LayerConnection">LayerConnection</a> : SPPoint </td><td style="white-space:wrap; text-align:left;" id="TBL-59-3-3" class="td11"> - <!--l. 1499--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, + <!--l. 1517--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, resulting in an connection of all SAPs on its instance hierarchy. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-60-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-3-2" + style="vertical-align:baseline;" id="TBL-59-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ServiceImplementation">ServiceImplementation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-60-3-3" +href="#ref:ServiceImplementation">ServiceImplementation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-4-3" class="td11"> - <!--l. 1500--><p class="noindent" >The implementation of an Service Provision Point (SPP). </p></td> + <!--l. 1518--><p class="noindent" >The implementation of an Service Provision Point (SPP). </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-60-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-4-1" + style="vertical-align:baseline;" id="TBL-59-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-60-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-5-1" + style="vertical-align:baseline;" id="TBL-59-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-60-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-6-1" + style="vertical-align:baseline;" id="TBL-59-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-60-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-7-1" + style="vertical-align:baseline;" id="TBL-59-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-60-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-8-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-8-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-60-8-3" + style="vertical-align:baseline;" id="TBL-59-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-59-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-59-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-59-9-3" class="td11"> </td></tr> </table></div> <a - id="x31-197003r269"></a> + id="x31-193003r268"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.26 </span> <a - id="x31-19800026"></a>StateMachine</h5> -<!--l. 1511--><p class="noindent" ><a + id="x31-19400026"></a>StateMachine</h5> +<!--l. 1529--><p class="noindent" ><a id="ref:StateMachine"></a> A StateMachine describes the state based, event driven behavior of an ActorClass. -</p><!--l. 1514--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events occurring at the end ports of +</p><!--l. 1532--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events occurring at the end ports of an actor will be forwarded to and processed by the state machine. Events possibly trigger state transitions. </p> <div class="center" > -<!--l. 1515--><p class="noindent" > -</p><!--l. 1516--><p class="noindent" ><img +<!--l. 1533--><p class="noindent" > + + +</p><!--l. 1534--><p class="noindent" ><img src="images/300-PingPongReceiverFSM.png" alt="PIC" /></p></div> -<!--l. 1521--><p class="noindent" ><span +<!--l. 1539--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-198001r42"></a></p> -<!--l. 1526--><div class="longtable"> <table id="TBL-61" class="longtable" + id="x31-194001r42"></a></p> +<!--l. 1544--><div class="longtable"> <table id="TBL-60" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-61-1g"><col -id="TBL-61-1" /></colgroup><colgroup id="TBL-61-2g"><col -id="TBL-61-2" /><col -id="TBL-61-3" /></colgroup> +><colgroup id="TBL-60-1g"><col +id="TBL-60-1" /></colgroup><colgroup id="TBL-60-2g"><col +id="TBL-60-2" /><col +id="TBL-60-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-61-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-61-1-2" + style="vertical-align:baseline;" id="TBL-60-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-61-1-3" +href="#ref:Inheritance">Inheritance</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-60-1-3" class="td11"> - <!--l. 1526--><p class="noindent" >A class can specify a super class and inherits elements from + <!--l. 1544--><p class="noindent" >A class can specify a super class and inherits elements from the super class hierarchy. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-61-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-2-1" + style="vertical-align:baseline;" id="TBL-60-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-61-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-3-1" + style="vertical-align:baseline;" id="TBL-60-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-61-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-4-1" + style="vertical-align:baseline;" id="TBL-60-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-61-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-5-1" + style="vertical-align:baseline;" id="TBL-60-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-61-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-61-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-61-6-3" + style="vertical-align:baseline;" id="TBL-60-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-60-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-60-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-60-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1532--><p class="noindent" ><span +<!--l. 1550--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-198002r43"></a></p> -<!--l. 1537--><div class="longtable"> <table id="TBL-62" class="longtable" + id="x31-194002r43"></a></p> +<!--l. 1555--><div class="longtable"> <table id="TBL-61" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-62-1g"><col -id="TBL-62-1" /></colgroup><colgroup id="TBL-62-2g"><col -id="TBL-62-2" /><col -id="TBL-62-3" /></colgroup> +><colgroup id="TBL-61-1g"><col +id="TBL-61-1" /></colgroup><colgroup id="TBL-61-2g"><col +id="TBL-61-2" /><col +id="TBL-61-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-62-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-1-2" + style="vertical-align:baseline;" id="TBL-61-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-61-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-1-3" +href="#ref:ActorClass">ActorClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-61-1-3" class="td11"> - <!--l. 1537--><p class="noindent" >An actor is the basic structural building block for building + <!--l. 1555--><p class="noindent" >An actor is the basic structural building block for building systems with ROOM. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-62-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-2-1" + style="vertical-align:baseline;" id="TBL-61-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-2-1" +class="td11"> Is edited by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-61-2-2" +class="td11">   <span +class="cmsy-10">∙</span>  <a +href="etrice-docse23.html#ref:GraphicalBehaviorEditor">GraphicalBehaviorEditor</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-61-2-3" +class="td11"> + <!--l. 1557--><p class="noindent" >The GraphicalBehaviorEditor allows to edit the ActorClass’ + StateMachine. It is possible to create (hierarchical) states + and transitions to model complex behavior in a convenient + way. </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-61-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-62-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-3-1" + style="vertical-align:baseline;" id="TBL-61-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-62-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-4-1" + style="vertical-align:baseline;" id="TBL-61-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-62-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-5-1" + style="vertical-align:baseline;" id="TBL-61-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-62-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-6-3" + style="vertical-align:baseline;" id="TBL-61-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-61-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-61-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-61-7-3" class="td11"> </td></tr> - - </table></div> <a - id="x31-198003r270"></a> + id="x31-194003r269"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.27 </span> <a - id="x31-19900027"></a>SubSystemClass</h5> -<!--l. 1548--><p class="noindent" ><a + id="x31-19500027"></a>SubSystemClass</h5> +<!--l. 1568--><p class="noindent" ><a id="ref:SubSystemClass"></a> A SubSystem is the topmost building block of the executable part of an system. -</p><!--l. 1551--><p class="noindent" >It represents a class for an logical node in a distributed system. An instantiation translates to an executable application, that +</p><!--l. 1571--><p class="noindent" >It represents a class for an logical node in a distributed system. An instantiation translates to an executable application, that runs on a node or process. A SubSystemClass is the structural starting point of an ROOM application. Thus it declares the topmost actor instances (ActorRefs). -</p><!--l. 1556--><p class="noindent" ><span +</p><!--l. 1576--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-199001r44"></a></p> -<!--l. 1561--><div class="longtable"> <table id="TBL-63" class="longtable" + id="x31-195001r44"></a></p> +<!--l. 1581--><div class="longtable"> <table id="TBL-62" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-63-1g"><col -id="TBL-63-1" /></colgroup><colgroup id="TBL-63-2g"><col -id="TBL-63-2" /><col -id="TBL-63-3" /></colgroup> +><colgroup id="TBL-62-1g"><col +id="TBL-62-1" /></colgroup><colgroup id="TBL-62-2g"><col +id="TBL-62-2" /><col +id="TBL-62-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-63-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-1-1" -class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-1-2" + style="vertical-align:baseline;" id="TBL-62-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-1-1" +class="td11"> Contains: </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-1-3" +href="#ref:ActorRef">ActorRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-1-3" class="td11"> - <!--l. 1561--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> + <!--l. 1581--><p class="noindent" >An ActorRef is an instance of an ActorClass. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-2-2" + style="vertical-align:baseline;" id="TBL-62-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Binding">Binding</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-2-3" +href="#ref:Binding">Binding</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-2-3" class="td11"> - <!--l. 1562--><p class="noindent" >A Binding connects two Ports with each other. </p></td> + <!--l. 1582--><p class="noindent" >A Binding connects two Ports with each other. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-3-2" + style="vertical-align:baseline;" id="TBL-62-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LayerConnection">LayerConnection</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-3-3" +href="#ref:LayerConnection">LayerConnection</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-3-3" class="td11"> - <!--l. 1563--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, + <!--l. 1583--><p class="noindent" >A LayerConnection associates a SPP to an ActorRef, resulting in an connection of all SAPs on its instance hierarchy. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-4-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-4-2" + style="vertical-align:baseline;" id="TBL-62-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-4-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-4-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-4-3" +href="#ref:Annotation">Annotation</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-4-3" class="td11"> - <!--l. 1564--><p class="noindent" >An Annotation can be attached to a ROOM classes to + <!--l. 1584--><p class="noindent" >An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-63-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-5-1" + style="vertical-align:baseline;" id="TBL-62-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-6-1" + style="vertical-align:baseline;" id="TBL-62-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-7-1" + style="vertical-align:baseline;" id="TBL-62-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-8-1" + style="vertical-align:baseline;" id="TBL-62-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-8-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-63-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-9-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-9-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-9-3" + style="vertical-align:baseline;" id="TBL-62-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-62-9-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-62-9-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-62-9-3" class="td11"> </td></tr> + + </table></div> -<!--l. 1570--><p class="noindent" ><span +<!--l. 1590--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-199002r45"></a></p> -<!--l. 1575--><div class="longtable"> <table id="TBL-64" class="longtable" + id="x31-195002r45"></a></p> +<!--l. 1595--><div class="longtable"> <table id="TBL-63" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-64-1g"><col -id="TBL-64-1" /></colgroup><colgroup id="TBL-64-2g"><col -id="TBL-64-2" /><col -id="TBL-64-3" /></colgroup> +><colgroup id="TBL-63-1g"><col +id="TBL-63-1" /></colgroup><colgroup id="TBL-63-2g"><col +id="TBL-63-2" /><col +id="TBL-63-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-64-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-1-1" -class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-64-1-2" + style="vertical-align:baseline;" id="TBL-63-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-1-1" +class="td11"> Typecasts: </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-64-1-3" +href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-1-3" class="td11"> - <!--l. 1575--><p class="noindent" >A Sub System Reference is an instance of an + <!--l. 1595--><p class="noindent" >A Sub System Reference is an instance of an SubSystemClass </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-64-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-2-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-64-2-2" + style="vertical-align:baseline;" id="TBL-63-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-2-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-64-2-3" +href="#ref:LogicalModel">LogicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-2-3" class="td11"> - <!--l. 1577--><p class="noindent" >The LogicalModel describes the logical structure and + <!--l. 1597--><p class="noindent" >The LogicalModel describes the logical structure and behavior of a ROOM application. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-64-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-3-1" + style="vertical-align:baseline;" id="TBL-63-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-64-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-4-1" + style="vertical-align:baseline;" id="TBL-63-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-64-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-5-1" + style="vertical-align:baseline;" id="TBL-63-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-64-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-6-1" + style="vertical-align:baseline;" id="TBL-63-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-64-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-64-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-64-7-3" + style="vertical-align:baseline;" id="TBL-63-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-63-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-63-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-63-7-3" class="td11"> </td></tr> </table></div> <a - id="x31-199003r271"></a> + id="x31-195003r270"></a> <h5 class="subsubsectionHead"><span class="titlemark">7.1.2.28 </span> <a - id="x31-20000028"></a>SubSystemRef</h5> -<!--l. 1588--><p class="noindent" ><a + id="x31-19600028"></a>SubSystemRef</h5> +<!--l. 1608--><p class="noindent" ><a id="ref:SubSystemRef"></a> A Sub System Reference is an instance of an SubSystemClass -</p><!--l. 1591--><p class="noindent" >It represent a logical node in the structural view of a distributed system. An instantiation translates to an executable +</p><!--l. 1611--><p class="noindent" >It represent a logical node in the structural view of a distributed system. An instantiation translates to an executable application, that runs on a node or process. -</p><!--l. 1593--><p class="noindent" >To be executable, a SubSystemRef has first to be mapped to a physical node, which defines the executional properties. A +</p><!--l. 1613--><p class="noindent" >To be executable, a SubSystemRef has first to be mapped to a physical node, which defines the executional properties. A physical node is denoted by a NodeClass and NodeRef in the PhysicalModel. The mapping is defined in the MappingModel. </p> <div class="center" > -<!--l. 1595--><p class="noindent" > - - +<!--l. 1615--><p class="noindent" > -</p><!--l. 1596--><p class="noindent" ><img +</p><!--l. 1616--><p class="noindent" ><img src="images/300-SubSystemRefOverview.png" alt="PIC" /></p></div> -<!--l. 1601--><p class="noindent" ><span +<!--l. 1621--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-200001r46"></a></p> -<!--l. 1606--><div class="longtable"> <table id="TBL-65" class="longtable" + id="x31-196001r46"></a></p> +<!--l. 1626--><div class="longtable"> <table id="TBL-64" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-65-1g"><col -id="TBL-65-1" /></colgroup><colgroup id="TBL-65-2g"><col -id="TBL-65-2" /><col -id="TBL-65-3" /></colgroup> +><colgroup id="TBL-64-1g"><col +id="TBL-64-1" /></colgroup><colgroup id="TBL-64-2g"><col +id="TBL-64-2" /><col +id="TBL-64-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-65-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-1-1" -class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-65-1-2" + style="vertical-align:baseline;" id="TBL-64-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-1-1" +class="td11"> Is of type: </td><td style="white-space:nowrap; text-align:left;" id="TBL-64-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-65-1-3" +href="#ref:SubSystemClass">SubSystemClass</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-64-1-3" class="td11"> - <!--l. 1606--><p class="noindent" >A SubSystem is the topmost building block of the + <!--l. 1626--><p class="noindent" >A SubSystem is the topmost building block of the executable part of an system. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-65-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-2-1" + style="vertical-align:baseline;" id="TBL-64-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-65-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-3-1" + style="vertical-align:baseline;" id="TBL-64-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-65-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-4-1" + style="vertical-align:baseline;" id="TBL-64-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-65-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-5-1" + style="vertical-align:baseline;" id="TBL-64-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-65-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-65-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-65-6-3" + style="vertical-align:baseline;" id="TBL-64-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-64-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-64-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-64-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1612--><p class="noindent" ><span +<!--l. 1632--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-200002r47"></a></p> -<!--l. 1617--><div class="longtable"> <table id="TBL-66" class="longtable" + id="x31-196002r47"></a></p> +<!--l. 1637--><div class="longtable"> <table id="TBL-65" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-66-1g"><col -id="TBL-66-1" /></colgroup><colgroup id="TBL-66-2g"><col -id="TBL-66-2" /><col -id="TBL-66-3" /></colgroup> +><colgroup id="TBL-65-1g"><col +id="TBL-65-1" /></colgroup><colgroup id="TBL-65-2g"><col +id="TBL-65-2" /><col +id="TBL-65-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-66-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-1-1" -class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-1-2" + style="vertical-align:baseline;" id="TBL-65-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-1-1" +class="td11"> Is contained in: </td><td style="white-space:nowrap; text-align:left;" id="TBL-65-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-1-3" +href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-65-1-3" class="td11"> - <!--l. 1617--><p class="noindent" >The LogicalSystem is the topmost structural class. It + <!--l. 1637--><p class="noindent" >The LogicalSystem is the topmost structural class. It assembles a distributed system by means of sub systems. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-66-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-2-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-2-2" + style="vertical-align:baseline;" id="TBL-65-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-2-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-65-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-2-3" +href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-65-2-3" class="td11"> - <!--l. 1619--><p class="noindent" >The MappingModel describes the mapping of elements of + <!--l. 1639--><p class="noindent" >The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-66-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-3-1" + style="vertical-align:baseline;" id="TBL-65-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-66-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-4-1" + style="vertical-align:baseline;" id="TBL-65-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-66-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-5-1" + style="vertical-align:baseline;" id="TBL-65-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-66-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-6-1" + style="vertical-align:baseline;" id="TBL-65-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-66-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-7-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-7-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-7-3" + style="vertical-align:baseline;" id="TBL-65-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-65-7-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-65-7-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-65-7-3" class="td11"> </td></tr> + + </table></div> <a - id="x31-200003r243"></a> + id="x31-196003r242"></a> <h4 class="subsectionHead"><span class="titlemark">7.1.3 </span> <a - id="x31-2010003"></a>MappingModel</h4> -<!--l. 1630--><p class="noindent" ><a + id="x31-1970003"></a>MappingModel</h4> +<!--l. 1650--><p class="noindent" ><a id="ref:MappingModel"></a> The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel. -</p><!--l. 1633--><p class="noindent" >It enables the complete decoupling of the LogicalModel and the PhysicalModel, thus providing a maximum flexibility and +</p><!--l. 1653--><p class="noindent" >It enables the complete decoupling of the LogicalModel and the PhysicalModel, thus providing a maximum flexibility and reuse for the models. -</p><!--l. 1635--><p class="noindent" >The model starts with an import part, where you can import .room and .etphys models. They must contain at least one +</p><!--l. 1655--><p class="noindent" >The model starts with an import part, where you can import .room and .etphys models. They must contain at least one LogicalSystem and one PhysicalSystem. A Mapping entry puts both in relation, meaning that all sub systems of the LogicalSystem will be distributed to the nodes of the PhysicalSystem. This is carried out by a SubSystemMapping, that maps a SubSystemRef (logical node) to a NodeRef (physical node). In the next step, ThreadMappings provide the same action for -the logical and physical threads. </p><!--l. 1639--> -<div class="lstlisting" id="listing-75"><span class="label"><a - id="x31-201001r1"></a></span><span +the logical and physical threads. </p><!--l. 1659--> +<div class="lstlisting" id="listing-63"><span class="label"><a + id="x31-197001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">MappingModel</span><span class="ec-lmtt-9"> </span><span @@ -7601,7 +7725,7 @@ class="ec-lmtt-9">PingPongMapping</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201002r2"></a></span><span + id="x31-197002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7618,7 +7742,7 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">room</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201003r3"></a></span><span + id="x31-197003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7635,9 +7759,9 @@ class="ec-lmtt-9">.</span><span class="ec-lmtt-9">etphys</span><span class="ec-lmtt-9">"</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201004r4"></a></span><span + id="x31-197004r4"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201005r5"></a></span><span + id="x31-197005r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7651,7 +7775,7 @@ class="ec-lmtt-9">PhysSys1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201006r6"></a></span><span + id="x31-197006r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7666,7 +7790,7 @@ class="ec-lmtt-9">nodeRef1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201007r7"></a></span><span + id="x31-197007r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7681,94 +7805,92 @@ class="ec-lmtt-9">-></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">PhysicalThread1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201008r8"></a></span><span + id="x31-197008r8"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201009r9"></a></span><span + id="x31-197009r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201010r10"></a></span><span + id="x31-197010r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-201011r11"></a></span><span + id="x31-197011r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 1655--><p class="noindent" ><span +<!--l. 1675--><p class="noindent" ><span class="ec-lmssbx-10">Features:</span> <a - id="x31-201012r48"></a></p> -<!--l. 1660--><div class="longtable"> <table id="TBL-67" class="longtable" + id="x31-197012r48"></a></p> +<!--l. 1680--><div class="longtable"> <table id="TBL-66" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-67-1g"><col -id="TBL-67-1" /></colgroup><colgroup id="TBL-67-2g"><col -id="TBL-67-2" /><col -id="TBL-67-3" /></colgroup> +><colgroup id="TBL-66-1g"><col +id="TBL-66-1" /></colgroup><colgroup id="TBL-66-2g"><col +id="TBL-66-2" /><col +id="TBL-66-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-67-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-1-1" -class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-1-2" + style="vertical-align:baseline;" id="TBL-66-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-1-1" +class="td11"> Uses: </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-1-3" +href="#ref:LogicalSystem">LogicalSystem</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-1-3" class="td11"> - <!--l. 1660--><p class="noindent" >The LogicalSystem is the topmost structural class. It + <!--l. 1680--><p class="noindent" >The LogicalSystem is the topmost structural class. It assembles a distributed system by means of sub systems. </p></td> </tr><tr - style="vertical-align:baseline;" id="TBL-67-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-2-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-2-2" + style="vertical-align:baseline;" id="TBL-66-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-2-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-2-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-2-3" +href="#ref:SubSystemRef">SubSystemRef</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-2-3" class="td11"> - <!--l. 1661--><p class="noindent" >A Sub System Reference is an instance of an + <!--l. 1681--><p class="noindent" >A Sub System Reference is an instance of an SubSystemClass </p></td> - - </tr><tr - style="vertical-align:baseline;" id="TBL-67-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-3-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-3-2" + style="vertical-align:baseline;" id="TBL-66-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-3-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-3-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:PhysicalModel">PhysicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-3-3" +href="#ref:PhysicalModel">PhysicalModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-3-3" class="td11"> - <!--l. 1662--><p class="noindent" >The PhysicalModel defines the setup of your nodes with + <!--l. 1682--><p class="noindent" >The PhysicalModel defines the setup of your nodes with their attributes like threads and mode of execution. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-67-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-4-1" + style="vertical-align:baseline;" id="TBL-66-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-67-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-5-1" + style="vertical-align:baseline;" id="TBL-66-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-67-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-6-1" + style="vertical-align:baseline;" id="TBL-66-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-6-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-67-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-7-1" + style="vertical-align:baseline;" id="TBL-66-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-7-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-67-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-8-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-8-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-8-3" + style="vertical-align:baseline;" id="TBL-66-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-66-8-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-66-8-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-66-8-3" class="td11"> </td></tr> </table></div> <a - id="x31-201013r273"></a> + id="x31-197013r272"></a> <h4 class="subsectionHead"><span class="titlemark">7.1.4 </span> <a - id="x31-2020004"></a>PhysicalModel</h4> -<!--l. 1674--><p class="noindent" ><a + id="x31-1980004"></a>PhysicalModel</h4> +<!--l. 1694--><p class="noindent" ><a id="ref:PhysicalModel"></a> The PhysicalModel defines the setup of your nodes with their attributes like threads and mode of execution. -</p><!--l. 1677--><p class="noindent" >The model describes the physical view of your system: </p><!--l. 1678--> -<div class="lstlisting" id="listing-76"><span class="label"><a - id="x31-202001r1"></a></span><span +</p><!--l. 1697--><p class="noindent" >The model describes the physical view of your system: </p><!--l. 1698--> +<div class="lstlisting" id="listing-64"><span class="label"><a + id="x31-198001r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">PhysicalSystem</span><span class="ec-lmtt-9"> </span><span @@ -7776,7 +7898,7 @@ class="ec-lmtt-9">PhysSys1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202002r2"></a></span><span + id="x31-198002r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7788,7 +7910,7 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">NodeClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202003r3"></a></span><span + id="x31-198003r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7800,17 +7922,17 @@ class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">NodeClass2</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202004r4"></a></span><span + id="x31-198004r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 1685--><p class="noindent" >The central element is a NodeClass, that models the executional aspects of a device (node). At first, it can be associated +<!--l. 1705--><p class="noindent" >The central element is a NodeClass, that models the executional aspects of a device (node). At first, it can be associated with a RuntimeClass, which specifies if your device supports multiple threads. ’priomin’ and ’priomax’ define the range of priorities, that can be assigned to threads. </p> -<!--l. 1689--> -<div class="lstlisting" id="listing-77"><span class="label"><a - id="x31-202005r1"></a></span><span +<!--l. 1709--> +<div class="lstlisting" id="listing-65"><span class="label"><a + id="x31-198005r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">NodeClass</span><span class="ec-lmtt-9"> </span><span @@ -7818,7 +7940,7 @@ class="ec-lmtt-9">NodeClass1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202006r2"></a></span><span + id="x31-198006r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7828,7 +7950,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">RuntimeClass1</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202007r3"></a></span><span + id="x31-198007r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7838,7 +7960,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">-10</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202008r4"></a></span><span + id="x31-198008r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7848,9 +7970,9 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">10</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202009r5"></a></span><span + id="x31-198009r5"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202010r6"></a></span><span + id="x31-198010r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7862,13 +7984,13 @@ class="ec-lmtt-9">definitions</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">...</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202011r7"></a></span><span + id="x31-198011r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202012r8"></a></span><span + id="x31-198012r8"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202013r9"></a></span><span + id="x31-198013r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">RuntimeClass</span><span class="ec-lmtt-9"> </span><span @@ -7876,7 +7998,7 @@ class="ec-lmtt-9">RuntimeClass1</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202014r10"></a></span><span + id="x31-198014r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7892,11 +8014,13 @@ class="ec-lmtt-9">or</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">singleThreaded</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202015r11"></a></span><span + id="x31-198015r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> -<!--l. 1703--><p class="noindent" >A thread has to specify the following properties: </p> +<!--l. 1723--><p class="noindent" >A thread has to specify the following properties: </p> + + <ul class="itemize1"> <li class="itemize"><span class="ec-lmssbx-10">execmode</span>: defines the execution type, see more at ExecutionType @@ -7913,13 +8037,13 @@ class="ec-lmssbx-10">msgblocksize</span>: the size in bytes of a message </li> <li class="itemize"><span class="ec-lmssbx-10">msgpoolsize</span>: the amount of messages, that the thread’s message queue can store</li></ul> -<!--l. 1714--><p class="noindent" >Note: ’msgblocksize’ and ’msgpoolsize’ also apply to the polled execution due the internal implementation via +<!--l. 1734--><p class="noindent" >Note: ’msgblocksize’ and ’msgpoolsize’ also apply to the polled execution due the internal implementation via message passing. The size of the message queue can be calculated as follows: msgpoolsize * msgblocksize bytes </p> -<!--l. 1717--> -<div class="lstlisting" id="listing-78"><span class="label"><a - id="x31-202016r1"></a></span><span +<!--l. 1737--> +<div class="lstlisting" id="listing-66"><span class="label"><a + id="x31-198016r1"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">DefaultThread</span><span class="ec-lmtt-9"> </span><span @@ -7927,7 +8051,7 @@ class="ec-lmtt-9">ThreadMessaging</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202017r2"></a></span><span + id="x31-198017r2"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7937,7 +8061,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">polled</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202018r3"></a></span><span + id="x31-198018r3"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7947,7 +8071,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">0</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202019r4"></a></span><span + id="x31-198019r4"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7957,7 +8081,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">1024</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202020r5"></a></span><span + id="x31-198020r5"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7967,7 +8091,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202021r6"></a></span><span + id="x31-198021r6"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -7977,13 +8101,13 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">10</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202022r7"></a></span><span + id="x31-198022r7"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202023r8"></a></span><span + id="x31-198023r8"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202024r9"></a></span><span + id="x31-198024r9"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">Thread</span><span class="ec-lmtt-9"> </span><span @@ -7991,7 +8115,7 @@ class="ec-lmtt-9">ThreadPolled</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202025r10"></a></span><span + id="x31-198025r10"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8001,7 +8125,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmssbx-10x-x-90">polled</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202026r11"></a></span><span + id="x31-198026r11"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8011,7 +8135,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">0</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202027r12"></a></span><span + id="x31-198027r12"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8022,7 +8146,7 @@ class="ec-lmtt-9"> </span><span class="ec-lmtt-9">100</span><span class="ec-lmssbx-10x-x-90">ms</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202028r13"></a></span><span + id="x31-198028r13"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8032,7 +8156,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">1024</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202029r14"></a></span><span + id="x31-198029r14"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8042,7 +8166,7 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">32</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202030r15"></a></span><span + id="x31-198030r15"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span @@ -8052,67 +8176,65 @@ class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">10</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x31-202031r16"></a></span><span + id="x31-198031r16"></a></span><span class="ec-lmtt-9"> </span><span class="ec-lmtt-9">}</span> </div> <div class="center" > -<!--l. 1735--><p class="noindent" > +<!--l. 1755--><p class="noindent" > - - -</p><!--l. 1736--><p class="noindent" ><img +</p><!--l. 1756--><p class="noindent" ><img src="images/300-PhysicalModelOverview.png" alt="PIC" /></p></div> -<!--l. 1742--><p class="noindent" ><span +<!--l. 1762--><p class="noindent" ><span class="ec-lmssbx-10">Feature Usage:</span> <a - id="x31-202032r49"></a></p> -<!--l. 1747--><div class="longtable"> <table id="TBL-68" class="longtable" + id="x31-198032r49"></a></p> +<!--l. 1767--><div class="longtable"> <table id="TBL-67" class="longtable" cellspacing="0" cellpadding="0" rules="groups" -><colgroup id="TBL-68-1g"><col -id="TBL-68-1" /></colgroup><colgroup id="TBL-68-2g"><col -id="TBL-68-2" /><col -id="TBL-68-3" /></colgroup> +><colgroup id="TBL-67-1g"><col +id="TBL-67-1" /></colgroup><colgroup id="TBL-67-2g"><col +id="TBL-67-2" /><col +id="TBL-67-3" /></colgroup> <tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-68-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-1-1" -class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-68-1-2" + style="vertical-align:baseline;" id="TBL-67-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-1-1" +class="td11"> Is used by: </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-1-2" class="td11">   <span class="cmsy-10">∙</span>  <a -href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-68-1-3" +href="#ref:MappingModel">MappingModel</a> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-1-3" class="td11"> - <!--l. 1747--><p class="noindent" >The MappingModel describes the mapping of elements of + <!--l. 1767--><p class="noindent" >The MappingModel describes the mapping of elements of the LogicalModel to elements of the PhysicalModel. </p></td> </tr><tr class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr - style="vertical-align:baseline;" id="TBL-68-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-2-1" + style="vertical-align:baseline;" id="TBL-67-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-2-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-68-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-3-1" + style="vertical-align:baseline;" id="TBL-67-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-3-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-68-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-4-1" + style="vertical-align:baseline;" id="TBL-67-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-4-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-68-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-5-1" + style="vertical-align:baseline;" id="TBL-67-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-5-1" class="td11"> </td> </tr><tr - style="vertical-align:baseline;" id="TBL-68-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-68-6-1" -class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-68-6-2" -class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-68-6-3" + style="vertical-align:baseline;" id="TBL-67-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-67-6-1" +class="td11"> </td><td style="white-space:nowrap; text-align:left;" id="TBL-67-6-2" +class="td11"> </td><td style="white-space:wrap; text-align:left;" id="TBL-67-6-3" class="td11"> </td></tr> </table></div> -<!--l. 1757--><div class="crosslinks"><p class="noindent">[<a +<!--l. 1777--><div class="crosslinks"><p class="noindent">[<a href="etrice-docse23.html" >next</a>] [<a href="etrice-docch7.html" >prev</a>] [<a href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a href="etrice-docse22.html" >front</a>] [<a href="etrice-docch7.html#etrice-docse22.html" >up</a>] </p></div> -<!--l. 1757--><p class="noindent" ><a +<!--l. 1777--><p class="noindent" ><a id="tailetrice-docse22.html"></a></p> </body></html> |