diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html/etrice-docse23.html')
-rw-r--r-- | plugins/org.eclipse.etrice.doc/html/etrice-docse23.html | 1425 |
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) – defines model classes and the logical structure of the model + </li> + <li class="itemize">the Config model (*.config) – 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) – 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) – 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 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’s consider a simple example. It doesn’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"> </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"> </span><span -class="ec-lmtt-9">Mode1</span><span +class="ec-lmtt-9">test</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="x30-129003r2"></a></span><span + id="x31-183004r2"></a></span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">Structure</span><span +class="ec-lmssbx-10x-x-90">LogicalSystem</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Main</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-183005r3"></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">SubSystemRef</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"> </span><span +class="ec-lmtt-9">SubA</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183006r4"></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">SubSystemRef</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">subB</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">SubB</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183007r5"></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-183008r6"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183009r7"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">SubSystemClass</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">{</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129004r3"></a></span><span + id="x31-183010r8"></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">ActorRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">ServiceLayer</span><span +class="ec-lmtt-9">ActA</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129005r4"></a></span><span + id="x31-183011r9"></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">ActorRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">ApplicationLayer</span><span +class="ec-lmtt-9">ActB</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183012r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129006r5"></a></span><span + id="x31-183013r11"></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">LayerConnection</span><span +class="ec-lmssbx-10x-x-90">LogicalThread</span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">ref</span><span +class="ec-lmtt-9">dflt</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183014r12"></a></span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">Application</span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">satisfied_by</span><span class="ec-lmtt-9"> </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"> </span><span +class="ec-lmtt-9">extra</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129007r6"></a></span><span + id="x31-183015r13"></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">LayerConnection</span><span +class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">Application</span><span +class="ec-lmtt-9">-></span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">satisfied_by</span><span +class="ec-lmtt-9">extra</span><span class="ec-lmtt-9"> </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"> </span><br /><span class="label"><a - id="x30-129008r7"></a></span><span + id="x31-183016r14"></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-lmssbx-10x-x-90">ActorInstanceMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">actC1</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">dflt</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183017r15"></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="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"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorInstanceMapping</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"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">extra</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183019r17"></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-183020r18"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183021r19"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">SubSystemClass</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">SubB</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-183022r20"></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">ActorRef</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"> </span><span +class="ec-lmtt-9">ActA</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183023r21"></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">ActorRef</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">actB</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">ActB</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183024r22"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183025r23"></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">LogicalThread</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">dflt</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183026r24"></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">LogicalThread</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">extra</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183027r25"></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">ActorInstanceMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">actB</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">extra</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183028r26"></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-183029r27"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183030r28"></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">ServiceLayer</span><span +class="ec-lmtt-9">ActA</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="x30-129011r2"></a></span><span + id="x31-183031r29"></a></span><span +class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">Interface</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><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129012r3"></a></span><span + id="x31-183032r30"></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">SPP</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">timer</span><span +class="ec-lmssbx-10x-x-90">Attribute</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">TimerProtocol</span><span +class="ec-lmtt-9">int</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129013r4"></a></span><span + id="x31-183033r31"></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-lmssbx-10x-x-90">SPP</span><span +class="ec-lmssbx-10x-x-90">ActorRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">DigitalIOProtocol</span><span +class="ec-lmtt-9">ActB</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129014r5"></a></span><span + id="x31-183034r32"></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-lmssbx-10x-x-90">ActorRef</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">actB2</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">ActB</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183035r33"></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="x30-129015r6"></a></span><span + id="x31-183036r34"></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-183037r35"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183038r36"></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">ActB</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-183039r37"></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><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129016r7"></a></span><span + id="x31-183040r38"></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-lmssbx-10x-x-90">Attribute</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">int</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183041r39"></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-lmssbx-10x-x-90">ActorRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">TimerService</span><span +class="ec-lmtt-9">ActC</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129017r8"></a></span><span + id="x31-183042r40"></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-lmssbx-10x-x-90">ActorRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">DifitalIOService</span><span +class="ec-lmtt-9">ActC</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129018r9"></a></span><span + id="x31-183043r41"></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">LayerConnection</span><span +class="ec-lmtt-9">}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183044r42"></a></span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">relay_sap</span><span +class="ec-lmtt-9">}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183045r43"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183046r44"></a></span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">timer</span><span +class="ec-lmssbx-10x-x-90">ActorClass</span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">satisfied_by</span><span +class="ec-lmtt-9">ActC</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">timer</span><span +class="ec-lmtt-9">{}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-183047r45"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129019r10"></a></span><span + id="x31-183048r46"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">PrimitiveType</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">int</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ptInteger</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">int</span><span +class="ec-lmtt-9"> </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"> </span><span +class="ec-lmssbx-10x-x-90">default</span><span +class="ec-lmtt-9"> </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"> </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 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 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"> </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"> </span><span +class="ec-lmtt-9">test</span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">LayerConnection</span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184004r2"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184005r3"></a></span><span class="ec-lmtt-9"> </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"> </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"> </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"> </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"> </span><br /><span class="label"><a + id="x31-184006r4"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184007r5"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorClassConfig</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">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184008r6"></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">Attr</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">1</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184009r7"></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-184010r8"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184011r9"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">ActB</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-184012r10"></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">Attr</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">2</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184013r11"></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-184014r12"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184015r13"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span +class="ec-lmtt-9"> </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">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184016r14"></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">Attr</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">12</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184017r15"></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-184018r16"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184019r17"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span +class="ec-lmtt-9"> </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"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184020r18"></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">Attr</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">13</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184021r19"></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-184022r20"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184023r21"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span +class="ec-lmtt-9"> </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"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-184024r22"></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">Attr</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">val</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">14</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129020r11"></a></span><span + id="x31-184025r23"></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="x30-129021r12"></a></span><span + id="x31-184026r24"></a></span><span class="ec-lmtt-9">}</span> - +<br /> + <div class="caption" +><span class="id">Listing 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"> </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"> </span><span -class="ec-lmtt-9">ApplicationLayer</span><span +class="ec-lmtt-9">runtimes</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="x30-129023r2"></a></span><span + id="x31-185004r2"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185005r3"></a></span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">Structure</span><span +class="ec-lmssbx-10x-x-90">RuntimeClass</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">PCRuntime</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="x30-129024r3"></a></span><span + id="x31-185006r4"></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">ActorRef</span><span +class="ec-lmssbx-10x-x-90">model</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">A</span><span +class="ec-lmssbx-10x-x-90">multiThreaded</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129025r4"></a></span><span + id="x31-185007r5"></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-185008r6"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185009r7"></a></span><span class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">RuntimeClass</span><span class="ec-lmtt-9"> </span><span -class="ec-lmssbx-10x-x-90">ActorRef</span><span +class="ec-lmtt-9">MSP430Runtime</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-185010r8"></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">model</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">singleThreaded</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185011r9"></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-185012r10"></a></span><span +class="ec-lmtt-9">}</span> +<br /> + <div class="caption" +><span class="id">Listing 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"> </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"> </span><span +class="ec-lmtt-9">test</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-185016r2"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185017r3"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">import</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">test</span><span +class="ec-lmtt-9">.*</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">function2</span><span +class="ec-lmssbx-10x-x-90">from</span><span +class="ec-lmtt-9"> </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"> </span><br /><span class="label"><a + id="x31-185018r4"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185019r5"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">PhysicalSystem</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">MainPhys</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-185020r6"></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">NodeRef</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">pc1</span><span class="ec-lmtt-9">:</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">B</span><span +class="ec-lmtt-9">PC_Node</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129026r5"></a></span><span + id="x31-185021r7"></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">ActorRef</span><span +class="ec-lmssbx-10x-x-90">NodeRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">C</span><span +class="ec-lmtt-9">PC_Node</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129027r6"></a></span><span + id="x31-185022r8"></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">ActorRef</span><span +class="ec-lmssbx-10x-x-90">NodeRef</span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">D</span><span +class="ec-lmtt-9">MSP430_Node</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129028r7"></a></span><span + id="x31-185023r9"></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="x30-129029r8"></a></span><span -class="ec-lmtt-9">}</span><span + id="x31-185024r10"></a></span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129030r9"></a></span><span + id="x31-185025r11"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">NodeClass</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">PC_Node</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="x30-129031r10"></a></span><span -class="ec-lmssbx-10x-x-90">ActorClass</span><span + id="x31-185026r12"></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">runtime</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</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">PCRuntime</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185027r13"></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">priomin</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">1</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185028r14"></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">priomax</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">A</span><span +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-185029r15"></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">DefaultThread</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">thread1</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="x30-129032r11"></a></span><span + id="x31-185030r16"></a></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><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">execmode</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">blocked</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185031r17"></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-lmssbx-10x-x-90">prio</span><span +class="ec-lmtt-9"> </span><span +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-185032r18"></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-lmssbx-10x-x-90">stacksize</span><span +class="ec-lmtt-9"> </span><span +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-185033r19"></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-lmssbx-10x-x-90">msgblocksize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">64</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185034r20"></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-lmssbx-10x-x-90">msgpoolsize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">50</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185035r21"></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-185036r22"></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">Thread</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">thread2</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="x30-129033r12"></a></span><span + id="x31-185037r23"></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">SAP</span><span class="ec-lmtt-9"> </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"> </span><span +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-185038r24"></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-lmssbx-10x-x-90">interval</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">1</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">ms</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185039r25"></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">TimerProtocol</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">prio</span><span +class="ec-lmtt-9"> </span><span +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-185040r26"></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-lmssbx-10x-x-90">stacksize</span><span +class="ec-lmtt-9"> </span><span +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="x30-129034r13"></a></span><span + id="x31-185041r27"></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-lmssbx-10x-x-90">msgblocksize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">64</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185042r28"></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-lmssbx-10x-x-90">msgpoolsize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">50</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185043r29"></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="x30-129035r14"></a></span><span + id="x31-185044r30"></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="x30-129036r15"></a></span><span + id="x31-185045r31"></a></span><span class="ec-lmtt-9"> </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"> </span><span -class="ec-lmtt-9">B</span><span +class="ec-lmssbx-10x-x-90">NodeClass</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">MSP430_Node</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="x30-129038r17"></a></span><span + id="x31-185047r33"></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">runtime</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</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">MSP430Runtime</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185048r34"></a></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><span +class="ec-lmssbx-10x-x-90">priomin</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">1</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185049r35"></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">priomax</span><span +class="ec-lmtt-9"> </span><span +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-185050r36"></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">DefaultThread</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">main</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="x30-129039r18"></a></span><span + id="x31-185051r37"></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">SAP</span><span class="ec-lmtt-9"> </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"> </span><span +class="ec-lmtt-9">=</span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">TimerProtocol</span><span +class="ec-lmssbx-10x-x-90">polled</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129040r19"></a></span><span + id="x31-185052r38"></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">SAP</span><span class="ec-lmtt-9"> </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"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">10</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">us</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185053r39"></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-lmssbx-10x-x-90">prio</span><span +class="ec-lmtt-9"> </span><span +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-185054r40"></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-lmssbx-10x-x-90">stacksize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">256</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185055r41"></a></span><span +class="ec-lmtt-9"> </span><span class="ec-lmtt-9"> </span><span -class="ec-lmtt-9">DigitalIOProtocol</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">msgblocksize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">64</span><span class="ec-lmtt-9"> </span><br /><span class="label"><a - id="x30-129041r20"></a></span><span + id="x31-185056r42"></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-lmssbx-10x-x-90">msgpoolsize</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">=</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">50</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-185057r43"></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="x30-129042r21"></a></span><span + id="x31-185058r44"></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-185059r45"></a></span><span class="ec-lmtt-9">}</span> - +<br /> + <div class="caption" +><span class="id">Listing 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"> </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"> </span><span +class="ec-lmtt-9">test</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-186004r2"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-186005r3"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">import</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">test</span><span +class="ec-lmtt-9">.*</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">from</span><span +class="ec-lmtt-9"> </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"> </span><br /><span class="label"><a + id="x31-186006r4"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">import</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">test</span><span +class="ec-lmtt-9">.*</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">from</span><span +class="ec-lmtt-9"> </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"> </span><br /><span class="label"><a + id="x31-186007r5"></a></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-186008r6"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">Mapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Main</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">MainPhys</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-186009r7"></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">SubSystemMapping</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">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">pc1</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-186010r8"></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-lmssbx-10x-x-90">ThreadMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">dflt</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">thread1</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + 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-lmssbx-10x-x-90">ThreadMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">extra</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">thread2</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-186012r10"></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-186013r11"></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">SubSystemMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">subB</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">mc</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-186014r12"></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-lmssbx-10x-x-90">ThreadMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">dflt</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">main</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-186015r13"></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-lmssbx-10x-x-90">ThreadMapping</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">extra</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">main</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x31-186016r14"></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-186017r15"></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-186018r16"></a></span><span +class="ec-lmtt-9">}</span> +<br /> + <div class="caption" +><span class="id">Listing 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> |