Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html/etrice-docse23.html')
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse23.html1425
1 files changed, 1154 insertions, 271 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
index ca5b6a39f..ea6a7b399 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
@@ -4,496 +4,1379 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Layering</title>
+<head><title>eTrice Models and Their Relations</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<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-06-26 00:33:00" />
+<meta name="date" content="2015-06-30 18:08:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse24.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
href="etrice-docse22.html" >prev</a>] [<a
href="etrice-docse22.html#tailetrice-docse22.html" >prev-tail</a>] [<a
href="#tailetrice-docse23.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse23.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.5 </span> <a
- id="x30-1270005"></a>Layering</h3>
-<a
- id="x30-127001r171"></a>
-<h4 class="subsectionHead"><span class="titlemark">5.5.1 </span> <a
- id="x30-1280001"></a>Description</h4>
-<!--l. 506--><p class="noindent" >In addition to the actor containment hierarchies, layering provides another method to hierarchically structure a
-software system. Layering and actor hierarchies with port to port connections can be mixed on every level of
-granularity.
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x30-128002x1">an actor class can define a Service Provision Point (<span id="textcolor49"><span
-class="ec-lmssbx-10">SPP</span></span>) to publish a specific service, defined by a protocol
- class
+href="etrice-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
+ id="x31-1820006"></a>eTrice Models and Their Relations</h3>
+<!--l. 3--><p class="noindent" >eTrice comprises several models:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">the ROOM model (*.room) &#8211; defines model classes and the logical structure of the model
+ </li>
+ <li class="itemize">the Config model (*.config) &#8211; defines configuration values for attributes
</li>
- <li
- class="enumerate" id="x30-128004x2">an actor class can define a Service Access Point (<span id="textcolor50"><span
-class="ec-lmssbx-10">SAP</span></span>) if it needs a service, defined by a protocol class
+ <li class="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
</li>
- <li
- class="enumerate" id="x30-128006x3">for a given actor hierarchy, a <span id="textcolor51"><span
-class="ec-lmssbx-10">LayerConnection</span></span> defines which SAP will be satisfied by (connected to) which
- SPP</li></ol>
+ <li class="itemize">the Mapping model (*.etmap) &#8211; defines a mapping from logical elements to physical elements</li></ul>
+<!--l. 12--><p class="noindent" >In the following diagram the models and their relations are depicted. The meaning of the arrows is: uses/references.
+</p><!--l. 15--><p class="noindent" ><img
+src="images/080-models.jpg" alt="PIC"
+ />
+</p><!--l. 17--><p class="noindent" >In the following sections we will describe those models with emphasis of their cross relations.
<a
- id="x30-128007r173"></a>
-<h4 class="subsectionHead"><span class="titlemark">5.5.2 </span> <a
- id="x30-1290002"></a>Notation</h4>
-<!--l. 521--><p class="noindent" >For the graphical and textual notation refer to table <a
-href="#x30-129001r5">5.5<!--tex4ht:ref: tab:layering_notation --></a>
+ id="x31-182001r245"></a>
</p>
-<div class="table">
-
-
-<!--l. 524--><p class="noindent" ><a
- id="x30-129001r5"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;5.5: </span><span
-class="content">Layering Notation</span></div><!--tex4ht:label?: x30-129001r5 -->
-<div class="tabular"> <table id="TBL-11" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-11-1g"><col
-id="TBL-11-1" /></colgroup><colgroup id="TBL-11-2g"><col
-id="TBL-11-2" /></colgroup><colgroup id="TBL-11-3g"><col
-id="TBL-11-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-1-1"
-class="td11"> <!--l. 528--><p class="noindent" ><span
-class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-2"
-class="td11"> <span
-class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-1-3"
-class="td11"> <!--l. 528--><p class="noindent" ><span
-class="ec-lmssbx-10">Textual Notation</span> </p></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-2-1"
-class="td11">
- <div class="flushleft"
->
- <!--l. 530--><p class="noindent" >
- The layer
- connections in this
- model define which
- services are provided
- by the <span
-class="ec-lmsso-10">ServiceLayer</span>
- (<span
-class="ec-lmsso-10">digitalIO </span>and
- <span
-class="ec-lmsso-10">timer</span>)</p></div>
- <!--l. 533--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-2-2"
-class="td11"> <img
-src="images/040-LayeringModel.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-2-3"
-class="td11"> <!--l. 537-->
- <div class="lstlisting" id="listing-50"><span class="label"><a
- id="x30-129002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
+<h4 class="subsectionHead"><span class="titlemark">6.6.1 </span> <a
+ id="x31-1830001"></a>The ROOM Model</h4>
+<!--l. 21--><p class="noindent" >The ROOM model defines <span id="textcolor52"><span
+class="ec-lmssbx-10">DataClass</span></span>es, <span id="textcolor53"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>es, <span id="textcolor54"><span
+class="ec-lmssbx-10">ActorClass</span></span>es, <span id="textcolor55"><span
+class="ec-lmssbx-10">SubSystemClass</span></span>es and <span id="textcolor56"><span
+class="ec-lmssbx-10">LogicalSystem</span></span>s. Thereby
+the three latter form a hierarchy. The <span id="textcolor57"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is the top level element of the structure. It contains references to
+<span id="textcolor58"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> elements. The <span id="textcolor59"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> in turn contains references to <span id="textcolor60"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements which again
+contain (recursively) references to <span id="textcolor61"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements. The complete structural hierarchy implies a tree
+which has the <span id="textcolor62"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> as root and where each reference stands for a new node with possibly further
+branches.
+</p><!--l. 29--><p class="noindent" >Let&#8217;s consider a simple example. It doesn&#8217;t implement anything meaningful and completely omits behavioral and other
+aspects.
+</p>
+<!--l. 32--><div class="lstinputlisting">
+<a
+ id="x31-183001r3"></a>
+<a
+ id="x31-183002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Mode1</span><span
+class="ec-lmtt-9">test</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129003r2"></a></span><span
+ id="x31-183004r2"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmssbx-10x-x-90">LogicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183005r3"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183006r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183007r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183009r7"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129004r3"></a></span><span
+ id="x31-183010r8"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">ActorRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Services</span><span
+class="ec-lmtt-9">actA</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ServiceLayer</span><span
+class="ec-lmtt-9">ActA</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129005r4"></a></span><span
+ id="x31-183011r9"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">ActorRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Application</span><span
+class="ec-lmtt-9">actB</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ApplicationLayer</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183012r10"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129006r5"></a></span><span
+ id="x31-183013r11"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">LayerConnection</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183014r12"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Application</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">satisfied_by</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Services</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">timer</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129007r6"></a></span><span
+ id="x31-183015r13"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">LayerConnection</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB1</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Application</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">satisfied_by</span><span
+class="ec-lmtt-9">extra</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Services</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129008r7"></a></span><span
+ id="x31-183016r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183017r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129009r8"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 548--><p class="noindent" > </p></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-3-1"
-class="td11">
- <div class="flushleft"
->
- <!--l. 549--><p class="noindent" >
- The
- implementation of
- the services (SPPs)
- can be delegated to
- sub actors. In this
- case the actor
- <span
-class="ec-lmsso-10">ServiceLayer </span>relays
- (delegates) the
- implementation
- services <span
-class="ec-lmsso-10">digitalIO</span>
- and <span
-class="ec-lmsso-10">timer </span>to sub
- actors</p></div>
- <!--l. 553--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-3-2"
-class="td11"> <img
-src="images/040-LayeringServiceLayer.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-3-3"
-class="td11"> <!--l. 556-->
- <div class="lstlisting" id="listing-51"><span class="label"><a
- id="x30-129010r1"></a></span><span
+ id="x31-183018r16"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183019r17"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183020r18"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183021r19"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183022r20"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183023r21"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183024r22"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183025r23"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183026r24"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183027r25"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183028r26"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183029r27"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183030r28"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">ActorClass</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ServiceLayer</span><span
+class="ec-lmtt-9">ActA</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129011r2"></a></span><span
+ id="x31-183031r29"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Interface</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Structure</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129012r3"></a></span><span
+ id="x31-183032r30"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">SPP</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">timer</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">int</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129013r4"></a></span><span
+ id="x31-183033r31"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">SPP</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">actB1</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DigitalIOProtocol</span><span
+class="ec-lmtt-9">ActB</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129014r5"></a></span><span
+ id="x31-183034r32"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183035r33"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129015r6"></a></span><span
+ id="x31-183036r34"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183037r35"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183038r36"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183039r37"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">Structure</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129016r7"></a></span><span
+ id="x31-183040r38"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183041r39"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">ActorRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Timer</span><span
+class="ec-lmtt-9">actC1</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerService</span><span
+class="ec-lmtt-9">ActC</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129017r8"></a></span><span
+ id="x31-183042r40"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmssbx-10x-x-90">ActorRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DigIO</span><span
+class="ec-lmtt-9">actC2</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DifitalIOService</span><span
+class="ec-lmtt-9">ActC</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129018r9"></a></span><span
+ id="x31-183043r41"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">LayerConnection</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183044r42"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183045r43"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183046r44"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">timer</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">satisfied_by</span><span
+class="ec-lmtt-9">ActC</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Timer</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">timer</span><span
+class="ec-lmtt-9">{}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183047r45"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129019r10"></a></span><span
+ id="x31-183048r46"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PrimitiveType</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ptInteger</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Integer</span><span
+class="ec-lmtt-9">)</span><span
class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">default</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">0</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-183049r47"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;6.3:
+ </span><span
+class="content">ROOM
+ example
+ code</span></div><!--tex4ht:label?: x31-1830006 -->
+</div>
+<!--l. 34--><p class="noindent" >When a <span id="textcolor63"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is instantiated then recursively all of the contained referenced elements are instantiated as instances
+of the corresponding class. Thus the instance tree of the above example looks like in figure <a
+href="#x31-183050r5">6.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white
+boxes shows some mapping information, see section <a
+href="#x31-1860004">6.6.4<!--tex4ht:ref: sec:mapping_model --></a> <a
+href="#x31-1860004">The Mapping Model<!--tex4ht:ref: sec:mapping_model --></a>):
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x31-183050r5"></a><a
+ id="x31-18400025"></a><a
+ id="x31-18500011"></a><a
+ id="x31-18500046"></a><a
+ id="x31-18600017"></a>
+
+
+<!--l. 40--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;6.5: </span><span
+class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x31-183050r5 -->
+
+
+</div><hr class="endfigure" />
+<a
+ id="x31-183051r253"></a>
+<h4 class="subsectionHead"><span class="titlemark">6.6.2 </span> <a
+ id="x31-1840002"></a>The Config Model</h4>
+<!--l. 47--><p class="noindent" >Once we have the ROOM class model we can configure values using the Config model. This can be done on the class level
+and/or on the instance level. Values defined for class attributes are used for all instances unless there is an instance value
+configured for the same attribute.
+</p>
+<!--l. 51--><div class="lstinputlisting">
+<a
+ id="x31-184001r4"></a>
+<a
+ id="x31-184002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ConfigModel</span><span
class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">LayerConnection</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184005r3"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">satisfied_by</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DigIO</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184006r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184007r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184009r7"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184010r8"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184011r9"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184012r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184013r11"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184014r12"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184015r13"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184016r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">12</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184017r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184018r16"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184019r17"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184020r18"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">13</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184021r19"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184022r20"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184023r21"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-184024r22"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">14</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129020r11"></a></span><span
+ id="x31-184025r23"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129021r12"></a></span><span
+ id="x31-184026r24"></a></span><span
class="ec-lmtt-9">}</span>
-
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;6.4:
+ </span><span
+class="content">Config
+ example
+ code</span></div><!--tex4ht:label?: x31-1840006 -->
</div>
-<!--l. 571--><p class="noindent" > </p></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-4-1"
-class="td11">
- <div class="flushleft"
->
- <!--l. 572--><p class="noindent" >
- Every Actor inside
- the
- <span
-class="ec-lmsso-10">ApplicationLayer</span>
- that contains an
- SAP with the same
- protocol as <span
-class="ec-lmsso-10">timer </span>or
- <span
-class="ec-lmsso-10">digitalIO </span>will be
- connected to the
- specified SPP</p></div>
- <!--l. 575--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-4-2"
-class="td11"> <img
-src="images/040-LayeringApplicationLayer.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-4-3"
-class="td11"> <!--l. 578-->
- <div class="lstlisting" id="listing-52"><span class="label"><a
- id="x30-129022r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
+<a
+ id="x31-184027r256"></a>
+<h4 class="subsectionHead"><span class="titlemark">6.6.3 </span> <a
+ id="x31-1850003"></a>The Physical Model</h4>
+<!--l. 55--><p class="noindent" >The physical model defines the physical resources onto which the logical system will be deployed. It is possible to define
+runtime classes which (currently) only define the overall execution model of the platform.
+</p>
+<!--l. 59--><div class="lstinputlisting">
+<a
+ id="x31-185001r5"></a>
+<a
+ id="x31-185002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ApplicationLayer</span><span
+class="ec-lmtt-9">runtimes</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129023r2"></a></span><span
+ id="x31-185004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185005r3"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PCRuntime</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129024r3"></a></span><span
+ id="x31-185006r4"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">function1</span><span
-class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">=</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">A</span><span
+class="ec-lmssbx-10x-x-90">multiThreaded</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129025r4"></a></span><span
+ id="x31-185007r5"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185009r7"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185010r8"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">singleThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185011r9"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185012r10"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;6.5:
+ </span><span
+class="content">etPhys
+ runtime
+ definition</span></div><!--tex4ht:label?: x31-1850006 -->
+</div>
+<!--l. 61--><p class="noindent" >The <span id="textcolor64"><span
+class="ec-lmssbx-10">PhysicalSystem</span></span> is composed of <span id="textcolor65"><span
+class="ec-lmssbx-10">NodeRef</span></span>erences which are instances of <span id="textcolor66"><span
+class="ec-lmssbx-10">NodeClass</span></span>es. Each <span id="textcolor67"><span
+class="ec-lmssbx-10">NodeClass</span></span> is referencing
+a <span id="textcolor68"><span
+class="ec-lmssbx-10">RuntimeClass</span></span> and is defining <span id="textcolor69"><span
+class="ec-lmssbx-10">Threads</span></span>.
+</p>
+<!--l. 65--><div class="lstinputlisting">
+<a
+ id="x31-185013r6"></a>
+<a
+ id="x31-185014"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185015r1"></a></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185016r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185017r3"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">function2</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185018r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185019r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PhysicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185020r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">B</span><span
+class="ec-lmtt-9">PC_Node</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129026r5"></a></span><span
+ id="x31-185021r7"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">function3</span><span
+class="ec-lmtt-9">pc2</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">C</span><span
+class="ec-lmtt-9">PC_Node</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129027r6"></a></span><span
+ id="x31-185022r8"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">function4</span><span
+class="ec-lmtt-9">mc</span><span
class="ec-lmtt-9">:</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">D</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129028r7"></a></span><span
+ id="x31-185023r9"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129029r8"></a></span><span
-class="ec-lmtt-9">}</span><span
+ id="x31-185024r10"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129030r9"></a></span><span
+ id="x31-185025r11"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129031r10"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
+ id="x31-185026r12"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">PCRuntime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185027r13"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185028r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">A</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185029r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129032r11"></a></span><span
+ id="x31-185030r16"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">blocked</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185031r17"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185032r18"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185033r19"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185034r20"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185035r21"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185036r22"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Thread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129033r12"></a></span><span
+ id="x31-185037r23"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">SAP</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">timerSAP</span><span
-class="ec-lmtt-9">:</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185038r24"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ms</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185039r25"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185040r26"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129034r13"></a></span><span
+ id="x31-185041r27"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185042r28"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185043r29"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129035r14"></a></span><span
+ id="x31-185044r30"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129036r15"></a></span><span
+ id="x31-185045r31"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129037r16"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
+ id="x31-185046r32"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">B</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129038r17"></a></span><span
+ id="x31-185047r33"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185048r34"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185049r35"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185050r36"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">{</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129039r18"></a></span><span
+ id="x31-185051r37"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">SAP</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">timerSAP</span><span
-class="ec-lmtt-9">:</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129040r19"></a></span><span
+ id="x31-185052r38"></a></span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">SAP</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">digitalSAP</span><span
-class="ec-lmtt-9">:</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">us</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185053r39"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185054r40"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">256</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185055r41"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DigitalIOProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129041r20"></a></span><span
+ id="x31-185056r42"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185057r43"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">&#x00A0;</span><span
class="ec-lmtt-9">}</span><span
class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x30-129042r21"></a></span><span
+ id="x31-185058r44"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-185059r45"></a></span><span
class="ec-lmtt-9">}</span>
-
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;6.6:
+ </span><span
+class="content">etPhys
+ example
+ code</span></div><!--tex4ht:label?: x31-1850006 -->
</div>
-<!--l. 602--><p class="noindent" > </p></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-5-1"
-class="td11"> </td></tr></table></div>
+<a
+ id="x31-185060r258"></a>
-</div><hr class="endfloat" />
+<h4 class="subsectionHead"><span class="titlemark">6.6.4 </span> <a
+ id="x31-1860004"></a>The Mapping Model</h4>
+<!--l. 70--><p class="noindent" >The last model finally combines all this information by mapping logical to physical entities.
+</p>
+<!--l. 72--><div class="lstinputlisting">
+<a
+ id="x31-186001r7"></a>
+<a
+ id="x31-186002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">MappingModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186005r3"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186006r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186007r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Mapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186009r7"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186010r8"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186011r9"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186012r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186013r11"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">mc</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186014r12"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186015r13"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186016r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186017r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x31-186018r16"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;6.7:
+ </span><span
+class="content">etMap
+ example
+ code</span></div><!--tex4ht:label?: x31-1860006 -->
</div>
+<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
+href="#x31-183050r5">6.5<!--tex4ht:ref: fig:instance_tree --></a>) of the instances. All actor instances (the white
+boxes) are mapped to a node and a thread running on this node (shown as @<span
+class="ec-lmsso-10">node </span>: <span
+class="ec-lmsso-10">thread</span>).
-<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse24.html" >next</a>] [<a
+</p>
+<!--l. 121--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
href="etrice-docse22.html" >prev</a>] [<a
href="etrice-docse22.html#tailetrice-docse22.html" >prev-tail</a>] [<a
href="etrice-docse23.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse23.html" >up</a>] </p></div>
-<!--l. 606--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<!--l. 121--><p class="noindent" ><a
id="tailetrice-docse23.html"></a></p>
</body></html>

Back to the top