Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2013-07-04 15:19:35 +0000
committerThomas Schuetz2013-07-04 15:19:35 +0000
commit66522cebc52744803349b6683f3dbc3922ebd241 (patch)
tree1e8fec90cc055cf71517cc5db9cd8b74a57e71d8 /plugins/org.eclipse.etrice.doc/html
parenta23ef5cd1846a6151e203dd735adf9fea09cf853 (diff)
downloadorg.eclipse.etrice-66522cebc52744803349b6683f3dbc3922ebd241.tar.gz
org.eclipse.etrice-66522cebc52744803349b6683f3dbc3922ebd241.tar.xz
org.eclipse.etrice-66522cebc52744803349b6683f3dbc3922ebd241.zip
[doc] restructured tutorials
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html')
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc.html285
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch1.html104
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch10.html100
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch2.html230
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch3.html90
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch4.html161
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch5.html122
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch6.html110
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch7.html192
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch8.html124
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch9.html112
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docli1.html512
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse1.html172
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse10.html132
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse11.html195
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse12.html143
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse13.html843
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse14.html220
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse15.html1085
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse16.html489
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse17.html547
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse18.html514
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse19.html409
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse2.html868
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse20.html1425
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse21.html221
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse22.html477
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse23.html146
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse24.html170
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse25.html94
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse26.html80
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse27.html1562
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse28.html274
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse29.html2026
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse3.html128
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse30.html824
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse31.html1002
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse32.html926
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse33.html734
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse34.html2770
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse35.html320
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse36.html810
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse4.html208
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse5.html460
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse6.html782
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse7.html664
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse8.html542
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse9.html531
-rw-r--r--plugins/org.eclipse.etrice.doc/html/image-src/012-tutorial-structure.pngbin0 -> 27002 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/012-tutorial-structure.pngbin0 -> 27002 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC01.pngbin0 -> 73767 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC02.pngbin0 -> 114521 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC03.pngbin0 -> 13950 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC04.pngbin0 -> 114050 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC05.pngbin0 -> 37022 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC06.pngbin0 -> 177668 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC07.pngbin0 -> 7246 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC08.pngbin0 -> 94115 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC09.pngbin0 -> 63816 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC10.pngbin0 -> 36926 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC11.pngbin0 -> 9619 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC01.pngbin0 -> 36191 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC02.pngbin0 -> 138276 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC03.pngbin0 -> 94802 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC04.pngbin0 -> 39780 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC05.pngbin0 -> 7073 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC06.pngbin0 -> 29058 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC07.pngbin0 -> 93328 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC08.pngbin0 -> 93240 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC09.pngbin0 -> 104815 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC10.pngbin0 -> 101554 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC11.pngbin0 -> 5669 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC12.pngbin0 -> 128401 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC13.pngbin0 -> 12663 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC14.pngbin0 -> 101442 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC15.pngbin0 -> 94359 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC16.pngbin0 -> 11914 bytes
77 files changed, 15056 insertions, 9879 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html b/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
index d7e41c9d5..170a2ebfc 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
@@ -1,165 +1,120 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>eTrice</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<div class="maketitle">
-
-
-
-
-
-<h2 class="titleHead">eTrice</h2>
- <div class="author" ><span
-class="ec-lmss-12">e</span><span
-class="ec-lmss-12">Trice</span> <span
-class="ec-lmss-12">committers and contributors</span></div>
-<br />
-<div class="date" ><span
-class="ec-lmss-12">June 21, 2013</span></div>
-
-
-</div>
-
-
-<div class="tableofcontents">
-<span class="likechapterToc" ><a
-href="etrice-docli1.html#x2-1000" id="QQ2-2-1">Contents</a></span>
-<br /><span class="chapterToc" >1 <a
-href="etrice-docch1.html#x3-20001" id="QQ2-3-2">Introduction</a></span>
-<br />&#x00A0;<span class="sectionToc" >1.1 <a
-href="etrice-docse1.html#x4-30001.1" id="QQ2-4-3">eTrice Overview</a></span>
-<br />&#x00A0;<span class="sectionToc" >1.2 <a
-href="etrice-docse2.html#x5-60001.2" id="QQ2-5-6">Introduction to the ROOM Language</a></span>
-<br /><span class="chapterToc" >2 <a
-href="etrice-docch2.html#x6-250002" id="QQ2-6-26">Tutorials</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.1 <a
-href="etrice-docse3.html#x7-260002.1" id="QQ2-7-27">Working with the tutorials</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.2 <a
-href="etrice-docse4.html#x8-270002.2" id="QQ2-8-28">Setting up the Workspace for Java Projects</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.3 <a
-href="etrice-docse5.html#x9-280002.3" id="QQ2-9-29">Tutorial HelloWorld for Java</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.4 <a
-href="etrice-docse6.html#x10-350002.4" id="QQ2-10-36">Tutorial Blinky (Java)</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.5 <a
-href="etrice-docse7.html#x11-440002.5" id="QQ2-11-45">Tutorial Sending Data (Java)</a></span>
-<br /><span class="chapterToc" >3 <a
-href="etrice-docch3.html#x12-560003" id="QQ2-12-57">Tutorial Pedestrian Lights (Java)</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.1 <a
-href="etrice-docse8.html#x13-570003.1" id="QQ2-13-58">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.2 <a
-href="etrice-docse9.html#x14-580003.2" id="QQ2-14-59">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.3 <a
-href="etrice-docse10.html#x15-590003.3" id="QQ2-15-60">Why does it work and why is it safe?</a></span>
-<br /><span class="chapterToc" >4 <a
-href="etrice-docch4.html#x16-600004" id="QQ2-16-61">Setting up the Workspace for C Projects</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.1 <a
-href="etrice-docse11.html#x17-610004.1" id="QQ2-17-62">Testing the environment</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.2 <a
-href="etrice-docse12.html#x18-620004.2" id="QQ2-18-63">Building the C runtime system</a></span>
-<br /><span class="chapterToc" >5 <a
-href="etrice-docch5.html#x19-630005" id="QQ2-19-64">Tutorial HelloWorld for C</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse13.html#x20-640005.1" id="QQ2-20-65">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse14.html#x21-650005.2" id="QQ2-21-66">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse15.html#x22-660005.3" id="QQ2-22-67">Create the HelloWorld model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse16.html#x23-670005.4" id="QQ2-23-68">Create a launch configuration to start the C code generator</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse17.html#x24-680005.5" id="QQ2-24-69">Generate the code</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse18.html#x25-690005.6" id="QQ2-25-70">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.7 <a
-href="etrice-docse19.html#x26-700005.7" id="QQ2-26-71">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.8 <a
-href="etrice-docse20.html#x27-710005.8" id="QQ2-27-72">Summary</a></span>
-<br /><span class="chapterToc" >6 <a
-href="etrice-docch6.html#x28-720006" id="QQ2-28-73">Tutorial Remove C-Comment ( C )</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse21.html#x29-730006.1" id="QQ2-29-74">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse22.html#x30-740006.2" id="QQ2-30-75">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse23.html#x31-750006.3" id="QQ2-31-76">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse24.html#x32-760006.4" id="QQ2-32-77">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse25.html#x33-770006.5" id="QQ2-33-78">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse26.html#x34-780006.6" id="QQ2-34-79">Summary</a></span>
-<br /><span class="chapterToc" >7 <a
-href="etrice-docch7.html#x35-790007" id="QQ2-35-80">ROOM Concepts</a></span>
-
-
-<br />&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse27.html#x36-800007.1" id="QQ2-36-81">Actors</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse28.html#x37-880007.2" id="QQ2-37-91">Protocols</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse29.html#x38-920007.3" id="QQ2-38-95">Ports</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse30.html#x39-980007.4" id="QQ2-39-115">DataClass</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse31.html#x40-1010007.5" id="QQ2-40-118">Layering</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse32.html#x41-1040007.6" id="QQ2-41-122">Finite State Machines</a></span>
-<br /><span class="chapterToc" >8 <a
-href="etrice-docch8.html#x42-1110008" id="QQ2-42-135">eTrice Features</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse33.html#x43-1120008.1" id="QQ2-43-136">Automatic Diagram Layout with KIELER</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse34.html#x44-1250008.2" id="QQ2-44-153">eTrice Models and Their Relations</a></span>
-<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x45-1300009" id="QQ2-45-164">eTrice Tool Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse35.html#x46-1310009.1" id="QQ2-46-165">Architecture</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse36.html#x47-1350009.2" id="QQ2-47-169">Component Overview</a></span>
-</div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<!--l. 82--><p class="noindent" ><span class="next">[<a
-href="etrice-docli1.html" id="tailetrice-doc" >next</a>]</span></p>
-</body></html>
-
-
-
-
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>eTrice</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<div class="maketitle">
+
+
+
+
+
+<h2 class="titleHead">eTrice</h2>
+ <div class="author" ><span
+class="ec-lmss-12">e</span><span
+class="ec-lmss-12">Trice</span> <span
+class="ec-lmss-12">committers and contributors</span></div>
+<br />
+<div class="date" ><span
+class="ec-lmss-12">July 4, 2013</span></div>
+
+
+</div>
+
+
+<div class="tableofcontents">
+<span class="likechapterToc" ><a
+href="etrice-docli1.html#x2-1000" id="QQ2-2-1">Contents</a></span>
+<br /><span class="chapterToc" >1 <a
+href="etrice-docch1.html#x3-20001" id="QQ2-3-2">Introduction</a></span>
+<br />&#x00A0;<span class="sectionToc" >1.1 <a
+href="etrice-docse1.html#x4-30001.1" id="QQ2-4-3">eTrice Overview</a></span>
+<br />&#x00A0;<span class="sectionToc" >1.2 <a
+href="etrice-docse2.html#x5-60001.2" id="QQ2-5-6">Introduction to the ROOM Language</a></span>
+<br /><span class="chapterToc" >2 <a
+href="etrice-docch2.html#x6-250002" id="QQ2-6-26">Tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1" id="QQ2-7-27">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2" id="QQ2-8-28">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3" id="QQ2-9-29">Setting up the Workspace for C Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-310002.4" id="QQ2-10-32">HelloWorld for Java</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-380002.5" id="QQ2-11-39">HelloWorld for C</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.6 <a
+href="etrice-docse8.html#x12-470002.6" id="QQ2-12-48">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.7 <a
+href="etrice-docse9.html#x13-560002.7" id="QQ2-13-57">Tutorial Sending Data (Java)</a></span>
+<br /><span class="chapterToc" >3 <a
+href="etrice-docch3.html#x14-680003" id="QQ2-14-69">Tutorial Pedestrian Lights (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse10.html#x15-690003.1" id="QQ2-15-70">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse11.html#x16-700003.2" id="QQ2-16-71">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse12.html#x17-710003.3" id="QQ2-17-72">Why does it work and why is it safe?</a></span>
+<br /><span class="chapterToc" >4 <a
+href="etrice-docch4.html#x18-720004" id="QQ2-18-73">ROOM Concepts</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse13.html#x19-730004.1" id="QQ2-19-74">Actors</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse14.html#x20-810004.2" id="QQ2-20-84">Protocols</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.3 <a
+href="etrice-docse15.html#x21-850004.3" id="QQ2-21-88">Ports</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.4 <a
+href="etrice-docse16.html#x22-910004.4" id="QQ2-22-108">DataClass</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.5 <a
+href="etrice-docse17.html#x23-940004.5" id="QQ2-23-111">Layering</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.6 <a
+href="etrice-docse18.html#x24-970004.6" id="QQ2-24-115">Finite State Machines</a></span>
+<br /><span class="chapterToc" >5 <a
+href="etrice-docch5.html#x25-1040005" id="QQ2-25-128">eTrice Features</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.1 <a
+href="etrice-docse19.html#x26-1050005.1" id="QQ2-26-129">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.2 <a
+href="etrice-docse20.html#x27-1180005.2" id="QQ2-27-146">eTrice Models and Their Relations</a></span>
+<br /><span class="chapterToc" >6 <a
+href="etrice-docch6.html#x28-1230006" id="QQ2-28-157">eTrice Tool Developer&#8217;s Reference</a></span>
+<br />&#x00A0;<span class="sectionToc" >6.1 <a
+href="etrice-docse21.html#x29-1240006.1" id="QQ2-29-158">Architecture</a></span>
+<br />&#x00A0;<span class="sectionToc" >6.2 <a
+href="etrice-docse22.html#x30-1280006.2" id="QQ2-30-162">Component Overview</a></span>
+</div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!--l. 81--><p class="noindent" ><span class="next">[<a
+href="etrice-docli1.html" id="tailetrice-doc" >next</a>]</span></p>
+</body></html>
+
+
+
+
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
index eaaf57704..e30a39dcf 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
@@ -1,52 +1,52 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>1 Introduction</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse1.html" >next</a>] [<a
-href="etrice-docli1.html" >prev</a>] [<a
-href="etrice-docli1.html#tailetrice-docli1.html" >prev-tail</a>] [<a
-href="#tailetrice-docch1.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch1.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;1</span><br /><a
- id="x3-20001"></a>Introduction</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >1.1 <a
-href="etrice-docse1.html#x4-30001.1">eTrice Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.1 <a
-href="etrice-docse1.html#x4-40001.1.1">What is eTrice?</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.2 <a
-href="etrice-docse1.html#x4-50001.1.2">Reduction of Complexity</a></span>
-<br />&#x00A0;<span class="sectionToc" >1.2 <a
-href="etrice-docse2.html#x5-60001.2">Introduction to the ROOM Language</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.1 <a
-href="etrice-docse2.html#x5-70001.2.1">Scope of ROOM</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.2 <a
-href="etrice-docse2.html#x5-130001.2.2">Basic Concepts</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.3 <a
-href="etrice-docse2.html#x5-180001.2.3">Execution Models</a></span>
-</div>
-
-
-
-<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse1.html" >next</a>] [<a
-href="etrice-docli1.html" >prev</a>] [<a
-href="etrice-docli1.html#tailetrice-docli1.html" >prev-tail</a>] [<a
-href="etrice-docch1.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch1.html" >up</a>] </p></div>
-<!--l. 59--><p class="noindent" ><a
- id="tailetrice-docch1.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>1 Introduction</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse1.html" >next</a>] [<a
+href="etrice-docli1.html" >prev</a>] [<a
+href="etrice-docli1.html#tailetrice-docli1.html" >prev-tail</a>] [<a
+href="#tailetrice-docch1.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch1.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;1</span><br /><a
+ id="x3-20001"></a>Introduction</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >1.1 <a
+href="etrice-docse1.html#x4-30001.1">eTrice Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.1 <a
+href="etrice-docse1.html#x4-40001.1.1">What is eTrice?</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.2 <a
+href="etrice-docse1.html#x4-50001.1.2">Reduction of Complexity</a></span>
+<br />&#x00A0;<span class="sectionToc" >1.2 <a
+href="etrice-docse2.html#x5-60001.2">Introduction to the ROOM Language</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.1 <a
+href="etrice-docse2.html#x5-70001.2.1">Scope of ROOM</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.2 <a
+href="etrice-docse2.html#x5-130001.2.2">Basic Concepts</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.3 <a
+href="etrice-docse2.html#x5-180001.2.3">Execution Models</a></span>
+</div>
+
+
+
+<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse1.html" >next</a>] [<a
+href="etrice-docli1.html" >prev</a>] [<a
+href="etrice-docli1.html#tailetrice-docli1.html" >prev-tail</a>] [<a
+href="etrice-docch1.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch1.html" >up</a>] </p></div>
+<!--l. 59--><p class="noindent" ><a
+ id="tailetrice-docch1.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
deleted file mode 100644
index fefb63a97..000000000
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>10 ROOM Concepts</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" />
-<<<<<<< Upstream, based on branch 'master' of ssh://hrentzreich@git.eclipse.org:29418/etrice/org.eclipse.etrice.git
-<meta name="date" content="2013-06-14 00:07:00" />
-=======
-<meta name="date" content="2013-06-14 08:45:00" />
->>>>>>> 1fbdb27 [doc] fixed problem with colored eTrice in headings
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse47.html" >next</a>] [<a
-href="etrice-docse46.html" >prev</a>] [<a
-href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
-href="#tailetrice-docch10.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch10.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;10</span><br /><a
- id="x58-8000010"></a>ROOM Concepts</h2>
-<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
-notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
-<a
-href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
-class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
-</p>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse47.html#x59-8100010.1">Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.1 <a
-href="etrice-docse47.html#x59-8200010.1.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.2 <a
-href="etrice-docse47.html#x59-8300010.1.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.3 <a
-href="etrice-docse47.html#x59-8400010.1.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.4 <a
-href="etrice-docse47.html#x59-8500010.1.4">Details</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse48.html#x60-8900010.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.1 <a
-href="etrice-docse48.html#x60-9000010.2.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.2 <a
-href="etrice-docse48.html#x60-9100010.2.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.3 <a
-href="etrice-docse48.html#x60-9200010.2.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse49.html#x61-9300010.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.1 <a
-href="etrice-docse49.html#x61-9400010.3.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.2 <a
-href="etrice-docse49.html#x61-9500010.3.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.3 <a
-href="etrice-docse49.html#x61-9600010.3.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse50.html#x62-9900010.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.1 <a
-href="etrice-docse50.html#x62-10000010.4.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.2 <a
-href="etrice-docse50.html#x62-10100010.4.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse51.html#x63-10200010.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.1 <a
-href="etrice-docse51.html#x63-10300010.5.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.2 <a
-href="etrice-docse51.html#x63-10400010.5.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse52.html#x64-10500010.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.1 <a
-href="etrice-docse52.html#x64-10600010.6.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.2 <a
-href="etrice-docse52.html#x64-10700010.6.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.3 <a
-href="etrice-docse52.html#x64-10800010.6.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.4 <a
-href="etrice-docse52.html#x64-11100010.6.4">Examples</a></span>
-</div>
-
-
-
-
-
-
-
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse47.html" >next</a>] [<a
-href="etrice-docse46.html" >prev</a>] [<a
-href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
-href="etrice-docch10.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch10.html" >up</a>] </p></div>
-<!--l. 57--><p class="noindent" ><a
- id="tailetrice-docch10.html"></a> </p>
-</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
index 2a1417291..8436f71ce 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
@@ -1,101 +1,129 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>2 Tutorials</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse3.html" >next</a>] [<a
-href="etrice-docse2.html" >prev</a>] [<a
-href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
-href="#tailetrice-docch2.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch2.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;2</span><br /><a
- id="x6-250002"></a>Tutorials</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >2.1 <a
-href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.2 <a
-href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.3 <a
-href="etrice-docse5.html#x9-280002.3">Tutorial HelloWorld for Java</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
-href="etrice-docse5.html#x9-290002.3.1">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
-href="etrice-docse5.html#x9-300002.3.2">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.3 <a
-href="etrice-docse5.html#x9-310002.3.3">Create a state machine</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.4 <a
-href="etrice-docse5.html#x9-320002.3.4">Build and run the model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.5 <a
-href="etrice-docse5.html#x9-330002.3.5">Open the Message Sequence Chart</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.6 <a
-href="etrice-docse5.html#x9-340002.3.6">Summary</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.4 <a
-href="etrice-docse6.html#x10-350002.4">Tutorial Blinky (Java)</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
-href="etrice-docse6.html#x10-360002.4.1">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
-href="etrice-docse6.html#x10-370002.4.2">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
-href="etrice-docse6.html#x10-380002.4.3">Add two additional actor classes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
-href="etrice-docse6.html#x10-390002.4.4">Create a new protocol</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
-href="etrice-docse6.html#x10-400002.4.5">Import the Timing Service</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
-href="etrice-docse6.html#x10-410002.4.6">Finish the model structure</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.7 <a
-href="etrice-docse6.html#x10-420002.4.7">Implement the Behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.8 <a
-href="etrice-docse6.html#x10-430002.4.8">Summary</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.5 <a
-href="etrice-docse7.html#x11-440002.5">Tutorial Sending Data (Java)</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
-href="etrice-docse7.html#x11-450002.5.1">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
-href="etrice-docse7.html#x11-460002.5.2">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
-href="etrice-docse7.html#x11-470002.5.3">Add a data class</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
-href="etrice-docse7.html#x11-480002.5.4">Create a new protocol</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
-href="etrice-docse7.html#x11-490002.5.5">Create MrPing and MrPong Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
-href="etrice-docse7.html#x11-500002.5.6">Define Actor Structure and Behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
-href="etrice-docse7.html#x11-510002.5.7">Define MrPongs behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
-href="etrice-docse7.html#x11-520002.5.8">Define MrPing behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.9 <a
-href="etrice-docse7.html#x11-530002.5.9">Define the top level</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.10 <a
-href="etrice-docse7.html#x11-540002.5.10">Generate and run the model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.11 <a
-href="etrice-docse7.html#x11-550002.5.11">Summary</a></span>
-</div>
-
-
-
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse3.html" >next</a>] [<a
-href="etrice-docse2.html" >prev</a>] [<a
-href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
-href="etrice-docch2.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch2.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch2.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>2 Tutorials</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse3.html" >next</a>] [<a
+href="etrice-docse2.html" >prev</a>] [<a
+href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
+href="#tailetrice-docch2.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch2.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;2</span><br /><a
+ id="x6-250002"></a>Tutorials</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3">Setting up the Workspace for C Projects</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
+href="etrice-docse5.html#x9-290002.3.1">Testing the environment</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
+href="etrice-docse5.html#x9-300002.3.2">Building the C runtime system</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-310002.4">HelloWorld for Java</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
+href="etrice-docse6.html#x10-320002.4.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
+href="etrice-docse6.html#x10-330002.4.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
+href="etrice-docse6.html#x10-340002.4.3">Create a state machine</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
+href="etrice-docse6.html#x10-350002.4.4">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
+href="etrice-docse6.html#x10-360002.4.5">Open the Message Sequence Chart</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
+href="etrice-docse6.html#x10-370002.4.6">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-380002.5">HelloWorld for C</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
+href="etrice-docse7.html#x11-390002.5.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
+href="etrice-docse7.html#x11-400002.5.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
+href="etrice-docse7.html#x11-410002.5.3">Create the HelloWorld model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
+href="etrice-docse7.html#x11-420002.5.4">Create a launch configuration to start the C code generator</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
+href="etrice-docse7.html#x11-430002.5.5">Generate the code</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
+href="etrice-docse7.html#x11-440002.5.6">Setup the include path</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
+href="etrice-docse7.html#x11-450002.5.7">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
+href="etrice-docse7.html#x11-460002.5.8">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.6 <a
+href="etrice-docse8.html#x12-470002.6">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.1 <a
+href="etrice-docse8.html#x12-480002.6.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.2 <a
+href="etrice-docse8.html#x12-490002.6.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.3 <a
+href="etrice-docse8.html#x12-500002.6.3">Add two additional actor classes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.4 <a
+href="etrice-docse8.html#x12-510002.6.4">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.5 <a
+href="etrice-docse8.html#x12-520002.6.5">Import the Timing Service</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.6 <a
+href="etrice-docse8.html#x12-530002.6.6">Finish the model structure</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.7 <a
+href="etrice-docse8.html#x12-540002.6.7">Implement the Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.8 <a
+href="etrice-docse8.html#x12-550002.6.8">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.7 <a
+href="etrice-docse9.html#x13-560002.7">Tutorial Sending Data (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.1 <a
+href="etrice-docse9.html#x13-570002.7.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.2 <a
+href="etrice-docse9.html#x13-580002.7.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.3 <a
+href="etrice-docse9.html#x13-590002.7.3">Add a data class</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.4 <a
+href="etrice-docse9.html#x13-600002.7.4">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.5 <a
+href="etrice-docse9.html#x13-610002.7.5">Create MrPing and MrPong Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.6 <a
+href="etrice-docse9.html#x13-620002.7.6">Define Actor Structure and Behavior</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.7 <a
+href="etrice-docse9.html#x13-630002.7.7">Define MrPongs behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.8 <a
+href="etrice-docse9.html#x13-640002.7.8">Define MrPing behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.9 <a
+href="etrice-docse9.html#x13-650002.7.9">Define the top level</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.10 <a
+href="etrice-docse9.html#x13-660002.7.10">Generate and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.11 <a
+href="etrice-docse9.html#x13-670002.7.11">Summary</a></span>
+</div>
+
+
+
+
+
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse3.html" >next</a>] [<a
+href="etrice-docse2.html" >prev</a>] [<a
+href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
+href="etrice-docch2.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch2.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docch2.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
index f172b340b..7c5385863 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
@@ -1,45 +1,45 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>3 Tutorial Pedestrian Lights (Java)</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse8.html" >next</a>] [<a
-href="etrice-docse7.html" >prev</a>] [<a
-href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
-href="#tailetrice-docch3.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
- id="x12-560003"></a>Tutorial Pedestrian Lights (Java)</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >3.1 <a
-href="etrice-docse8.html#x13-570003.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.2 <a
-href="etrice-docse9.html#x14-580003.2">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.3 <a
-href="etrice-docse10.html#x15-590003.3">Why does it work and why is it safe?</a></span>
-</div>
-
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse8.html" >next</a>] [<a
-href="etrice-docse7.html" >prev</a>] [<a
-href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
-href="etrice-docch3.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch3.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>3 Tutorial Pedestrian Lights (Java)</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse10.html" >next</a>] [<a
+href="etrice-docse9.html" >prev</a>] [<a
+href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
+href="#tailetrice-docch3.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
+ id="x14-680003"></a>Tutorial Pedestrian Lights (Java)</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse10.html#x15-690003.1">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse11.html#x16-700003.2">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse12.html#x17-710003.3">Why does it work and why is it safe?</a></span>
+</div>
+
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse10.html" >next</a>] [<a
+href="etrice-docse9.html" >prev</a>] [<a
+href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
+href="etrice-docch3.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docch3.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
index d4cd6267b..8dfd0ebe2 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
@@ -1,65 +1,96 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>4 Setting up the Workspace for C Projects</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse11.html" >next</a>] [<a
-href="etrice-docse10.html" >prev</a>] [<a
-href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
-href="#tailetrice-docch4.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;4</span><br /><a
- id="x16-600004"></a>Setting up the Workspace for C Projects</h2>
-<!--l. 3--><p class="noindent" >Before you can start with C, some preconditions must be fulfilled:
- </p><dl class="description"><dt class="description">
- </dt><dd
-class="description">A C compiler must be installed on your machine (all tests and tutorials are based on MinGW)
- </dd><dt class="description">
- </dt><dd
-class="description">The CDT-Eclipse plugin must be installed as the C development environment.</dd></dl>
-<!--l. 10--><p class="noindent" >Once the CDT is installed, the C runtime and model library must be imported. (<span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;Project-&#x003E;</span><span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span>
-select <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C runtime </span>/ <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C modellib</span>)
-</p><!--l. 13--><p class="noindent" >The resulting workspace should look like this:
-</p><!--l. 15--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC01.png" alt="PIC"
- />
-</p>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >4.1 <a
-href="etrice-docse11.html#x17-610004.1">Testing the environment</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.2 <a
-href="etrice-docse12.html#x18-620004.2">Building the C runtime system</a></span>
-</div>
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse11.html" >next</a>] [<a
-href="etrice-docse10.html" >prev</a>] [<a
-href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
-href="etrice-docch4.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch4.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>4 ROOM Concepts</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse13.html" >next</a>] [<a
+href="etrice-docse12.html" >prev</a>] [<a
+href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
+href="#tailetrice-docch4.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;4</span><br /><a
+ id="x18-720004"></a>ROOM Concepts</h2>
+<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
+notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
+<a
+href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
+class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
+</p>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse13.html#x19-730004.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.1 <a
+href="etrice-docse13.html#x19-740004.1.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.2 <a
+href="etrice-docse13.html#x19-750004.1.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.3 <a
+href="etrice-docse13.html#x19-760004.1.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.4 <a
+href="etrice-docse13.html#x19-770004.1.4">Details</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse14.html#x20-810004.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.1 <a
+href="etrice-docse14.html#x20-820004.2.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.2 <a
+href="etrice-docse14.html#x20-830004.2.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.3 <a
+href="etrice-docse14.html#x20-840004.2.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.3 <a
+href="etrice-docse15.html#x21-850004.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.1 <a
+href="etrice-docse15.html#x21-860004.3.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.2 <a
+href="etrice-docse15.html#x21-870004.3.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.3 <a
+href="etrice-docse15.html#x21-880004.3.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.4 <a
+href="etrice-docse16.html#x22-910004.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.1 <a
+href="etrice-docse16.html#x22-920004.4.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.2 <a
+href="etrice-docse16.html#x22-930004.4.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.5 <a
+href="etrice-docse17.html#x23-940004.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.5.1 <a
+href="etrice-docse17.html#x23-950004.5.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.5.2 <a
+href="etrice-docse17.html#x23-960004.5.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.6 <a
+href="etrice-docse18.html#x24-970004.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.1 <a
+href="etrice-docse18.html#x24-980004.6.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.2 <a
+href="etrice-docse18.html#x24-990004.6.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.3 <a
+href="etrice-docse18.html#x24-1000004.6.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.4 <a
+href="etrice-docse18.html#x24-1030004.6.4">Examples</a></span>
+</div>
+
+
+
+
+
+
+
+<!--l. 71--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse13.html" >next</a>] [<a
+href="etrice-docse12.html" >prev</a>] [<a
+href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
+href="etrice-docch4.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
+<!--l. 71--><p class="noindent" ><a
+ id="tailetrice-docch4.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
index 41a274ad0..22083daac 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
@@ -1,60 +1,62 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>5 Tutorial HelloWorld for C</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse13.html" >next</a>] [<a
-href="etrice-docse12.html" >prev</a>] [<a
-href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
-href="#tailetrice-docch5.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
- id="x19-630005"></a>Tutorial HelloWorld for C</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse13.html#x20-640005.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse14.html#x21-650005.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse15.html#x22-660005.3">Create the HelloWorld model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse16.html#x23-670005.4">Create a launch configuration to start the C code generator</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse17.html#x24-680005.5">Generate the code</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse18.html#x25-690005.6">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.7 <a
-href="etrice-docse19.html#x26-700005.7">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.8 <a
-href="etrice-docse20.html#x27-710005.8">Summary</a></span>
-</div>
-
-
-
-
-
-
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse13.html" >next</a>] [<a
-href="etrice-docse12.html" >prev</a>] [<a
-href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
-href="etrice-docch5.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch5.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>5 eTrice Features</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 71--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse19.html" >next</a>] [<a
+href="etrice-docse18.html" >prev</a>] [<a
+href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
+href="#tailetrice-docch5.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
+ id="x25-1040005"></a>eTrice Features</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >5.1 <a
+href="etrice-docse19.html#x26-1050005.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.1 <a
+href="etrice-docse19.html#x26-1060005.1.1">Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.2 <a
+href="etrice-docse19.html#x26-1070005.1.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.3 <a
+href="etrice-docse19.html#x26-1080005.1.3">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.4 <a
+href="etrice-docse19.html#x26-1090005.1.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.5 <a
+href="etrice-docse19.html#x26-1140005.1.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.6 <a
+href="etrice-docse19.html#x26-1170005.1.6">Further References</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.2 <a
+href="etrice-docse20.html#x27-1180005.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.1 <a
+href="etrice-docse20.html#x27-1190005.2.1">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.2 <a
+href="etrice-docse20.html#x27-1200005.2.2">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.3 <a
+href="etrice-docse20.html#x27-1210005.2.3">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.4 <a
+href="etrice-docse20.html#x27-1220005.2.4">The Mapping Model</a></span>
+</div>
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse19.html" >next</a>] [<a
+href="etrice-docse18.html" >prev</a>] [<a
+href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
+href="etrice-docch5.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docch5.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
index cdf9c9995..1945216ae 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
@@ -1,54 +1,56 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>6 Tutorial Remove C-Comment ( C )</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse21.html" >next</a>] [<a
-href="etrice-docse20.html" >prev</a>] [<a
-href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
-href="#tailetrice-docch6.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
- id="x28-720006"></a>Tutorial Remove C-Comment ( C )</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse21.html#x29-730006.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse22.html#x30-740006.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse23.html#x31-750006.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse24.html#x32-760006.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse25.html#x33-770006.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse26.html#x34-780006.6">Summary</a></span>
-</div>
-
-
-
-
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse21.html" >next</a>] [<a
-href="etrice-docse20.html" >prev</a>] [<a
-href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
-href="etrice-docch6.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch6.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>6 eTrice Tool Developer&#8217;s Reference</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse21.html" >next</a>] [<a
+href="etrice-docse20.html" >prev</a>] [<a
+href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
+href="#tailetrice-docch6.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
+ id="x28-1230006"></a>eTrice Tool Developer&#8217;s Reference</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >6.1 <a
+href="etrice-docse21.html#x29-1240006.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.1 <a
+href="etrice-docse21.html#x29-1250006.1.1">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.2 <a
+href="etrice-docse21.html#x29-1260006.1.2">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.3 <a
+href="etrice-docse21.html#x29-1270006.1.3">Unit Tests</a></span>
+<br />&#x00A0;<span class="sectionToc" >6.2 <a
+href="etrice-docse22.html#x30-1280006.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.1 <a
+href="etrice-docse22.html#x30-1290006.2.1">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.2 <a
+href="etrice-docse22.html#x30-1350006.2.2">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.3 <a
+href="etrice-docse22.html#x30-1390006.2.3">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.4 <a
+href="etrice-docse22.html#x30-1430006.2.4">Generator Overview</a></span>
+</div>
+
+
+
+<!--l. 81--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse21.html" >next</a>] [<a
+href="etrice-docse20.html" >prev</a>] [<a
+href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
+href="etrice-docch6.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
+<!--l. 81--><p class="noindent" ><a
+ id="tailetrice-docch6.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
index 3908dc8bf..54f6258fb 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
@@ -1,96 +1,96 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>7 ROOM Concepts</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse27.html" >next</a>] [<a
-href="etrice-docse26.html" >prev</a>] [<a
-href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
-href="#tailetrice-docch7.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
- id="x35-790007"></a>ROOM Concepts</h2>
-<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
-notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
-<a
-href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
-class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
-</p>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse27.html#x36-800007.1">Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
-href="etrice-docse27.html#x36-810007.1.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
-href="etrice-docse27.html#x36-820007.1.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
-href="etrice-docse27.html#x36-830007.1.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
-href="etrice-docse27.html#x36-840007.1.4">Details</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse28.html#x37-880007.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
-href="etrice-docse28.html#x37-890007.2.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
-href="etrice-docse28.html#x37-900007.2.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
-href="etrice-docse28.html#x37-910007.2.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse29.html#x38-920007.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
-href="etrice-docse29.html#x38-930007.3.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
-href="etrice-docse29.html#x38-940007.3.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
-href="etrice-docse29.html#x38-950007.3.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse30.html#x39-980007.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.1 <a
-href="etrice-docse30.html#x39-990007.4.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.2 <a
-href="etrice-docse30.html#x39-1000007.4.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse31.html#x40-1010007.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.1 <a
-href="etrice-docse31.html#x40-1020007.5.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.2 <a
-href="etrice-docse31.html#x40-1030007.5.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse32.html#x41-1040007.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.1 <a
-href="etrice-docse32.html#x41-1050007.6.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.2 <a
-href="etrice-docse32.html#x41-1060007.6.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.3 <a
-href="etrice-docse32.html#x41-1070007.6.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.4 <a
-href="etrice-docse32.html#x41-1100007.6.4">Examples</a></span>
-</div>
-
-
-
-
-
-
-
-<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse27.html" >next</a>] [<a
-href="etrice-docse26.html" >prev</a>] [<a
-href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
-href="etrice-docch7.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
-<!--l. 72--><p class="noindent" ><a
- id="tailetrice-docch7.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>7 ROOM Concepts</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse27.html" >next</a>] [<a
+href="etrice-docse26.html" >prev</a>] [<a
+href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
+href="#tailetrice-docch7.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
+ id="x35-790007"></a>ROOM Concepts</h2>
+<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
+notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
+<a
+href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
+class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
+</p>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >7.1 <a
+href="etrice-docse27.html#x36-800007.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
+href="etrice-docse27.html#x36-810007.1.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
+href="etrice-docse27.html#x36-820007.1.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
+href="etrice-docse27.html#x36-830007.1.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
+href="etrice-docse27.html#x36-840007.1.4">Details</a></span>
+<br />&#x00A0;<span class="sectionToc" >7.2 <a
+href="etrice-docse28.html#x37-880007.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
+href="etrice-docse28.html#x37-890007.2.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
+href="etrice-docse28.html#x37-900007.2.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
+href="etrice-docse28.html#x37-910007.2.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >7.3 <a
+href="etrice-docse29.html#x38-920007.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
+href="etrice-docse29.html#x38-930007.3.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
+href="etrice-docse29.html#x38-940007.3.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
+href="etrice-docse29.html#x38-950007.3.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >7.4 <a
+href="etrice-docse30.html#x39-980007.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.1 <a
+href="etrice-docse30.html#x39-990007.4.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.2 <a
+href="etrice-docse30.html#x39-1000007.4.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >7.5 <a
+href="etrice-docse31.html#x40-1010007.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.1 <a
+href="etrice-docse31.html#x40-1020007.5.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.2 <a
+href="etrice-docse31.html#x40-1030007.5.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >7.6 <a
+href="etrice-docse32.html#x41-1040007.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.1 <a
+href="etrice-docse32.html#x41-1050007.6.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.2 <a
+href="etrice-docse32.html#x41-1060007.6.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.3 <a
+href="etrice-docse32.html#x41-1070007.6.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.4 <a
+href="etrice-docse32.html#x41-1100007.6.4">Examples</a></span>
+</div>
+
+
+
+
+
+
+
+<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse27.html" >next</a>] [<a
+href="etrice-docse26.html" >prev</a>] [<a
+href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
+href="etrice-docch7.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
+<!--l. 72--><p class="noindent" ><a
+ id="tailetrice-docch7.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
index 019d07e0d..223b839aa 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
@@ -1,62 +1,62 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>8 eTrice Features</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse33.html" >next</a>] [<a
-href="etrice-docse32.html" >prev</a>] [<a
-href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
-href="#tailetrice-docch8.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
- id="x42-1110008"></a>eTrice Features</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse33.html#x43-1120008.1">Automatic Diagram Layout with KIELER</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.1 <a
-href="etrice-docse33.html#x43-1130008.1.1">Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.2 <a
-href="etrice-docse33.html#x43-1140008.1.2">Performing Automatic Layout</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.3 <a
-href="etrice-docse33.html#x43-1150008.1.3">Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.4 <a
-href="etrice-docse33.html#x43-1160008.1.4">Configuring Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.5 <a
-href="etrice-docse33.html#x43-1210008.1.5">Special Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.6 <a
-href="etrice-docse33.html#x43-1240008.1.6">Further References</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse34.html#x44-1250008.2">eTrice Models and Their Relations</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
-href="etrice-docse34.html#x44-1260008.2.1">The ROOM Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
-href="etrice-docse34.html#x44-1270008.2.2">The Config Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
-href="etrice-docse34.html#x44-1280008.2.3">The Physical Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
-href="etrice-docse34.html#x44-1290008.2.4">The Mapping Model</a></span>
-</div>
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse33.html" >next</a>] [<a
-href="etrice-docse32.html" >prev</a>] [<a
-href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
-href="etrice-docch8.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docch8.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>8 eTrice Features</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse33.html" >next</a>] [<a
+href="etrice-docse32.html" >prev</a>] [<a
+href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
+href="#tailetrice-docch8.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
+ id="x42-1110008"></a>eTrice Features</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >8.1 <a
+href="etrice-docse33.html#x43-1120008.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.1 <a
+href="etrice-docse33.html#x43-1130008.1.1">Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.2 <a
+href="etrice-docse33.html#x43-1140008.1.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.3 <a
+href="etrice-docse33.html#x43-1150008.1.3">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.4 <a
+href="etrice-docse33.html#x43-1160008.1.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.5 <a
+href="etrice-docse33.html#x43-1210008.1.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.6 <a
+href="etrice-docse33.html#x43-1240008.1.6">Further References</a></span>
+<br />&#x00A0;<span class="sectionToc" >8.2 <a
+href="etrice-docse34.html#x44-1250008.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
+href="etrice-docse34.html#x44-1260008.2.1">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
+href="etrice-docse34.html#x44-1270008.2.2">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
+href="etrice-docse34.html#x44-1280008.2.3">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
+href="etrice-docse34.html#x44-1290008.2.4">The Mapping Model</a></span>
+</div>
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse33.html" >next</a>] [<a
+href="etrice-docse32.html" >prev</a>] [<a
+href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
+href="etrice-docch8.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docch8.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
index 158b01ba9..9c939f455 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>9 eTrice Tool Developer&#8217;s Reference</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >next</a>] [<a
-href="etrice-docse34.html" >prev</a>] [<a
-href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
-href="#tailetrice-docch9.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
-<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
- id="x45-1300009"></a>eTrice Tool Developer&#8217;s Reference</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse35.html#x46-1310009.1">Architecture</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
-href="etrice-docse35.html#x46-1320009.1.1">Editor and Generator Components</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
-href="etrice-docse35.html#x46-1330009.1.2">Runtimes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
-href="etrice-docse35.html#x46-1340009.1.3">Unit Tests</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse36.html#x47-1350009.2">Component Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.1 <a
-href="etrice-docse36.html#x47-1360009.2.1">Room Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.2 <a
-href="etrice-docse36.html#x47-1420009.2.2">Config Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.3 <a
-href="etrice-docse36.html#x47-1460009.2.3">Aggregation Layer Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.4 <a
-href="etrice-docse36.html#x47-1500009.2.4">Generator Overview</a></span>
-</div>
-
-
-
-<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >next</a>] [<a
-href="etrice-docse34.html" >prev</a>] [<a
-href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
-href="etrice-docch9.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
-<!--l. 82--><p class="noindent" ><a
- id="tailetrice-docch9.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>9 eTrice Tool Developer&#8217;s Reference</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse35.html" >next</a>] [<a
+href="etrice-docse34.html" >prev</a>] [<a
+href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
+href="#tailetrice-docch9.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
+ id="x45-1300009"></a>eTrice Tool Developer&#8217;s Reference</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >9.1 <a
+href="etrice-docse35.html#x46-1310009.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
+href="etrice-docse35.html#x46-1320009.1.1">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
+href="etrice-docse35.html#x46-1330009.1.2">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
+href="etrice-docse35.html#x46-1340009.1.3">Unit Tests</a></span>
+<br />&#x00A0;<span class="sectionToc" >9.2 <a
+href="etrice-docse36.html#x47-1350009.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.1 <a
+href="etrice-docse36.html#x47-1360009.2.1">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.2 <a
+href="etrice-docse36.html#x47-1420009.2.2">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.3 <a
+href="etrice-docse36.html#x47-1460009.2.3">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.4 <a
+href="etrice-docse36.html#x47-1500009.2.4">Generator Overview</a></span>
+</div>
+
+
+
+<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse35.html" >next</a>] [<a
+href="etrice-docse34.html" >prev</a>] [<a
+href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
+href="etrice-docch9.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
+<!--l. 82--><p class="noindent" ><a
+ id="tailetrice-docch9.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
index 43751999a..c514f55ef 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
@@ -1,263 +1,249 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Contents</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch1.html" >next</a>] [<a
-href="etrice-doc.html" >prev</a>] [<a
-href="etrice-doc.html#tailetrice-doc" >prev-tail</a>] [<a
-href="#tailetrice-docli1.html">tail</a>] [<a
-href="etrice-doc.html#etrice-docli1.html" >up</a>] </p></div>
-<h2 class="likechapterHead"><a
- id="x2-1000"></a>Contents</h2>
-<div class="tableofcontents">
-<span class="chapterToc" >1 <a
-href="etrice-docch1.html#x3-20001">Introduction</a></span>
-<br />&#x00A0;<span class="sectionToc" >1.1 <a
-href="etrice-docse1.html#x4-30001.1">eTrice Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.1 <a
-href="etrice-docse1.html#x4-40001.1.1" id="QQ2-4-4">What is eTrice?</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.2 <a
-href="etrice-docse1.html#x4-50001.1.2" id="QQ2-4-5">Reduction of Complexity</a></span>
-<br />&#x00A0;<span class="sectionToc" >1.2 <a
-href="etrice-docse2.html#x5-60001.2">Introduction to the ROOM Language</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.1 <a
-href="etrice-docse2.html#x5-70001.2.1" id="QQ2-5-7">Scope of ROOM</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.2 <a
-href="etrice-docse2.html#x5-130001.2.2" id="QQ2-5-13">Basic Concepts</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.3 <a
-href="etrice-docse2.html#x5-180001.2.3" id="QQ2-5-19">Execution Models</a></span>
-<br /><span class="chapterToc" >2 <a
-href="etrice-docch2.html#x6-250002">Tutorials</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.1 <a
-href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.2 <a
-href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.3 <a
-href="etrice-docse5.html#x9-280002.3">Tutorial HelloWorld for Java</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
-href="etrice-docse5.html#x9-290002.3.1" id="QQ2-9-30">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
-href="etrice-docse5.html#x9-300002.3.2" id="QQ2-9-31">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.3 <a
-href="etrice-docse5.html#x9-310002.3.3" id="QQ2-9-32">Create a state machine</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.4 <a
-href="etrice-docse5.html#x9-320002.3.4" id="QQ2-9-33">Build and run the model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.5 <a
-href="etrice-docse5.html#x9-330002.3.5" id="QQ2-9-34">Open the Message Sequence Chart</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.6 <a
-href="etrice-docse5.html#x9-340002.3.6" id="QQ2-9-35">Summary</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.4 <a
-href="etrice-docse6.html#x10-350002.4">Tutorial Blinky (Java)</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
-href="etrice-docse6.html#x10-360002.4.1" id="QQ2-10-37">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
-href="etrice-docse6.html#x10-370002.4.2" id="QQ2-10-38">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
-href="etrice-docse6.html#x10-380002.4.3" id="QQ2-10-39">Add two additional actor classes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
-href="etrice-docse6.html#x10-390002.4.4" id="QQ2-10-40">Create a new protocol</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
-href="etrice-docse6.html#x10-400002.4.5" id="QQ2-10-41">Import the Timing Service</a></span>
-
-
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
-href="etrice-docse6.html#x10-410002.4.6" id="QQ2-10-42">Finish the model structure</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.7 <a
-href="etrice-docse6.html#x10-420002.4.7" id="QQ2-10-43">Implement the Behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.8 <a
-href="etrice-docse6.html#x10-430002.4.8" id="QQ2-10-44">Summary</a></span>
-<br />&#x00A0;<span class="sectionToc" >2.5 <a
-href="etrice-docse7.html#x11-440002.5">Tutorial Sending Data (Java)</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
-href="etrice-docse7.html#x11-450002.5.1" id="QQ2-11-46">Scope</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
-href="etrice-docse7.html#x11-460002.5.2" id="QQ2-11-47">Create a new model from scratch</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
-href="etrice-docse7.html#x11-470002.5.3" id="QQ2-11-48">Add a data class</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
-href="etrice-docse7.html#x11-480002.5.4" id="QQ2-11-49">Create a new protocol</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
-href="etrice-docse7.html#x11-490002.5.5" id="QQ2-11-50">Create MrPing and MrPong Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
-href="etrice-docse7.html#x11-500002.5.6" id="QQ2-11-51">Define Actor Structure and Behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
-href="etrice-docse7.html#x11-510002.5.7" id="QQ2-11-52">Define MrPongs behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
-href="etrice-docse7.html#x11-520002.5.8" id="QQ2-11-53">Define MrPing behavior</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.9 <a
-href="etrice-docse7.html#x11-530002.5.9" id="QQ2-11-54">Define the top level</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.10 <a
-href="etrice-docse7.html#x11-540002.5.10" id="QQ2-11-55">Generate and run the model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.11 <a
-href="etrice-docse7.html#x11-550002.5.11" id="QQ2-11-56">Summary</a></span>
-<br /><span class="chapterToc" >3 <a
-href="etrice-docch3.html#x12-560003">Tutorial Pedestrian Lights (Java)</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.1 <a
-href="etrice-docse8.html#x13-570003.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.2 <a
-href="etrice-docse9.html#x14-580003.2">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >3.3 <a
-href="etrice-docse10.html#x15-590003.3">Why does it work and why is it safe?</a></span>
-<br /><span class="chapterToc" >4 <a
-href="etrice-docch4.html#x16-600004">Setting up the Workspace for C Projects</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.1 <a
-href="etrice-docse11.html#x17-610004.1">Testing the environment</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.2 <a
-href="etrice-docse12.html#x18-620004.2">Building the C runtime system</a></span>
-<br /><span class="chapterToc" >5 <a
-href="etrice-docch5.html#x19-630005">Tutorial HelloWorld for C</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse13.html#x20-640005.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse14.html#x21-650005.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse15.html#x22-660005.3">Create the HelloWorld model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse16.html#x23-670005.4">Create a launch configuration to start the C code generator</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse17.html#x24-680005.5">Generate the code</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse18.html#x25-690005.6">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.7 <a
-href="etrice-docse19.html#x26-700005.7">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >5.8 <a
-href="etrice-docse20.html#x27-710005.8">Summary</a></span>
-<br /><span class="chapterToc" >6 <a
-href="etrice-docch6.html#x28-720006">Tutorial Remove C-Comment ( C )</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse21.html#x29-730006.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse22.html#x30-740006.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse23.html#x31-750006.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse24.html#x32-760006.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse25.html#x33-770006.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse26.html#x34-780006.6">Summary</a></span>
-<br /><span class="chapterToc" >7 <a
-href="etrice-docch7.html#x35-790007">ROOM Concepts</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse27.html#x36-800007.1">Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
-href="etrice-docse27.html#x36-810007.1.1" id="QQ2-36-82">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
-href="etrice-docse27.html#x36-820007.1.2" id="QQ2-36-83">Motivation</a></span>
-
-
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
-href="etrice-docse27.html#x36-830007.1.3" id="QQ2-36-84">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
-href="etrice-docse27.html#x36-840007.1.4" id="QQ2-36-86">Details</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse28.html#x37-880007.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
-href="etrice-docse28.html#x37-890007.2.1" id="QQ2-37-92">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
-href="etrice-docse28.html#x37-900007.2.2" id="QQ2-37-93">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
-href="etrice-docse28.html#x37-910007.2.3" id="QQ2-37-94">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse29.html#x38-920007.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
-href="etrice-docse29.html#x38-930007.3.1" id="QQ2-38-96">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
-href="etrice-docse29.html#x38-940007.3.2" id="QQ2-38-97">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
-href="etrice-docse29.html#x38-950007.3.3" id="QQ2-38-98">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse30.html#x39-980007.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.1 <a
-href="etrice-docse30.html#x39-990007.4.1" id="QQ2-39-116">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.2 <a
-href="etrice-docse30.html#x39-1000007.4.2" id="QQ2-39-117">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse31.html#x40-1010007.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.1 <a
-href="etrice-docse31.html#x40-1020007.5.1" id="QQ2-40-119">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.2 <a
-href="etrice-docse31.html#x40-1030007.5.2" id="QQ2-40-120">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse32.html#x41-1040007.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.1 <a
-href="etrice-docse32.html#x41-1050007.6.1" id="QQ2-41-123">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.2 <a
-href="etrice-docse32.html#x41-1060007.6.2" id="QQ2-41-124">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.3 <a
-href="etrice-docse32.html#x41-1070007.6.3" id="QQ2-41-125">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.4 <a
-href="etrice-docse32.html#x41-1100007.6.4" id="QQ2-41-130">Examples</a></span>
-<br /><span class="chapterToc" >8 <a
-href="etrice-docch8.html#x42-1110008">eTrice Features</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse33.html#x43-1120008.1">Automatic Diagram Layout with KIELER</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.1 <a
-href="etrice-docse33.html#x43-1130008.1.1" id="QQ2-43-137">Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.2 <a
-href="etrice-docse33.html#x43-1140008.1.2" id="QQ2-43-138">Performing Automatic Layout</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.3 <a
-href="etrice-docse33.html#x43-1150008.1.3" id="QQ2-43-139">Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.4 <a
-href="etrice-docse33.html#x43-1160008.1.4" id="QQ2-43-141">Configuring Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.5 <a
-href="etrice-docse33.html#x43-1210008.1.5" id="QQ2-43-149">Special Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.6 <a
-href="etrice-docse33.html#x43-1240008.1.6" id="QQ2-43-152">Further References</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse34.html#x44-1250008.2">eTrice Models and Their Relations</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
-href="etrice-docse34.html#x44-1260008.2.1" id="QQ2-44-154">The ROOM Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
-href="etrice-docse34.html#x44-1270008.2.2" id="QQ2-44-157">The Config Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
-href="etrice-docse34.html#x44-1280008.2.3" id="QQ2-44-159">The Physical Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
-href="etrice-docse34.html#x44-1290008.2.4" id="QQ2-44-162">The Mapping Model</a></span>
-<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x45-1300009">eTrice Tool Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse35.html#x46-1310009.1">Architecture</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
-href="etrice-docse35.html#x46-1320009.1.1" id="QQ2-46-166">Editor and Generator Components</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
-href="etrice-docse35.html#x46-1330009.1.2" id="QQ2-46-167">Runtimes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
-href="etrice-docse35.html#x46-1340009.1.3" id="QQ2-46-168">Unit Tests</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse36.html#x47-1350009.2">Component Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.1 <a
-href="etrice-docse36.html#x47-1360009.2.1" id="QQ2-47-170">Room Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.2 <a
-href="etrice-docse36.html#x47-1420009.2.2" id="QQ2-47-176">Config Language Overview</a></span>
-
-
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.3 <a
-href="etrice-docse36.html#x47-1460009.2.3" id="QQ2-47-180">Aggregation Layer Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.4 <a
-href="etrice-docse36.html#x47-1500009.2.4" id="QQ2-47-184">Generator Overview</a></span>
-</div>
-
-
-<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch1.html" >next</a>] [<a
-href="etrice-doc.html" >prev</a>] [<a
-href="etrice-doc.html#tailetrice-doc" >prev-tail</a>] [<a
-href="etrice-docli1.html" >front</a>] [<a
-href="etrice-doc.html#etrice-docli1.html" >up</a>] </p></div>
-<!--l. 54--><p class="noindent" ><a
- id="tailetrice-docli1.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Contents</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch1.html" >next</a>] [<a
+href="etrice-doc.html" >prev</a>] [<a
+href="etrice-doc.html#tailetrice-doc" >prev-tail</a>] [<a
+href="#tailetrice-docli1.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docli1.html" >up</a>] </p></div>
+<h2 class="likechapterHead"><a
+ id="x2-1000"></a>Contents</h2>
+
+
+<div class="tableofcontents">
+<span class="chapterToc" >1 <a
+href="etrice-docch1.html#x3-20001">Introduction</a></span>
+<br />&#x00A0;<span class="sectionToc" >1.1 <a
+href="etrice-docse1.html#x4-30001.1">eTrice Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.1 <a
+href="etrice-docse1.html#x4-40001.1.1" id="QQ2-4-4">What is eTrice?</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.2 <a
+href="etrice-docse1.html#x4-50001.1.2" id="QQ2-4-5">Reduction of Complexity</a></span>
+<br />&#x00A0;<span class="sectionToc" >1.2 <a
+href="etrice-docse2.html#x5-60001.2">Introduction to the ROOM Language</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.1 <a
+href="etrice-docse2.html#x5-70001.2.1" id="QQ2-5-7">Scope of ROOM</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.2 <a
+href="etrice-docse2.html#x5-130001.2.2" id="QQ2-5-13">Basic Concepts</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.2.3 <a
+href="etrice-docse2.html#x5-180001.2.3" id="QQ2-5-19">Execution Models</a></span>
+<br /><span class="chapterToc" >2 <a
+href="etrice-docch2.html#x6-250002">Tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3">Setting up the Workspace for C Projects</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
+href="etrice-docse5.html#x9-290002.3.1" id="QQ2-9-30">Testing the environment</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
+href="etrice-docse5.html#x9-300002.3.2" id="QQ2-9-31">Building the C runtime system</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-310002.4">HelloWorld for Java</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
+href="etrice-docse6.html#x10-320002.4.1" id="QQ2-10-33">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
+href="etrice-docse6.html#x10-330002.4.2" id="QQ2-10-34">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
+href="etrice-docse6.html#x10-340002.4.3" id="QQ2-10-35">Create a state machine</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
+href="etrice-docse6.html#x10-350002.4.4" id="QQ2-10-36">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
+href="etrice-docse6.html#x10-360002.4.5" id="QQ2-10-37">Open the Message Sequence Chart</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
+href="etrice-docse6.html#x10-370002.4.6" id="QQ2-10-38">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-380002.5">HelloWorld for C</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
+href="etrice-docse7.html#x11-390002.5.1" id="QQ2-11-40">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
+href="etrice-docse7.html#x11-400002.5.2" id="QQ2-11-41">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
+href="etrice-docse7.html#x11-410002.5.3" id="QQ2-11-42">Create the HelloWorld model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
+href="etrice-docse7.html#x11-420002.5.4" id="QQ2-11-43">Create a launch configuration to start the C code generator</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
+href="etrice-docse7.html#x11-430002.5.5" id="QQ2-11-44">Generate the code</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
+href="etrice-docse7.html#x11-440002.5.6" id="QQ2-11-45">Setup the include path</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
+href="etrice-docse7.html#x11-450002.5.7" id="QQ2-11-46">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
+href="etrice-docse7.html#x11-460002.5.8" id="QQ2-11-47">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.6 <a
+href="etrice-docse8.html#x12-470002.6">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.1 <a
+href="etrice-docse8.html#x12-480002.6.1" id="QQ2-12-49">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.2 <a
+href="etrice-docse8.html#x12-490002.6.2" id="QQ2-12-50">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.3 <a
+href="etrice-docse8.html#x12-500002.6.3" id="QQ2-12-51">Add two additional actor classes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.4 <a
+href="etrice-docse8.html#x12-510002.6.4" id="QQ2-12-52">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.5 <a
+href="etrice-docse8.html#x12-520002.6.5" id="QQ2-12-53">Import the Timing Service</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.6 <a
+href="etrice-docse8.html#x12-530002.6.6" id="QQ2-12-54">Finish the model structure</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.7 <a
+href="etrice-docse8.html#x12-540002.6.7" id="QQ2-12-55">Implement the Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.6.8 <a
+href="etrice-docse8.html#x12-550002.6.8" id="QQ2-12-56">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.7 <a
+href="etrice-docse9.html#x13-560002.7">Tutorial Sending Data (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.1 <a
+href="etrice-docse9.html#x13-570002.7.1" id="QQ2-13-58">Scope</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.2 <a
+href="etrice-docse9.html#x13-580002.7.2" id="QQ2-13-59">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.3 <a
+href="etrice-docse9.html#x13-590002.7.3" id="QQ2-13-60">Add a data class</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.4 <a
+href="etrice-docse9.html#x13-600002.7.4" id="QQ2-13-61">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.5 <a
+href="etrice-docse9.html#x13-610002.7.5" id="QQ2-13-62">Create MrPing and MrPong Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.6 <a
+href="etrice-docse9.html#x13-620002.7.6" id="QQ2-13-63">Define Actor Structure and Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.7 <a
+href="etrice-docse9.html#x13-630002.7.7" id="QQ2-13-64">Define MrPongs behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.8 <a
+href="etrice-docse9.html#x13-640002.7.8" id="QQ2-13-65">Define MrPing behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.9 <a
+href="etrice-docse9.html#x13-650002.7.9" id="QQ2-13-66">Define the top level</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.10 <a
+href="etrice-docse9.html#x13-660002.7.10" id="QQ2-13-67">Generate and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.7.11 <a
+href="etrice-docse9.html#x13-670002.7.11" id="QQ2-13-68">Summary</a></span>
+<br /><span class="chapterToc" >3 <a
+href="etrice-docch3.html#x14-680003">Tutorial Pedestrian Lights (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse10.html#x15-690003.1">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse11.html#x16-700003.2">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse12.html#x17-710003.3">Why does it work and why is it safe?</a></span>
+<br /><span class="chapterToc" >4 <a
+href="etrice-docch4.html#x18-720004">ROOM Concepts</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse13.html#x19-730004.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.1 <a
+href="etrice-docse13.html#x19-740004.1.1" id="QQ2-19-75">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.2 <a
+href="etrice-docse13.html#x19-750004.1.2" id="QQ2-19-76">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.3 <a
+href="etrice-docse13.html#x19-760004.1.3" id="QQ2-19-77">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.1.4 <a
+href="etrice-docse13.html#x19-770004.1.4" id="QQ2-19-79">Details</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse14.html#x20-810004.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.1 <a
+href="etrice-docse14.html#x20-820004.2.1" id="QQ2-20-85">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.2 <a
+href="etrice-docse14.html#x20-830004.2.2" id="QQ2-20-86">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.2.3 <a
+href="etrice-docse14.html#x20-840004.2.3" id="QQ2-20-87">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.3 <a
+href="etrice-docse15.html#x21-850004.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.1 <a
+href="etrice-docse15.html#x21-860004.3.1" id="QQ2-21-89">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.2 <a
+href="etrice-docse15.html#x21-870004.3.2" id="QQ2-21-90">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.3.3 <a
+href="etrice-docse15.html#x21-880004.3.3" id="QQ2-21-91">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.4 <a
+href="etrice-docse16.html#x22-910004.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.1 <a
+href="etrice-docse16.html#x22-920004.4.1" id="QQ2-22-109">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.2 <a
+href="etrice-docse16.html#x22-930004.4.2" id="QQ2-22-110">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.5 <a
+href="etrice-docse17.html#x23-940004.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.5.1 <a
+href="etrice-docse17.html#x23-950004.5.1" id="QQ2-23-112">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.5.2 <a
+href="etrice-docse17.html#x23-960004.5.2" id="QQ2-23-113">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.6 <a
+href="etrice-docse18.html#x24-970004.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.1 <a
+href="etrice-docse18.html#x24-980004.6.1" id="QQ2-24-116">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.2 <a
+href="etrice-docse18.html#x24-990004.6.2" id="QQ2-24-117">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.3 <a
+href="etrice-docse18.html#x24-1000004.6.3" id="QQ2-24-118">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.6.4 <a
+href="etrice-docse18.html#x24-1030004.6.4" id="QQ2-24-123">Examples</a></span>
+<br /><span class="chapterToc" >5 <a
+href="etrice-docch5.html#x25-1040005">eTrice Features</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.1 <a
+href="etrice-docse19.html#x26-1050005.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.1 <a
+href="etrice-docse19.html#x26-1060005.1.1" id="QQ2-26-130">Overview</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.2 <a
+href="etrice-docse19.html#x26-1070005.1.2" id="QQ2-26-131">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.3 <a
+href="etrice-docse19.html#x26-1080005.1.3" id="QQ2-26-132">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.4 <a
+href="etrice-docse19.html#x26-1090005.1.4" id="QQ2-26-134">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.5 <a
+href="etrice-docse19.html#x26-1140005.1.5" id="QQ2-26-142">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.1.6 <a
+href="etrice-docse19.html#x26-1170005.1.6" id="QQ2-26-145">Further References</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.2 <a
+href="etrice-docse20.html#x27-1180005.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.1 <a
+href="etrice-docse20.html#x27-1190005.2.1" id="QQ2-27-147">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.2 <a
+href="etrice-docse20.html#x27-1200005.2.2" id="QQ2-27-150">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.3 <a
+href="etrice-docse20.html#x27-1210005.2.3" id="QQ2-27-152">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.4 <a
+href="etrice-docse20.html#x27-1220005.2.4" id="QQ2-27-155">The Mapping Model</a></span>
+<br /><span class="chapterToc" >6 <a
+href="etrice-docch6.html#x28-1230006">eTrice Tool Developer&#8217;s Reference</a></span>
+<br />&#x00A0;<span class="sectionToc" >6.1 <a
+href="etrice-docse21.html#x29-1240006.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.1 <a
+href="etrice-docse21.html#x29-1250006.1.1" id="QQ2-29-159">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.2 <a
+href="etrice-docse21.html#x29-1260006.1.2" id="QQ2-29-160">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.1.3 <a
+href="etrice-docse21.html#x29-1270006.1.3" id="QQ2-29-161">Unit Tests</a></span>
+<br />&#x00A0;<span class="sectionToc" >6.2 <a
+href="etrice-docse22.html#x30-1280006.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.1 <a
+href="etrice-docse22.html#x30-1290006.2.1" id="QQ2-30-163">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.2 <a
+href="etrice-docse22.html#x30-1350006.2.2" id="QQ2-30-169">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.3 <a
+href="etrice-docse22.html#x30-1390006.2.3" id="QQ2-30-173">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >6.2.4 <a
+href="etrice-docse22.html#x30-1430006.2.4" id="QQ2-30-177">Generator Overview</a></span>
+</div>
+
+
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch1.html" >next</a>] [<a
+href="etrice-doc.html" >prev</a>] [<a
+href="etrice-doc.html#tailetrice-doc" >prev-tail</a>] [<a
+href="etrice-docli1.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docli1.html" >up</a>] </p></div>
+<!--l. 54--><p class="noindent" ><a
+ id="tailetrice-docli1.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
index 14d12d8e2..c3e16274f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
@@ -1,86 +1,86 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>eTrice Overview</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse2.html" >next</a>] [<a
-href="etrice-docch1.html" >prev</a>] [<a
-href="etrice-docch1.html#tailetrice-docch1.html" >prev-tail</a>] [<a
-href="#tailetrice-docse1.html">tail</a>] [<a
-href="etrice-docch1.html#etrice-docse1.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">1.1 </span> <a
- id="x4-30001.1"></a>eTrice Overview</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">1.1.1 </span> <a
- id="x4-40001.1.1"></a>What is eTrice?</h4>
-<!--l. 5--><p class="noindent" >eTrice provides an implementation of the ROOM modeling language (Real Time Object Oriented
-Modeling) together with editors, code generators for Java, C++ and C code and exemplary target
-middleware.
-</p><!--l. 8--><p class="noindent" >The model is defined in textual form (Xtext) with graphical editors (Graphiti) for the structural and behavioral
-(i.e. state machine) parts.
-</p><!--l. 11--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">1.1.2 </span> <a
- id="x4-50001.1.2"></a>Reduction of Complexity</h4>
-<!--l. 13--><p class="noindent" >eTrice is all about the reduction of complexity:
-</p>
- <ul class="itemize1">
- <li class="itemize">structural complexity
- <ul class="itemize2">
- <li class="itemize">by explicit modeling of hierarchical Actor containment, layering and inheritance</li></ul>
- </li>
- <li class="itemize">behavioral complexity
- <ul class="itemize2">
- <li class="itemize">by hierarchical state machines with inheritance</li></ul>
-
-
- </li>
- <li class="itemize">team work complexity
- <ul class="itemize2">
- <li class="itemize">because loosely coupled Actors provide a natural way to structure team work
- </li>
- <li class="itemize">since textual model notation allows simple branching and merging</li></ul>
- </li>
- <li class="itemize">complexity of concurrent &amp; distributed systems
- <ul class="itemize2">
- <li class="itemize">because loosely coupled Actors are deployable to threads, processes, nodes</li></ul>
- </li>
- <li class="itemize">complexity of variant handling and reuse (e.g. for product lines)
- <ul class="itemize2">
- <li class="itemize">by composition of existing Actors to new structures
- </li>
- <li class="itemize">since Protocols and Ports make Actors replaceable
- </li>
- <li class="itemize">by inheritance for structure, behavior and Protocols
- </li>
- <li class="itemize">by making use of model level libraries</li></ul>
- </li>
- <li class="itemize">complexity of debugging
- <ul class="itemize2">
- <li class="itemize">model level debugging: state machine animation, data inspection and manipulation, message
- injection, generated message sequence charts
- </li>
- <li class="itemize">model checking easier for model than for code (detect errors before they occur)</li></ul>
- </li></ul>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse2.html" >next</a>] [<a
-href="etrice-docch1.html" >prev</a>] [<a
-href="etrice-docch1.html#tailetrice-docch1.html" >prev-tail</a>] [<a
-href="etrice-docse1.html" >front</a>] [<a
-href="etrice-docch1.html#etrice-docse1.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse1.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>eTrice Overview</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse2.html" >next</a>] [<a
+href="etrice-docch1.html" >prev</a>] [<a
+href="etrice-docch1.html#tailetrice-docch1.html" >prev-tail</a>] [<a
+href="#tailetrice-docse1.html">tail</a>] [<a
+href="etrice-docch1.html#etrice-docse1.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">1.1 </span> <a
+ id="x4-30001.1"></a>eTrice Overview</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.1.1 </span> <a
+ id="x4-40001.1.1"></a>What is eTrice?</h4>
+<!--l. 5--><p class="noindent" >eTrice provides an implementation of the ROOM modeling language (Real Time Object Oriented
+Modeling) together with editors, code generators for Java, C++ and C code and exemplary target
+middleware.
+</p><!--l. 8--><p class="noindent" >The model is defined in textual form (Xtext) with graphical editors (Graphiti) for the structural and behavioral
+(i.e. state machine) parts.
+</p><!--l. 11--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.1.2 </span> <a
+ id="x4-50001.1.2"></a>Reduction of Complexity</h4>
+<!--l. 13--><p class="noindent" >eTrice is all about the reduction of complexity:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">structural complexity
+ <ul class="itemize2">
+ <li class="itemize">by explicit modeling of hierarchical Actor containment, layering and inheritance</li></ul>
+ </li>
+ <li class="itemize">behavioral complexity
+ <ul class="itemize2">
+ <li class="itemize">by hierarchical state machines with inheritance</li></ul>
+
+
+ </li>
+ <li class="itemize">team work complexity
+ <ul class="itemize2">
+ <li class="itemize">because loosely coupled Actors provide a natural way to structure team work
+ </li>
+ <li class="itemize">since textual model notation allows simple branching and merging</li></ul>
+ </li>
+ <li class="itemize">complexity of concurrent &amp; distributed systems
+ <ul class="itemize2">
+ <li class="itemize">because loosely coupled Actors are deployable to threads, processes, nodes</li></ul>
+ </li>
+ <li class="itemize">complexity of variant handling and reuse (e.g. for product lines)
+ <ul class="itemize2">
+ <li class="itemize">by composition of existing Actors to new structures
+ </li>
+ <li class="itemize">since Protocols and Ports make Actors replaceable
+ </li>
+ <li class="itemize">by inheritance for structure, behavior and Protocols
+ </li>
+ <li class="itemize">by making use of model level libraries</li></ul>
+ </li>
+ <li class="itemize">complexity of debugging
+ <ul class="itemize2">
+ <li class="itemize">model level debugging: state machine animation, data inspection and manipulation, message
+ injection, generated message sequence charts
+ </li>
+ <li class="itemize">model checking easier for model than for code (detect errors before they occur)</li></ul>
+ </li></ul>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse2.html" >next</a>] [<a
+href="etrice-docch1.html" >prev</a>] [<a
+href="etrice-docch1.html#tailetrice-docch1.html" >prev-tail</a>] [<a
+href="etrice-docse1.html" >front</a>] [<a
+href="etrice-docch1.html#etrice-docse1.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse1.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
index 19bee8968..d0832224a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
@@ -1,61 +1,71 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Why does it work and why is it safe?</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch4.html" >next</a>] [<a
-href="etrice-docse9.html" >prev</a>] [<a
-href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
-href="#tailetrice-docse10.html">tail</a>] [<a
-href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">3.3 </span> <a
- id="x15-590003.3"></a>Why does it work and why is it safe?</h3>
-<!--l. 99--><p class="noindent" >The tutorial shows that it is generally possible to use every port from outside the model as long as the port
-knows its peer. This is guaranteed by describing protocol and the complete structure (especially the bindings)
-within the model. The only remaining question is: Why is it safe and does not violate the <span
-class="ec-lmssbx-10">run to</span>
-<span
-class="ec-lmssbx-10">completion </span>semantic. To answer this question, take a look at the <span
-class="ec-lmsso-10">MessageService.java </span>from the
-runtime environment. There you will find the receive method which puts each message into the
-queue.
-
-
-</p>
-<div class="verbatim" id="verbatim-17">
-&#x00A0;&#x00A0;&#x00A0;&#x00A0;@Override
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;public&#x00A0;synchronized&#x00A0;void&#x00A0;receive(Message&#x00A0;msg)&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;if&#x00A0;(msg!=null)&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;messageQueue.push(msg);
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;notifyAll();&#x00A0;//&#x00A0;wake&#x00A0;up&#x00A0;thread&#x00A0;to&#x00A0;compute&#x00A0;message
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-</div>
-<!--l. 114--><p class="nopar" >
-</p><!--l. 116--><p class="noindent" >This method is synchronized. That means, regardless who sends the message, the queue is secured. If we later
-on (e.g. for performance reasons in C/C++) distinguish between internal and external senders (same thread or
-not), care must be taken to use the external (secure) queue.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch4.html" >next</a>] [<a
-href="etrice-docse9.html" >prev</a>] [<a
-href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
-href="etrice-docse10.html" >front</a>] [<a
-href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse10.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Scope</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse11.html" >next</a>] [<a
+href="etrice-docch3.html" >prev</a>] [<a
+href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
+href="#tailetrice-docse10.html">tail</a>] [<a
+href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">3.1 </span> <a
+ id="x15-690003.1"></a>Scope</h3>
+<!--l. 5--><p class="noindent" >The scope of this tutorial is to demonstrate how to receive model messages from outside the
+model. Calling methods which are not part of the model is simple and you have already done
+this within the blinky tutorial (this is the other way round: model =&#x003E; external code). Receiving
+events from outside the model is a very common problem and a very frequently asked question.
+Therefore this tutorial shows how an external event (outside the model) can be received by the
+model.
+</p><!--l. 11--><p class="noindent" >This tutorial is not like hello world or blinky. Being familiar with the basic tool features is mandatory for this
+tutorial. The goal is to understand the mechanism not to learn the tool features.
+</p><!--l. 14--><p class="noindent" >The idea behind the exercise is, to control a Pedestrian crossing light. We will use the same GUI as for the
+blinky tutorial but now we will use the <span
+class="ec-lmsso-10">REQUEST </span>button to start a FSM, which controls the traffic
+lights.
+</p><!--l. 18--><p class="noindent" ><img
+src="images/020-Blinky08.png" alt="PIC"
+ />
+</p><!--l. 21--><p class="noindent" >The <span
+class="ec-lmsso-10">REQUEST </span>must lead to a model message which starts the activity of the lights.
+</p><!--l. 23--><p class="noindent" >There are several possibilities to receive external events (e.g. TCP/UDP Socket, using OS messaging
+mechanism), but the easiest way is, to make a port usable from outside the model. To do that a few steps are
+necessary:
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x15-69002x1">specify the messages (within a protocol) which should be sent into the model
+ </li>
+ <li
+ class="enumerate" id="x15-69004x2">model an actor with a port (which uses the specified protocol) and connect the port to the receiver
+ </li>
+ <li
+ class="enumerate" id="x15-69006x3">the external code should know the port (import of the port class)
+ </li>
+ <li
+ class="enumerate" id="x15-69008x4">the external code should provide a registration method, so that the actor is able to allow access
+ to this port
+ </li>
+ <li
+ class="enumerate" id="x15-69010x5">the port can be used from the external code</li></ol>
+
+
+<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse11.html" >next</a>] [<a
+href="etrice-docch3.html" >prev</a>] [<a
+href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
+href="etrice-docse10.html" >front</a>] [<a
+href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
+<!--l. 35--><p class="noindent" ><a
+ id="tailetrice-docse10.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
index 00390abf7..9b4c4bf6b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
@@ -1,71 +1,124 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Testing the environment</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse12.html" >next</a>] [<a
-href="etrice-docch4.html" >prev</a>] [<a
-href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
-href="#tailetrice-docse11.html">tail</a>] [<a
-href="etrice-docch4.html#etrice-docse11.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">4.1 </span> <a
- id="x17-610004.1"></a>Testing the environment</h3>
-<!--l. 21--><p class="noindent" >To verify the C tool chain you should generate and run the Hello World example program of the CDT. Activate
-the <span
-class="ec-lmsso-10">C/C++ </span>perspective.
-</p><!--l. 24--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC03.png" alt="PIC"
- />
-</p><!--l. 27--><p class="noindent" >From the main menu select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>.
-</p><!--l. 29--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC02.png" alt="PIC"
- />
-</p><!--l. 32--><p class="noindent" >Name the project. Select an <span
-class="ec-lmsso-10">Executable-&#x003E;Hello World ANSI C </span>as project type, <span
-class="ec-lmsso-10">MinGW GCC </span>as tool chain and
-click <span
-class="ec-lmsso-10">Finish</span>.
-</p><!--l. 35--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC04.png" alt="PIC"
- />
-</p><!--l. 38--><p class="noindent" >Select the new project and click the build button (or right click the project and select <span
-class="ec-lmsso-10">Build Project</span>)
-</p><!--l. 41--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC05.png" alt="PIC"
- />
-</p><!--l. 44--><p class="noindent" >The binary should be generated. Run the binary as <span
-class="ec-lmsso-10">Local C/C++ Application</span>.
-</p><!--l. 46--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC06.png" alt="PIC"
- />
-</p><!--l. 49--><p class="noindent" >Verify the output.
-</p><!--l. 51--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC07.png" alt="PIC"
- />
-</p><!--l. 54--><p class="noindent" >Remember these steps. In the following Tutorials these steps will be referenced as <span
-class="ec-lmsso-10">build and run</span>.
-
-
-</p>
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse12.html" >next</a>] [<a
-href="etrice-docch4.html" >prev</a>] [<a
-href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
-href="etrice-docse11.html" >front</a>] [<a
-href="etrice-docch4.html#etrice-docse11.html" >up</a>] </p></div>
-<!--l. 57--><p class="noindent" ><a
- id="tailetrice-docse11.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Setup the model</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse12.html" >next</a>] [<a
+href="etrice-docse10.html" >prev</a>] [<a
+href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
+href="#tailetrice-docse11.html">tail</a>] [<a
+href="etrice-docch3.html#etrice-docse11.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">3.2 </span> <a
+ id="x16-700003.2"></a>Setup the model</h3>
+ <ul class="itemize1">
+ <li class="itemize">Use the <span
+class="ec-lmsso-10">New Model Wizzard </span>to create a new eTrice project and name it <span
+class="ec-lmsso-10">PedLightsController</span>.
+ </li>
+ <li class="itemize">Copy the package <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>to your <span
+class="ec-lmsso-10">src </span>directory (see blinky
+ tutorial).
+ </li>
+ <li class="itemize">In PedestrianLightWndNoTcp.jav uncomment line 15 (import), 36, 122 (usage) and 132-134
+ (registration). The error markers will disappear after the code is generated from the model.
+ </li>
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 44--><p class="noindent" >
+Copy the model from /org.eclipse.etrice.tutorials/model/PedLightsController to your model file, or run
+the model directly in the tutorial directory.</p></div>
+ </li>
+ <li class="itemize">Adapt the import statement to your path.</li></ul>
+
+
+<div class="verbatim" id="verbatim-17">
+import&#x00A0;room.basic.service.timing.*&#x00A0;from
+&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
+</div>
+<!--l. 53--><p class="nopar" >
+</p>
+ <ul class="itemize1">
+ <li class="itemize">Generate the code from the model.
+ </li>
+ <li class="itemize">Add the org.eclipse.etrice.modellib to the Java Class Path of your project.
+ </li>
+ <li class="itemize">All error markers should be disappeared and the model should be operable.
+ </li>
+ <li class="itemize">Arrange the Structure and the Statemachines to understand the model</li></ul>
+
+<!--l. 63--><p class="noindent" ><img
+src="images/030-PedLights01.png" alt="PIC"
+ /> The <span
+class="ec-lmsso-10">GuiAdapter </span>represents the interface to the external code. It registers its <span
+class="ec-lmsso-10">ControlPort </span>by the external
+code.
+</p><!--l. 68--><p class="noindent" ><img
+src="images/030-PedLights02.png" alt="PIC"
+ /> Visit the initial transition to understand the registration. The actor handles the incoming messages as
+usual and controls the traffic lights as known from blinky.
+</p><!--l. 73--><p class="noindent" ><img
+src="images/030-PedLights03.png" alt="PIC"
+ /> The <span
+class="ec-lmsso-10">Controller </span>receives the <span
+class="ec-lmsso-10">start </span>message and controls the timing of the lights. Note that the <span
+class="ec-lmsso-10">start</span>
+message will be sent from the external code whenever the <span
+class="ec-lmsso-10">REQUEST </span>button is pressed.
+</p>
+ <ul class="itemize1">
+ <li class="itemize">Visit the model and take a closer look to the following elements:
+ <ol class="enumerate1" >
+ <li
+ class="enumerate" id="x16-70002x1">PedControlProtocol =&#x003E; notice that the start message is defined as usual
+ </li>
+ <li
+ class="enumerate" id="x16-70004x2">Initial transition of the <span
+class="ec-lmsso-10">GuiAdapter </span>=&#x003E; see the registration
+ </li>
+ <li
+ class="enumerate" id="x16-70006x3">The <span
+class="ec-lmsso-10">Controller </span>=&#x003E; notice that the <span
+class="ec-lmsso-10">Controller </span>receives the external message (not the
+ <span
+class="ec-lmsso-10">GuiAdapter</span>). The <span
+class="ec-lmsso-10">GuiAdapter </span>just provides its port and handles the incoming messages.
+ </li>
+ <li
+ class="enumerate" id="x16-70008x4">Visit the hand written code =&#x003E; see the import statement of the protocol class and the
+ usage of the port.</li></ol>
+ </li>
+ <li class="itemize">Generate and test the model
+ </li>
+ <li class="itemize">Take a look at the generated MSC =&#x003E; notice that the start message will shown as if the <span
+class="ec-lmsso-10">GuiAdapter</span>
+ had sent it.</li></ul>
+
+<!--l. 94--><p class="noindent" ><img
+src="images/030-PedLights04.png" alt="PIC"
+ />
+
+
+</p>
+<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse12.html" >next</a>] [<a
+href="etrice-docse10.html" >prev</a>] [<a
+href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
+href="etrice-docse11.html" >front</a>] [<a
+href="etrice-docch3.html#etrice-docse11.html" >up</a>] </p></div>
+<!--l. 97--><p class="noindent" ><a
+ id="tailetrice-docse11.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
index a00ea8f40..413a69ccb 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
@@ -1,82 +1,61 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Building the C runtime system</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch5.html" >next</a>] [<a
-href="etrice-docse11.html" >prev</a>] [<a
-href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
-href="#tailetrice-docse12.html">tail</a>] [<a
-href="etrice-docch4.html#etrice-docse12.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">4.2 </span> <a
- id="x18-620004.2"></a>Building the C runtime system</h3>
-<!--l. 59--><p class="noindent" >The C runtime system contains some basic functionalities to run the generated models. The so called runtime
-is common for all C projects. The requirements for several projects may differ depending on the functionality of
-the model or the resources of the different platforms. Therefore the runtime is configurable in terms of
-message queue size, frequency and memory alignment. The configuration file <span
-class="ec-lmsso-10">etRuntimeConfig.h </span>is located in
-<span
-class="ec-lmsso-10">src/config</span>.
-</p><!--l. 65--><p class="noindent" >After changing the configuration, the runtime must be built.
-</p><!--l. 67--><p class="noindent" >Open the properties of the <span
-class="ec-lmsso-10">org.eclipse.runtime.c </span>project and select <span
-class="ec-lmsso-10">C/C++ Build-&#x003E;Settings-&#x003E;Tool Settings</span>
-and select <span
-class="ec-lmsso-10">Includes</span>.
-</p><!--l. 70--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC08.png" alt="PIC"
- />
-</p><!--l. 73--><p class="noindent" >Verify the include paths
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">src/config</span>
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">src/common</span>
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">src/platforms/generic</span></li></ul>
-<!--l. 81--><p class="noindent" >Within the Setting dialog select the tab <span
-class="ec-lmsso-10">Build Artefact </span>and select <span
-class="ec-lmsso-10">Static Library</span>
-</p><!--l. 83--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC09.png" alt="PIC"
- />
-</p><!--l. 86--><p class="noindent" >Build the runtime by clicking
-</p><!--l. 88--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC10.png" alt="PIC"
- />
-</p><!--l. 91--><p class="noindent" >The runtime library should be created.
-</p><!--l. 93--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC11.png" alt="PIC"
- />
-</p><!--l. 96--><p class="noindent" >For the tutorials one runtime library should be sufficient. For embedded projects it might be necessary to build
-project specific runtime libraries. In this case a separate project for the runtime should be created. Symbolic
-links to the sources might be used to avoid duplicate files. Just the configuration file must be duplicated. A
-specific library file must exist within the project. Such specific runtime libraries might be referenced from
-several applications.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch5.html" >next</a>] [<a
-href="etrice-docse11.html" >prev</a>] [<a
-href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
-href="etrice-docse12.html" >front</a>] [<a
-href="etrice-docch4.html#etrice-docse12.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse12.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Why does it work and why is it safe?</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch4.html" >next</a>] [<a
+href="etrice-docse11.html" >prev</a>] [<a
+href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
+href="#tailetrice-docse12.html">tail</a>] [<a
+href="etrice-docch3.html#etrice-docse12.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">3.3 </span> <a
+ id="x17-710003.3"></a>Why does it work and why is it safe?</h3>
+<!--l. 99--><p class="noindent" >The tutorial shows that it is generally possible to use every port from outside the model as long as the port
+knows its peer. This is guaranteed by describing protocol and the complete structure (especially the bindings)
+within the model. The only remaining question is: Why is it safe and does not violate the <span
+class="ec-lmssbx-10">run to</span>
+<span
+class="ec-lmssbx-10">completion </span>semantic. To answer this question, take a look at the <span
+class="ec-lmsso-10">MessageService.java </span>from the
+runtime environment. There you will find the receive method which puts each message into the
+queue.
+
+
+</p>
+<div class="verbatim" id="verbatim-18">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;@Override
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;public&#x00A0;synchronized&#x00A0;void&#x00A0;receive(Message&#x00A0;msg)&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;if&#x00A0;(msg!=null)&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;messageQueue.push(msg);
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;notifyAll();&#x00A0;//&#x00A0;wake&#x00A0;up&#x00A0;thread&#x00A0;to&#x00A0;compute&#x00A0;message
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+</div>
+<!--l. 114--><p class="nopar" >
+</p><!--l. 116--><p class="noindent" >This method is synchronized. That means, regardless who sends the message, the queue is secured. If we later
+on (e.g. for performance reasons in C/C++) distinguish between internal and external senders (same thread or
+not), care must be taken to use the external (secure) queue.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch4.html" >next</a>] [<a
+href="etrice-docse11.html" >prev</a>] [<a
+href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
+href="etrice-docse12.html" >front</a>] [<a
+href="etrice-docch3.html#etrice-docse12.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse12.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
index b5ce122ef..86d88e357 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
@@ -1,62 +1,781 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Scope</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse14.html" >next</a>] [<a
-href="etrice-docch5.html" >prev</a>] [<a
-href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
-href="#tailetrice-docse13.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse13.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
- id="x20-640005.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >In this tutorial you will learn how to create a model for C from scratch. There are some more steps to do in C
-compared to Java. The goal is to get familiar with the additional steps. The Java tutorial is a prerequisite for
-the following explanations. You will perform the following steps:
-</p><!--l. 10--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x20-64002x1">create a new model from scratch for C
- </li>
- <li
- class="enumerate" id="x20-64004x2">create structure and behavior similar to Java
- </li>
- <li
- class="enumerate" id="x20-64006x3">create a launch configuration for the C code generator
- </li>
- <li
- class="enumerate" id="x20-64008x4">setup the C environment
- </li>
- <li
- class="enumerate" id="x20-64010x5">generate the source code
- </li>
- <li
- class="enumerate" id="x20-64012x6">run the model</li></ol>
-<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the Workspace for C</span>
-<span
-class="ec-lmsso-10">Projects</span>.
-
-
-</p>
-<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse14.html" >next</a>] [<a
-href="etrice-docch5.html" >prev</a>] [<a
-href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
-href="etrice-docse13.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse13.html" >up</a>] </p></div>
-<!--l. 23--><p class="noindent" ><a
- id="tailetrice-docse13.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Actors</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 8--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse14.html" >next</a>] [<a
+href="etrice-docch4.html" >prev</a>] [<a
+href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
+href="#tailetrice-docse13.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse13.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.1 </span> <a
+ id="x19-730004.1"></a>Actors</h3>
+<!--l. 10--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.1.1 </span> <a
+ id="x19-740004.1.1"></a>Description</h4>
+
+
+<!--l. 12--><p class="noindent" >The actor is the basic structural building block for building systems with ROOM. An actor can be refined
+hierarchically and thus can be of arbitrarily large scope. Ports define the interface of an actor. An actor can
+also have a behavior usually defined by a finite state machine.
+</p><!--l. 16--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.1.2 </span> <a
+ id="x19-750004.1.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Actors enable the construction of hierarchical structures by composition and layering
+ </li>
+ <li class="itemize">Actors have their own logical thread of execution
+ </li>
+ <li class="itemize">Actors can be freely deployed
+ </li>
+ <li class="itemize">Actors define potentially re-usable blocks</li></ul>
+<!--l. 25--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.1.3 </span> <a
+ id="x19-760004.1.3"></a>Notation</h4>
+<div class="table">
+
+
+<!--l. 30--><p class="noindent" ><a
+ id="x19-760011"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.1: </span><span
+class="content">Actor Class Notation</span></div><!--tex4ht:label?: x19-760011 -->
+<div class="tabular"> <table id="TBL-3" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-3-1g"><col
+id="TBL-3-1" /></colgroup><colgroup id="TBL-3-2g"><col
+id="TBL-3-2" /></colgroup><colgroup id="TBL-3-3g"><col
+id="TBL-3-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"
+class="td11"> ActorClass </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"
+class="td11"> <img
+src="images/040-ActorClassNotation.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"
+class="td11"> <!--l. 36--> <!--l. 36--><p class="noindent" ><div class="lstlisting" id="listing-2"><span class="label"><a
+ id="x19-76002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-1"
+class="td11"> ActorRef </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-2"
+class="td11"> <img
+src="images/040-ActorReferenceNotation.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-3"
+class="td11"> <!--l. 41--> <!--l. 41--><p class="noindent" ><div class="lstlisting" id="listing-3"><span class="label"><a
+ id="x19-76003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass1</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="x19-76004r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-76005r3"></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">ActorReference</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-76006r4"></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="x19-76007r5"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h4 class="subsectionHead"><span class="titlemark">4.1.4 </span> <a
+ id="x19-770004.1.4"></a>Details</h4>
+<!--l. 55--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x19-780004.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
+<!--l. 57--><p class="noindent" >An <span id="textcolor1"><span
+class="ec-lmssbx-10">ActorClass</span></span> defines the type (or blueprint) of an actor. Hierarchies are built by <span id="textcolor2"><span
+class="ec-lmssbx-10">ActorClass</span></span>es that contain
+<span id="textcolor3"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences which have another <span id="textcolor4"><span
+class="ec-lmssbx-10">ActorClass</span></span> as type. The interface of an <span id="textcolor5"><span
+class="ec-lmssbx-10">ActorClass</span></span> is
+always defined by <span id="textcolor6"><span
+class="ec-lmssbx-10">Port</span></span>s. The <span id="textcolor7"><span
+class="ec-lmssbx-10">ActorClass</span></span> can also contain <span id="textcolor8"><span
+class="ec-lmssbx-10">Attribute</span></span>s, <span id="textcolor9"><span
+class="ec-lmssbx-10">Operation</span></span>s and a finite
+<span id="textcolor10"><span
+class="ec-lmssbx-10">StateMachine</span></span>.
+</p><!--l. 63--><p class="noindent" >External <span id="textcolor11"><span
+class="ec-lmssbx-10">Port</span></span>s define the external interface of an actor and are defined in the <span id="textcolor12"><span
+class="ec-lmssbx-10">Interface</span></span> section of the
+<span id="textcolor13"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 66--><p class="noindent" >Internal <span id="textcolor14"><span
+class="ec-lmssbx-10">Port</span></span>s define the internal interface of an actor and are defined in the <span id="textcolor15"><span
+class="ec-lmssbx-10">Structure</span></span> section of the
+<span id="textcolor16"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 69--><p class="noindent" ><span id="textcolor17"><span
+class="ec-lmssbx-10">Binding</span></span>s connect <span id="textcolor18"><span
+class="ec-lmssbx-10">Port</span></span>s inside an <span id="textcolor19"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 71--><p class="noindent" >Let us have a look at example <a
+href="#x19-780012">4.2<!--tex4ht:ref: tab:actor_class_example --></a>:
+</p>
+<div class="table">
+
+
+<!--l. 74--><p class="noindent" ><a
+ id="x19-780012"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.2: </span><span
+class="content">Actor Class Example</span></div><!--tex4ht:label?: x19-780012 -->
+<div class="tabular"> <table id="TBL-4" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-4-1g"><col
+id="TBL-4-1" /></colgroup><colgroup id="TBL-4-2g"><col
+id="TBL-4-2" /></colgroup><colgroup id="TBL-4-3g"><col
+id="TBL-4-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"
+class="td11"> <img
+src="images/040-ActorClass.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
+class="td11"> <!--l. 80--> <!--l. 80--><p class="noindent" ><div class="lstlisting" id="listing-4"><span class="label"><a
+ id="x19-78002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass1</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="x19-78003r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78004r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78005r4"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port4</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78006r5"></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="x19-78007r6"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78008r7"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78009r8"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78010r9"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port3</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78011r10"></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">ActorRef_A</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78012r11"></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">ActorRef_B</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass3</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78013r12"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_A</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port5</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78014r13"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port3</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port6</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78015r14"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port7</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port4</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78016r15"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_A</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port8</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port9</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-78017r16"></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="x19-78018r17"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">ActorClass1 </span>contains two <span id="textcolor20"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences (of ActorClass2 and ActorClass3)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port1 </span>is an <span
+class="ec-lmsso-10">external end port</span>. Since it connects external actors with the behavior of the
+ <span id="textcolor21"><span
+class="ec-lmssbx-10">ActorClass</span></span>, it is defined in the <span id="textcolor22"><span
+class="ec-lmssbx-10">Interface</span></span> section and the <span id="textcolor23"><span
+class="ec-lmssbx-10">Structure</span></span> section of the <span id="textcolor24"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port2 </span>and <span
+class="ec-lmsso-10">port3 </span>are <span
+class="ec-lmsso-10">internal end ports </span>and can only be connected to the ports of contained
+ <span id="textcolor25"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. Internal end ports connect the behavior of an <span id="textcolor26"><span
+class="ec-lmssbx-10">ActorClass</span></span> with its contained
+ <span id="textcolor27"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port4 </span>is a relay port and connects external Actors to contained <span id="textcolor28"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. This port can
+ not be accessed by the behavior of the <span id="textcolor29"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port5 </span>through <span
+class="ec-lmsso-10">port9 </span>are ports of contained actor references. <span
+class="ec-lmsso-10">port8 </span>and <span
+class="ec-lmsso-10">port9 </span>can communicate
+ without interference with the containing actor class.
+ </li>
+ <li class="itemize"><span id="textcolor30"><span
+class="ec-lmssbx-10">Binding</span></span>s can connect ports of the actor class and its contained actor references.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x19-790004.1.4"></a>Attributes</h5>
+<!--l. 120--><p class="noindent" ><span id="textcolor31"><span
+class="ec-lmssbx-10">Attribute</span></span>s are part of the <span id="textcolor32"><span
+class="ec-lmssbx-10">Structure</span></span> of an actor class. They can be of a <span id="textcolor33"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a
+<span id="textcolor34"><span
+class="ec-lmssbx-10">DataClass</span></span>.
+</p><!--l. 123--><p class="noindent" >Example:
+</p>
+<!--l. 126-->
+<div class="lstlisting" id="listing-5"><span class="label"><a
+ id="x19-79001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass3</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="x19-79002r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-79003r3"></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">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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-lmtt-9">//</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-79004r4"></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">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-79005r5"></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="x19-79006r6"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 135--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x19-800004.1.4"></a>Operations</h5>
+<!--l. 137--><p class="noindent" ><span id="textcolor35"><span
+class="ec-lmssbx-10">Operation</span></span>s are part of the <span id="textcolor36"><span
+class="ec-lmssbx-10">Behavior</span></span> of an actor class. Arguments and return values can be of a
+<span id="textcolor37"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a <span id="textcolor38"><span
+class="ec-lmssbx-10">DataClass</span></span>. Data classes can be passed by value (implicit) or by reference
+(<span id="textcolor39"><span
+class="ec-lmssbx-10">ref</span></span>).
+</p><!--l. 140--><p class="noindent" >Example:
+</p>
+<!--l. 144-->
+<div class="lstlisting" id="listing-6"><span class="label"><a
+ id="x19-80001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass4</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="x19-80002r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Behavior</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="x19-80003r3"></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><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80004r4"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x19-80005r5"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80006r6"></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="x19-80007r7"></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><span
+class="ec-lmtt-9">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80008r8"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">float64</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">uint16</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="x19-80009r9"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80010r10"></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="x19-80011r11"></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><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80012r12"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">DataClass1</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="x19-80013r13"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80014r14"></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="x19-80015r15"></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><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reference</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">except</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">for</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">types</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80016r16"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation4</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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="x19-80017r17"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x19-80018r18"></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="x19-80019r19"></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="x19-80020r20"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse14.html" >next</a>] [<a
+href="etrice-docch4.html" >prev</a>] [<a
+href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
+href="etrice-docse13.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse13.html" >up</a>] </p></div>
+<!--l. 167--><p class="noindent" ><a
+ id="tailetrice-docse13.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
index 82364d32f..9983d4982 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
@@ -1,83 +1,137 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create a new model from scratch</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse15.html" >next</a>] [<a
-href="etrice-docse13.html" >prev</a>] [<a
-href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
-href="#tailetrice-docse14.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse14.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
- id="x21-650005.2"></a>Create a new model from scratch</h3>
-<!--l. 25--><p class="noindent" >Before you can create a new C-model, you have to create a new C project as described in <span
-class="ec-lmsso-10">Setting up the</span>
-<span
-class="ec-lmsso-10">Workspace for C Projects</span>. Remember: </p>
- <ul class="itemize1">
- <li class="itemize">select the <span
-class="ec-lmsso-10">C/C++ </span>perspective
- </li>
- <li class="itemize">From the main menue select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
- </li>
- <li class="itemize">Name the project <span
-class="ec-lmsso-10">HelloWorldC</span>
- </li>
- <li class="itemize">Project type is <span
-class="ec-lmsso-10">Executable / Empty C Project</span>
- </li>
- <li class="itemize">Toolchain is <span
-class="ec-lmsso-10">MinGW</span></li></ul>
-<!--l. 36--><p class="noindent" >The workspace should look like this:
-</p><!--l. 38--><p class="noindent" ><img
-src="images/034-HelloWorldC01.png" alt="PIC"
- />
-</p><!--l. 41--><p class="noindent" >The next step is to add the model folder: Right click on the new project. Select <span
-class="ec-lmsso-10">New-&#x003E;Folder </span>and name it
-<span
-class="ec-lmsso-10">model</span>.
-</p><!--l. 44--><p class="noindent" ><img
-src="images/034-HelloWorldC02.png" alt="PIC"
- />
-</p><!--l. 47--><p class="noindent" >Add the model file to the folder. Right click on the new folder. Select <span
-class="ec-lmsso-10">New-&#x003E;file </span>and name it
-<span
-class="ec-lmsso-10">HelloWorldC.room</span>.
-</p><!--l. 50--><p class="noindent" ><img
-src="images/034-HelloWorldC03.png" alt="PIC"
- />
-</p><!--l. 53--><p class="noindent" >Due to the file ending <span
-class="ec-lmsso-10">.room</span>, the tool will ask you to add the Xtext nature. Answer with <span
-class="ec-lmsso-10">Yes</span>.
-</p><!--l. 56--><p class="noindent" ><img
-src="images/034-HelloWorldC04.png" alt="PIC"
- />
-</p><!--l. 59--><p class="noindent" >The workspace should look like this:
-</p><!--l. 61--><p class="noindent" ><img
-src="images/034-HelloWorldC05.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse15.html" >next</a>] [<a
-href="etrice-docse13.html" >prev</a>] [<a
-href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
-href="etrice-docse14.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse14.html" >up</a>] </p></div>
-<!--l. 66--><p class="noindent" ><a
- id="tailetrice-docse14.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Protocols</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse15.html" >next</a>] [<a
+href="etrice-docse13.html" >prev</a>] [<a
+href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
+href="#tailetrice-docse14.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse14.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.2 </span> <a
+ id="x20-810004.2"></a>Protocols</h3>
+<!--l. 169--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.2.1 </span> <a
+ id="x20-820004.2.1"></a>Description</h4>
+<!--l. 171--><p class="noindent" >A <span id="textcolor40"><span
+class="ec-lmssbx-10">ProtocolClass</span></span> defines a set of incoming and outgoing <span id="textcolor41"><span
+class="ec-lmssbx-10">Message</span></span>s that can be exchanged between two ports.
+The exact semantics of a message is defined by the execution model.
+</p><!--l. 174--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.2.2 </span> <a
+ id="x20-830004.2.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Protocol classes provide a reusable interface specification for ports
+ </li>
+ <li class="itemize">Protocol classes can optionally specify valid message exchange sequences</li></ul>
+<!--l. 181--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.2.3 </span> <a
+ id="x20-840004.2.3"></a>Notation</h4>
+<!--l. 183--><p class="noindent" >Protocol classes have only textual notation. The example defines a protocol class with 2 incoming and two
+outgoing messages. Messages can have data attached. The data can be of a primitive type (e.g. int32, float64,
+...) or a data class.
+</p>
+<!--l. 188-->
+<div class="lstlisting" id="listing-7"><span class="label"><a
+ id="x20-84001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ProtocolClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</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="x20-84002r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">incoming</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="x20-84003r3"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m1</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">data</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x20-84004r4"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m2</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x20-84005r5"></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="x20-84006r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">outgoing</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="x20-84007r7"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">data</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x20-84008r8"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m4</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x20-84009r9"></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="x20-84010r10"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse15.html" >next</a>] [<a
+href="etrice-docse13.html" >prev</a>] [<a
+href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
+href="etrice-docse14.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse14.html" >up</a>] </p></div>
+<!--l. 201--><p class="noindent" ><a
+ id="tailetrice-docse14.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
index 804642fa3..6590a544e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
@@ -1,72 +1,1013 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create the HelloWorld model</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse16.html" >next</a>] [<a
-href="etrice-docse14.html" >prev</a>] [<a
-href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
-href="#tailetrice-docse15.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse15.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.3 </span> <a
- id="x22-660005.3"></a>Create the HelloWorld model</h3>
-<!--l. 68--><p class="noindent" >Once the model file is created and the Xtext nature is added, you can create the model as you did it for Java.
-Creating the model is not the focus of this tutorial. Therefore copy and paste the following code into your
-model file. Optionally you can open and layout the diagrams. Recognize the C specific parts:
-</p>
- <ul class="itemize1">
- <li class="itemize">The action code contains C instead of Java. Later versions will contain a common action language,
- but for the moment the action language is target specific.
- </li>
- <li class="itemize">The application must be shutdown on model level (see also <span
-class="ec-lmsso-10">etRuntimeConfig.h</span>).</li></ul>
-
-
-<div class="verbatim" id="verbatim-18">
-RoomModel&#x00A0;HelloWorldCModel&#x00A0;{
-&#x00A0;<br />import&#x00A0;room.basic.types.*&#x00A0;from&#x00A0;"../../org.eclipse.etrice.modellib.c/model/Types.room"
-&#x00A0;<br />SubSystemClass&#x00A0;HelloWorldCSubSysClass&#x00A0;{
-&#x00A0;<br />ActorRef&#x00A0;HelloETriceTopRef:AHelloWorldCTop
-&#x00A0;<br />}
-&#x00A0;<br />ActorClass&#x00A0;AHelloWorldCTop&#x00A0;{
-&#x00A0;<br />Structure&#x00A0;{&#x00A0;}
-&#x00A0;<br />Behavior&#x00A0;{
-&#x00A0;<br />StateMachine&#x00A0;{
-&#x00A0;<br />Transition&#x00A0;init:&#x00A0;initial&#x00A0;-&#x003E;&#x00A0;state0&#x00A0;{&#x00A0;}
-&#x00A0;<br />State&#x00A0;state0&#x00A0;{
-&#x00A0;<br />entry&#x00A0;{
-&#x00A0;<br />"printf(\"HelloWorldC&#x00A0;!\\n\");"
-&#x00A0;<br />"SubSysClass_shutdown();"
-&#x00A0;<br />"\t\t\t\t\t\t"
-&#x00A0;<br />}
-&#x00A0;<br />}
-&#x00A0;<br />}
-&#x00A0;<br />}
-&#x00A0;<br />}
-&#x00A0;<br />}
-</div>
-<!--l. 101--><p class="nopar" >
-
-
-</p>
-<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse16.html" >next</a>] [<a
-href="etrice-docse14.html" >prev</a>] [<a
-href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
-href="etrice-docse15.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse15.html" >up</a>] </p></div>
-<!--l. 103--><p class="noindent" ><a
- id="tailetrice-docse15.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Ports</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse16.html" >next</a>] [<a
+href="etrice-docse14.html" >prev</a>] [<a
+href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
+href="#tailetrice-docse15.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse15.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.3 </span> <a
+ id="x21-850004.3"></a>Ports</h3>
+<!--l. 203--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.3.1 </span> <a
+ id="x21-860004.3.1"></a>Description</h4>
+<!--l. 205--><p class="noindent" ><span id="textcolor42"><span
+class="ec-lmssbx-10">Port</span></span>s are the only interfaces of actors. A port has always a protocol assigned. Service Access
+Points (SAP) and Service Provision Points (SPP) are specialized ports that are used to define
+layering.
+</p><!--l. 209--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.3.2 </span> <a
+ id="x21-870004.3.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Ports decouple interface definition (protocols) from interface usage
+ </li>
+ <li class="itemize">Ports decouple the logical interface from the transport</li></ul>
+<!--l. 216--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.3.3 </span> <a
+ id="x21-880004.3.3"></a>Notation</h4>
+<!--l. 218--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x21-890004.3.3"></a>Class Ports</h5>
+<!--l. 220--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
+</p><!--l. 222--><p class="noindent" >Ports that define an external interface of the actor class, are defined in the <span id="textcolor43"><span
+class="ec-lmssbx-10">Interface</span></span>. Ports that define an
+internal interface are defined in the <span id="textcolor44"><span
+class="ec-lmssbx-10">Structure</span></span> (e.g. internal ports).
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">External end ports </span>are defined in the Interface and the Structure
+
+
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Internal end ports </span>are only defined in the Structure
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Relay ports </span>are only defined in the Interface
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">End ports </span>are always connected to the internal behavior of the ActorClass
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Replicated ports </span>can be defined with a fixed replication factor, e.g.<br
+class="newline" /><span id="textcolor45"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18 [5]: ProtocolClass1</span><br
+class="newline" />or a variable replication factor, e.g.<br
+class="newline" /><span id="textcolor46"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18[*]: ProtocolClass1</span></li></ul>
+<!--l. 236--><p class="noindent" >The table <a
+href="#x21-89001r3">4.3<!--tex4ht:ref: tab:class_port_notation --></a> shows all kinds of class ports with textual and graphical notation.
+<a
+ id="x21-89001r3"></a>
+</p>
+<!--l. 240--><div class="longtable"> <table id="TBL-5" class="longtable"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-5-1g"><col
+id="TBL-5-1" /></colgroup><colgroup id="TBL-5-2g"><col
+id="TBL-5-2" /></colgroup><colgroup id="TBL-5-3g"><col
+id="TBL-5-3" /></colgroup>
+
+
+<tr
+ style="vertical-align:baseline;" id="TBL-5-1-"><td colspan="3" style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-1-1"
+class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"> <div class="caption"
+><span class="id">Table&#x00A0;4.3: </span><span
+class="content">Class Port Notation</span></div><!--tex4ht:label?: x21-89001r3 --> </div> <a
+ id="x21-89002"></a>
+</td></tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-2-1"
+class="td11">
+ <!--l. 243--><p class="noindent" ><span
+class="ec-lmssbx-10">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-2-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-5-2-3"
+class="td11">
+ <!--l. 243--><p class="noindent" ><span
+class="ec-lmssbx-10">Textual Notation</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-5-3-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-3"
+class="td11">
+</td></tr>
+<tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-1"
+class="td11">
+ <!--l. 246--><p class="noindent" >Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-4-2"
+class="td11"> <img
+src="images/040-ClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-6" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-6-1g"><col
+id="TBL-6-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-1"
+class="td11"><span
+class="ec-lmsso-10">External Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-1"
+class="td11"><!--l. 250--> <!--l. 250--><p class="noindent" ><a
+ id="x21-89003r1"></a><a
+ id="x21-89004"></a><div class="lstlisting" id="listing-8"><span class="label"><a
+ id="x21-89005r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89006r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89007r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port12</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89008r4"></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="x21-89009r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89010r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port12</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89011r7"></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="x21-89012r8"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-1"
+class="td11"><span
+class="ec-lmsso-10">Internal Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-1"
+class="td11"><!--l. 263--> <!--l. 263--><p class="noindent" ><a
+ id="x21-89013r2"></a><a
+ id="x21-89014"></a><div class="lstlisting" id="listing-9"><span class="label"><a
+ id="x21-89015r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89016r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89017r3"></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="x21-89018r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89019r5"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port20</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89020r6"></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="x21-89021r7"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-1"
+class="td11">
+ <!--l. 276--><p class="noindent" >Conjugated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-5-2"
+class="td11"> <img
+src="images/040-ConjugatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-7" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-7-1g"><col
+id="TBL-7-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-1"
+class="td11"><span
+class="ec-lmsso-10">External Conjugated Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-1"
+class="td11"><!--l. 280--> <!--l. 280--><p class="noindent" ><a
+ id="x21-89022r3"></a><a
+ id="x21-89023"></a><div class="lstlisting" id="listing-10"><span class="label"><a
+ id="x21-89024r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89025r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89026r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port13</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89027r4"></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="x21-89028r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89029r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port13</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89030r7"></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="x21-89031r8"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-1"
+class="td11"><span
+class="ec-lmsso-10">Internal Conjugated Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-1"
+class="td11"><!--l. 293--> <!--l. 293--><p class="noindent" ><a
+ id="x21-89032r4"></a><a
+ id="x21-89033"></a><div class="lstlisting" id="listing-11"><span class="label"><a
+ id="x21-89034r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89035r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89036r3"></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="x21-89037r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89038r5"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port21</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89039r6"></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="x21-89040r7"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-1"
+class="td11">
+ <!--l. 307--><p class="noindent" >Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-6-2"
+class="td11"> <img
+src="images/040-ClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-3"
+class="td11">
+ <!--l. 309-->
+ <a
+ id="x21-89041r5"></a>
+ <a
+ id="x21-89042"></a>
+ <div class="lstlisting" id="listing-12"><span class="label"><a
+ id="x21-89043r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89044r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89045r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port10</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89046r4"></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="x21-89047r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89048r6"></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="x21-89049r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 320--><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-5-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-1"
+class="td11">
+ <!--l. 321--><p class="noindent" >Conjugated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-7-2"
+class="td11"> <img
+src="images/040-ConjugatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-3"
+class="td11">
+ <!--l. 323-->
+ <a
+ id="x21-89050r6"></a>
+ <a
+ id="x21-89051"></a>
+ <div class="lstlisting" id="listing-13"><span class="label"><a
+ id="x21-89052r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89053r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89054r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port10</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89055r4"></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="x21-89056r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89057r6"></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="x21-89058r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 334--><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-5-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-1"
+class="td11">
+ <!--l. 335--><p class="noindent" >Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-8-2"
+class="td11"> <img
+src="images/040-ReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-8" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-8-1g"><col
+id="TBL-8-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-1-1"
+class="td11"><!--l. 338--><p class="noindent" ><span
+class="ec-lmsso-10">External Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-2-1"
+class="td11"><!--l. 339-->
+<a
+ id="x21-89059r7"></a>
+<a
+ id="x21-89060"></a>
+<div class="lstlisting" id="listing-14"><span class="label"><a
+ id="x21-89061r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89062r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89063r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89064r4"></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="x21-89065r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89066r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89067r7"></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="x21-89068r8"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 351--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-3-1"
+class="td11"><!--l. 351--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-4-1"
+class="td11"><!--l. 352-->
+<a
+ id="x21-89069r8"></a>
+<a
+ id="x21-89070"></a>
+<div class="lstlisting" id="listing-15"><span class="label"><a
+ id="x21-89071r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89072r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89073r3"></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="x21-89074r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89075r5"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89076r6"></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="x21-89077r7"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 363--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-9-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-1"
+class="td11">
+ <!--l. 366--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-9-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-9" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-9-1g"><col
+id="TBL-9-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-1-1"
+class="td11"><!--l. 369--><p class="noindent" ><span
+class="ec-lmsso-10">External Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-2-1"
+class="td11"><!--l. 370-->
+<a
+ id="x21-89078r9"></a>
+<a
+ id="x21-89079"></a>
+<div class="lstlisting" id="listing-16"><span class="label"><a
+ id="x21-89080r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89081r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89082r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port17</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89083r4"></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="x21-89084r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89085r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port17</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89086r7"></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="x21-89087r8"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 382--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-3-1"
+class="td11"><!--l. 382--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-4-1"
+class="td11"><!--l. 383-->
+<a
+ id="x21-89088r10"></a>
+<a
+ id="x21-89089"></a>
+<div class="lstlisting" id="listing-17"><span class="label"><a
+ id="x21-89090r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89091r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89092r3"></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="x21-89093r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89094r5"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port23</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89095r6"></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="x21-89096r7"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 394--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-10-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-1"
+class="td11">
+ <!--l. 397--><p class="noindent" >Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-10-2"
+class="td11"> <img
+src="images/040-ReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-3"
+class="td11">
+ <!--l. 399-->
+ <a
+ id="x21-89097r11"></a>
+ <a
+ id="x21-89098"></a>
+ <div class="lstlisting" id="listing-18"><span class="label"><a
+ id="x21-89099r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89100r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89101r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port18</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89102r4"></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="x21-89103r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89104r6"></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="x21-89105r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 409--><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-5-11-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-1"
+class="td11">
+ <!--l. 410--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-11-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-3"
+class="td11">
+ <!--l. 412-->
+ <a
+ id="x21-89106r12"></a>
+ <a
+ id="x21-89107"></a>
+ <div class="lstlisting" id="listing-19"><span class="label"><a
+ id="x21-89108r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x21-89109r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89110r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port19</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89111r4"></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="x21-89112r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x21-89113r6"></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="x21-89114r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 423--><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-5-12-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-12-1"
+class="td11"> </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-13-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-14-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-15-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-15-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-16-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-16-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr>
+</table></div>
+<!--l. 427--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x21-900004.3.3"></a>Reference Ports</h5>
+<!--l. 429--><p class="noindent" >These symbols can only appear on the border of an actor class. Since the type of port is defined in the actor
+class, no textual notation for the Reference Ports exists.
+</p><!--l. 432--><p class="noindent" >The table <a
+href="#x21-900014">4.4<!--tex4ht:ref: tab:reference_port_notation --></a> shows all kinds of reference ports with textual and graphical notation.
+</p>
+<div class="table">
+
+
+<!--l. 435--><p class="noindent" ><a
+ id="x21-900014"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.4: </span><span
+class="content">Reference Port Notation</span></div><!--tex4ht:label?: x21-900014 -->
+<div class="tabular"> <table id="TBL-10" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-10-1g"><col
+id="TBL-10-1" /></colgroup><colgroup id="TBL-10-2g"><col
+id="TBL-10-2" /></colgroup><colgroup id="TBL-10-3g"><col
+id="TBL-10-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-2"
+class="td11"> <img
+src="images/040-ReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-1"
+class="td11"> Conjugated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-2"
+class="td11"> <img
+src="images/040-ConjugatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-1"
+class="td11"> Replicated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-2"
+class="td11"> <img
+src="images/040-ReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-5-1"
+class="td11"> Conjugated Replicated </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-7-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+
+
+<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse16.html" >next</a>] [<a
+href="etrice-docse14.html" >prev</a>] [<a
+href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
+href="etrice-docse15.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse15.html" >up</a>] </p></div>
+<!--l. 450--><p class="noindent" ><a
+ id="tailetrice-docse15.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
index 1aa63ea55..4baee322c 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
@@ -1,77 +1,412 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create a launch configuration to start the C code generator</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse17.html" >next</a>] [<a
-href="etrice-docse15.html" >prev</a>] [<a
-href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
-href="#tailetrice-docse16.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse16.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.4 </span> <a
- id="x23-670005.4"></a>Create a launch configuration to start the C code generator</h3>
-<!--l. 105--><p class="noindent" >Other than in Java a launch configuration for the C code generator must be created.
-</p><!--l. 107--><p class="noindent" >From the <span
-class="ec-lmsso-10">Run </span>menu select <span
-class="ec-lmsso-10">Run Configurations</span>
-</p><!--l. 109--><p class="noindent" ><img
-src="images/034-HelloWorldC06.png" alt="PIC"
- />
-</p><!--l. 112--><p class="noindent" >Within the dialog select <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C Generator </span>and click the <span
-class="ec-lmsso-10">New </span>button to create a new launch
-configuration.
-</p><!--l. 115--><p class="noindent" ><img
-src="images/034-HelloWorldC07.png" alt="PIC"
- />
-</p><!--l. 118--><p class="noindent" >A new configuration should be created. Name it <span
-class="ec-lmsso-10">gen_HelloWorldC </span>and add the model via one of the <span
-class="ec-lmsso-10">add</span>
-buttons.
-</p><!--l. 121--><p class="noindent" ><img
-src="images/034-HelloWorldC08.png" alt="PIC"
- />
-</p><!--l. 124--><p class="noindent" >In the <span
-class="ec-lmsso-10">Refresh </span>tab select <span
-class="ec-lmsso-10">The entire workspace</span>
-</p><!--l. 126--><p class="noindent" ><img
-src="images/034-HelloWorldC09.png" alt="PIC"
- />
-</p><!--l. 129--><p class="noindent" >In the <span
-class="ec-lmsso-10">Common </span>tab select <span
-class="ec-lmsso-10">Shared file </span>and add the <span
-class="ec-lmsso-10">HelloWorldC </span>project via the <span
-class="ec-lmsso-10">Browse </span>button.
-</p><!--l. 132--><p class="noindent" ><img
-src="images/034-HelloWorldC10.png" alt="PIC"
- />
-</p><!--l. 135--><p class="noindent" >Apply your changes. The new configuration should now exist in your workspace.
-</p><!--l. 137--><p class="noindent" ><img
-src="images/034-HelloWorldC11.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse17.html" >next</a>] [<a
-href="etrice-docse15.html" >prev</a>] [<a
-href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
-href="etrice-docse16.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse16.html" >up</a>] </p></div>
-<!--l. 141--><p class="noindent" ><a
- id="tailetrice-docse16.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>DataClass</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse17.html" >next</a>] [<a
+href="etrice-docse15.html" >prev</a>] [<a
+href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
+href="#tailetrice-docse16.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse16.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.4 </span> <a
+ id="x22-910004.4"></a>DataClass</h3>
+<!--l. 452--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.4.1 </span> <a
+ id="x22-920004.4.1"></a>Description</h4>
+<!--l. 454--><p class="noindent" >The <span id="textcolor47"><span
+class="ec-lmssbx-10">DataClass</span></span> enables the modeling of hierarchical complex data types and operations on them. The data
+class is the equivalent to a class in languages like Java or C++, but has less features. The content
+of a data class can always be sent via message between actors (defined as message data in a
+<span id="textcolor48"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>).
+</p><!--l. 458--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.4.2 </span> <a
+ id="x22-930004.4.2"></a>Notation</h4>
+<!--l. 460--><p class="noindent" >Example: DataClass using PrimitiveTypes
+</p>
+<!--l. 462-->
+<div class="lstlisting" id="listing-20"><span class="label"><a
+ id="x22-93001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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="x22-93002r2"></a></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">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93003r3"></a></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">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">float32</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">another</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93004r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93005r5"></a></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">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93006r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x22-93007r7"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93008r8"></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="x22-93009r9"></a></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">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93010r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">)</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x22-93011r11"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93012r12"></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="x22-93013r13"></a></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">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93014r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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">float64</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="x22-93015r15"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93016r16"></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="x22-93017r17"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 483--><p class="noindent" >Example: DataClass using other DataClasses:
+</p>
+<!--l. 485-->
+<div class="lstlisting" id="listing-21"><span class="label"><a
+ id="x22-93018r1"></a></span><span
+class="ec-lmssbx-10x-x-90">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass2</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="x22-93019r2"></a></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">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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><span
+class="ec-lmtt-9">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93020r3"></a></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">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93021r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93022r5"></a></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">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93023r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">DataClass1</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="x22-93024r7"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93025r8"></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="x22-93026r9"></a></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">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reference</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">except</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">for</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">types</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93027r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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="x22-93028r11"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x22-93029r12"></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="x22-93030r13"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse17.html" >next</a>] [<a
+href="etrice-docse15.html" >prev</a>] [<a
+href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
+href="etrice-docse16.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse16.html" >up</a>] </p></div>
+<!--l. 502--><p class="noindent" ><a
+ id="tailetrice-docse16.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
index 1c91b54cc..29b9d64fe 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
@@ -1,46 +1,501 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Generate the code</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse18.html" >next</a>] [<a
-href="etrice-docse16.html" >prev</a>] [<a
-href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
-href="#tailetrice-docse17.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.5 </span> <a
- id="x24-680005.5"></a>Generate the code</h3>
-<!--l. 143--><p class="noindent" >Now you can generate the code as you know it from Java. Right click on the launch configuration and run it as
-<span
-class="ec-lmsso-10">gen_HelloWorldC</span>.
-</p><!--l. 146--><p class="noindent" ><img
-src="images/034-HelloWorldC12.png" alt="PIC"
- />
-</p><!--l. 149--><p class="noindent" >The code should be generated.
-</p><!--l. 151--><p class="noindent" ><img
-src="images/034-HelloWorldC13.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse18.html" >next</a>] [<a
-href="etrice-docse16.html" >prev</a>] [<a
-href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
-href="etrice-docse17.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div>
-<!--l. 154--><p class="noindent" ><a
- id="tailetrice-docse17.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Layering</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse18.html" >next</a>] [<a
+href="etrice-docse16.html" >prev</a>] [<a
+href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
+href="#tailetrice-docse17.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse17.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.5 </span> <a
+ id="x23-940004.5"></a>Layering</h3>
+<!--l. 504--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.5.1 </span> <a
+ id="x23-950004.5.1"></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><!--l. 510--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x23-95002x1">an actor class can define a Service Provision Point (<span id="textcolor49"><span
+class="ec-lmssbx-10">SPPRef</span></span>) to publish a specific service, defined
+ by a protocol class
+ </li>
+ <li
+ class="enumerate" id="x23-95004x2">an actor class can define a Service Access Point (<span id="textcolor50"><span
+class="ec-lmssbx-10">SAPRef</span></span>) if it needs a service, defined by a
+ protocol class
+ </li>
+ <li
+ class="enumerate" id="x23-95006x3">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>
+<!--l. 519--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.5.2 </span> <a
+ id="x23-960004.5.2"></a>Notation</h4>
+<!--l. 521--><p class="noindent" >For the graphical and textual notation refer to table <a
+href="#x23-960015">4.5<!--tex4ht:ref: tab:layering_notation --></a>
+</p>
+<div class="table">
+
+
+<!--l. 524--><p class="noindent" ><a
+ id="x23-960015"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.5: </span><span
+class="content">Layering Notation</span></div><!--tex4ht:label?: x23-960015 -->
+<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-22"><span class="label"><a
+ id="x23-96002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Mode1</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="x23-96003r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96004r3"></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">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ServiceLayer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96005r4"></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">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ApplicationLayer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96006r5"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96007r6"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">digitalIO</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96008r7"></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="x23-96009r8"></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-23"><span class="label"><a
+ id="x23-96010r1"></a></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">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96011r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96012r3"></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-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96013r4"></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">digitalIO</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96014r5"></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="x23-96015r6"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96016r7"></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">Timer</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96017r8"></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">DigIO</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96018r9"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">timer</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">Timer</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">timer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96019r10"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">digitalIO</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">DigIO</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96020r11"></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="x23-96021r12"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</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-24"><span class="label"><a
+ id="x23-96022r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ApplicationLayer</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="x23-96023r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96024r3"></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">function1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">A</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96025r4"></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">function2</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96026r5"></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">function3</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96027r6"></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">function4</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">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96028r7"></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="x23-96029r8"></a></span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96030r9"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96031r10"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">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="x23-96032r11"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96033r12"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96034r13"></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="x23-96035r14"></a></span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96036r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96037r16"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">B</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="x23-96038r17"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96039r18"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96040r19"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DigitalIOProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x23-96041r20"></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="x23-96042r21"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</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>
+
+
+</div><hr class="endfloat" />
+</div>
+
+
+<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse18.html" >next</a>] [<a
+href="etrice-docse16.html" >prev</a>] [<a
+href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
+href="etrice-docse17.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse17.html" >up</a>] </p></div>
+<!--l. 606--><p class="noindent" ><a
+ id="tailetrice-docse17.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
index a6df71d09..c22a7e2be 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
@@ -1,51 +1,463 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Setup the include path</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse19.html" >next</a>] [<a
-href="etrice-docse17.html" >prev</a>] [<a
-href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
-href="#tailetrice-docse18.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse18.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.6 </span> <a
- id="x25-690005.6"></a>Setup the include path</h3>
-<!--l. 156--><p class="noindent" >Before you can build the application you must setup the include path for the runtime system.
-Right click the project and select <span
-class="ec-lmsso-10">Properties</span>. Add the include path as described in <span
-class="ec-lmsso-10">setting up the</span>
-<span
-class="ec-lmsso-10">workspace</span>.
-</p><!--l. 160--><p class="noindent" ><img
-src="images/034-HelloWorldC14.png" alt="PIC"
- />
-</p><!--l. 163--><p class="noindent" >Add the runtime library.
-</p><!--l. 165--><p class="noindent" ><img
-src="images/034-HelloWorldC15.png" alt="PIC"
- />
-</p><!--l. 168--><p class="noindent" >Recognize the name of the library ("org.eclipse.etrice.runtime.c"). The library file on your disk is
-"liborg.eclipse.etrice.runtime.c.a".
-
-
-</p>
-<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse19.html" >next</a>] [<a
-href="etrice-docse17.html" >prev</a>] [<a
-href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
-href="etrice-docse18.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse18.html" >up</a>] </p></div>
-<!--l. 171--><p class="noindent" ><a
- id="tailetrice-docse18.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Finite State Machines</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch5.html" >next</a>] [<a
+href="etrice-docse17.html" >prev</a>] [<a
+href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
+href="#tailetrice-docse18.html">tail</a>] [<a
+href="etrice-docch4.html#etrice-docse18.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.6 </span> <a
+ id="x24-970004.6"></a>Finite State Machines</h3>
+<!--l. 608--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.6.1 </span> <a
+ id="x24-980004.6.1"></a>Description</h4>
+<!--l. 610--><p class="noindent" >Definition from <a
+href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
+</p><!--l. 612--><p class="noindent" >
+ </p><div class="quote">
+ <!--l. 613--><p class="noindent" >A finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a
+ state machine, is a mathematical model used to design computer programs and digital logic
+ circuits. It is conceived as an abstract machine that can be in one of a finite number of
+ states. The machine is in only one state at a time; the state it is in at any given time
+ is called the current state. It can change from one state to another when initiated by a
+ triggering event or condition, this is called a transition. A particular FSM is defined by a
+ list of the possible states it can transition to from each state, and the triggering condition
+ for each transition.
+ </p><!--l. 621--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events
+ occurring at the end ports of an actor will be forwarded to and processed by the state
+ machine. Events possibly trigger state transitions.</p></div>
+<!--l. 626--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.6.2 </span> <a
+ id="x24-990004.6.2"></a>Motivation</h4>
+<!--l. 628--><p class="noindent" >For event driven systems a finite state machine is ideal for processing the stream of events. Typically during
+processing new events are produced which are sent to peer actors.
+</p><!--l. 631--><p class="noindent" >We distinguish flat and hierarchical state machines.
+</p><!--l. 633--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.6.3 </span> <a
+ id="x24-1000004.6.3"></a>Notation</h4>
+<!--l. 635--><p class="noindent" >We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones.
+
+
+</p><!--l. 637--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x24-1010004.6.3"></a>Flat Finite State Machine</h5>
+<!--l. 639--><p class="noindent" >The simpler flat finite state machines are composed of the elements shown in table <a
+href="#x24-1010016">4.6<!--tex4ht:ref: tab:flat_fsm_notation --></a>.
+</p>
+<div class="table">
+
+
+<!--l. 642--><p class="noindent" ><a
+ id="x24-1010016"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.6: </span><span
+class="content">Flat finite state machine notation</span></div><!--tex4ht:label?: x24-1010016 -->
+<div class="tabular"> <table id="TBL-12" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-12-1g"><col
+id="TBL-12-1" /></colgroup><colgroup id="TBL-12-2g"><col
+id="TBL-12-2" /></colgroup><colgroup id="TBL-12-3g"><col
+id="TBL-12-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-1-1"
+class="td11"> <!--l. 646--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-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-12-1-3"
+class="td11"> <!--l. 646--><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-12-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-1"
+class="td11"> <!--l. 648--><p class="noindent" >State </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-2"
+class="td11"> <img
+src="images/040-State.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-3"
+class="td11"> <!--l. 649-->
+ <div class="lstlisting" id="listing-25"><span class="label"><a
+ id="x24-101002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SomeState</span>
+
+</div>
+<!--l. 654--><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-12-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-1"
+class="td11"> <!--l. 655--><p class="noindent" >InitialPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-3-2"
+class="td11"> <img
+src="images/040-InitialPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-3"
+class="td11"> <!--l. 655--><p class="noindent" ><span
+class="ec-lmsso-10">implicit</span> </p></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-1"
+class="td11"> <!--l. 657--><p class="noindent" >TransitionPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-4-2"
+class="td11"> <img
+src="images/040-TransitionPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-3"
+class="td11"> <!--l. 658-->
+ <div class="lstlisting" id="listing-26"><span class="label"><a
+ id="x24-101003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">TransitionPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tp</span>
+
+</div>
+<!--l. 663--><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-12-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-1"
+class="td11"> <!--l. 664--><p class="noindent" >ChoicePoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-5-2"
+class="td11"> <img
+src="images/040-ChoicePoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-3"
+class="td11"> <!--l. 665-->
+ <div class="lstlisting" id="listing-27"><span class="label"><a
+ id="x24-101004r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ChoicePoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">cp</span>
+
+</div>
+<!--l. 670--><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-12-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-1"
+class="td11"> <!--l. 671--><p class="noindent" >Initial Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-6-2"
+class="td11"> <img
+src="images/040-InitialTransition.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-3"
+class="td11"> <!--l. 672-->
+ <div class="lstlisting" id="listing-28"><span class="label"><a
+ id="x24-101005r1"></a></span><span
+class="ec-lmssbx-10x-x-90">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">init</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">Initial</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">}</span>
+
+</div>
+<!--l. 677--><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-12-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-1"
+class="td11"> <!--l. 678--><p class="noindent" >Triggered Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-7-2"
+class="td11"> <img
+src="images/040-TriggeredTransition.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-3"
+class="td11"> <!--l. 679-->
+ <div class="lstlisting" id="listing-29"><span class="label"><a
+ id="x24-101006r1"></a></span><span
+class="ec-lmssbx-10x-x-90">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tr0</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">DoingThis</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="x24-101007r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">triggers</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="x24-101008r3"></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">&#x003C;</span><span
+class="ec-lmtt-9">doThis</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">fct</span><span
+class="ec-lmtt-9">&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x24-101009r4"></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="x24-101010r5"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 688--><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-12-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-8-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h5 class="subsubsectionHead"><a
+ id="x24-1020004.6.3"></a>Hierarchical Finite State Machine</h5>
+<!--l. 695--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few modeling
+elements listed in table <a
+href="#x24-1020017">4.7<!--tex4ht:ref: tab:hier_fsm_notation --></a> are added to the set listed above.
+</p>
+<div class="table">
+
+
+<!--l. 699--><p class="noindent" ><a
+ id="x24-1020017"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;4.7: </span><span
+class="content">Additional notation elements of hierarchical finite state machines</span></div><!--tex4ht:label?: x24-1020017 -->
+<div class="tabular"> <table id="TBL-13" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-13-1g"><col
+id="TBL-13-1" /></colgroup><colgroup id="TBL-13-2g"><col
+id="TBL-13-2" /></colgroup><colgroup id="TBL-13-3g"><col
+id="TBL-13-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-1-1"
+class="td11"> <!--l. 703--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-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-13-1-3"
+class="td11"> <!--l. 703--><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-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-1"
+class="td11"> <!--l. 705--><p class="noindent" >State with sub state
+ machine </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-2-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-14-1g"><col
+id="TBL-14-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-1-1"
+class="td00">Parent State</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-2-1"
+class="td00"> <img
+src="images/040-StateWithSubFSM.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-3"
+class="td11"> <div class="tabular"> <table id="TBL-15" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-15-1g"><col
+id="TBL-15-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-1-1"
+class="td11">Sub state machine </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-2-1"
+class="td11"><!--l. 710--> <!--l. 710--><p class="noindent" ><div class="lstlisting" id="listing-30"><span class="label"><a
+ id="x24-102002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Running</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="x24-102003r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">subgraph</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="x24-102004r3"></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">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">init</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">Process</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="x24-102005r4"></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">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Process</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x24-102006r5"></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="x24-102007r6"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr></table></div>
+ <!--l. 722--><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-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-1"
+class="td11"> <!--l. 723--><p class="noindent" >Entry Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-3-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-16-1g"><col
+id="TBL-16-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-1-1"
+class="td00">In sub state machine</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-2-1"
+class="td00"> <img
+src="images/040-EntryPoint.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-3"
+class="td11"> <!--l. 726-->
+ <div class="lstlisting" id="listing-31"><span class="label"><a
+ id="x24-102008r1"></a></span><span
+class="ec-lmssbx-10x-x-90">EntryPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reInit</span>
+
+</div>
+<!--l. 730--><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-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-1"
+class="td11"> <!--l. 731--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
+class="td11"> <img
+src="images/040-ExitPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-3"
+class="td11"> <!--l. 733-->
+ <div class="lstlisting" id="listing-32"><span class="label"><a
+ id="x24-102009r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ExitPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tp0</span>
+
+</div>
+<!--l. 736--><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-13-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-5-1"
+class="td11"> </td></tr></table>
+</div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h4 class="subsectionHead"><span class="titlemark">4.6.4 </span> <a
+ id="x24-1030004.6.4"></a>Examples</h4>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x24-1030011"></a>
+
+
+<!--l. 743--><p class="noindent" ><img
+src="images/040-FlatFSM.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;4.1: </span><span
+class="content">Example of a flat finite state machine</span></div><!--tex4ht:label?: x24-1030011 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x24-1030022"></a>
+
+
+<!--l. 748--><p class="noindent" ><img
+src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;4.2: </span><span
+class="content">Example of a hierarchical finite state machine &#8211; top level</span></div><!--tex4ht:label?: x24-1030022 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x24-1030033"></a>
+
+
+<!--l. 753--><p class="noindent" ><img
+src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;4.3: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Initializing</span></span></div><!--tex4ht:label?: x24-1030033 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x24-1030044"></a>
+
+
+<!--l. 758--><p class="noindent" ><img
+src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;4.4: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Running</span></span></div><!--tex4ht:label?: x24-1030044 -->
+
+
+</div><hr class="endfigure" />
+
+
+<!--l. 71--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch5.html" >next</a>] [<a
+href="etrice-docse17.html" >prev</a>] [<a
+href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
+href="etrice-docse18.html" >front</a>] [<a
+href="etrice-docch4.html#etrice-docse18.html" >up</a>] </p></div>
+<!--l. 71--><p class="noindent" ><a
+ id="tailetrice-docse18.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
index 2123b7069..aca489949 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
@@ -1,42 +1,367 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Build and run the model</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse20.html" >next</a>] [<a
-href="etrice-docse18.html" >prev</a>] [<a
-href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
-href="#tailetrice-docse19.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.7 </span> <a
- id="x26-700005.7"></a>Build and run the model</h3>
-<!--l. 173--><p class="noindent" >Now you can build the application. Click the build button to build the application. Run the application as
-<span
-class="ec-lmsso-10">Local C/C++ Application</span>. Verify the output.
-</p><!--l. 177--><p class="noindent" ><img
-src="images/034-HelloWorldC16.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse20.html" >next</a>] [<a
-href="etrice-docse18.html" >prev</a>] [<a
-href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
-href="etrice-docse19.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
-<!--l. 180--><p class="noindent" ><a
- id="tailetrice-docse19.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Automatic Diagram Layout with KIELER</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse20.html" >next</a>] [<a
+href="etrice-docch5.html" >prev</a>] [<a
+href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
+href="#tailetrice-docse19.html">tail</a>] [<a
+href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
+ id="x26-1050005.1"></a>Automatic Diagram Layout with KIELER</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1.1 </span> <a
+ id="x26-1060005.1.1"></a>Overview</h4>
+<!--l. 5--><p class="noindent" >eTrice now provides a new feature of automatic layout of the ROOM diagrams in its graphical editors. This
+helps in improving the pragmatics of the diagrams and frees the user from the burden of manually lay-outing
+the diagrams on the canvas.
+</p><!--l. 9--><p class="noindent" >The automatic lay-outing has been provided with the help of the well known KIELER framework, which
+focuses on the pragmatics of model-based system design, which can improve comprehensibility
+of diagrams, improve development and maintenance time, and improve the analysis of dynamic
+behavior.
+</p><!--l. 13--><p class="noindent" >This chapter will answer the following questions </p>
+ <ul class="itemize1">
+ <li class="itemize"><a
+href="#x26-1070005.1.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x26-1080005.1.3">&#8221;What are layout options?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x26-1090005.1.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
+<!--l. 21--><p class="noindent" >Moreover, some <a
+href="#x26-1140005.1.5">&#8221;special layout options&#8221;</a> will also be discussed.
+
+
+</p><!--l. 23--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1.2 </span> <a
+ id="x26-1070005.1.2"></a>Performing Automatic Layout</h4>
+<!--l. 26--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
+diagram.
+</p><!--l. 29--><p class="noindent" >This command is available in
+</p>
+ <ul class="itemize1">
+ <li class="itemize">The context menu of the diagrams
+ </li>
+ <li class="itemize">Using the <span
+class="ec-lmsso-10">Ctrl+R L </span>shortcut.</li></ul>
+<!--l. 36--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
+</p><!--l. 38--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1.3 </span> <a
+ id="x26-1080005.1.3"></a>Layout Options</h4>
+<!--l. 41--><p class="noindent" >A layout option is a customization point for the layout algorithms, with a specific data type and optionally a
+default value, used to affect how the active layout algorithm computes concrete coordinates for the graph
+elements.
+</p><!--l. 45--><p class="noindent" >User-configurable layout options for a particular diagram object can be viewed and configured through the
+Layout View.The Layout View can be opened from the context menu of a selected diagram object by clicking
+the <span
+class="ec-lmsso-10">Show Layout View </span>entry.
+</p><!--l. 49--><p class="noindent" >On opening the layout view, and selecting any layout option, a description of the layout option is available in
+the footer of eclipse SDK. This is shown in figure <a
+href="#x26-1080011">5.1<!--tex4ht:ref: fig:layout_options --></a>.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x26-1080011"></a>
+
+
+
+<!--l. 53--><p class="noindent" ><img
+src="images/043-LayoutOptionDescription.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;5.1: </span><span
+class="content">Layout options</span></div><!--tex4ht:label?: x26-1080011 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">5.1.4 </span> <a
+ id="x26-1090005.1.4"></a>Configuring Layout Options</h4>
+<!--l. 61--><p class="noindent" >The values of the layout options for a particular diagram object (in the visible diagram) can be changed using
+the Layout View of that diagram object. The initial values are the predefined <span
+class="ec-lmsso-10">default </span>values. These defaults
+can be changed using the context menu in Layout View as well as the Layout preference pages provided by
+eTrice.
+</p><!--l. 66--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x26-1100005.1.4"></a>The Layout View</h5>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x26-1100012"></a>
+
+
+
+<!--l. 70--><p class="noindent" ><img
+src="images/043-LayoutView.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;5.2: </span><span
+class="content">Layout view</span></div><!--tex4ht:label?: x26-1100012 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 75--><p class="noindent" >The Layout view (figure <a
+href="#x26-1100012">5.2<!--tex4ht:ref: fig:layout_view --></a>) allows flexible customization of layout options for the selected objects in the
+eTrice diagram. If no object is selected, the view shows the options for the top-level container of the diagram.
+Options are stored persistently in diagram file (<span
+class="ec-lmsso-10">.structure file / </span>.behavior file) of the eTrice diagram, so that
+they are still available after the next Eclipse restart. Of course this requires the diagram to be saved after an
+option was changed.
+</p><!--l. 81--><p class="noindent" >The options are grouped according to the function of the selected objects. The group Nodes (respectively
+Edges, Ports, or Labels) contains options related to the object itself, such as its size or priority, while the group
+Parents contains options for the elements contained in the selected objects, such as the applied layout
+algorithm or the spacing between elements. Which layout options are displayed depends on the types of
+selected objects and the active layout algorithm, since each algorithm supports only a subset of the
+available options. Furthermore, some options are only visible if the <span
+class="ec-lmsso-10">Show Advanced Properties</span>
+button in the view toolbar is activated. The group types can be hidden using the Show Categories
+button.
+</p><!--l. 90--><p class="noindent" >An option can be changed by selecting or entering a new value in the corresponding cell of the Value
+column.
+</p><!--l. 92--><p class="noindent" >The most important option is Layout Algorithm, which is used to determine the layout algorithm for the
+contents of the selected element. Here either a specific layout algorithm or a layout type can be chosen; in the
+latter case, the most suitable layout algorithm of the given type is taken. By changing the active layout
+algorithm, the content of the layout view is updated to display only those options that are supported by the
+new layout algorithm.
+</p><!--l. 98--><p class="noindent" >Selecting <span
+class="ec-lmsso-10">Restore Default Value </span>in the context menu or the view toolbar (figure <a
+href="#x26-1100023">5.3<!--tex4ht:ref: fig:layout_context_menu --></a>) removes any value for the
+currently selected option that is stored in the current model file, thus resetting the option to its default value.
+The view menu has an entry Remove all Layout Options which resets all options of the current model by
+removing persistent data in the model file.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x26-1100023"></a>
+
+
+
+<!--l. 105--><p class="noindent" ><img
+src="images/043-ContextMenu.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;5.3: </span><span
+class="content">Layout in context menu</span></div><!--tex4ht:label?: x26-1100023 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 110--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
+<span
+class="ec-lmsso-10">default </span>value:
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for this Diagram</span>: Changes the open diagram file so that the same value is applied
+ to all similar objects (edit parts) of that diagram.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for ... in this Context</span>: Applies the value to all similar objects that are displayed with
+ the any of the eTrice editors (the option is linked to the edit part class of the selected object).
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for all ...</span>: Links the option value with the domain model element or the diagram
+ type of the selected object (see the context menu depicted above).</li></ul>
+<!--l. 125--><p class="noindent" >These four alternatives have different priorities: if present, the default value for the current diagram is taken
+first, then the default value for the edit part is checked, then the default value for the domain model element,
+and then the default value for the diagram type.
+</p><!--l. 129--><p class="noindent" >Tips: </p>
+ <ul class="itemize1">
+ <li class="itemize">The information button of the view toolbar can be used to display some useful details on the
+ current selection, such as the edit part and domain model classes.
+ </li>
+ <li class="itemize">Default values for layout options can most easily be manipulated based on the eTrice domain
+ model elements.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x26-1110005.1.4"></a>Preference Page</h5>
+<!--l. 140--><p class="noindent" >The user-defined <span
+class="ec-lmsso-10">default </span>values for layout options can also be set using the preference pages provided in
+eTrice. Three preference pages have been provided for this purpose </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Layout</span>: for general preferences regarding layout
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
+<!--l. 148--><p class="noindent" >These preference pages can be accessed via <span
+class="ec-lmsso-10">Windows &#x003E; Preferences &#x003E; </span><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">&#x003E; Layout</span>.
+</p><!--l. 150--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>preference page
+provided by the KIELER. Relevant entries in the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>page are shown in the above preference
+pages.
+</p>
+<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
+ id="x26-1120005.1.4"></a><span
+class="ec-lmssbo-10">Layout </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+
+
+</p><!--l. 156--><p class="noindent" >The <span
+class="ec-lmsso-10">Layout </span>preference page is meant to configure general options regarding the layout.
+</p><!--l. 158--><p class="noindent" >If <span
+class="ec-lmsso-10">Set routing style of all edges to oblique </span>is active, all routing styles and smoothness settings of edges are
+removed when automatic layout is performed. Since most layouters compute the routing of edges as part of
+their algorithm, these styles usually do not yield the expected results.
+</p>
+<!--l. 162--><p class="noindent" ><span class="paragraphHead"><a
+ id="x26-1130005.1.4"></a><span
+class="ec-lmssbo-10">Behavior </span><span
+class="ec-lmssbx-10">and </span><span
+class="ec-lmssbo-10">Structure </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+</p><!--l. 165--><p class="noindent" >The <span
+class="ec-lmsso-10">Behavior </span>and <span
+class="ec-lmsso-10">Structure </span>sub-preference pages help in setting up the default values of layout options in
+behavior and structure diagrams respectively.
+</p><!--l. 168--><p class="noindent" >The <span
+class="ec-lmsso-10">Default Layout Option Values </span>table is used to manage the default setting for layout options, which can
+also be modified with the context menu of the layout view (see above). All user-defined settings
+are displayed here, and the buttons on the right of the table serve to create, edit, and remove
+entries. The Type column shows the type of element the option is linked with: either edit part,
+model element, or diagram type. The Element column shows the class name for options that relate
+to edit parts or domain model elements, and the diagram type name for options that relate to
+diagram types. Option is the name of the layout option, and Value is the currently set value of the
+option.
+</p><!--l. 176--><p class="noindent" >Creating a new entry requires the selection of the type of related element (figure <a
+href="#x26-1130014">5.4<!--tex4ht:ref: fig_layout_preference_page --></a>) and entering its class
+name or identifier. Class names of edit parts can be explored using the information button of the layout view,
+while the class names for the domain model elements and the diagram type identifiers for the diagram types
+can be selected with the Browse button. After that, a layout option has to be selected from the list using the
+corresponding Browse button. Hitting OK creates an entry, and its value can then be set using the Edit
+button.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x26-1130014"></a><a
+ id="x27-11900048"></a>
+
+
+
+<!--l. 185--><p class="noindent" ><img
+src="images/043-PreferencePage.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;5.4: </span><span
+class="content">Layout preference page</span></div><!--tex4ht:label?: x26-1130014 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 190--><p class="noindent" >Note that the <span
+class="ec-lmsso-10">Behavior </span>preference page will show only those entries which hold for the behavior diagrams.
+Moreover, it will allow setting default values of layout options for only those domain model elements and
+diagram types which could be present in the behavior editor diagrams. Similar thing holds for the <span
+class="ec-lmsso-10">Structure</span>
+preference page.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1.5 </span> <a
+ id="x26-1140005.1.5"></a>Special Layout Options</h4>
+<!--l. 198--><p class="noindent" >While most layout options are used to affect how the active layout algorithm computes concrete coordinates
+for the graph elements, there are some layout options that have a special role.
+</p><!--l. 201--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x26-1150005.1.5"></a>Layout Algorithm</h5>
+<!--l. 203--><p class="noindent" >The option with identifier de.cau.cs.kieler.algorithm specifies which layout algorithm to use for the
+content of a composite node. The value can be either the identifier of a layout algorithm or the
+identifier of a layout type. In the latter case the algorithm with highest priority of that type is
+applied.
+</p><!--l. 207--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
+class="ec-lmsso-10">Layered </span>algorithms which are meant for
+lay-outing hierarchical diagrams and are best suited for behavior and structure diagrams in eTrice. For the
+behavior diagrams we have used the <span
+class="ec-lmsso-10">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
+the <span
+class="ec-lmsso-10">KLay Layered </span>algorithm. Though the layout algorithm being used for performing layout can be changed at
+ones own will, it is recommended to use the defaults.
+</p><!--l. 213--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x26-1160005.1.5"></a>Diagram Type</h5>
+<!--l. 215--><p class="noindent" >Diagram types are used to classify graphical diagrams for setting default layout option values for
+a set of similar diagrams. The diagram type of an element is specified with the layout option
+<span
+class="ec-lmtt-10">de.cau.cs.kieler.diagramType</span>. Thus, these help in
+</p><!--l. 219--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">General </span>- This type is automatically assigned to all diagrams for which no specific type is declared.
+ (Predefined in KIELER)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice Behavior
+ Diagrams.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice Structure
+ Diagrams.</li></ul>
+<!--l. 228--><p class="noindent" >Note that not all diagrams objects in the behavior and structure diagrams are assigned the last two diagram
+types. Only the top-level container and the visible bounding box has been assigned these diagram types in
+respective editors.
+
+
+</p><!--l. 232--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1.6 </span> <a
+ id="x26-1170005.1.6"></a>Further References</h4>
+<!--l. 234--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML wiki"
+(<a
+href="http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078" class="url" ><span
+class="ec-lmtt-10">http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078</span></a> and
+have been modified for automatic layout in eTrice. A more detailed description about the layout algorithms,
+predefined diagram types and the internal structure of KIELER Infrastructure for Meta-Layout (KIML) can be
+found there.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse20.html" >next</a>] [<a
+href="etrice-docch5.html" >prev</a>] [<a
+href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
+href="etrice-docse19.html" >front</a>] [<a
+href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse19.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
index d4db5d87a..e9e97ec8d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
@@ -1,434 +1,434 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Introduction to the ROOM Language</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch2.html" >next</a>] [<a
-href="etrice-docse1.html" >prev</a>] [<a
-href="etrice-docse1.html#tailetrice-docse1.html" >prev-tail</a>] [<a
-href="#tailetrice-docse2.html">tail</a>] [<a
-href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">1.2 </span> <a
- id="x5-60001.2"></a>Introduction to the ROOM Language</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">1.2.1 </span> <a
- id="x5-70001.2.1"></a>Scope of ROOM</h4>
-<!--l. 5--><p class="noindent" >This chapter will give a rough overview of what ROOM (<span
-class="ec-lmssbx-10">R</span>eal-time <span
-class="ec-lmssbx-10">O</span>bject-<span
-class="ec-lmssbx-10">O</span>riented <span
-class="ec-lmssbx-10">M</span>odeling) is and what it
-is good for. It will try to answer the following questions:
-</p>
-
-
- <ul class="itemize1">
- <li class="itemize">Where does it come from?
- </li>
- <li class="itemize">Which kind of SW-Systems will be addressed?
- </li>
- <li class="itemize">What is the relation between object oriented programming and ROOM?
- </li>
- <li class="itemize">What are the benefits of ROOM?
- </li>
- <li class="itemize">Which consequences must be taken into account?</li></ul>
-<!--l. 17--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-80001.2.1"></a>Where does it come from?</h5>
-<!--l. 19--><p class="noindent" >ROOM was developed in the 1990th on the background of the upcoming mobile applications with the goal to
-manage the complexity of such huge SW-Systems. From the very beginning ROOM has focused on a
-certain type of SW-Systems and is, in contrast to the UML, well suited for this kind of systems. In
-this sense, ROOM is a DSL (Domain Specific Language) for distributed, event driven, real time
-systems.
-</p><!--l. 24--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in the book <span
-class="ec-lmssbx-10">Real-Time</span>
-<span
-class="ec-lmssbx-10">Object-Oriented Modeling</span>. The company <span
-class="ec-lmsso-10">ObjecTime</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup> developed a ROOM tool which was taken over by
-<span
-class="ec-lmsso-10">Rational SW</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup> and later on by <span
-class="ec-lmsso-10">IBM</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup>. The company <span
-class="ec-lmsso-10">Protos Software GmbH</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup> also developed a ROOM
-tool called <span
-class="ec-lmsso-10">Trice</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup> for control software for production machines and automotive systems. <span
-class="ec-lmsso-10">Trice</span><sup class="textsuperscript"><span
-class="ec-lmss-9">TM</span></sup> is the
-predecessor of eTrice (see Introduction to eTrice).
-</p><!--l. 32--><p class="noindent" >From our point of view ROOM provides still the clearest, simplest, most complete and best suited modeling
-concepts for the real time domain. All later proposals like the UML do not fit as well to this kind of
-problems.
-</p><!--l. 36--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-90001.2.1"></a>Which kind of SW-Systems will be addressed?</h5>
-<!--l. 38--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems. But what is a <span
-class="ec-lmsso-10">real time</span>
-<span
-class="ec-lmsso-10">system</span>? ROOM defines a set of properties which are typical for a real time system. These properties
-are:
-</p>
- <ul class="itemize1">
- <li class="itemize">Timeliness
- </li>
- <li class="itemize">Dynamic internal structure
- </li>
- <li class="itemize">Reactiveness
- </li>
- <li class="itemize">Concurrency
-
-
- </li>
- <li class="itemize">Distribution
- </li>
- <li class="itemize">Reliability</li></ul>
-<!--l. 51--><p class="noindent" >Each of these properties has potential to make SW development complex. If a given system can be
-characterized with a combination of or all of these properties, ROOM might be applied to such a
-system.
-</p><!--l. 54--><p class="noindent" >As an example take a look at a washing machine. The system has to react to user interactions, has to handle
-some error conditions like a closed water tap or a defective lye pump. It has to react simultaneously to all these
-inputs. It has to close the water valve within a certain time to avoid flooding the basement. So, the system can
-be characterized as timely, concurrent and reactive. As long as the washing machine does not transform to a
-laundry drier by itself, the system has no dynamic internal structure and as long as all functions are running
-on a single micro controller the (SW)-system is not distributed. ROOM fits perfect to such a
-system.
-</p><!--l. 62--><p class="noindent" >A SW system which mainly consists of data transformations like signal/image processing or a loop controller
-(e.g. a PID controller) cannot be characterized with any of the above mentioned properties. However, in the
-real world most of the SW systems will be a combination of both. ROOM can be combined with such systems,
-so that for example an actor provides a <span
-class="ec-lmsso-10">run to completion </span>context for calculating an image processing
-algorithm or a PID controller.
-</p><!--l. 68--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-100001.2.1"></a>What is the relation between OOP and ROOM?</h5>
-<!--l. 70--><p class="noindent" >The relation between classical object oriented programming and ROOM is comparable to the
-relation between assembler programming and C programming. It provides a shift of the object
-paradigm. The classical object paradigm provides some kind of information hiding. Attributes can be
-accessed via access methods. Logical higher level methods provide the requested behavior to the
-user.
-</p><!--l. 75--><p class="noindent" >But as the figure illustrates, the classical object paradigm does not care about concurrency issues. The threads
-of control will be provided by the underlying operating system and the user is responsible to avoid access
-violations by using those operating system mechanisms directly (semaphore, mutex).
-</p><!--l. 79--><p class="noindent" ><img
-src="images/010-RoomIntroduction02.png" alt="PIC"
- />
-</p><!--l. 81--><p class="noindent" >ROOM provides the concept of a logical machine (called actor) with its own thread of control. It provides
-some kind of cooperative communication infrastructure with <span
-class="ec-lmsso-10">run to completion </span>semantics. That makes
-developing of business logic easy and safe (see <a
-href="#x5-130001.2.2">1.2.2<!--tex4ht:ref: sec:basic_concepts --></a> <a
-href="#x5-130001.2.2">Basic Concepts<!--tex4ht:ref: sec:basic_concepts --></a>). The logical machine provides an
-encapsulation shell including concurrency issues (see <a
-href="#x5-170001.2.2">1.2.2<!--tex4ht:ref: sec:run_to_completion --></a> <a
-href="#x5-170001.2.2">Run to Completion<!--tex4ht:ref: sec:run_to_completion --></a>).
-</p><!--l. 86--><p class="noindent" ><img
-src="images/010-RoomIntroduction03.png" alt="PIC"
- />
-</p><!--l. 88--><p class="noindent" >This thinking of an object is much more general than the classic one.
-</p><!--l. 90--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-110001.2.1"></a>What are the benefits of ROOM?</h5>
-<!--l. 92--><p class="noindent" >ROOM has a lot of benefits and it depends on the users point of view which is the most important one. From
-a general point of view the most important benefit is, that ROOM allows to create SW systems very efficient,
-robust and safe due to the fact that it provides some abstract, high level modeling concepts combined with
-code generation and a small efficient runtime environment.
-</p><!--l. 97--><p class="noindent" >In detail: </p>
-
-
- <ul class="itemize1">
- <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it easy to re-use
- components in different applications or e.g. in a test harness.
- </li>
- <li class="itemize">Graphical modeling makes it easy to understand, maintain and share code with other developers
- </li>
- <li class="itemize">Higher abstraction in combination with automated code generation provides very efficient
- mechanisms to the developer.
- </li>
- <li class="itemize">ROOM provides graphical model execution, which makes it easy to understand the application or
- find defects in a very early phase.</li></ul>
-<!--l. 108--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-120001.2.1"></a>Which consequences must be taken into account?</h5>
-<!--l. 110--><p class="noindent" >Generating code from models will introduce some overhead in terms of memory footprint as well as
-performance. For most systems the overhead will be negligible. However, the decision for using ROOM should
-be made explicitly and it is always a trade off between development costs, time to market and costs in terms of
-a little bit more of memory and performance. Thanks to the powerful component model, ROOM is
-especially well suited for the development of software product lines with their need for reusable core
-assets.
-</p><!--l. 116--><p class="noindent" >Care must be taken during the introduction of the new methodology. Due to the fact that ROOM provides a
-shift of the object paradigm, developers and teams need a phase of adaption. Every benefit comes at a
-price.
-</p><!--l. 119--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">1.2.2 </span> <a
- id="x5-130001.2.2"></a>Basic Concepts</h4>
-<!--l. 122--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-140001.2.2"></a>Actor, Port, Protocol</h5>
-<!--l. 124--><p class="noindent" >The basic elements of ROOM are the actors with their ports and protocols. The protocol provides a formal
-interface description. The port is an interaction point where the actor interacts with its outside world. Each
-port has exactly one protocol attached. The sum of all ports builds up the complete interface of an actor. Each
-port can receive messages, with or without data, which are defined in the attached protocol. Each message will
-be handled by the actor&#8217;s behavior (state machine) or will be delegated to the actor&#8217;s internal
-structure.
-</p>
-<div class="table">
-
-
-<!--l. 132--><p class="noindent" ><a
- id="x5-140011"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;1.1: </span><span
-class="content">Actor and Protocol Class Example</span></div><!--tex4ht:label?: x5-140011 -->
-<div class="tabular"> <table id="TBL-2" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-2-1g"><col
-id="TBL-2-1" /></colgroup><colgroup id="TBL-2-2g"><col
-id="TBL-2-2" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1"
-class="td11"> <img
-src="images/040-ActorClass.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2"
-class="td11"> <img
-src="images/040-ProtocolClassTextualNotation.png" alt="PIC"
- /> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1"
-class="td11"> <span
-class="ec-lmssbx-10">Actor with sub actors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2"
-class="td11"> <span
-class="ec-lmssbx-10">Protocol definition </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1"
-class="td11"> </td></tr></table>
-</div>
-
-
-</div><hr class="endfloat" />
-</div>
-<!--l. 140--><p class="noindent" >The actor provides access protection for its own attributes (including complex types, i.e. classical objects),
-including concurrency protection. An actor has neither public attributes nor public operations. The
-only interaction with the outside world takes place via interface ports. This ensures a high degree
-of re-usability on the actor level and provides an effective and safe programming model to the
-developer.
-</p><!--l. 145--><p class="noindent" >Receiving a message via a port will trigger the internal state machine. A transition will be executed depending
-on the message and the current state. Within this transition, detail level code will be executed and response
-messages can be sent.
-</p><!--l. 149--><p class="noindent" >With this model, a complex behavior can be divided into many relatively simple, linked actors. To put it the
-other way round: The complex behavior will be provided by a network of relatively simple components which
-are communicating with each other via well defined interfaces.
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-150001.2.2"></a>Hierarchy in Structure and Behavior</h5>
-<!--l. 156--><p class="noindent" >ROOM provides two types of hierarchy. Behavioral hierarchy and structural hierarchy. Structural hierarchy
-means that actors can be nested to arbitrary depth. Usually you will add more and more details to your
-application with each nesting level. That means you can focus yourself on any level of abstraction with always
-the same element, the actor. Structural hierarchy provides a powerful mechanism to divide your
-problem in smaller pieces, so that you can focus on the level of abstraction you want to work
-on.
-</p><!--l. 162--><p class="noindent" >The actor&#8217;s behavior will be described with a state machine. A state in turn may contain sub states. This is
-another possibility to focus on an abstraction level. Take the simple FSM from the blinky actor from the blinky
-tutorial.
-</p><!--l. 166--><p class="noindent" >Top level:
-</p><!--l. 168--><p class="noindent" ><img
-src="images/020-Blinky15.png" alt="PIC"
- />
-</p><!--l. 170--><p class="noindent" ><span
-class="ec-lmsso-10">blinking </span>Sub machine:
-</p><!--l. 172--><p class="noindent" ><img
-src="images/020-Blinky151.png" alt="PIC"
- />
-</p><!--l. 174--><p class="noindent" >From an abstract point of view there is a state <span
-class="ec-lmsso-10">blinking</span>. But a simple LED is not able to blink autonomously.
-Therefore you have to add more details to your model to make a LED blinking, but for the current work it
-is not of interest how the blinking is realized. This will be done in the next lower level of the
-hierarchy.
-</p><!--l. 179--><p class="noindent" >This simple example might give an idea how powerful this mechanisms is.
-</p><!--l. 181--><p class="noindent" >The hierarchical FSM provides a rich tool box to describe real world problems (see chapter <a
-href="etrice-docch7.html#x35-790007">7<!--tex4ht:ref: sec:room_concepts --></a> <a
-href="etrice-docch7.html#x35-790007">ROOM
-Concepts<!--tex4ht:ref: sec:room_concepts --></a>).
-</p><!--l. 183--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-160001.2.2"></a>Layering</h5>
-<!--l. 185--><p class="noindent" >Layering is another well known form of abstraction to reduce complexity in the structure of systems. ROOM is
-probably the only language that supports layering directly as a language feature. Layering can be expressed in
-ROOM by actors with specialized ports, called <span
-class="ec-lmsso-10">Service Access Points </span>(SAP) and <span
-class="ec-lmsso-10">Service Provision Points</span>
-(SPP).
-</p><!--l. 190--><p class="noindent" >The actor that provides a service implements an SPP and the client of that service implements an SAP. The
-layer connection connects all SAPs of a specific protocol within an actor hierarchy with an SPP
-that implements the service. From the actor&#8217;s point of view, SAPs and SPPs behave almost like
-
-
-ports.
-</p><!--l. 194--><p class="noindent" ><img
-src="images/010-LayerExample.png" alt="PIC"
- />
-</p><!--l. 196--><p class="noindent" >The example shows a layered model. The layer connections define e.g. that the <span
-class="ec-lmsso-10">ApplicationLayer </span>can only use
-the services of the <span
-class="ec-lmsso-10">ServiceLayer </span>and the <span
-class="ec-lmsso-10">CommunicationLayer</span>. Actors inside the <span
-class="ec-lmsso-10">ApplicationLayer</span>
-that implement an SAP for those services are connected directly to the implementation of the
-services. Layering and actor hierarchies with port to port connections can be mixed on every level of
-granularity.
-</p><!--l. 202--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-170001.2.2"></a>Run to Completion</h5>
-<!--l. 205--><p class="noindent" ><span
-class="ec-lmsso-10">Run to completion </span>(RTC) is a very central concept of ROOM. It enables the developer to concentrate on the
-functional aspects of the system. The developer doesn&#8217;t have to care about concurrency issues all the time.
-This job is concentrated to the system designer in a very flexible way. What does <span
-class="ec-lmsso-10">run to completion </span>mean:
-RTC means that an actor, which is processing a message, can not receive the next message as long as the
-processing of the current message has been finished. Receiving of the next message will be queued by the
-underlying run time system.
-</p><!--l. 213--><p class="noindent" >Note: It is very important not to confuse <span
-class="ec-lmsso-10">run to completion </span>and <span
-class="ec-lmsso-10">cooperative multi threading</span>. Run to
-completion means that an actor will finish the processing of a message before he can receive a new one
-(regardless of its priority). That does <span
-class="ec-lmsso-10">not </span>mean that an actor cannot be preempted from an higher priority
-thread of control. But even a message from this higher prior thread of control will be queued until the current
-processing has been finished.
-</p><!--l. 220--><p class="noindent" >With this mechanism all actor internal attributes and data structures are protected. Due to the fact that
-multiple actors share one thread of control, all objects are protected which are accessed from one thread of
-control but multiple actors. This provides the possibility to decompose complex functionality into several actors
-without the risk to produce access violations or dead locks.
-</p><!--l. 225--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">1.2.3 </span> <a
- id="x5-180001.2.3"></a>Execution Models</h4>
-<!--l. 227--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are
-executed and communicate with each other. The combination of communication and execution is called the
-<span
-class="ec-lmsso-10">execution model</span>. Currently the eTrice tooling supports the <span
-class="ec-lmssbx-10">message driven</span>, the <span
-class="ec-lmssbx-10">data driven </span>and a mixture of
-both execution models. In future releases maybe also a synchronous execution model will be supported,
-depending on the requirements of the community.
-</p><!--l. 235--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-190001.2.3"></a>Communication Methods</h5>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmssbx-10">message driven </span>&#8211; asynchronous, non blocking, no return value:<br
-class="newline" />Usually the message driven communication is implemented with message queues. Message queues
- are inherently asynchronous and enable a very good decoupling of the communicating parties.
-
-
- </li>
- <li class="itemize"><span
-class="ec-lmssbx-10">data driven </span>&#8211; asynchronous, non blocking, no return value:<br
-class="newline" />In data driven communication sender and receiver often have a shared block of data. The sender
- writes the data and the receiver polls the data.
- </li>
- <li class="itemize"><span
-class="ec-lmssbx-10">function call </span>&#8211; synchronous, blocking, return value:<br
-class="newline" />Regular function call as known in most programming languages.</li></ul>
-<!--l. 251--><p class="noindent" >eTrice currently supports the two former communication methods.
-</p><!--l. 253--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-200001.2.3"></a>Execution Methods</h5>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmssbx-10">execution by receive event</span>: The message queue or the event dispatcher calls a <span
-class="ec-lmssbx-10">receive event</span>
- function of the message receiver and thereby executes the processing of the event.
- </li>
- <li class="itemize"><span
-class="ec-lmssbx-10">polled execution</span>: The objects are processed by a cyclic <span
-class="ec-lmssbx-10">execute </span>call
- </li>
- <li class="itemize"><span
-class="ec-lmssbx-10">execution by function call</span>: The caller executes the called object via function call</li></ul>
-<!--l. 262--><p class="noindent" >eTrice currently supports the two former execution methods.
-</p><!--l. 264--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x5-210001.2.3"></a>Execution Models</h5>
-<!--l. 266--><p class="noindent" >In present-day&#8217;s embedded systems in most cases one or several of the following execution models are
-used:
-</p>
-<!--l. 268--><p class="noindent" ><span class="paragraphHead"><a
- id="x5-220001.2.3"></a><span
-class="ec-lmssbx-10">message driven</span></span>
-<br
-class="newline" />
-</p><!--l. 270--><p class="noindent" >The message driven execution model is a combination of message driven communication and execution by
-receive event. This model allows for distributed systems with a very high throughput. It can be deterministic
-but the determinism is hard to proof. This execution model is often found in telecommunication systems and
-high performance automation control systems.
-</p>
-<!--l. 277--><p class="noindent" ><span class="paragraphHead"><a
- id="x5-230001.2.3"></a><span
-class="ec-lmssbx-10">data driven</span></span>
-<br
-class="newline" />
-
-
-</p><!--l. 279--><p class="noindent" >The data driven execution model is a combination of data driven communication and polled execution. This
-model is highly deterministic and very robust, but the polling creates a huge performance overhead. The
-determinism is easy to proof (simple mathematics). The execution model is also compatible with the
-execution model of control software generated by Tools like Matlab(TM) and LabView(TM). This
-model is usually used for systems with requirements for safety, such as automotive and avionic
-systems.
-</p>
-<!--l. 286--><p class="noindent" ><span class="paragraphHead"><a
- id="x5-240001.2.3"></a><span
-class="ec-lmssbx-10">synchronous</span></span>
-<br
-class="newline" />
-</p><!--l. 288--><p class="noindent" >The synchronous execution model could also be called <span
-class="ec-lmsso-10">function calls</span>. This model in general is not very well
-suited to support the <span
-class="ec-lmsso-10">run to completion </span>semantics typical for ROOM models, but could also be generated from
-ROOM models. With this execution model also lower levels of a software system, such as device drivers, could
-be generated from ROOM models.
-
-
-</p>
-<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch2.html" >next</a>] [<a
-href="etrice-docse1.html" >prev</a>] [<a
-href="etrice-docse1.html#tailetrice-docse1.html" >prev-tail</a>] [<a
-href="etrice-docse2.html" >front</a>] [<a
-href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
-<!--l. 59--><p class="noindent" ><a
- id="tailetrice-docse2.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Introduction to the ROOM Language</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch2.html" >next</a>] [<a
+href="etrice-docse1.html" >prev</a>] [<a
+href="etrice-docse1.html#tailetrice-docse1.html" >prev-tail</a>] [<a
+href="#tailetrice-docse2.html">tail</a>] [<a
+href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">1.2 </span> <a
+ id="x5-60001.2"></a>Introduction to the ROOM Language</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.2.1 </span> <a
+ id="x5-70001.2.1"></a>Scope of ROOM</h4>
+<!--l. 5--><p class="noindent" >This chapter will give a rough overview of what ROOM (<span
+class="ec-lmssbx-10">R</span>eal-time <span
+class="ec-lmssbx-10">O</span>bject-<span
+class="ec-lmssbx-10">O</span>riented <span
+class="ec-lmssbx-10">M</span>odeling) is and what it
+is good for. It will try to answer the following questions:
+</p>
+
+
+ <ul class="itemize1">
+ <li class="itemize">Where does it come from?
+ </li>
+ <li class="itemize">Which kind of SW-Systems will be addressed?
+ </li>
+ <li class="itemize">What is the relation between object oriented programming and ROOM?
+ </li>
+ <li class="itemize">What are the benefits of ROOM?
+ </li>
+ <li class="itemize">Which consequences must be taken into account?</li></ul>
+<!--l. 17--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-80001.2.1"></a>Where does it come from?</h5>
+<!--l. 19--><p class="noindent" >ROOM was developed in the 1990th on the background of the upcoming mobile applications with the goal to
+manage the complexity of such huge SW-Systems. From the very beginning ROOM has focused on a
+certain type of SW-Systems and is, in contrast to the UML, well suited for this kind of systems. In
+this sense, ROOM is a DSL (Domain Specific Language) for distributed, event driven, real time
+systems.
+</p><!--l. 24--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in the book <span
+class="ec-lmssbx-10">Real-Time</span>
+<span
+class="ec-lmssbx-10">Object-Oriented Modeling</span>. The company <span
+class="ec-lmsso-10">ObjecTime</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup> developed a ROOM tool which was taken over by
+<span
+class="ec-lmsso-10">Rational SW</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup> and later on by <span
+class="ec-lmsso-10">IBM</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup>. The company <span
+class="ec-lmsso-10">Protos Software GmbH</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup> also developed a ROOM
+tool called <span
+class="ec-lmsso-10">Trice</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup> for control software for production machines and automotive systems. <span
+class="ec-lmsso-10">Trice</span><sup class="textsuperscript"><span
+class="ec-lmss-9">TM</span></sup> is the
+predecessor of eTrice (see Introduction to eTrice).
+</p><!--l. 32--><p class="noindent" >From our point of view ROOM provides still the clearest, simplest, most complete and best suited modeling
+concepts for the real time domain. All later proposals like the UML do not fit as well to this kind of
+problems.
+</p><!--l. 36--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-90001.2.1"></a>Which kind of SW-Systems will be addressed?</h5>
+<!--l. 38--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems. But what is a <span
+class="ec-lmsso-10">real time</span>
+<span
+class="ec-lmsso-10">system</span>? ROOM defines a set of properties which are typical for a real time system. These properties
+are:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">Timeliness
+ </li>
+ <li class="itemize">Dynamic internal structure
+ </li>
+ <li class="itemize">Reactiveness
+ </li>
+ <li class="itemize">Concurrency
+
+
+ </li>
+ <li class="itemize">Distribution
+ </li>
+ <li class="itemize">Reliability</li></ul>
+<!--l. 51--><p class="noindent" >Each of these properties has potential to make SW development complex. If a given system can be
+characterized with a combination of or all of these properties, ROOM might be applied to such a
+system.
+</p><!--l. 54--><p class="noindent" >As an example take a look at a washing machine. The system has to react to user interactions, has to handle
+some error conditions like a closed water tap or a defective lye pump. It has to react simultaneously to all these
+inputs. It has to close the water valve within a certain time to avoid flooding the basement. So, the system can
+be characterized as timely, concurrent and reactive. As long as the washing machine does not transform to a
+laundry drier by itself, the system has no dynamic internal structure and as long as all functions are running
+on a single micro controller the (SW)-system is not distributed. ROOM fits perfect to such a
+system.
+</p><!--l. 62--><p class="noindent" >A SW system which mainly consists of data transformations like signal/image processing or a loop controller
+(e.g. a PID controller) cannot be characterized with any of the above mentioned properties. However, in the
+real world most of the SW systems will be a combination of both. ROOM can be combined with such systems,
+so that for example an actor provides a <span
+class="ec-lmsso-10">run to completion </span>context for calculating an image processing
+algorithm or a PID controller.
+</p><!--l. 68--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-100001.2.1"></a>What is the relation between OOP and ROOM?</h5>
+<!--l. 70--><p class="noindent" >The relation between classical object oriented programming and ROOM is comparable to the
+relation between assembler programming and C programming. It provides a shift of the object
+paradigm. The classical object paradigm provides some kind of information hiding. Attributes can be
+accessed via access methods. Logical higher level methods provide the requested behavior to the
+user.
+</p><!--l. 75--><p class="noindent" >But as the figure illustrates, the classical object paradigm does not care about concurrency issues. The threads
+of control will be provided by the underlying operating system and the user is responsible to avoid access
+violations by using those operating system mechanisms directly (semaphore, mutex).
+</p><!--l. 79--><p class="noindent" ><img
+src="images/010-RoomIntroduction02.png" alt="PIC"
+ />
+</p><!--l. 81--><p class="noindent" >ROOM provides the concept of a logical machine (called actor) with its own thread of control. It provides
+some kind of cooperative communication infrastructure with <span
+class="ec-lmsso-10">run to completion </span>semantics. That makes
+developing of business logic easy and safe (see <a
+href="#x5-130001.2.2">1.2.2<!--tex4ht:ref: sec:basic_concepts --></a> <a
+href="#x5-130001.2.2">Basic Concepts<!--tex4ht:ref: sec:basic_concepts --></a>). The logical machine provides an
+encapsulation shell including concurrency issues (see <a
+href="#x5-170001.2.2">1.2.2<!--tex4ht:ref: sec:run_to_completion --></a> <a
+href="#x5-170001.2.2">Run to Completion<!--tex4ht:ref: sec:run_to_completion --></a>).
+</p><!--l. 86--><p class="noindent" ><img
+src="images/010-RoomIntroduction03.png" alt="PIC"
+ />
+</p><!--l. 88--><p class="noindent" >This thinking of an object is much more general than the classic one.
+</p><!--l. 90--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-110001.2.1"></a>What are the benefits of ROOM?</h5>
+<!--l. 92--><p class="noindent" >ROOM has a lot of benefits and it depends on the users point of view which is the most important one. From
+a general point of view the most important benefit is, that ROOM allows to create SW systems very efficient,
+robust and safe due to the fact that it provides some abstract, high level modeling concepts combined with
+code generation and a small efficient runtime environment.
+</p><!--l. 97--><p class="noindent" >In detail: </p>
+
+
+ <ul class="itemize1">
+ <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it easy to re-use
+ components in different applications or e.g. in a test harness.
+ </li>
+ <li class="itemize">Graphical modeling makes it easy to understand, maintain and share code with other developers
+ </li>
+ <li class="itemize">Higher abstraction in combination with automated code generation provides very efficient
+ mechanisms to the developer.
+ </li>
+ <li class="itemize">ROOM provides graphical model execution, which makes it easy to understand the application or
+ find defects in a very early phase.</li></ul>
+<!--l. 108--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-120001.2.1"></a>Which consequences must be taken into account?</h5>
+<!--l. 110--><p class="noindent" >Generating code from models will introduce some overhead in terms of memory footprint as well as
+performance. For most systems the overhead will be negligible. However, the decision for using ROOM should
+be made explicitly and it is always a trade off between development costs, time to market and costs in terms of
+a little bit more of memory and performance. Thanks to the powerful component model, ROOM is
+especially well suited for the development of software product lines with their need for reusable core
+assets.
+</p><!--l. 116--><p class="noindent" >Care must be taken during the introduction of the new methodology. Due to the fact that ROOM provides a
+shift of the object paradigm, developers and teams need a phase of adaption. Every benefit comes at a
+price.
+</p><!--l. 119--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.2.2 </span> <a
+ id="x5-130001.2.2"></a>Basic Concepts</h4>
+<!--l. 122--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-140001.2.2"></a>Actor, Port, Protocol</h5>
+<!--l. 124--><p class="noindent" >The basic elements of ROOM are the actors with their ports and protocols. The protocol provides a formal
+interface description. The port is an interaction point where the actor interacts with its outside world. Each
+port has exactly one protocol attached. The sum of all ports builds up the complete interface of an actor. Each
+port can receive messages, with or without data, which are defined in the attached protocol. Each message will
+be handled by the actor&#8217;s behavior (state machine) or will be delegated to the actor&#8217;s internal
+structure.
+</p>
+<div class="table">
+
+
+<!--l. 132--><p class="noindent" ><a
+ id="x5-140011"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;1.1: </span><span
+class="content">Actor and Protocol Class Example</span></div><!--tex4ht:label?: x5-140011 -->
+<div class="tabular"> <table id="TBL-2" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-2-1g"><col
+id="TBL-2-1" /></colgroup><colgroup id="TBL-2-2g"><col
+id="TBL-2-2" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1"
+class="td11"> <img
+src="images/040-ActorClass.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2"
+class="td11"> <img
+src="images/040-ProtocolClassTextualNotation.png" alt="PIC"
+ /> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1"
+class="td11"> <span
+class="ec-lmssbx-10">Actor with sub actors </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2"
+class="td11"> <span
+class="ec-lmssbx-10">Protocol definition </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1"
+class="td11"> </td></tr></table>
+</div>
+
+
+</div><hr class="endfloat" />
+</div>
+<!--l. 140--><p class="noindent" >The actor provides access protection for its own attributes (including complex types, i.e. classical objects),
+including concurrency protection. An actor has neither public attributes nor public operations. The
+only interaction with the outside world takes place via interface ports. This ensures a high degree
+of re-usability on the actor level and provides an effective and safe programming model to the
+developer.
+</p><!--l. 145--><p class="noindent" >Receiving a message via a port will trigger the internal state machine. A transition will be executed depending
+on the message and the current state. Within this transition, detail level code will be executed and response
+messages can be sent.
+</p><!--l. 149--><p class="noindent" >With this model, a complex behavior can be divided into many relatively simple, linked actors. To put it the
+other way round: The complex behavior will be provided by a network of relatively simple components which
+are communicating with each other via well defined interfaces.
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-150001.2.2"></a>Hierarchy in Structure and Behavior</h5>
+<!--l. 156--><p class="noindent" >ROOM provides two types of hierarchy. Behavioral hierarchy and structural hierarchy. Structural hierarchy
+means that actors can be nested to arbitrary depth. Usually you will add more and more details to your
+application with each nesting level. That means you can focus yourself on any level of abstraction with always
+the same element, the actor. Structural hierarchy provides a powerful mechanism to divide your
+problem in smaller pieces, so that you can focus on the level of abstraction you want to work
+on.
+</p><!--l. 162--><p class="noindent" >The actor&#8217;s behavior will be described with a state machine. A state in turn may contain sub states. This is
+another possibility to focus on an abstraction level. Take the simple FSM from the blinky actor from the blinky
+tutorial.
+</p><!--l. 166--><p class="noindent" >Top level:
+</p><!--l. 168--><p class="noindent" ><img
+src="images/020-Blinky15.png" alt="PIC"
+ />
+</p><!--l. 170--><p class="noindent" ><span
+class="ec-lmsso-10">blinking </span>Sub machine:
+</p><!--l. 172--><p class="noindent" ><img
+src="images/020-Blinky151.png" alt="PIC"
+ />
+</p><!--l. 174--><p class="noindent" >From an abstract point of view there is a state <span
+class="ec-lmsso-10">blinking</span>. But a simple LED is not able to blink autonomously.
+Therefore you have to add more details to your model to make a LED blinking, but for the current work it
+is not of interest how the blinking is realized. This will be done in the next lower level of the
+hierarchy.
+</p><!--l. 179--><p class="noindent" >This simple example might give an idea how powerful this mechanisms is.
+</p><!--l. 181--><p class="noindent" >The hierarchical FSM provides a rich tool box to describe real world problems (see chapter <a
+href="etrice-docch4.html#x18-720004">4<!--tex4ht:ref: sec:room_concepts --></a> <a
+href="etrice-docch4.html#x18-720004">ROOM
+Concepts<!--tex4ht:ref: sec:room_concepts --></a>).
+</p><!--l. 183--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-160001.2.2"></a>Layering</h5>
+<!--l. 185--><p class="noindent" >Layering is another well known form of abstraction to reduce complexity in the structure of systems. ROOM is
+probably the only language that supports layering directly as a language feature. Layering can be expressed in
+ROOM by actors with specialized ports, called <span
+class="ec-lmsso-10">Service Access Points </span>(SAP) and <span
+class="ec-lmsso-10">Service Provision Points</span>
+(SPP).
+</p><!--l. 190--><p class="noindent" >The actor that provides a service implements an SPP and the client of that service implements an SAP. The
+layer connection connects all SAPs of a specific protocol within an actor hierarchy with an SPP
+that implements the service. From the actor&#8217;s point of view, SAPs and SPPs behave almost like
+
+
+ports.
+</p><!--l. 194--><p class="noindent" ><img
+src="images/010-LayerExample.png" alt="PIC"
+ />
+</p><!--l. 196--><p class="noindent" >The example shows a layered model. The layer connections define e.g. that the <span
+class="ec-lmsso-10">ApplicationLayer </span>can only use
+the services of the <span
+class="ec-lmsso-10">ServiceLayer </span>and the <span
+class="ec-lmsso-10">CommunicationLayer</span>. Actors inside the <span
+class="ec-lmsso-10">ApplicationLayer</span>
+that implement an SAP for those services are connected directly to the implementation of the
+services. Layering and actor hierarchies with port to port connections can be mixed on every level of
+granularity.
+</p><!--l. 202--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-170001.2.2"></a>Run to Completion</h5>
+<!--l. 205--><p class="noindent" ><span
+class="ec-lmsso-10">Run to completion </span>(RTC) is a very central concept of ROOM. It enables the developer to concentrate on the
+functional aspects of the system. The developer doesn&#8217;t have to care about concurrency issues all the time.
+This job is concentrated to the system designer in a very flexible way. What does <span
+class="ec-lmsso-10">run to completion </span>mean:
+RTC means that an actor, which is processing a message, can not receive the next message as long as the
+processing of the current message has been finished. Receiving of the next message will be queued by the
+underlying run time system.
+</p><!--l. 213--><p class="noindent" >Note: It is very important not to confuse <span
+class="ec-lmsso-10">run to completion </span>and <span
+class="ec-lmsso-10">cooperative multi threading</span>. Run to
+completion means that an actor will finish the processing of a message before he can receive a new one
+(regardless of its priority). That does <span
+class="ec-lmsso-10">not </span>mean that an actor cannot be preempted from an higher priority
+thread of control. But even a message from this higher prior thread of control will be queued until the current
+processing has been finished.
+</p><!--l. 220--><p class="noindent" >With this mechanism all actor internal attributes and data structures are protected. Due to the fact that
+multiple actors share one thread of control, all objects are protected which are accessed from one thread of
+control but multiple actors. This provides the possibility to decompose complex functionality into several actors
+without the risk to produce access violations or dead locks.
+</p><!--l. 225--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.2.3 </span> <a
+ id="x5-180001.2.3"></a>Execution Models</h4>
+<!--l. 227--><p class="noindent" >Since from ROOM models executable code can be generated, it is important to define the way the actors are
+executed and communicate with each other. The combination of communication and execution is called the
+<span
+class="ec-lmsso-10">execution model</span>. Currently the eTrice tooling supports the <span
+class="ec-lmssbx-10">message driven</span>, the <span
+class="ec-lmssbx-10">data driven </span>and a mixture of
+both execution models. In future releases maybe also a synchronous execution model will be supported,
+depending on the requirements of the community.
+</p><!--l. 235--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-190001.2.3"></a>Communication Methods</h5>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmssbx-10">message driven </span>&#8211; asynchronous, non blocking, no return value:<br
+class="newline" />Usually the message driven communication is implemented with message queues. Message queues
+ are inherently asynchronous and enable a very good decoupling of the communicating parties.
+
+
+ </li>
+ <li class="itemize"><span
+class="ec-lmssbx-10">data driven </span>&#8211; asynchronous, non blocking, no return value:<br
+class="newline" />In data driven communication sender and receiver often have a shared block of data. The sender
+ writes the data and the receiver polls the data.
+ </li>
+ <li class="itemize"><span
+class="ec-lmssbx-10">function call </span>&#8211; synchronous, blocking, return value:<br
+class="newline" />Regular function call as known in most programming languages.</li></ul>
+<!--l. 251--><p class="noindent" >eTrice currently supports the two former communication methods.
+</p><!--l. 253--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-200001.2.3"></a>Execution Methods</h5>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmssbx-10">execution by receive event</span>: The message queue or the event dispatcher calls a <span
+class="ec-lmssbx-10">receive event</span>
+ function of the message receiver and thereby executes the processing of the event.
+ </li>
+ <li class="itemize"><span
+class="ec-lmssbx-10">polled execution</span>: The objects are processed by a cyclic <span
+class="ec-lmssbx-10">execute </span>call
+ </li>
+ <li class="itemize"><span
+class="ec-lmssbx-10">execution by function call</span>: The caller executes the called object via function call</li></ul>
+<!--l. 262--><p class="noindent" >eTrice currently supports the two former execution methods.
+</p><!--l. 264--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x5-210001.2.3"></a>Execution Models</h5>
+<!--l. 266--><p class="noindent" >In present-day&#8217;s embedded systems in most cases one or several of the following execution models are
+used:
+</p>
+<!--l. 268--><p class="noindent" ><span class="paragraphHead"><a
+ id="x5-220001.2.3"></a><span
+class="ec-lmssbx-10">message driven</span></span>
+<br
+class="newline" />
+</p><!--l. 270--><p class="noindent" >The message driven execution model is a combination of message driven communication and execution by
+receive event. This model allows for distributed systems with a very high throughput. It can be deterministic
+but the determinism is hard to proof. This execution model is often found in telecommunication systems and
+high performance automation control systems.
+</p>
+<!--l. 277--><p class="noindent" ><span class="paragraphHead"><a
+ id="x5-230001.2.3"></a><span
+class="ec-lmssbx-10">data driven</span></span>
+<br
+class="newline" />
+
+
+</p><!--l. 279--><p class="noindent" >The data driven execution model is a combination of data driven communication and polled execution. This
+model is highly deterministic and very robust, but the polling creates a huge performance overhead. The
+determinism is easy to proof (simple mathematics). The execution model is also compatible with the
+execution model of control software generated by Tools like Matlab(TM) and LabView(TM). This
+model is usually used for systems with requirements for safety, such as automotive and avionic
+systems.
+</p>
+<!--l. 286--><p class="noindent" ><span class="paragraphHead"><a
+ id="x5-240001.2.3"></a><span
+class="ec-lmssbx-10">synchronous</span></span>
+<br
+class="newline" />
+</p><!--l. 288--><p class="noindent" >The synchronous execution model could also be called <span
+class="ec-lmsso-10">function calls</span>. This model in general is not very well
+suited to support the <span
+class="ec-lmsso-10">run to completion </span>semantics typical for ROOM models, but could also be generated from
+ROOM models. With this execution model also lower levels of a software system, such as device drivers, could
+be generated from ROOM models.
+
+
+</p>
+<!--l. 59--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch2.html" >next</a>] [<a
+href="etrice-docse1.html" >prev</a>] [<a
+href="etrice-docse1.html#tailetrice-docse1.html" >prev-tail</a>] [<a
+href="etrice-docse2.html" >front</a>] [<a
+href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
+<!--l. 59--><p class="noindent" ><a
+ id="tailetrice-docse2.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
index adfa808fc..0988acfa6 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
@@ -1,40 +1,1385 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Summary</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch6.html" >next</a>] [<a
-href="etrice-docse19.html" >prev</a>] [<a
-href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
-href="#tailetrice-docse20.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.8 </span> <a
- id="x27-710005.8"></a>Summary</h3>
-<!--l. 182--><p class="noindent" >You are now familiar with all necessary steps to create, build and run an eTrice C model from scratch. You are
-able to create a launch configuration to start the code generator and to perform all necessary settings to
-compile and link the application.
-</p><!--l. 186--><p class="noindent" >The next tutorial provides an exercise to get more familiar with these working steps.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch6.html" >next</a>] [<a
-href="etrice-docse19.html" >prev</a>] [<a
-href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
-href="etrice-docse20.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse20.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch6.html" >next</a>] [<a
+href="etrice-docse19.html" >prev</a>] [<a
+href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
+href="#tailetrice-docse20.html">tail</a>] [<a
+href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
+ id="x27-1180005.2"></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="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
+ </li>
+ <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.
+</p><!--l. 19--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.2.1 </span> <a
+ id="x27-1190005.2.1"></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="x27-119001r1"></a>
+<a
+ id="x27-119002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</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="x27-119004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</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="x27-119005r3"></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="x27-119006r4"></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="x27-119007r5"></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="x27-119008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119009r7"></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="x27-119010r8"></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="x27-119011r9"></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="x27-119012r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119013r11"></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="x27-119014r12"></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="x27-119015r13"></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">actB1</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><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119016r14"></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="x27-119017r15"></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="x27-119018r16"></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="x27-119019r17"></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="x27-119020r18"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119021r19"></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="x27-119022r20"></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="x27-119023r21"></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="x27-119024r22"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119025r23"></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="x27-119026r24"></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="x27-119027r25"></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="x27-119028r26"></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="x27-119029r27"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119030r28"></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">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="x27-119031r29"></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="x27-119032r30"></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="x27-119033r31"></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">actB1</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="x27-119034r32"></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="x27-119035r33"></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="x27-119036r34"></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="x27-119037r35"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119038r36"></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="x27-119039r37"></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="x27-119040r38"></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="x27-119041r39"></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">actC1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119042r40"></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">actC2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119043r41"></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="x27-119044r42"></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="x27-119045r43"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119046r44"></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">ActC</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="x27-119047r45"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-119048r46"></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="x27-119049r47"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;5.1:
+ </span><span
+class="content">ROOM
+ example
+
+
+ code</span></div><!--tex4ht:label?: x27-1190005.2 -->
+</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="#x27-1190505">5.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white boxes shows some mapping information, see section <a
+href="#x27-1220005.2.4">5.2.4<!--tex4ht:ref: sec:mapping_model --></a> <a
+href="#x27-1220005.2.4">The Mapping
+Model<!--tex4ht:ref: sec:mapping_model --></a>):
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x27-1190505"></a><a
+ id="x27-12000025"></a><a
+ id="x27-12100011"></a><a
+ id="x27-12100046"></a><a
+ id="x27-12200017"></a>
+
+
+<!--l. 40--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;5.5: </span><span
+class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x27-1190505 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">5.2.2 </span> <a
+ id="x27-1200005.2.2"></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="x27-120001r2"></a>
+<a
+ id="x27-120002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120003r1"></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120005r3"></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="x27-120006r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120007r5"></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="x27-120008r6"></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="x27-120009r7"></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="x27-120010r8"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120011r9"></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="x27-120012r10"></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="x27-120013r11"></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="x27-120014r12"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120015r13"></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="x27-120016r14"></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="x27-120017r15"></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="x27-120018r16"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120019r17"></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="x27-120020r18"></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="x27-120021r19"></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="x27-120022r20"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-120023r21"></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="x27-120024r22"></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="x27-120025r23"></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="x27-120026r24"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;5.2:
+ </span><span
+class="content">Config
+ example
+ code</span></div><!--tex4ht:label?: x27-1200005.2 -->
+</div>
+<!--l. 53--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.2.3 </span> <a
+ id="x27-1210005.2.3"></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="x27-121001r3"></a>
+<a
+ id="x27-121002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</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="x27-121004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121005r3"></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-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="x27-121006r4"></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">multiThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121007r5"></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="x27-121008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121009r7"></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-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="x27-121010r8"></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="x27-121011r9"></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="x27-121012r10"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;5.3:
+ </span><span
+class="content">etPhys
+ runtime
+ definition</span></div><!--tex4ht:label?: x27-1210005.2 -->
+</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="x27-121013r4"></a>
+<a
+ id="x27-121014"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121015r1"></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="x27-121016r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121017r3"></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">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="x27-121018r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121019r5"></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="x27-121020r6"></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">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121021r7"></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">pc2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121022r8"></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">mc</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121023r9"></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="x27-121024r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121025r11"></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="x27-121026r12"></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="x27-121027r13"></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="x27-121028r14"></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="x27-121029r15"></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="x27-121030r16"></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">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="x27-121031r17"></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-lmtt-9">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="x27-121032r18"></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="x27-121033r19"></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="x27-121034r20"></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="x27-121035r21"></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="x27-121036r22"></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="x27-121037r23"></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">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="x27-121038r24"></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="x27-121039r25"></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-lmtt-9">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="x27-121040r26"></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="x27-121041r27"></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="x27-121042r28"></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="x27-121043r29"></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="x27-121044r30"></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="x27-121045r31"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-121046r32"></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">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="x27-121047r33"></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="x27-121048r34"></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="x27-121049r35"></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="x27-121050r36"></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="x27-121051r37"></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">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="x27-121052r38"></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">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="x27-121053r39"></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-lmtt-9">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="x27-121054r40"></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="x27-121055r41"></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="x27-121056r42"></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="x27-121057r43"></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="x27-121058r44"></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="x27-121059r45"></a></span><span
+class="ec-lmtt-9">}</span>
+
+
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;5.4:
+ </span><span
+class="content">etPhys
+ example
+ code</span></div><!--tex4ht:label?: x27-1210005.2 -->
+</div>
+<!--l. 67--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.2.4 </span> <a
+ id="x27-1220005.2.4"></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="x27-122001r5"></a>
+<a
+ id="x27-122002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-122003r1"></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="x27-122004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-122005r3"></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="x27-122006r4"></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="x27-122007r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x27-122008r6"></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="x27-122009r7"></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="x27-122010r8"></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-lmtt-9">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="x27-122011r9"></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-lmtt-9">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="x27-122012r10"></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="x27-122013r11"></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="x27-122014r12"></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-lmtt-9">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="x27-122015r13"></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-lmtt-9">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="x27-122016r14"></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="x27-122017r15"></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="x27-122018r16"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;5.5:
+ </span><span
+class="content">etMap
+ example
+ code</span></div><!--tex4ht:label?: x27-1220005.2 -->
+</div>
+<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
+href="#x27-1190505">5.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>).
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch6.html" >next</a>] [<a
+href="etrice-docse19.html" >prev</a>] [<a
+href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
+href="etrice-docse20.html" >front</a>] [<a
+href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse20.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
index 2b83dfaef..d6529b28f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
@@ -1,61 +1,160 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Scope</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse22.html" >next</a>] [<a
-href="etrice-docch6.html" >prev</a>] [<a
-href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
-href="#tailetrice-docse21.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.1 </span> <a
- id="x29-730006.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >In this tutorial you will create a more complex model. The model implements a simple parser that removes
-comments (block comments and line comments) from a C source file. Therefore we will create two actors.
-One actor is responsible to perform the file operations, while the second actor implements the
-parser.
-</p><!--l. 9--><p class="noindent" >You will perform the following steps:
-</p><!--l. 11--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x29-73002x1">create a new model from scratch for C
- </li>
- <li
- class="enumerate" id="x29-73004x2">define a protocol
- </li>
- <li
- class="enumerate" id="x29-73006x3">define your own data type
- </li>
- <li
- class="enumerate" id="x29-73008x4">create the structure and the behavior by yourself
- </li>
- <li
- class="enumerate" id="x29-73010x5">generate, build and run the model</li></ol>
-<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the Workspace for C</span>
-<span
-class="ec-lmsso-10">Projects</span>.
-
-
-</p>
-<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse22.html" >next</a>] [<a
-href="etrice-docch6.html" >prev</a>] [<a
-href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
-href="etrice-docse21.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
-<!--l. 22--><p class="noindent" ><a
- id="tailetrice-docse21.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Architecture</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse22.html" >next</a>] [<a
+href="etrice-docch6.html" >prev</a>] [<a
+href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
+href="#tailetrice-docse21.html">tail</a>] [<a
+href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.1 </span> <a
+ id="x29-1240006.1"></a>Architecture</h3>
+<!--l. 5--><p class="noindent" >The basic components of eTrice are depicted in the following diagram.
+</p><!--l. 7--><p class="noindent" ><img
+src="images/200-components.jpg" alt="PIC"
+ />
+</p><!--l. 9--><p class="noindent" >Additional to that the eTrice project comprises runtime libraries and unit tests which are treated in subsequent
+sections.
+</p><!--l. 12--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.1.1 </span> <a
+ id="x29-1250006.1.1"></a>Editor and Generator Components</h4>
+ <ul class="itemize1">
+ <li class="itemize">core
+ <ul class="itemize2">
+ <li class="itemize">core.room is an Xtext based language called ROOM. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. ROOM is
+ the basic modeling language of eTrice.
+ </li>
+ <li class="itemize">core.config is an Xtext based
+ language called Config. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config</span>
+ and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. Config is a language designed for the data
+ configuration of model
+ </li>
+ <li class="itemize">core.etphys is an Xtext based
+ language called etPhys. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys </span>and
+
+
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. etPhys is a language designed for the description
+ of physical systems onto which the logical ROOM systems are deployed.
+ </li>
+ <li class="itemize">core.etmap is an Xtext based language called etMap. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. etMap
+ is a language designed for the mapping of logical to physical systems.
+ </li>
+ <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of the
+ plugin <span
+class="ec-lmtt-10">org.eclipse.etrice.core.genmodel</span>. A Room model can be transformed into a
+ genmodel which allows easy access to implicit relations of the Room model.</li></ul>
+ </li>
+ <li class="itemize">ui
+ <ul class="itemize2">
+ <li class="itemize">textual
+ <ul class="itemize3">
+ <li class="itemize">room.ui is the ui counterpart of core.room. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the Room language.
+ </li>
+ <li class="itemize">config.ui is the ui counterpart of core.config. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the Config language.
+ </li>
+ <li class="itemize">etphys.ui is the ui counterpart of core.etphys. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the etPhys language.
+ </li>
+ <li class="itemize">etmap.ui is the ui counterpart of core.etmap. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the etPhys language.</li></ul>
+ </li>
+ <li class="itemize">graphical
+ <ul class="itemize3">
+ <li class="itemize">ui.common is a set of common code for the two diagram editors. It consists of the
+ plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.common</span>.
+ </li>
+ <li class="itemize">ui.commands encapsulates some commands related to the navigation between eTrice
+ editors. It consists of the plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.commands</span>.
+ </li>
+ <li class="itemize">ui.structure is the Graphiti based editor for the Actor structure. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.structure</span>.
+ </li>
+ <li class="itemize">ui.behavior is the Graphiti based editor for the Actor behavior. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.behavior</span>.</li></ul>
+ </li></ul>
+ </li>
+ <li class="itemize">generators
+ <ul class="itemize2">
+ <li class="itemize">generator is a set of general classes and language independent parts of all generators. It
+ consists of the plug-in <span
+class="ec-lmsso-10">org.eclipse.etrice.generator</span>.
+
+
+ </li>
+ <li class="itemize">generator.c is the generator for the ANSI-C target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.c</span>.
+ </li>
+ <li class="itemize">generator.cpp is the generator for the C++ target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.cpp</span>.
+ </li>
+ <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.java</span>.
+ </li>
+ <li class="itemize">generator.doc is the generator for the model documentation. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.doc</span>.</li></ul>
+ </li></ul>
+<!--l. 84--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.1.2 </span> <a
+ id="x29-1260006.1.2"></a>Runtimes</h4>
+<!--l. 86--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The C++ runtime is still a prototype. The runtimes are
+libraries written in the target language against which the generated code is compiled.
+</p><!--l. 90--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.1.3 </span> <a
+ id="x29-1270006.1.3"></a>Unit Tests</h4>
+<!--l. 92--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
+
+
+</p>
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse22.html" >next</a>] [<a
+href="etrice-docch6.html" >prev</a>] [<a
+href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
+href="etrice-docse21.html" >front</a>] [<a
+href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
+<!--l. 94--><p class="noindent" ><a
+ id="tailetrice-docse21.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
index 157a55730..df37e879f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
@@ -1,72 +1,405 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create a new model from scratch</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse23.html" >next</a>] [<a
-href="etrice-docse21.html" >prev</a>] [<a
-href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
-href="#tailetrice-docse22.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
- id="x30-740006.2"></a>Create a new model from scratch</h3>
-<!--l. 24--><p class="noindent" >Remember the following steps from the previous tutorials: </p>
- <ul class="itemize1">
- <li class="itemize">select the <span
-class="ec-lmsso-10">C/C++ </span>perspective
- </li>
- <li class="itemize">From the main menue select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
- </li>
- <li class="itemize">Name the project <span
-class="ec-lmsso-10">RemoveComment</span>
- </li>
- <li class="itemize">Project type is <span
-class="ec-lmsso-10">Executable / Empty C Project</span>
- </li>
- <li class="itemize">Toolchain is <span
-class="ec-lmsso-10">MinGW</span>
- </li>
- <li class="itemize">Add the folder <span
-class="ec-lmsso-10">model</span>
- </li>
- <li class="itemize">Add the model file and name it <span
-class="ec-lmsso-10">RemoveComment.room</span>
- </li>
- <li class="itemize">Add the Xtext nature.</li></ul>
-<!--l. 36--><p class="noindent" >The workspace should look like this:
-</p><!--l. 38--><p class="noindent" ><img
-src="images/036-RemoveCommentC01.png" alt="PIC"
- />
-</p><!--l. 41--><p class="noindent" >Create a launch configuration for the C generator and add the include path and library as described in
-<span
-class="ec-lmsso-10">HelloWorldC</span>.
-</p><!--l. 44--><p class="noindent" >The workspace should look like this:
-</p><!--l. 46--><p class="noindent" ><img
-src="images/036-RemoveCommentC02.png" alt="PIC"
- />
-</p><!--l. 49--><p class="noindent" >Now the model is created and all settings for the code generator, compiler and linker are done.
-
-
-</p>
-<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse23.html" >next</a>] [<a
-href="etrice-docse21.html" >prev</a>] [<a
-href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
-href="etrice-docse22.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
-<!--l. 52--><p class="noindent" ><a
- id="tailetrice-docse22.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Component Overview</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse21.html" >prev</a>] [<a
+href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
+href="#tailetrice-docse22.html">tail</a>] [<a
+href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
+ id="x30-1280006.2"></a>Component Overview</h3>
+<!--l. 96--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.2.1 </span> <a
+ id="x30-1290006.2.1"></a>Room Language Overview</h4>
+<!--l. 98--><p class="noindent" >We assume that the reader is familiar with the Xtext concepts. So we concentrate on the details of our
+implementation that are worth to be pointed out.
+</p><!--l. 101--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1300006.2.1"></a>Model Tweaks</h5>
+<!--l. 103--><p class="noindent" >The Room EMF model is inferred from the grammar. However, this powerful mechanism has to be tweaked at
+some places. This is done in the <span
+class="ec-lmsso-10">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
+which is written in the legacy Xtend language.
+</p><!--l. 109--><p class="noindent" >The following parts of the model are changed or added: </p>
+ <ul class="itemize1">
+ <li class="itemize">the default
+
+
+ <div class="verbatim" id="verbatim-19">
+ multiplicity
+</div>
+ <!--l. 111--><p class="nopar" > of the <span
+class="ec-lmtt-10">Port </span>is set to 1
+ </p></li>
+ <li class="itemize">the operation <span
+class="ec-lmtt-10">isReplicated </span>is added to the <span
+class="ec-lmtt-10">Port</span>
+ </li>
+ <li class="itemize">the default <span
+class="ec-lmtt-10">size </span>of the <span
+class="ec-lmtt-10">ActorRef </span>is set to 1
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">State </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">StateGraphItem </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getGeneralProtocol </span>is added to the <span
+class="ec-lmtt-10">InterfaceItem</span></li></ul>
+<!--l. 119--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1310006.2.1"></a>Imports by URI Using Namespaces</h5>
+<!--l. 121--><p class="noindent" >The import mechanism employed is based on URIs. This is configured for one part in the GenerateRoom.mwe2
+model workflow by setting the fragments ImportURIScopingFragment and ImportUriValidator). For the other
+part it is configured in the Guice modules by binding </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">PlatformRelativeUriResolver </span>&#8211; this class tries to convert the import URI into a platform
+ relative URI. It also replaces environment variables written in $ with their respective values.
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
+ aware of namespaces
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GlobalNonPlatformURIEditorOpener </span>&#8211; this editor opener tries to convert general URIs into
+ platform URIs because editors can only open platform URIs
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper link</li></ul>
+<!--l. 134--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1320006.2.1"></a>Naming</h5>
+<!--l. 136--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
+class="ec-lmtt-10">RoomNameProvider </span>provides
+frequently used name strings, some of them are hierarchical like State paths. The <span
+class="ec-lmtt-10">RoomFragmentProvider</span>
+serves a more formal purpose since it provides a link between EMF models (as used by the diagram editors)
+and the textual model representation used by Xtext.
+
+
+</p><!--l. 142--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1330006.2.1"></a>Helpers</h5>
+<!--l. 144--><p class="noindent" >The <span
+class="ec-lmtt-10">RoomHelpers </span>class provides a great deal of static methods that help retrieve frequently used information
+from the model. Among many, many others </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
+ inherited ones
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a transition&#8217;s
+ action code
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSignature(Operation) </span>- returns a string representing the operation signature suited for a
+ label</li></ul>
+<!--l. 156--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1340006.2.1"></a>Validation</h5>
+<!--l. 158--><p class="noindent" >Validation is used from various places. Therefore all validation code is accumulated in the @ValidationUtil@
+class. All methods are static and many of them return a Result object which contains information about the
+problem detected as well as object and feature as suited for most validation purposes.
+</p><!--l. 162--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.2.2 </span> <a
+ id="x30-1350006.2.2"></a>Config Language Overview</h4>
+<!--l. 164--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1360006.2.2"></a>Model Tweaks</h5>
+<!--l. 166--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorInstanceConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getProtocolClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSubSystemConfigs</span></li></ul>
+
+
+<!--l. 174--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1370006.2.2"></a>Imports by URI Using Namespaces</h5>
+<!--l. 176--><p class="noindent" >Imports are treated like in Room language, section <span
+class="ec-lmsso-10">Imports by URI Using Namespaces</span>.
+</p><!--l. 178--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1380006.2.2"></a>Util</h5>
+<!--l. 180--><p class="noindent" >A set of static utility methods can be found in the <span
+class="ec-lmtt-10">ConfigUtil </span>class.
+</p><!--l. 182--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.2.3 </span> <a
+ id="x30-1390006.2.3"></a>Aggregation Layer Overview</h4>
+<!--l. 184--><p class="noindent" >The eTrice Generator Model (genmodel) serves as an aggregation layer. Its purpose is to allow easy access to
+information which is implicitly contained in the Room model but not simple to retrieve. Examples of this are
+the state machine with inherited items or a list of all triggers active at a state in the order in which
+they will be evaluated or the actual peer port of an end port (following bindings through relay
+ports).
+</p><!--l. 190--><p class="noindent" >The Generator Model is created from a list of Room models by a call of the
+
+
+</p>
+<div class="verbatim" id="verbatim-20">
+createGeneratorModel(List&#x003C;RoomModel&#x003E;,&#x00A0;boolean)
+</div>
+<!--l. 192--><p class="nopar" >
+</p><!--l. 194--><p class="noindent" >method of the <span
+class="ec-lmtt-10">GeneratorModelBuilder </span>class.
+</p><!--l. 196--><p class="noindent" >The <span
+class="ec-lmtt-10">Root </span>object of the resulting Generator Model provides chiefly two things: </p>
+ <ul class="itemize1">
+ <li class="itemize">a tree of instances starting at each <span
+class="ec-lmtt-10">SubSystem </span>with representations of each <span
+class="ec-lmtt-10">ActorInstance </span>and
+ <span
+class="ec-lmtt-10">PortInstance</span>
+ </li>
+ <li class="itemize">for each <span
+class="ec-lmtt-10">ActorClass </span>a corresponding <span
+class="ec-lmtt-10">ExpandedActorClass </span>with an explicit state machine
+ containing all inherited state graph items</li></ul>
+<!--l. 204--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1400006.2.3"></a>The Instance Model</h5>
+<!--l. 206--><p class="noindent" >The instance model allows easy access to instances including their unique paths and object IDs. Also it is
+possible to get a list of all peer port instances for each port instance without having to bother about port and
+actor replication.
+</p><!--l. 210--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1410006.2.3"></a>The Expanded Actor Class</h5>
+<!--l. 212--><p class="noindent" >The expanded actor class contains, as already mentioned, the complete state machine of the actor class. This
+considerably simplifies the task of state machine generation. Note that the generated code always
+contains the complete state machine of an actor. I.e. no target language inheritance is used to
+implement the state machine inheritance. Furthermore the <span
+class="ec-lmtt-10">ExpandedActorClass </span>gives access to
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getIncomingTransitions(StateGraphNode) </span>&#8211; the set of incoming transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode </span>(<span
+class="ec-lmtt-10">State</span>, <span
+class="ec-lmtt-10">ChoicePoint </span>or <span
+class="ec-lmtt-10">TransitionPoint</span>)
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
+class="ec-lmtt-10">State </span>in the order they are
+ evaluated</li></ul>
+
+
+<!--l. 226--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1420006.2.3"></a>Transition Chains</h5>
+<!--l. 228--><p class="noindent" >By transition chains we denote a connected subset of the (hierarchical) state machine that starts with a
+transition starting at a state and continues over transitional state graph nodes (choice points and transition
+points) and continuation transitions until a state is reached. In general a transition chain starts at one state
+and ends in several states (the chain may branch in choice points). A <span
+class="ec-lmtt-10">TransitionChain </span>of a
+transition is retrieved by a call of <span
+class="ec-lmtt-10">getChain(Transition) </span>of the <span
+class="ec-lmtt-10">ExpandedActorClass</span>. The
+<span
+class="ec-lmtt-10">TransitionChain </span>accepts an <span
+class="ec-lmtt-10">ITransitionChainVisitor </span>which is called along the chain to generate the
+action codes of involved transitions and the conditional statements arising from the involved choice
+points.
+</p><!--l. 238--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.2.4 </span> <a
+ id="x30-1430006.2.4"></a>Generator Overview</h4>
+<!--l. 240--><p class="noindent" >There is one plug-in that consists of base classes and some generic generator parts which are re-used by all
+language specific generators
+</p><!--l. 243--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1440006.2.4"></a>Base Classes and Interfaces</h5>
+<!--l. 245--><p class="noindent" >We just want to mention the most important classes and interfaces.
+</p>
+ <ul class="itemize1">
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 248--><p class="noindent" >
+<span
+class="ec-lmtt-10">ITranslationProvider </span>&#8212; this interface is used by the <span
+class="ec-lmtt-10">DetailCodeTranslator </span>for the language
+dependent translation of e.g. port.message() notation in detail code</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">AbstractGenerator </span>&#8212; concrete language generators should derive from this base class
+ </li>
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 252--><p class="noindent" >
+<span
+class="ec-lmtt-10">DefaultTranslationProvider </span>&#8212; a stub implementation of <span
+class="ec-lmtt-10">ITranslationProvider </span>from which
+clients may derive</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">Indexed </span>&#8212; provides an indexed iterable of a given iterable
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GeneratorBaseModule </span>&#8212; a Google Guice module that binds a couple of basic services. Concrete
+ language generators should use a module that derives from this</li></ul>
+
+
+<!--l. 259--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1450006.2.4"></a>Generic Generator Parts</h5>
+<!--l. 261--><p class="noindent" >The generic generator parts provide code generation blocks on a medium granularity. The language dependent
+top level generators embed those blocks in a larger context (file, class, ...). Language dependent low level
+constructs are provided by means of an <span
+class="ec-lmtt-10">ILanguageExtension</span>. This extension and other parts of the generator
+be configured using Google Guice dependency injection.
+</p>
+<!--l. 266--><p class="noindent" ><span class="paragraphHead"><a
+ id="x30-1460006.2.4"></a><span
+class="ec-lmssbx-10">GenericActorClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericActorClassGenerator </span>generates constants for the interface items of a actor. Those constants
+are used by the generated state machine.
+</p>
+<!--l. 271--><p class="noindent" ><span class="paragraphHead"><a
+ id="x30-1470006.2.4"></a><span
+class="ec-lmssbx-10">GenericProtocolClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericProtocolClassGenerator </span>generates message ID constants for a protocol.
+</p>
+<!--l. 275--><p class="noindent" ><span class="paragraphHead"><a
+ id="x30-1480006.2.4"></a><span
+class="ec-lmssbx-10">GenericStateMachineGenerator</span></span>
+</p>
+<div class="flushleft"
+>
+<!--l. 277--><p class="noindent" >
+The <span
+class="ec-lmtt-10">GenericStateMachineGenerator </span>generates the complete state machine implementation. The
+skeleton of the generated code is</p></div>
+ <ul class="itemize1">
+ <li class="itemize">definition state ID constants
+ </li>
+ <li class="itemize">definition of transition chain constants
+ </li>
+ <li class="itemize">definition of trigger constants
+ </li>
+ <li class="itemize">entry, exit and action code methods
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">exitTo </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeTransitionChain </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">enterHistory </span>method
+
+
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeInitTransition </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">receiveEvent </span>method</li></ul>
+<!--l. 292--><p class="noindent" >The state machine works as follows. The main entry method is the <br
+class="newline" /><span
+class="ec-lmtt-10">receiveEvent </span>method. This is the case for both, data driven (polled) and event driven state machines. Then
+a number of nested switch/case statements evaluates trigger conditions and derives the transition chain that is
+executed. If a trigger fires then the <span
+class="ec-lmtt-10">exitTo </span>method is called to execute all exit codes involved. Then the
+transition chain action codes are executed and the choice point conditions are evaluated in the
+<span
+class="ec-lmtt-10">executeTransitionChain </span>method. Finally the history of the state where the chain ends is entered and all
+entry codes are executed by <span
+class="ec-lmtt-10">enterHistory</span>.
+</p><!--l. 300--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1490006.2.4"></a>The Java Generator</h5>
+<!--l. 302--><p class="noindent" >The Java generator employs the generic parts of the generator. The <span
+class="ec-lmtt-10">JavaTranslationProvider</span>
+is very simple and only handles the case of sending a message from a distinct replicated port:
+<span
+class="ec-lmtt-10">replPort[2].message()</span>. Other cases are handled by the base class by returning the original
+text.
+</p><!--l. 306--><p class="noindent" >The <span
+class="ec-lmtt-10">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it is pretty much straight
+forward.
+</p><!--l. 309--><p class="noindent" >The <span
+class="ec-lmtt-10">ProtocolClassGen </span>generates a class for the protocol with nested static classes for regular and
+conjugated ports and similar for replicated ports.
+</p><!--l. 312--><p class="noindent" >The <span
+class="ec-lmtt-10">ActorClassGen </span>uses Java inheritance for the generated actor classes. So ports, SAPs and attributes and
+detail code methods are inherited. Not inherited is the state machine implementation.
+</p><!--l. 315--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1500006.2.4"></a>The ANSI-C Generator</h5>
+<!--l. 317--><p class="noindent" >The C generator translates data, protocol and actor classes into structs together with a set of methods
+that operate on them and receive a pointer to those data (called <span
+class="ec-lmtt-10">self </span>in analogy to the implicit
+C++ <span
+class="ec-lmtt-10">this </span>pointer). No dynamic memory allocation is employed. All actor instances are statically
+initialized. One of the design goals for the generated C code was an optimized footprint in terms of
+memory and performance to be able to utilize modeling with ROOM also for tiny low end micro
+controllers.
+</p><!--l. 324--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x30-1510006.2.4"></a>The Documentation Generator</h5>
+<!--l. 326--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be converted into PDF and
+many other formats.
+</p>
+<!--l. 81--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse21.html" >prev</a>] [<a
+href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
+href="etrice-docse22.html" >front</a>] [<a
+href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
+<!--l. 81--><p class="noindent" ><a
+ id="tailetrice-docse22.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
index b6756d0c4..d92c27825 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
@@ -1,73 +1,73 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create your own data type</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse24.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-docch6.html#etrice-docse23.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
- id="x31-750006.3"></a>Create your own data type</h3>
-<!--l. 54--><p class="noindent" >The planed application should read a C source file and remove the comments. Therefore we need a file
-descriptor which is not part of the basic C types. The type for the file descriptor for MinGW is <span
-class="ec-lmsso-10">FILE</span>. To make
-this type available on the model level, you have to declare the type.
-</p><!--l. 58--><p class="noindent" >Open the file <span
-class="ec-lmsso-10">Types.room </span>from <span
-class="ec-lmsso-10">org.eclipse.modellib.c </span>and take a look at the declaration of <span
-class="ec-lmsso-10">string </span>(last line)
-which is not a basic C type.
-</p><!--l. 61--><p class="noindent" ><span
-class="ec-lmsso-10">PrimitiveType string:ptCharacter -&#x003E; charPtr default "0"</span>
-</p><!--l. 63--><p class="noindent" >With this declaration, you make the <span
-class="ec-lmsso-10">string </span>keyword available on model level as a primitive type. This type will
-be translated to <span
-class="ec-lmsso-10">charPtr </span>in your C sources. <span
-class="ec-lmsso-10">charPtr </span>is defined in <span
-class="ec-lmsso-10">etDatatypes.h</span>. This header file is platform
-specific (<span
-class="ec-lmsso-10">generic</span>). With this mechanism you can define your own type system on model level and map the
-model types to specific target/platform types.
-</p><!--l. 68--><p class="noindent" >To not interfere with other models, we will declare the type direct in the model. Add the following line to your
-model:
-
-
-</p>
-<div class="verbatim" id="verbatim-19">
-RoomModel&#x00A0;RemoveComment&#x00A0;{
-&#x00A0;<br />import&#x00A0;room.basic.types.*&#x00A0;from
-&#x00A0;<br />"../../../org.eclipse.etrice.modellib.c/model/Types.room"
-&#x00A0;<br />
-&#x00A0;<br />PrimitiveType&#x00A0;file:ptInteger&#x00A0;-&#x003E;&#x00A0;FILE&#x00A0;default&#x00A0;"0"
-</div>
-<!--l. 78--><p class="nopar" >
-</p><!--l. 81--><p class="noindent" ><span
-class="ec-lmsso-10">FILE </span>is the native type for MinGW. Therefore you don&#8217;t need a mapping within <span
-class="ec-lmsso-10">etDatatypes.h</span>. If your model
-should be portable across different platforms you should not take this shortcut.
-
-
-</p>
-<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse24.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-docch6.html#etrice-docse23.html" >up</a>] </p></div>
-<!--l. 85--><p class="noindent" ><a
- id="tailetrice-docse23.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Create your own data type</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse24.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-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
+ id="x31-750006.3"></a>Create your own data type</h3>
+<!--l. 54--><p class="noindent" >The planed application should read a C source file and remove the comments. Therefore we need a file
+descriptor which is not part of the basic C types. The type for the file descriptor for MinGW is <span
+class="ec-lmsso-10">FILE</span>. To make
+this type available on the model level, you have to declare the type.
+</p><!--l. 58--><p class="noindent" >Open the file <span
+class="ec-lmsso-10">Types.room </span>from <span
+class="ec-lmsso-10">org.eclipse.modellib.c </span>and take a look at the declaration of <span
+class="ec-lmsso-10">string </span>(last line)
+which is not a basic C type.
+</p><!--l. 61--><p class="noindent" ><span
+class="ec-lmsso-10">PrimitiveType string:ptCharacter -&#x003E; charPtr default "0"</span>
+</p><!--l. 63--><p class="noindent" >With this declaration, you make the <span
+class="ec-lmsso-10">string </span>keyword available on model level as a primitive type. This type will
+be translated to <span
+class="ec-lmsso-10">charPtr </span>in your C sources. <span
+class="ec-lmsso-10">charPtr </span>is defined in <span
+class="ec-lmsso-10">etDatatypes.h</span>. This header file is platform
+specific (<span
+class="ec-lmsso-10">generic</span>). With this mechanism you can define your own type system on model level and map the
+model types to specific target/platform types.
+</p><!--l. 68--><p class="noindent" >To not interfere with other models, we will declare the type direct in the model. Add the following line to your
+model:
+
+
+</p>
+<div class="verbatim" id="verbatim-19">
+RoomModel&#x00A0;RemoveComment&#x00A0;{
+&#x00A0;<br />import&#x00A0;room.basic.types.*&#x00A0;from
+&#x00A0;<br />"../../../org.eclipse.etrice.modellib.c/model/Types.room"
+&#x00A0;<br />
+&#x00A0;<br />PrimitiveType&#x00A0;file:ptInteger&#x00A0;-&#x003E;&#x00A0;FILE&#x00A0;default&#x00A0;"0"
+</div>
+<!--l. 78--><p class="nopar" >
+</p><!--l. 81--><p class="noindent" ><span
+class="ec-lmsso-10">FILE </span>is the native type for MinGW. Therefore you don&#8217;t need a mapping within <span
+class="ec-lmsso-10">etDatatypes.h</span>. If your model
+should be portable across different platforms you should not take this shortcut.
+
+
+</p>
+<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse24.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-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<!--l. 85--><p class="noindent" ><a
+ id="tailetrice-docse23.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
index f5943b851..9307f2809 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
@@ -1,85 +1,85 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Create the model</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse25.html" >next</a>] [<a
-href="etrice-docse23.html" >prev</a>] [<a
-href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
-href="#tailetrice-docse24.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.4 </span> <a
- id="x32-760006.4"></a>Create the model</h3>
-<!--l. 87--><p class="noindent" >Due to the former tutorials you should be familiar with the steps to create the model with protocols, actors
-and state machines.
-</p><!--l. 90--><p class="noindent" >The basic idea of the exercise is to create a file reader actor, which is responsible to open, close and read
-characters from the source file. Another actor receives the characters and filters the comments (parser). The
-remaining characters (pure source code) should be print out.
-</p><!--l. 94--><p class="noindent" >Remember the logical steps: </p>
- <ul class="itemize1">
- <li class="itemize">create the model by the help of content assist (CTRL Space)
- </li>
- <li class="itemize">name the model, subsystem and top level actor
- </li>
- <li class="itemize">define the protocol (in this case it should be able to send a char, and to request the next char
- from the file reader)
- </li>
- <li class="itemize">create the structure (file reader and parser with an appropriate port, create the references and
- connect the ports)
- </li>
- <li class="itemize">create the state machines</li></ul>
-<!--l. 105--><p class="noindent" >Try to create the model by yourself and take the following solution as an example.
-</p><!--l. 107--><p class="noindent" >Structure:
-</p><!--l. 109--><p class="noindent" ><img
-src="images/036-RemoveCommentC04.png" alt="PIC"
- />
-</p><!--l. 112--><p class="noindent" >File reader FSM:
-</p><!--l. 114--><p class="noindent" ><img
-src="images/036-RemoveCommentC05.png" alt="PIC"
- />
-</p><!--l. 117--><p class="noindent" >Parser FSM:
-</p><!--l. 119--><p class="noindent" ><img
-src="images/036-RemoveCommentC06.png" alt="PIC"
- />
-</p><!--l. 122--><p class="noindent" >The complete model can be found in <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.c</span>
-</p><!--l. 124--><p class="noindent" >Take a look at the file attribute of the file reader.
-
-
-</p>
-<div class="verbatim" id="verbatim-20">
-Attribute&#x00A0;f:file&#x00A0;ref
-</div>
-<!--l. 128--><p class="nopar" >
-</p><!--l. 130--><p class="noindent" ><span
-class="ec-lmsso-10">fopen </span>expects a <span
-class="ec-lmsso-10">FILE *</span>. <span
-class="ec-lmsso-10">f:file ref </span>declares a variable <span
-class="ec-lmsso-10">f </span>from type reference to <span
-class="ec-lmsso-10">file</span>, which is a pointer to
-<span
-class="ec-lmsso-10">FILE</span>.
-
-
-</p>
-<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse25.html" >next</a>] [<a
-href="etrice-docse23.html" >prev</a>] [<a
-href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
-href="etrice-docse24.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
-<!--l. 134--><p class="noindent" ><a
- id="tailetrice-docse24.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Create the model</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse25.html" >next</a>] [<a
+href="etrice-docse23.html" >prev</a>] [<a
+href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
+href="#tailetrice-docse24.html">tail</a>] [<a
+href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.4 </span> <a
+ id="x32-760006.4"></a>Create the model</h3>
+<!--l. 87--><p class="noindent" >Due to the former tutorials you should be familiar with the steps to create the model with protocols, actors
+and state machines.
+</p><!--l. 90--><p class="noindent" >The basic idea of the exercise is to create a file reader actor, which is responsible to open, close and read
+characters from the source file. Another actor receives the characters and filters the comments (parser). The
+remaining characters (pure source code) should be print out.
+</p><!--l. 94--><p class="noindent" >Remember the logical steps: </p>
+ <ul class="itemize1">
+ <li class="itemize">create the model by the help of content assist (CTRL Space)
+ </li>
+ <li class="itemize">name the model, subsystem and top level actor
+ </li>
+ <li class="itemize">define the protocol (in this case it should be able to send a char, and to request the next char
+ from the file reader)
+ </li>
+ <li class="itemize">create the structure (file reader and parser with an appropriate port, create the references and
+ connect the ports)
+ </li>
+ <li class="itemize">create the state machines</li></ul>
+<!--l. 105--><p class="noindent" >Try to create the model by yourself and take the following solution as an example.
+</p><!--l. 107--><p class="noindent" >Structure:
+</p><!--l. 109--><p class="noindent" ><img
+src="images/036-RemoveCommentC04.png" alt="PIC"
+ />
+</p><!--l. 112--><p class="noindent" >File reader FSM:
+</p><!--l. 114--><p class="noindent" ><img
+src="images/036-RemoveCommentC05.png" alt="PIC"
+ />
+</p><!--l. 117--><p class="noindent" >Parser FSM:
+</p><!--l. 119--><p class="noindent" ><img
+src="images/036-RemoveCommentC06.png" alt="PIC"
+ />
+</p><!--l. 122--><p class="noindent" >The complete model can be found in <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.c</span>
+</p><!--l. 124--><p class="noindent" >Take a look at the file attribute of the file reader.
+
+
+</p>
+<div class="verbatim" id="verbatim-20">
+Attribute&#x00A0;f:file&#x00A0;ref
+</div>
+<!--l. 128--><p class="nopar" >
+</p><!--l. 130--><p class="noindent" ><span
+class="ec-lmsso-10">fopen </span>expects a <span
+class="ec-lmsso-10">FILE *</span>. <span
+class="ec-lmsso-10">f:file ref </span>declares a variable <span
+class="ec-lmsso-10">f </span>from type reference to <span
+class="ec-lmsso-10">file</span>, which is a pointer to
+<span
+class="ec-lmsso-10">FILE</span>.
+
+
+</p>
+<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse25.html" >next</a>] [<a
+href="etrice-docse23.html" >prev</a>] [<a
+href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
+href="etrice-docse24.html" >front</a>] [<a
+href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
+<!--l. 134--><p class="noindent" ><a
+ id="tailetrice-docse24.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
index ad9dd149b..00afd826a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
@@ -1,47 +1,47 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Generate, build and run the model</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse26.html" >next</a>] [<a
-href="etrice-docse24.html" >prev</a>] [<a
-href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
-href="#tailetrice-docse25.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
- id="x33-770006.5"></a>Generate, build and run the model</h3>
-<!--l. 136--><p class="noindent" >Before you can run the model you should copy one of the generated C source files into the project folder and
-name it <span
-class="ec-lmsso-10">test.txt</span>.
-</p><!--l. 139--><p class="noindent" ><img
-src="images/036-RemoveCommentC07.png" alt="PIC"
- />
-</p><!--l. 142--><p class="noindent" >Generate, build and run the model.
-</p><!--l. 144--><p class="noindent" >Your output should start like this:
-</p><!--l. 146--><p class="noindent" ><img
-src="images/036-RemoveCommentC08.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse26.html" >next</a>] [<a
-href="etrice-docse24.html" >prev</a>] [<a
-href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
-href="etrice-docse25.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
-<!--l. 150--><p class="noindent" ><a
- id="tailetrice-docse25.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Generate, build and run the model</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse26.html" >next</a>] [<a
+href="etrice-docse24.html" >prev</a>] [<a
+href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
+href="#tailetrice-docse25.html">tail</a>] [<a
+href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
+ id="x33-770006.5"></a>Generate, build and run the model</h3>
+<!--l. 136--><p class="noindent" >Before you can run the model you should copy one of the generated C source files into the project folder and
+name it <span
+class="ec-lmsso-10">test.txt</span>.
+</p><!--l. 139--><p class="noindent" ><img
+src="images/036-RemoveCommentC07.png" alt="PIC"
+ />
+</p><!--l. 142--><p class="noindent" >Generate, build and run the model.
+</p><!--l. 144--><p class="noindent" >Your output should start like this:
+</p><!--l. 146--><p class="noindent" ><img
+src="images/036-RemoveCommentC08.png" alt="PIC"
+ />
+
+
+</p>
+<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse26.html" >next</a>] [<a
+href="etrice-docse24.html" >prev</a>] [<a
+href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
+href="etrice-docse25.html" >front</a>] [<a
+href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
+<!--l. 150--><p class="noindent" ><a
+ id="tailetrice-docse25.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
index a219e8a9a..f5c5e1934 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Summary</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch7.html" >next</a>] [<a
-href="etrice-docse25.html" >prev</a>] [<a
-href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
-href="#tailetrice-docse26.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
- id="x34-780006.6"></a>Summary</h3>
-<!--l. 152--><p class="noindent" >This tutorial should help you to train the necessary steps to create a C model. By the way you have seen how
-to create your own type system for a real embedded project. An additional aspect was to show how simple it is
-to separate different aspects of the required functionality by the use of actors and protocols and make them
-reusable.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch7.html" >next</a>] [<a
-href="etrice-docse25.html" >prev</a>] [<a
-href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
-href="etrice-docse26.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse26.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Summary</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
+href="etrice-docse25.html" >prev</a>] [<a
+href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
+href="#tailetrice-docse26.html">tail</a>] [<a
+href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
+ id="x34-780006.6"></a>Summary</h3>
+<!--l. 152--><p class="noindent" >This tutorial should help you to train the necessary steps to create a C model. By the way you have seen how
+to create your own type system for a real embedded project. An additional aspect was to show how simple it is
+to separate different aspects of the required functionality by the use of actors and protocols and make them
+reusable.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
+href="etrice-docse25.html" >prev</a>] [<a
+href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
+href="etrice-docse26.html" >front</a>] [<a
+href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse26.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
index 699202a50..f52b473f2 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
@@ -1,781 +1,781 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Actors</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 8--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse28.html" >next</a>] [<a
-href="etrice-docch7.html" >prev</a>] [<a
-href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
-href="#tailetrice-docse27.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
- id="x36-800007.1"></a>Actors</h3>
-<!--l. 10--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.1.1 </span> <a
- id="x36-810007.1.1"></a>Description</h4>
-
-
-<!--l. 12--><p class="noindent" >The actor is the basic structural building block for building systems with ROOM. An actor can be refined
-hierarchically and thus can be of arbitrarily large scope. Ports define the interface of an actor. An actor can
-also have a behavior usually defined by a finite state machine.
-</p><!--l. 16--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.1.2 </span> <a
- id="x36-820007.1.2"></a>Motivation</h4>
- <ul class="itemize1">
- <li class="itemize">Actors enable the construction of hierarchical structures by composition and layering
- </li>
- <li class="itemize">Actors have their own logical thread of execution
- </li>
- <li class="itemize">Actors can be freely deployed
- </li>
- <li class="itemize">Actors define potentially re-usable blocks</li></ul>
-<!--l. 25--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.1.3 </span> <a
- id="x36-830007.1.3"></a>Notation</h4>
-<div class="table">
-
-
-<!--l. 30--><p class="noindent" ><a
- id="x36-830011"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.1: </span><span
-class="content">Actor Class Notation</span></div><!--tex4ht:label?: x36-830011 -->
-<div class="tabular"> <table id="TBL-3" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-3-1g"><col
-id="TBL-3-1" /></colgroup><colgroup id="TBL-3-2g"><col
-id="TBL-3-2" /></colgroup><colgroup id="TBL-3-3g"><col
-id="TBL-3-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"
-class="td11"> <span
-class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
-class="td11"> <span
-class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
-class="td11"> <span
-class="ec-lmssbx-10">Textual Notation </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"
-class="td11"> ActorClass </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"
-class="td11"> <img
-src="images/040-ActorClassNotation.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"
-class="td11"> <!--l. 36--> <!--l. 36--><p class="noindent" ><div class="lstlisting" id="listing-2"><span class="label"><a
- id="x36-83002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass2</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">{}</span>
- </p> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-1"
-class="td11"> ActorRef </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-2"
-class="td11"> <img
-src="images/040-ActorReferenceNotation.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-3"
-class="td11"> <!--l. 41--> <!--l. 41--><p class="noindent" ><div class="lstlisting" id="listing-3"><span class="label"><a
- id="x36-83003r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass1</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="x36-83004r2"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-83005r3"></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">ActorReference</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass2</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-83006r4"></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="x36-83007r5"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-1"
-class="td11"> </td></tr></table></div>
-
-
-</div><hr class="endfloat" />
-</div>
-<h4 class="subsectionHead"><span class="titlemark">7.1.4 </span> <a
- id="x36-840007.1.4"></a>Details</h4>
-<!--l. 55--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x36-850007.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
-<!--l. 57--><p class="noindent" >An <span id="textcolor1"><span
-class="ec-lmssbx-10">ActorClass</span></span> defines the type (or blueprint) of an actor. Hierarchies are built by <span id="textcolor2"><span
-class="ec-lmssbx-10">ActorClass</span></span>es that contain
-<span id="textcolor3"><span
-class="ec-lmssbx-10">ActorRef</span></span>erences which have another <span id="textcolor4"><span
-class="ec-lmssbx-10">ActorClass</span></span> as type. The interface of an <span id="textcolor5"><span
-class="ec-lmssbx-10">ActorClass</span></span> is
-always defined by <span id="textcolor6"><span
-class="ec-lmssbx-10">Port</span></span>s. The <span id="textcolor7"><span
-class="ec-lmssbx-10">ActorClass</span></span> can also contain <span id="textcolor8"><span
-class="ec-lmssbx-10">Attribute</span></span>s, <span id="textcolor9"><span
-class="ec-lmssbx-10">Operation</span></span>s and a finite
-<span id="textcolor10"><span
-class="ec-lmssbx-10">StateMachine</span></span>.
-</p><!--l. 63--><p class="noindent" >External <span id="textcolor11"><span
-class="ec-lmssbx-10">Port</span></span>s define the external interface of an actor and are defined in the <span id="textcolor12"><span
-class="ec-lmssbx-10">Interface</span></span> section of the
-<span id="textcolor13"><span
-class="ec-lmssbx-10">ActorClass</span></span>.
-</p><!--l. 66--><p class="noindent" >Internal <span id="textcolor14"><span
-class="ec-lmssbx-10">Port</span></span>s define the internal interface of an actor and are defined in the <span id="textcolor15"><span
-class="ec-lmssbx-10">Structure</span></span> section of the
-<span id="textcolor16"><span
-class="ec-lmssbx-10">ActorClass</span></span>.
-</p><!--l. 69--><p class="noindent" ><span id="textcolor17"><span
-class="ec-lmssbx-10">Binding</span></span>s connect <span id="textcolor18"><span
-class="ec-lmssbx-10">Port</span></span>s inside an <span id="textcolor19"><span
-class="ec-lmssbx-10">ActorClass</span></span>.
-</p><!--l. 71--><p class="noindent" >Let us have a look at example <a
-href="#x36-850012">7.2<!--tex4ht:ref: tab:actor_class_example --></a>:
-</p>
-<div class="table">
-
-
-<!--l. 74--><p class="noindent" ><a
- id="x36-850012"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.2: </span><span
-class="content">Actor Class Example</span></div><!--tex4ht:label?: x36-850012 -->
-<div class="tabular"> <table id="TBL-4" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-4-1g"><col
-id="TBL-4-1" /></colgroup><colgroup id="TBL-4-2g"><col
-id="TBL-4-2" /></colgroup><colgroup id="TBL-4-3g"><col
-id="TBL-4-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
-class="td11"> <span
-class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
-class="td11"> <span
-class="ec-lmssbx-10">Textual Notation </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"
-class="td11"> <img
-src="images/040-ActorClass.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
-class="td11"> <!--l. 80--> <!--l. 80--><p class="noindent" ><div class="lstlisting" id="listing-4"><span class="label"><a
- id="x36-85002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass1</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="x36-85003r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85004r3"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85005r4"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port4</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85006r5"></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="x36-85007r6"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85008r7"></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">external</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85009r8"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85010r9"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port3</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85011r10"></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">ActorRef_A</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass2</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85012r11"></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">ActorRef_B</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass3</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85013r12"></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">Binding</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port2</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorRef_A</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">port5</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85014r13"></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">Binding</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port3</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorRef_B</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">port6</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85015r14"></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">Binding</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorRef_B</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">port7</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port4</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85016r15"></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">Binding</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorRef_A</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">port8</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorRef_B</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">port9</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-85017r16"></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="x36-85018r17"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-1"
-class="td11"> </td></tr></table></div>
-
-
-</div><hr class="endfloat" />
-</div>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">ActorClass1 </span>contains two <span id="textcolor20"><span
-class="ec-lmssbx-10">ActorRef</span></span>erences (of ActorClass2 and ActorClass3)
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">port1 </span>is an <span
-class="ec-lmsso-10">external end port</span>. Since it connects external actors with the behavior of the
- <span id="textcolor21"><span
-class="ec-lmssbx-10">ActorClass</span></span>, it is defined in the <span id="textcolor22"><span
-class="ec-lmssbx-10">Interface</span></span> section and the <span id="textcolor23"><span
-class="ec-lmssbx-10">Structure</span></span> section of the <span id="textcolor24"><span
-class="ec-lmssbx-10">ActorClass</span></span>.
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">port2 </span>and <span
-class="ec-lmsso-10">port3 </span>are <span
-class="ec-lmsso-10">internal end ports </span>and can only be connected to the ports of contained
- <span id="textcolor25"><span
-class="ec-lmssbx-10">ActorRef</span></span>erences. Internal end ports connect the behavior of an <span id="textcolor26"><span
-class="ec-lmssbx-10">ActorClass</span></span> with its contained
- <span id="textcolor27"><span
-class="ec-lmssbx-10">ActorRef</span></span>erences.
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">port4 </span>is a relay port and connects external Actors to contained <span id="textcolor28"><span
-class="ec-lmssbx-10">ActorRef</span></span>erences. This port can
- not be accessed by the behavior of the <span id="textcolor29"><span
-class="ec-lmssbx-10">ActorClass</span></span>.
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">port5 </span>through <span
-class="ec-lmsso-10">port9 </span>are ports of contained actor references. <span
-class="ec-lmsso-10">port8 </span>and <span
-class="ec-lmsso-10">port9 </span>can communicate
- without interference with the containing actor class.
- </li>
- <li class="itemize"><span id="textcolor30"><span
-class="ec-lmssbx-10">Binding</span></span>s can connect ports of the actor class and its contained actor references.</li></ul>
-<h5 class="subsubsectionHead"><a
- id="x36-860007.1.4"></a>Attributes</h5>
-<!--l. 120--><p class="noindent" ><span id="textcolor31"><span
-class="ec-lmssbx-10">Attribute</span></span>s are part of the <span id="textcolor32"><span
-class="ec-lmssbx-10">Structure</span></span> of an actor class. They can be of a <span id="textcolor33"><span
-class="ec-lmssbx-10">PrimitiveType</span></span> or a
-<span id="textcolor34"><span
-class="ec-lmssbx-10">DataClass</span></span>.
-</p><!--l. 123--><p class="noindent" >Example:
-</p>
-<!--l. 126-->
-<div class="lstlisting" id="listing-5"><span class="label"><a
- id="x36-86001r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass3</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="x36-86002r2"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-86003r3"></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">Attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">attribute1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</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-lmtt-9">//</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-86004r4"></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">Attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">attribute2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</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">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-86005r5"></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="x36-86006r6"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 135--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x36-870007.1.4"></a>Operations</h5>
-<!--l. 137--><p class="noindent" ><span id="textcolor35"><span
-class="ec-lmssbx-10">Operation</span></span>s are part of the <span id="textcolor36"><span
-class="ec-lmssbx-10">Behavior</span></span> of an actor class. Arguments and return values can be of a
-<span id="textcolor37"><span
-class="ec-lmssbx-10">PrimitiveType</span></span> or a <span id="textcolor38"><span
-class="ec-lmssbx-10">DataClass</span></span>. Data classes can be passed by value (implicit) or by reference
-(<span id="textcolor39"><span
-class="ec-lmssbx-10">ref</span></span>).
-</p><!--l. 140--><p class="noindent" >Example:
-</p>
-<!--l. 144-->
-<div class="lstlisting" id="listing-6"><span class="label"><a
- id="x36-87001r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass4</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="x36-87002r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Behavior</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="x36-87003r3"></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><span
-class="ec-lmtt-9">no</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">arguments</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">no</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87004r4"></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">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation1</span><span
-class="ec-lmtt-9">()</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">void</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="x36-87005r5"></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-lmtt-9">"</span><span
-class="ec-lmtt-9">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87006r6"></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="x36-87007r7"></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><span
-class="ec-lmtt-9">argument</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87008r8"></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">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation2</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Param2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">float64</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">uint16</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="x36-87009r9"></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-lmtt-9">"</span><span
-class="ec-lmtt-9">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87010r10"></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="x36-87011r11"></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><span
-class="ec-lmtt-9">arguments</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">by</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87012r12"></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">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation3</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Param2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</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">DataClass1</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="x36-87013r13"></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-lmtt-9">"</span><span
-class="ec-lmtt-9">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87014r14"></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="x36-87015r15"></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><span
-class="ec-lmtt-9">arguments</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">by</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">reference</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">except</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">for</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">types</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87016r16"></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">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation4</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Param2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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="x36-87017r17"></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-lmtt-9">"</span><span
-class="ec-lmtt-9">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x36-87018r18"></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="x36-87019r19"></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="x36-87020r20"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-
-
-<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse28.html" >next</a>] [<a
-href="etrice-docch7.html" >prev</a>] [<a
-href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
-href="etrice-docse27.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
-<!--l. 167--><p class="noindent" ><a
- id="tailetrice-docse27.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Actors</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 8--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse28.html" >next</a>] [<a
+href="etrice-docch7.html" >prev</a>] [<a
+href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
+href="#tailetrice-docse27.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
+ id="x36-800007.1"></a>Actors</h3>
+<!--l. 10--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.1 </span> <a
+ id="x36-810007.1.1"></a>Description</h4>
+
+
+<!--l. 12--><p class="noindent" >The actor is the basic structural building block for building systems with ROOM. An actor can be refined
+hierarchically and thus can be of arbitrarily large scope. Ports define the interface of an actor. An actor can
+also have a behavior usually defined by a finite state machine.
+</p><!--l. 16--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.2 </span> <a
+ id="x36-820007.1.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Actors enable the construction of hierarchical structures by composition and layering
+ </li>
+ <li class="itemize">Actors have their own logical thread of execution
+ </li>
+ <li class="itemize">Actors can be freely deployed
+ </li>
+ <li class="itemize">Actors define potentially re-usable blocks</li></ul>
+<!--l. 25--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.3 </span> <a
+ id="x36-830007.1.3"></a>Notation</h4>
+<div class="table">
+
+
+<!--l. 30--><p class="noindent" ><a
+ id="x36-830011"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.1: </span><span
+class="content">Actor Class Notation</span></div><!--tex4ht:label?: x36-830011 -->
+<div class="tabular"> <table id="TBL-3" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-3-1g"><col
+id="TBL-3-1" /></colgroup><colgroup id="TBL-3-2g"><col
+id="TBL-3-2" /></colgroup><colgroup id="TBL-3-3g"><col
+id="TBL-3-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"
+class="td11"> ActorClass </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"
+class="td11"> <img
+src="images/040-ActorClassNotation.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"
+class="td11"> <!--l. 36--> <!--l. 36--><p class="noindent" ><div class="lstlisting" id="listing-2"><span class="label"><a
+ id="x36-83002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-1"
+class="td11"> ActorRef </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-2"
+class="td11"> <img
+src="images/040-ActorReferenceNotation.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-3-3"
+class="td11"> <!--l. 41--> <!--l. 41--><p class="noindent" ><div class="lstlisting" id="listing-3"><span class="label"><a
+ id="x36-83003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass1</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="x36-83004r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-83005r3"></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">ActorReference</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-83006r4"></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="x36-83007r5"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-4-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h4 class="subsectionHead"><span class="titlemark">7.1.4 </span> <a
+ id="x36-840007.1.4"></a>Details</h4>
+<!--l. 55--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x36-850007.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
+<!--l. 57--><p class="noindent" >An <span id="textcolor1"><span
+class="ec-lmssbx-10">ActorClass</span></span> defines the type (or blueprint) of an actor. Hierarchies are built by <span id="textcolor2"><span
+class="ec-lmssbx-10">ActorClass</span></span>es that contain
+<span id="textcolor3"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences which have another <span id="textcolor4"><span
+class="ec-lmssbx-10">ActorClass</span></span> as type. The interface of an <span id="textcolor5"><span
+class="ec-lmssbx-10">ActorClass</span></span> is
+always defined by <span id="textcolor6"><span
+class="ec-lmssbx-10">Port</span></span>s. The <span id="textcolor7"><span
+class="ec-lmssbx-10">ActorClass</span></span> can also contain <span id="textcolor8"><span
+class="ec-lmssbx-10">Attribute</span></span>s, <span id="textcolor9"><span
+class="ec-lmssbx-10">Operation</span></span>s and a finite
+<span id="textcolor10"><span
+class="ec-lmssbx-10">StateMachine</span></span>.
+</p><!--l. 63--><p class="noindent" >External <span id="textcolor11"><span
+class="ec-lmssbx-10">Port</span></span>s define the external interface of an actor and are defined in the <span id="textcolor12"><span
+class="ec-lmssbx-10">Interface</span></span> section of the
+<span id="textcolor13"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 66--><p class="noindent" >Internal <span id="textcolor14"><span
+class="ec-lmssbx-10">Port</span></span>s define the internal interface of an actor and are defined in the <span id="textcolor15"><span
+class="ec-lmssbx-10">Structure</span></span> section of the
+<span id="textcolor16"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 69--><p class="noindent" ><span id="textcolor17"><span
+class="ec-lmssbx-10">Binding</span></span>s connect <span id="textcolor18"><span
+class="ec-lmssbx-10">Port</span></span>s inside an <span id="textcolor19"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 71--><p class="noindent" >Let us have a look at example <a
+href="#x36-850012">7.2<!--tex4ht:ref: tab:actor_class_example --></a>:
+</p>
+<div class="table">
+
+
+<!--l. 74--><p class="noindent" ><a
+ id="x36-850012"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.2: </span><span
+class="content">Actor Class Example</span></div><!--tex4ht:label?: x36-850012 -->
+<div class="tabular"> <table id="TBL-4" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-4-1g"><col
+id="TBL-4-1" /></colgroup><colgroup id="TBL-4-2g"><col
+id="TBL-4-2" /></colgroup><colgroup id="TBL-4-3g"><col
+id="TBL-4-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"
+class="td11"> <img
+src="images/040-ActorClass.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
+class="td11"> <!--l. 80--> <!--l. 80--><p class="noindent" ><div class="lstlisting" id="listing-4"><span class="label"><a
+ id="x36-85002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass1</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="x36-85003r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85004r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85005r4"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port4</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85006r5"></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="x36-85007r6"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85008r7"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85009r8"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85010r9"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port3</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85011r10"></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">ActorRef_A</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85012r11"></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">ActorRef_B</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass3</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85013r12"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_A</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port5</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85014r13"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port3</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port6</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85015r14"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port7</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port4</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85016r15"></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">Binding</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_A</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port8</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorRef_B</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">port9</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-85017r16"></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="x36-85018r17"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">ActorClass1 </span>contains two <span id="textcolor20"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences (of ActorClass2 and ActorClass3)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port1 </span>is an <span
+class="ec-lmsso-10">external end port</span>. Since it connects external actors with the behavior of the
+ <span id="textcolor21"><span
+class="ec-lmssbx-10">ActorClass</span></span>, it is defined in the <span id="textcolor22"><span
+class="ec-lmssbx-10">Interface</span></span> section and the <span id="textcolor23"><span
+class="ec-lmssbx-10">Structure</span></span> section of the <span id="textcolor24"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port2 </span>and <span
+class="ec-lmsso-10">port3 </span>are <span
+class="ec-lmsso-10">internal end ports </span>and can only be connected to the ports of contained
+ <span id="textcolor25"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. Internal end ports connect the behavior of an <span id="textcolor26"><span
+class="ec-lmssbx-10">ActorClass</span></span> with its contained
+ <span id="textcolor27"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port4 </span>is a relay port and connects external Actors to contained <span id="textcolor28"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. This port can
+ not be accessed by the behavior of the <span id="textcolor29"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">port5 </span>through <span
+class="ec-lmsso-10">port9 </span>are ports of contained actor references. <span
+class="ec-lmsso-10">port8 </span>and <span
+class="ec-lmsso-10">port9 </span>can communicate
+ without interference with the containing actor class.
+ </li>
+ <li class="itemize"><span id="textcolor30"><span
+class="ec-lmssbx-10">Binding</span></span>s can connect ports of the actor class and its contained actor references.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x36-860007.1.4"></a>Attributes</h5>
+<!--l. 120--><p class="noindent" ><span id="textcolor31"><span
+class="ec-lmssbx-10">Attribute</span></span>s are part of the <span id="textcolor32"><span
+class="ec-lmssbx-10">Structure</span></span> of an actor class. They can be of a <span id="textcolor33"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a
+<span id="textcolor34"><span
+class="ec-lmssbx-10">DataClass</span></span>.
+</p><!--l. 123--><p class="noindent" >Example:
+</p>
+<!--l. 126-->
+<div class="lstlisting" id="listing-5"><span class="label"><a
+ id="x36-86001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass3</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="x36-86002r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-86003r3"></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">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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-lmtt-9">//</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-86004r4"></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">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-86005r5"></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="x36-86006r6"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 135--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x36-870007.1.4"></a>Operations</h5>
+<!--l. 137--><p class="noindent" ><span id="textcolor35"><span
+class="ec-lmssbx-10">Operation</span></span>s are part of the <span id="textcolor36"><span
+class="ec-lmssbx-10">Behavior</span></span> of an actor class. Arguments and return values can be of a
+<span id="textcolor37"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a <span id="textcolor38"><span
+class="ec-lmssbx-10">DataClass</span></span>. Data classes can be passed by value (implicit) or by reference
+(<span id="textcolor39"><span
+class="ec-lmssbx-10">ref</span></span>).
+</p><!--l. 140--><p class="noindent" >Example:
+</p>
+<!--l. 144-->
+<div class="lstlisting" id="listing-6"><span class="label"><a
+ id="x36-87001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass4</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="x36-87002r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Behavior</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="x36-87003r3"></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><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87004r4"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x36-87005r5"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87006r6"></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="x36-87007r7"></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><span
+class="ec-lmtt-9">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87008r8"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">float64</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">uint16</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="x36-87009r9"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87010r10"></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="x36-87011r11"></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><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87012r12"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">DataClass1</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="x36-87013r13"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87014r14"></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="x36-87015r15"></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><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reference</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">except</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">for</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">types</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87016r16"></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">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation4</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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="x36-87017r17"></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-lmtt-9">"</span><span
+class="ec-lmtt-9">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x36-87018r18"></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="x36-87019r19"></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="x36-87020r20"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse28.html" >next</a>] [<a
+href="etrice-docch7.html" >prev</a>] [<a
+href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
+href="etrice-docse27.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
+<!--l. 167--><p class="noindent" ><a
+ id="tailetrice-docse27.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
index 793b13dd8..4127c1c47 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
@@ -1,137 +1,137 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Protocols</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse29.html" >next</a>] [<a
-href="etrice-docse27.html" >prev</a>] [<a
-href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
-href="#tailetrice-docse28.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
- id="x37-880007.2"></a>Protocols</h3>
-<!--l. 169--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.2.1 </span> <a
- id="x37-890007.2.1"></a>Description</h4>
-<!--l. 171--><p class="noindent" >A <span id="textcolor40"><span
-class="ec-lmssbx-10">ProtocolClass</span></span> defines a set of incoming and outgoing <span id="textcolor41"><span
-class="ec-lmssbx-10">Message</span></span>s that can be exchanged between two ports.
-The exact semantics of a message is defined by the execution model.
-</p><!--l. 174--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.2.2 </span> <a
- id="x37-900007.2.2"></a>Motivation</h4>
- <ul class="itemize1">
- <li class="itemize">Protocol classes provide a reusable interface specification for ports
- </li>
- <li class="itemize">Protocol classes can optionally specify valid message exchange sequences</li></ul>
-<!--l. 181--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.2.3 </span> <a
- id="x37-910007.2.3"></a>Notation</h4>
-<!--l. 183--><p class="noindent" >Protocol classes have only textual notation. The example defines a protocol class with 2 incoming and two
-outgoing messages. Messages can have data attached. The data can be of a primitive type (e.g. int32, float64,
-...) or a data class.
-</p>
-<!--l. 188-->
-<div class="lstlisting" id="listing-7"><span class="label"><a
- id="x37-91001r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ProtocolClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</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="x37-91002r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">incoming</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="x37-91003r3"></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">Message</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">m1</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">data</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">}</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x37-91004r4"></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">Message</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">m2</span><span
-class="ec-lmtt-9">()</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x37-91005r5"></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="x37-91006r6"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">outgoing</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="x37-91007r7"></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">Message</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">m3</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">data</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</span><span
-class="ec-lmtt-9">}</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x37-91008r8"></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">Message</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">m4</span><span
-class="ec-lmtt-9">()</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x37-91009r9"></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="x37-91010r10"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-
-
-<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse29.html" >next</a>] [<a
-href="etrice-docse27.html" >prev</a>] [<a
-href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
-href="etrice-docse28.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
-<!--l. 201--><p class="noindent" ><a
- id="tailetrice-docse28.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Protocols</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 167--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse29.html" >next</a>] [<a
+href="etrice-docse27.html" >prev</a>] [<a
+href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
+href="#tailetrice-docse28.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
+ id="x37-880007.2"></a>Protocols</h3>
+<!--l. 169--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.2.1 </span> <a
+ id="x37-890007.2.1"></a>Description</h4>
+<!--l. 171--><p class="noindent" >A <span id="textcolor40"><span
+class="ec-lmssbx-10">ProtocolClass</span></span> defines a set of incoming and outgoing <span id="textcolor41"><span
+class="ec-lmssbx-10">Message</span></span>s that can be exchanged between two ports.
+The exact semantics of a message is defined by the execution model.
+</p><!--l. 174--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.2.2 </span> <a
+ id="x37-900007.2.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Protocol classes provide a reusable interface specification for ports
+ </li>
+ <li class="itemize">Protocol classes can optionally specify valid message exchange sequences</li></ul>
+<!--l. 181--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.2.3 </span> <a
+ id="x37-910007.2.3"></a>Notation</h4>
+<!--l. 183--><p class="noindent" >Protocol classes have only textual notation. The example defines a protocol class with 2 incoming and two
+outgoing messages. Messages can have data attached. The data can be of a primitive type (e.g. int32, float64,
+...) or a data class.
+</p>
+<!--l. 188-->
+<div class="lstlisting" id="listing-7"><span class="label"><a
+ id="x37-91001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ProtocolClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</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="x37-91002r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">incoming</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="x37-91003r3"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m1</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">data</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x37-91004r4"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m2</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x37-91005r5"></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="x37-91006r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">outgoing</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="x37-91007r7"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">data</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x37-91008r8"></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">Message</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">m4</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x37-91009r9"></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="x37-91010r10"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse29.html" >next</a>] [<a
+href="etrice-docse27.html" >prev</a>] [<a
+href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
+href="etrice-docse28.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
+<!--l. 201--><p class="noindent" ><a
+ id="tailetrice-docse28.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
index 610dd3d3c..850df8619 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
@@ -1,1013 +1,1013 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Ports</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse30.html" >next</a>] [<a
-href="etrice-docse28.html" >prev</a>] [<a
-href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
-href="#tailetrice-docse29.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
- id="x38-920007.3"></a>Ports</h3>
-<!--l. 203--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.3.1 </span> <a
- id="x38-930007.3.1"></a>Description</h4>
-<!--l. 205--><p class="noindent" ><span id="textcolor42"><span
-class="ec-lmssbx-10">Port</span></span>s are the only interfaces of actors. A port has always a protocol assigned. Service Access
-Points (SAP) and Service Provision Points (SPP) are specialized ports that are used to define
-layering.
-</p><!--l. 209--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.3.2 </span> <a
- id="x38-940007.3.2"></a>Motivation</h4>
- <ul class="itemize1">
- <li class="itemize">Ports decouple interface definition (protocols) from interface usage
- </li>
- <li class="itemize">Ports decouple the logical interface from the transport</li></ul>
-<!--l. 216--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.3.3 </span> <a
- id="x38-950007.3.3"></a>Notation</h4>
-<!--l. 218--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x38-960007.3.3"></a>Class Ports</h5>
-<!--l. 220--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
-</p><!--l. 222--><p class="noindent" >Ports that define an external interface of the actor class, are defined in the <span id="textcolor43"><span
-class="ec-lmssbx-10">Interface</span></span>. Ports that define an
-internal interface are defined in the <span id="textcolor44"><span
-class="ec-lmssbx-10">Structure</span></span> (e.g. internal ports).
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">External end ports </span>are defined in the Interface and the Structure
-
-
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Internal end ports </span>are only defined in the Structure
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Relay ports </span>are only defined in the Interface
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">End ports </span>are always connected to the internal behavior of the ActorClass
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Replicated ports </span>can be defined with a fixed replication factor, e.g.<br
-class="newline" /><span id="textcolor45"><span
-class="ec-lmtk-10">Port</span></span> <span
-class="ec-lmtt-10">port18 [5]: ProtocolClass1</span><br
-class="newline" />or a variable replication factor, e.g.<br
-class="newline" /><span id="textcolor46"><span
-class="ec-lmtk-10">Port</span></span> <span
-class="ec-lmtt-10">port18[*]: ProtocolClass1</span></li></ul>
-<!--l. 236--><p class="noindent" >The table <a
-href="#x38-96001r3">7.3<!--tex4ht:ref: tab:class_port_notation --></a> shows all kinds of class ports with textual and graphical notation.
-<a
- id="x38-96001r3"></a>
-</p>
-<!--l. 240--><div class="longtable"> <table id="TBL-5" class="longtable"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-5-1g"><col
-id="TBL-5-1" /></colgroup><colgroup id="TBL-5-2g"><col
-id="TBL-5-2" /></colgroup><colgroup id="TBL-5-3g"><col
-id="TBL-5-3" /></colgroup>
-
-
-<tr
- style="vertical-align:baseline;" id="TBL-5-1-"><td colspan="3" style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-1-1"
-class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"> <div class="caption"
-><span class="id">Table&#x00A0;7.3: </span><span
-class="content">Class Port Notation</span></div><!--tex4ht:label?: x38-96001r3 --> </div> <a
- id="x38-96002"></a>
-</td></tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-2-1"
-class="td11">
- <!--l. 243--><p class="noindent" ><span
-class="ec-lmssbx-10">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-2-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-5-2-3"
-class="td11">
- <!--l. 243--><p class="noindent" ><span
-class="ec-lmssbx-10">Textual Notation</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-1"
-class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-5-3-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-3"
-class="td11">
-</td></tr>
-<tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-1"
-class="td11">
- <!--l. 246--><p class="noindent" >Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-4-2"
-class="td11"> <img
-src="images/040-ClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-3"
-class="td11">
- <div class="tabular"> <table id="TBL-6" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-6-1g"><col
-id="TBL-6-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-1"
-class="td11"><span
-class="ec-lmsso-10">External Class End Port: </span></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-1"
-class="td11"><!--l. 250--> <!--l. 250--><p class="noindent" ><a
- id="x38-96003r1"></a><a
- id="x38-96004"></a><div class="lstlisting" id="listing-8"><span class="label"><a
- id="x38-96005r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96006r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96007r3"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port12</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96008r4"></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="x38-96009r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96010r6"></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">external</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port12</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96011r7"></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="x38-96012r8"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-1"
-class="td11"><span
-class="ec-lmsso-10">Internal Class End Port: </span></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-1"
-class="td11"><!--l. 263--> <!--l. 263--><p class="noindent" ><a
- id="x38-96013r2"></a><a
- id="x38-96014"></a><div class="lstlisting" id="listing-9"><span class="label"><a
- id="x38-96015r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96016r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96017r3"></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="x38-96018r4"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96019r5"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port20</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96020r6"></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="x38-96021r7"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-1"
-class="td11"> </td></tr></table> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-1"
-class="td11">
- <!--l. 276--><p class="noindent" >Conjugated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-5-2"
-class="td11"> <img
-src="images/040-ConjugatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-3"
-class="td11">
- <div class="tabular"> <table id="TBL-7" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-7-1g"><col
-id="TBL-7-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-1"
-class="td11"><span
-class="ec-lmsso-10">External Conjugated Class End Port: </span></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-1"
-class="td11"><!--l. 280--> <!--l. 280--><p class="noindent" ><a
- id="x38-96022r3"></a><a
- id="x38-96023"></a><div class="lstlisting" id="listing-10"><span class="label"><a
- id="x38-96024r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96025r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96026r3"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port13</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96027r4"></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="x38-96028r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96029r6"></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">external</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port13</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96030r7"></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="x38-96031r8"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-1"
-class="td11"><span
-class="ec-lmsso-10">Internal Conjugated Class End Port: </span></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-1"
-class="td11"><!--l. 293--> <!--l. 293--><p class="noindent" ><a
- id="x38-96032r4"></a><a
- id="x38-96033"></a><div class="lstlisting" id="listing-11"><span class="label"><a
- id="x38-96034r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96035r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96036r3"></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="x38-96037r4"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96038r5"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port21</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96039r6"></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="x38-96040r7"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-1"
-class="td11"> </td></tr></table> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-1"
-class="td11">
- <!--l. 307--><p class="noindent" >Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-6-2"
-class="td11"> <img
-src="images/040-ClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-3"
-class="td11">
- <!--l. 309-->
- <a
- id="x38-96041r5"></a>
- <a
- id="x38-96042"></a>
- <div class="lstlisting" id="listing-12"><span class="label"><a
- id="x38-96043r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96044r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96045r3"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port10</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96046r4"></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="x38-96047r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96048r6"></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="x38-96049r7"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 320--><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-5-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-1"
-class="td11">
- <!--l. 321--><p class="noindent" >Conjugated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-7-2"
-class="td11"> <img
-src="images/040-ConjugatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-3"
-class="td11">
- <!--l. 323-->
- <a
- id="x38-96050r6"></a>
- <a
- id="x38-96051"></a>
- <div class="lstlisting" id="listing-13"><span class="label"><a
- id="x38-96052r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96053r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96054r3"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port10</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96055r4"></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="x38-96056r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96057r6"></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="x38-96058r7"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 334--><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-5-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-1"
-class="td11">
- <!--l. 335--><p class="noindent" >Replicated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-8-2"
-class="td11"> <img
-src="images/040-ReplicatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-3"
-class="td11">
- <div class="tabular"> <table id="TBL-8" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-8-1g"><col
-id="TBL-8-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-1-1"
-class="td11"><!--l. 338--><p class="noindent" ><span
-class="ec-lmsso-10">External Replicated Class End Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-2-1"
-class="td11"><!--l. 339-->
-<a
- id="x38-96059r7"></a>
-<a
- id="x38-96060"></a>
-<div class="lstlisting" id="listing-14"><span class="label"><a
- id="x38-96061r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96062r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96063r3"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port16</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96064r4"></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="x38-96065r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96066r6"></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">external</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port16</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96067r7"></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="x38-96068r8"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 351--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-3-1"
-class="td11"><!--l. 351--><p class="noindent" ><span
-class="ec-lmsso-10">Internal Replicated Class End Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-4-1"
-class="td11"><!--l. 352-->
-<a
- id="x38-96069r8"></a>
-<a
- id="x38-96070"></a>
-<div class="lstlisting" id="listing-15"><span class="label"><a
- id="x38-96071r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96072r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96073r3"></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="x38-96074r4"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96075r5"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port16</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96076r6"></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="x38-96077r7"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 363--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-5-1"
-class="td11"> </td></tr></table> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-9-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-1"
-class="td11">
- <!--l. 366--><p class="noindent" >Conjugated
- Replicated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-9-2"
-class="td11"> <img
-src="images/040-ConjugatedReplicatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-3"
-class="td11">
- <div class="tabular"> <table id="TBL-9" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-9-1g"><col
-id="TBL-9-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-1-1"
-class="td11"><!--l. 369--><p class="noindent" ><span
-class="ec-lmsso-10">External Conjugated Replicated Class</span>
-<span
-class="ec-lmsso-10">End Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-2-1"
-class="td11"><!--l. 370-->
-<a
- id="x38-96078r9"></a>
-<a
- id="x38-96079"></a>
-<div class="lstlisting" id="listing-16"><span class="label"><a
- id="x38-96080r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96081r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96082r3"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port17</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96083r4"></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="x38-96084r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96085r6"></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">external</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port17</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96086r7"></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="x38-96087r8"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 382--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-3-1"
-class="td11"><!--l. 382--><p class="noindent" ><span
-class="ec-lmsso-10">Internal Conjugated Replicated Class</span>
-<span
-class="ec-lmsso-10">End Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-4-1"
-class="td11"><!--l. 383-->
-<a
- id="x38-96088r10"></a>
-<a
- id="x38-96089"></a>
-<div class="lstlisting" id="listing-17"><span class="label"><a
- id="x38-96090r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96091r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96092r3"></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="x38-96093r4"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96094r5"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port23</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96095r6"></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="x38-96096r7"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 394--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-5-1"
-class="td11"> </td></tr></table> </div> </td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-10-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-1"
-class="td11">
- <!--l. 397--><p class="noindent" >Replicated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-10-2"
-class="td11"> <img
-src="images/040-ReplicatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-3"
-class="td11">
- <!--l. 399-->
- <a
- id="x38-96097r11"></a>
- <a
- id="x38-96098"></a>
- <div class="lstlisting" id="listing-18"><span class="label"><a
- id="x38-96099r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96100r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96101r3"></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">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port18</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96102r4"></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="x38-96103r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96104r6"></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="x38-96105r7"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 409--><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-5-11-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-1"
-class="td11">
- <!--l. 410--><p class="noindent" >Conjugated
- Replicated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-11-2"
-class="td11"> <img
-src="images/040-ConjugatedReplicatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-3"
-class="td11">
- <!--l. 412-->
- <a
- id="x38-96106r12"></a>
- <a
- id="x38-96107"></a>
- <div class="lstlisting" id="listing-19"><span class="label"><a
- id="x38-96108r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActorClass6</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="x38-96109r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96110r3"></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">conjugated</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Port</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">port19</span><span
-class="ec-lmtt-9">[3]:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ProtocolClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96111r4"></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="x38-96112r5"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x38-96113r6"></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="x38-96114r7"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 423--><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-5-12-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-12-1"
-class="td11"> </td>
-
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-13-1"
-class="td11"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-14-1"
-class="td11">
- <!--l. 424--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-15-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-15-1"
-class="td11">
- <!--l. 424--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-16-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-16-1"
-class="td11">
- <!--l. 424--><p class="noindent" > </p></td>
-</tr>
-</table></div>
-<!--l. 427--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x38-970007.3.3"></a>Reference Ports</h5>
-<!--l. 429--><p class="noindent" >These symbols can only appear on the border of an actor class. Since the type of port is defined in the actor
-class, no textual notation for the Reference Ports exists.
-</p><!--l. 432--><p class="noindent" >The table <a
-href="#x38-970014">7.4<!--tex4ht:ref: tab:reference_port_notation --></a> shows all kinds of reference ports with textual and graphical notation.
-</p>
-<div class="table">
-
-
-<!--l. 435--><p class="noindent" ><a
- id="x38-970014"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.4: </span><span
-class="content">Reference Port Notation</span></div><!--tex4ht:label?: x38-970014 -->
-<div class="tabular"> <table id="TBL-10" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-10-1g"><col
-id="TBL-10-1" /></colgroup><colgroup id="TBL-10-2g"><col
-id="TBL-10-2" /></colgroup><colgroup id="TBL-10-3g"><col
-id="TBL-10-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-1"
-class="td11"> <span
-class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
-class="td11"> <span
-class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
-class="td11"> <span
-class="ec-lmssbx-10">Textual Notation </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-1"
-class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-2"
-class="td11"> <img
-src="images/040-ReferencePort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-3"
-class="td11"> <span
-class="ec-lmsso-10">implicit </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-1"
-class="td11"> Conjugated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-2"
-class="td11"> <img
-src="images/040-ConjugatedReferencePort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-3"
-class="td11"> <span
-class="ec-lmsso-10">implicit </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-1"
-class="td11"> Replicated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-2"
-class="td11"> <img
-src="images/040-ReplicatedReferencePort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-3"
-class="td11"> <span
-class="ec-lmsso-10">implicit </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-5-1"
-class="td11"> Conjugated Replicated </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-1"
-class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-2"
-class="td11"> <img
-src="images/040-ConjugatedReplicatedReferencePort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-3"
-class="td11"> <span
-class="ec-lmsso-10">implicit </span></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-7-1"
-class="td11"> </td></tr></table></div>
-
-
-</div><hr class="endfloat" />
-</div>
-
-
-<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse30.html" >next</a>] [<a
-href="etrice-docse28.html" >prev</a>] [<a
-href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
-href="etrice-docse29.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
-<!--l. 450--><p class="noindent" ><a
- id="tailetrice-docse29.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Ports</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 201--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse30.html" >next</a>] [<a
+href="etrice-docse28.html" >prev</a>] [<a
+href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
+href="#tailetrice-docse29.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
+ id="x38-920007.3"></a>Ports</h3>
+<!--l. 203--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.1 </span> <a
+ id="x38-930007.3.1"></a>Description</h4>
+<!--l. 205--><p class="noindent" ><span id="textcolor42"><span
+class="ec-lmssbx-10">Port</span></span>s are the only interfaces of actors. A port has always a protocol assigned. Service Access
+Points (SAP) and Service Provision Points (SPP) are specialized ports that are used to define
+layering.
+</p><!--l. 209--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.2 </span> <a
+ id="x38-940007.3.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Ports decouple interface definition (protocols) from interface usage
+ </li>
+ <li class="itemize">Ports decouple the logical interface from the transport</li></ul>
+<!--l. 216--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.3 </span> <a
+ id="x38-950007.3.3"></a>Notation</h4>
+<!--l. 218--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x38-960007.3.3"></a>Class Ports</h5>
+<!--l. 220--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
+</p><!--l. 222--><p class="noindent" >Ports that define an external interface of the actor class, are defined in the <span id="textcolor43"><span
+class="ec-lmssbx-10">Interface</span></span>. Ports that define an
+internal interface are defined in the <span id="textcolor44"><span
+class="ec-lmssbx-10">Structure</span></span> (e.g. internal ports).
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">External end ports </span>are defined in the Interface and the Structure
+
+
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Internal end ports </span>are only defined in the Structure
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Relay ports </span>are only defined in the Interface
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">End ports </span>are always connected to the internal behavior of the ActorClass
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Replicated ports </span>can be defined with a fixed replication factor, e.g.<br
+class="newline" /><span id="textcolor45"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18 [5]: ProtocolClass1</span><br
+class="newline" />or a variable replication factor, e.g.<br
+class="newline" /><span id="textcolor46"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18[*]: ProtocolClass1</span></li></ul>
+<!--l. 236--><p class="noindent" >The table <a
+href="#x38-96001r3">7.3<!--tex4ht:ref: tab:class_port_notation --></a> shows all kinds of class ports with textual and graphical notation.
+<a
+ id="x38-96001r3"></a>
+</p>
+<!--l. 240--><div class="longtable"> <table id="TBL-5" class="longtable"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-5-1g"><col
+id="TBL-5-1" /></colgroup><colgroup id="TBL-5-2g"><col
+id="TBL-5-2" /></colgroup><colgroup id="TBL-5-3g"><col
+id="TBL-5-3" /></colgroup>
+
+
+<tr
+ style="vertical-align:baseline;" id="TBL-5-1-"><td colspan="3" style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-1-1"
+class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"> <div class="caption"
+><span class="id">Table&#x00A0;7.3: </span><span
+class="content">Class Port Notation</span></div><!--tex4ht:label?: x38-96001r3 --> </div> <a
+ id="x38-96002"></a>
+</td></tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-2-1"
+class="td11">
+ <!--l. 243--><p class="noindent" ><span
+class="ec-lmssbx-10">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-2-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-5-2-3"
+class="td11">
+ <!--l. 243--><p class="noindent" ><span
+class="ec-lmssbx-10">Textual Notation</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-5-3-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-3-3"
+class="td11">
+</td></tr>
+<tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-1"
+class="td11">
+ <!--l. 246--><p class="noindent" >Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-4-2"
+class="td11"> <img
+src="images/040-ClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-4-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-6" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-6-1g"><col
+id="TBL-6-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-1"
+class="td11"><span
+class="ec-lmsso-10">External Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-1"
+class="td11"><!--l. 250--> <!--l. 250--><p class="noindent" ><a
+ id="x38-96003r1"></a><a
+ id="x38-96004"></a><div class="lstlisting" id="listing-8"><span class="label"><a
+ id="x38-96005r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96006r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96007r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port12</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96008r4"></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="x38-96009r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96010r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port12</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96011r7"></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="x38-96012r8"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-1"
+class="td11"><span
+class="ec-lmsso-10">Internal Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-1"
+class="td11"><!--l. 263--> <!--l. 263--><p class="noindent" ><a
+ id="x38-96013r2"></a><a
+ id="x38-96014"></a><div class="lstlisting" id="listing-9"><span class="label"><a
+ id="x38-96015r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96016r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96017r3"></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="x38-96018r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96019r5"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port20</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96020r6"></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="x38-96021r7"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-6-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-1"
+class="td11">
+ <!--l. 276--><p class="noindent" >Conjugated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-5-2"
+class="td11"> <img
+src="images/040-ConjugatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-5-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-7" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-7-1g"><col
+id="TBL-7-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-1"
+class="td11"><span
+class="ec-lmsso-10">External Conjugated Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-1"
+class="td11"><!--l. 280--> <!--l. 280--><p class="noindent" ><a
+ id="x38-96022r3"></a><a
+ id="x38-96023"></a><div class="lstlisting" id="listing-10"><span class="label"><a
+ id="x38-96024r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96025r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96026r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port13</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96027r4"></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="x38-96028r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96029r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port13</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96030r7"></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="x38-96031r8"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-1"
+class="td11"><span
+class="ec-lmsso-10">Internal Conjugated Class End Port: </span></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-1"
+class="td11"><!--l. 293--> <!--l. 293--><p class="noindent" ><a
+ id="x38-96032r4"></a><a
+ id="x38-96033"></a><div class="lstlisting" id="listing-11"><span class="label"><a
+ id="x38-96034r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96035r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96036r3"></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="x38-96037r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96038r5"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port21</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96039r6"></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="x38-96040r7"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-7-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-1"
+class="td11">
+ <!--l. 307--><p class="noindent" >Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-6-2"
+class="td11"> <img
+src="images/040-ClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-6-3"
+class="td11">
+ <!--l. 309-->
+ <a
+ id="x38-96041r5"></a>
+ <a
+ id="x38-96042"></a>
+ <div class="lstlisting" id="listing-12"><span class="label"><a
+ id="x38-96043r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96044r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96045r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port10</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96046r4"></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="x38-96047r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96048r6"></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="x38-96049r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 320--><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-5-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-1"
+class="td11">
+ <!--l. 321--><p class="noindent" >Conjugated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-7-2"
+class="td11"> <img
+src="images/040-ConjugatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-7-3"
+class="td11">
+ <!--l. 323-->
+ <a
+ id="x38-96050r6"></a>
+ <a
+ id="x38-96051"></a>
+ <div class="lstlisting" id="listing-13"><span class="label"><a
+ id="x38-96052r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96053r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96054r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port10</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96055r4"></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="x38-96056r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96057r6"></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="x38-96058r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 334--><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-5-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-1"
+class="td11">
+ <!--l. 335--><p class="noindent" >Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-8-2"
+class="td11"> <img
+src="images/040-ReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-8-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-8" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-8-1g"><col
+id="TBL-8-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-1-1"
+class="td11"><!--l. 338--><p class="noindent" ><span
+class="ec-lmsso-10">External Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-2-1"
+class="td11"><!--l. 339-->
+<a
+ id="x38-96059r7"></a>
+<a
+ id="x38-96060"></a>
+<div class="lstlisting" id="listing-14"><span class="label"><a
+ id="x38-96061r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96062r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96063r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96064r4"></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="x38-96065r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96066r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96067r7"></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="x38-96068r8"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 351--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-3-1"
+class="td11"><!--l. 351--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-4-1"
+class="td11"><!--l. 352-->
+<a
+ id="x38-96069r8"></a>
+<a
+ id="x38-96070"></a>
+<div class="lstlisting" id="listing-15"><span class="label"><a
+ id="x38-96071r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96072r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96073r3"></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="x38-96074r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96075r5"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port16</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96076r6"></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="x38-96077r7"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 363--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-9-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-1"
+class="td11">
+ <!--l. 366--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-9-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-9-3"
+class="td11">
+ <div class="tabular"> <table id="TBL-9" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-9-1g"><col
+id="TBL-9-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-1-1"
+class="td11"><!--l. 369--><p class="noindent" ><span
+class="ec-lmsso-10">External Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-2-1"
+class="td11"><!--l. 370-->
+<a
+ id="x38-96078r9"></a>
+<a
+ id="x38-96079"></a>
+<div class="lstlisting" id="listing-16"><span class="label"><a
+ id="x38-96080r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96081r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96082r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port17</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96083r4"></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="x38-96084r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96085r6"></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">external</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port17</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96086r7"></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="x38-96087r8"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 382--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-3-1"
+class="td11"><!--l. 382--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-4-1"
+class="td11"><!--l. 383-->
+<a
+ id="x38-96088r10"></a>
+<a
+ id="x38-96089"></a>
+<div class="lstlisting" id="listing-17"><span class="label"><a
+ id="x38-96090r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96091r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96092r3"></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="x38-96093r4"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96094r5"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port23</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96095r6"></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="x38-96096r7"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 394--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-5-1"
+class="td11"> </td></tr></table> </div> </td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-10-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-1"
+class="td11">
+ <!--l. 397--><p class="noindent" >Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-10-2"
+class="td11"> <img
+src="images/040-ReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-10-3"
+class="td11">
+ <!--l. 399-->
+ <a
+ id="x38-96097r11"></a>
+ <a
+ id="x38-96098"></a>
+ <div class="lstlisting" id="listing-18"><span class="label"><a
+ id="x38-96099r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96100r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96101r3"></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">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port18</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96102r4"></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="x38-96103r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96104r6"></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="x38-96105r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 409--><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-5-11-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-1"
+class="td11">
+ <!--l. 410--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-11-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-11-3"
+class="td11">
+ <!--l. 412-->
+ <a
+ id="x38-96106r12"></a>
+ <a
+ id="x38-96107"></a>
+ <div class="lstlisting" id="listing-19"><span class="label"><a
+ id="x38-96108r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActorClass6</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="x38-96109r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96110r3"></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">conjugated</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Port</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">port19</span><span
+class="ec-lmtt-9">[3]:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ProtocolClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96111r4"></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="x38-96112r5"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x38-96113r6"></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="x38-96114r7"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 423--><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-5-12-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-12-1"
+class="td11"> </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-13-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-14-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-15-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-15-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-16-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-5-16-1"
+class="td11">
+ <!--l. 424--><p class="noindent" > </p></td>
+</tr>
+</table></div>
+<!--l. 427--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x38-970007.3.3"></a>Reference Ports</h5>
+<!--l. 429--><p class="noindent" >These symbols can only appear on the border of an actor class. Since the type of port is defined in the actor
+class, no textual notation for the Reference Ports exists.
+</p><!--l. 432--><p class="noindent" >The table <a
+href="#x38-970014">7.4<!--tex4ht:ref: tab:reference_port_notation --></a> shows all kinds of reference ports with textual and graphical notation.
+</p>
+<div class="table">
+
+
+<!--l. 435--><p class="noindent" ><a
+ id="x38-970014"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.4: </span><span
+class="content">Reference Port Notation</span></div><!--tex4ht:label?: x38-970014 -->
+<div class="tabular"> <table id="TBL-10" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-10-1g"><col
+id="TBL-10-1" /></colgroup><colgroup id="TBL-10-2g"><col
+id="TBL-10-2" /></colgroup><colgroup id="TBL-10-3g"><col
+id="TBL-10-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-2"
+class="td11"> <img
+src="images/040-ReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-1"
+class="td11"> Conjugated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-2"
+class="td11"> <img
+src="images/040-ConjugatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-1"
+class="td11"> Replicated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-2"
+class="td11"> <img
+src="images/040-ReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-5-1"
+class="td11"> Conjugated Replicated </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-7-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+
+
+<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse30.html" >next</a>] [<a
+href="etrice-docse28.html" >prev</a>] [<a
+href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
+href="etrice-docse29.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
+<!--l. 450--><p class="noindent" ><a
+ id="tailetrice-docse29.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
index 3a7938828..b29b9b6c4 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
@@ -1,63 +1,65 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Working with the tutorials</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse4.html" >next</a>] [<a
-href="etrice-docch2.html" >prev</a>] [<a
-href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
-href="#tailetrice-docse3.html">tail</a>] [<a
-href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
- id="x7-260002.1"></a>Working with the tutorials</h3>
-<!--l. 3--><p class="noindent" >The eTrice tutorials will help you to learn and understand the eTrice tool and concepts. eTrice supports
-several target languages. The chapter setting up the workspace exists for each target language.
-
-
-Those are currently Java and C. The C++ generator and runtime are currently prototypes with no
-tutorials.
-</p><!--l. 8--><p class="noindent" >The other tutorials work for all target languages. Target language specific aspects are explained for all
-languages.
-</p><!--l. 10--><p class="noindent" >eTrice generates code out of ROOM models. The generated code relies on the services of a runtime
-framework: </p>
- <ul class="itemize1">
- <li class="itemize">execution
- </li>
- <li class="itemize">communication (e.g. messaging)
- </li>
- <li class="itemize">logging
- </li>
- <li class="itemize">operating system abstraction (osal)</li></ul>
-<!--l. 19--><p class="noindent" >Additional functionality is provided as model library: </p>
- <ul class="itemize1">
- <li class="itemize">socket server and client
- </li>
- <li class="itemize">timing service
- </li>
- <li class="itemize">standard types</li></ul>
-<!--l. 26--><p class="noindent" >Additionally the tutorial models are be provided to make it easy to start with eTrice. All those projects should
-be available in our workspace before you start working with the tutorials.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse4.html" >next</a>] [<a
-href="etrice-docch2.html" >prev</a>] [<a
-href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
-href="etrice-docse3.html" >front</a>] [<a
-href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse3.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Working with the tutorials</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse4.html" >next</a>] [<a
+href="etrice-docch2.html" >prev</a>] [<a
+href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
+href="#tailetrice-docse3.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
+ id="x7-260002.1"></a>Working with the tutorials</h3>
+<!--l. 3--><p class="noindent" >The eTrice tutorials will help you to learn and understand the eTrice tool and concepts. eTrice supports several
+target languages. The first two tutorials are target language specific. The other tutorials work for all target
+languages. Target language specific aspects are explained for all languages. Currently eTrice supports Java and
+C. The C++ generator and runtime are currently prototypes with no tutorials. You should decide for which
+target language you want to run the tutorials.
+</p><!--l. 8--><p class="noindent" >Here an overview over the tutorials:
+</p><!--l. 10--><p class="noindent" ><img
+src="images/012-tutorial-structure.png" alt="PIC"
+ />
+</p><!--l. 13--><p class="noindent" >eTrice generates code out of ROOM models. The generated code relies on the services of a runtime framework
+(Runtime): </p>
+ <ul class="itemize1">
+ <li class="itemize">execution
+ </li>
+ <li class="itemize">communication (e.g. messaging)
+ </li>
+ <li class="itemize">logging
+ </li>
+ <li class="itemize">operating system abstraction (osal)</li></ul>
+<!--l. 22--><p class="noindent" >Additional functionality is provided as model library (Modellib): </p>
+ <ul class="itemize1">
+ <li class="itemize">socket server and client
+ </li>
+ <li class="itemize">timing service
+ </li>
+ <li class="itemize">standard types</li></ul>
+<!--l. 29--><p class="noindent" >All tutorial models are provided as examples.
+</p><!--l. 31--><p class="noindent" >The Runtime, Modellib and Tutorial projects are target language specific and will be set up in the first tutorial
+"Setting up the workspace for ...".
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse4.html" >next</a>] [<a
+href="etrice-docch2.html" >prev</a>] [<a
+href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
+href="etrice-docse3.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse3.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
index af38bfbce..4f5ca38da 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
@@ -1,412 +1,412 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>DataClass</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse31.html" >next</a>] [<a
-href="etrice-docse29.html" >prev</a>] [<a
-href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
-href="#tailetrice-docse30.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.4 </span> <a
- id="x39-980007.4"></a>DataClass</h3>
-<!--l. 452--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.4.1 </span> <a
- id="x39-990007.4.1"></a>Description</h4>
-<!--l. 454--><p class="noindent" >The <span id="textcolor47"><span
-class="ec-lmssbx-10">DataClass</span></span> enables the modeling of hierarchical complex data types and operations on them. The data
-class is the equivalent to a class in languages like Java or C++, but has less features. The content
-of a data class can always be sent via message between actors (defined as message data in a
-<span id="textcolor48"><span
-class="ec-lmssbx-10">ProtocolClass</span></span>).
-</p><!--l. 458--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.4.2 </span> <a
- id="x39-1000007.4.2"></a>Notation</h4>
-<!--l. 460--><p class="noindent" >Example: DataClass using PrimitiveTypes
-</p>
-<!--l. 462-->
-<div class="lstlisting" id="listing-20"><span class="label"><a
- id="x39-100001r1"></a></span><span
-class="ec-lmssbx-10x-x-90">DataClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</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="x39-100002r2"></a></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">attribute1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</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">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100003r3"></a></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">attribute2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">float32</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">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">another</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100004r4"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100005r5"></a></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">no</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">arguments</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">no</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100006r6"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation1</span><span
-class="ec-lmtt-9">()</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">void</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="x39-100007r7"></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">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100008r8"></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="x39-100009r9"></a></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">argument</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">no</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100010r10"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation2</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">)</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">void</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="x39-100011r11"></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">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100012r12"></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="x39-100013r13"></a></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">argument</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100014r14"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation3</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</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">float64</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="x39-100015r15"></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">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100016r16"></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="x39-100017r17"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 483--><p class="noindent" >Example: DataClass using other DataClasses:
-</p>
-<!--l. 485-->
-<div class="lstlisting" id="listing-21"><span class="label"><a
- id="x39-100018r1"></a></span><span
-class="ec-lmssbx-10x-x-90">DataClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass2</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="x39-100019r2"></a></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">attribute1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</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><span
-class="ec-lmtt-9">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">type</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100020r3"></a></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">attribute2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</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">attribute</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">of</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100021r4"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100022r5"></a></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">arguments</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">by</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100023r6"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation1</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Param2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</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">DataClass1</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="x39-100024r7"></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">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100025r8"></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="x39-100026r9"></a></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">arguments</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">and</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">return</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">value</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">by</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">reference</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">except</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">for</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">primitive</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">types</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100027r10"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">Operation</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">operation2</span><span
-class="ec-lmtt-9">(</span><span
-class="ec-lmtt-9">Param1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">int32</span><span
-class="ec-lmtt-9">,</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Param2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DataClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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="x39-100028r11"></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">UserCodeLine1</span><span
-class="ec-lmtt-9">"</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x39-100029r12"></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="x39-100030r13"></a></span><span
-class="ec-lmtt-9">}</span>
-</div>
-
-
-<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse31.html" >next</a>] [<a
-href="etrice-docse29.html" >prev</a>] [<a
-href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
-href="etrice-docse30.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
-<!--l. 502--><p class="noindent" ><a
- id="tailetrice-docse30.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>DataClass</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 450--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse31.html" >next</a>] [<a
+href="etrice-docse29.html" >prev</a>] [<a
+href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
+href="#tailetrice-docse30.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.4 </span> <a
+ id="x39-980007.4"></a>DataClass</h3>
+<!--l. 452--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.4.1 </span> <a
+ id="x39-990007.4.1"></a>Description</h4>
+<!--l. 454--><p class="noindent" >The <span id="textcolor47"><span
+class="ec-lmssbx-10">DataClass</span></span> enables the modeling of hierarchical complex data types and operations on them. The data
+class is the equivalent to a class in languages like Java or C++, but has less features. The content
+of a data class can always be sent via message between actors (defined as message data in a
+<span id="textcolor48"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>).
+</p><!--l. 458--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.4.2 </span> <a
+ id="x39-1000007.4.2"></a>Notation</h4>
+<!--l. 460--><p class="noindent" >Example: DataClass using PrimitiveTypes
+</p>
+<!--l. 462-->
+<div class="lstlisting" id="listing-20"><span class="label"><a
+ id="x39-100001r1"></a></span><span
+class="ec-lmssbx-10x-x-90">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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="x39-100002r2"></a></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">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100003r3"></a></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">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">float32</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">another</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100004r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100005r5"></a></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">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">arguments</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100006r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">()</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x39-100007r7"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100008r8"></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="x39-100009r9"></a></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">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">no</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100010r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">)</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">void</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="x39-100011r11"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100012r12"></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="x39-100013r13"></a></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">argument</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100014r14"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation3</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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">float64</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="x39-100015r15"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100016r16"></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="x39-100017r17"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 483--><p class="noindent" >Example: DataClass using other DataClasses:
+</p>
+<!--l. 485-->
+<div class="lstlisting" id="listing-21"><span class="label"><a
+ id="x39-100018r1"></a></span><span
+class="ec-lmssbx-10x-x-90">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass2</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="x39-100019r2"></a></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">attribute1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</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><span
+class="ec-lmtt-9">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">type</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100020r3"></a></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">attribute2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">of</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100021r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100022r5"></a></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">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100023r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation1</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</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">DataClass1</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="x39-100024r7"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100025r8"></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="x39-100026r9"></a></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">arguments</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">and</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">return</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">value</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">by</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reference</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">except</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">for</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">primitive</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">types</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100027r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Operation</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">operation2</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Param1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int32</span><span
+class="ec-lmtt-9">,</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Param2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">DataClass1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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="x39-100028r11"></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">UserCodeLine1</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x39-100029r12"></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="x39-100030r13"></a></span><span
+class="ec-lmtt-9">}</span>
+</div>
+
+
+<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse31.html" >next</a>] [<a
+href="etrice-docse29.html" >prev</a>] [<a
+href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
+href="etrice-docse30.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
+<!--l. 502--><p class="noindent" ><a
+ id="tailetrice-docse30.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
index 77b9cd811..5a2fa0ad2 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
@@ -1,501 +1,501 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Layering</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse32.html" >next</a>] [<a
-href="etrice-docse30.html" >prev</a>] [<a
-href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
-href="#tailetrice-docse31.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.5 </span> <a
- id="x40-1010007.5"></a>Layering</h3>
-<!--l. 504--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.5.1 </span> <a
- id="x40-1020007.5.1"></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><!--l. 510--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x40-102002x1">an actor class can define a Service Provision Point (<span id="textcolor49"><span
-class="ec-lmssbx-10">SPPRef</span></span>) to publish a specific service, defined
- by a protocol class
- </li>
- <li
- class="enumerate" id="x40-102004x2">an actor class can define a Service Access Point (<span id="textcolor50"><span
-class="ec-lmssbx-10">SAPRef</span></span>) if it needs a service, defined by a
- protocol class
- </li>
- <li
- class="enumerate" id="x40-102006x3">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>
-<!--l. 519--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.5.2 </span> <a
- id="x40-1030007.5.2"></a>Notation</h4>
-<!--l. 521--><p class="noindent" >For the graphical and textual notation refer to table <a
-href="#x40-1030015">7.5<!--tex4ht:ref: tab:layering_notation --></a>
-</p>
-<div class="table">
-
-
-<!--l. 524--><p class="noindent" ><a
- id="x40-1030015"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.5: </span><span
-class="content">Layering Notation</span></div><!--tex4ht:label?: x40-1030015 -->
-<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-22"><span class="label"><a
- id="x40-103002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Mode1</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="x40-103003r2"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103004r3"></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">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ServiceLayer</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103005r4"></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">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ApplicationLayer</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103006r5"></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">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103007r6"></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">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">ref</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">digitalIO</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103008r7"></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="x40-103009r8"></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-23"><span class="label"><a
- id="x40-103010r1"></a></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">&#x00A0;</span><span
-class="ec-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103011r2"></a></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103012r3"></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-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103013r4"></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">digitalIO</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103014r5"></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="x40-103015r6"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103016r7"></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">Timer</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103017r8"></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">DigIO</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103018r9"></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">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">relay_sap</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">timer</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">Timer</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">timer</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103019r10"></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">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">relay_sap</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">digitalIO</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">DigIO</span><span
-class="ec-lmtt-9">.</span><span
-class="ec-lmtt-9">digitalIO</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103020r11"></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="x40-103021r12"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</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-24"><span class="label"><a
- id="x40-103022r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ApplicationLayer</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="x40-103023r2"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103024r3"></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">function1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">A</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103025r4"></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">function2</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103026r5"></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">function3</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103027r6"></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">function4</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">&#x00A0;</span><br /><span class="label"><a
- id="x40-103028r7"></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="x40-103029r8"></a></span><span
-class="ec-lmtt-9">}</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103030r9"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103031r10"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">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="x40-103032r11"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103033r12"></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-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103034r13"></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="x40-103035r14"></a></span><span
-class="ec-lmtt-9">}</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103036r15"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103037r16"></a></span><span
-class="ec-lmssbx-10x-x-90">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">B</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="x40-103038r17"></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">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103039r18"></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-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">TimerProtocol</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103040r19"></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-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">DigitalIOProtocol</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x40-103041r20"></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="x40-103042r21"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</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>
-
-
-</div><hr class="endfloat" />
-</div>
-
-
-<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse32.html" >next</a>] [<a
-href="etrice-docse30.html" >prev</a>] [<a
-href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
-href="etrice-docse31.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
-<!--l. 606--><p class="noindent" ><a
- id="tailetrice-docse31.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Layering</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 502--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse32.html" >next</a>] [<a
+href="etrice-docse30.html" >prev</a>] [<a
+href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
+href="#tailetrice-docse31.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.5 </span> <a
+ id="x40-1010007.5"></a>Layering</h3>
+<!--l. 504--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.5.1 </span> <a
+ id="x40-1020007.5.1"></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><!--l. 510--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x40-102002x1">an actor class can define a Service Provision Point (<span id="textcolor49"><span
+class="ec-lmssbx-10">SPPRef</span></span>) to publish a specific service, defined
+ by a protocol class
+ </li>
+ <li
+ class="enumerate" id="x40-102004x2">an actor class can define a Service Access Point (<span id="textcolor50"><span
+class="ec-lmssbx-10">SAPRef</span></span>) if it needs a service, defined by a
+ protocol class
+ </li>
+ <li
+ class="enumerate" id="x40-102006x3">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>
+<!--l. 519--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.5.2 </span> <a
+ id="x40-1030007.5.2"></a>Notation</h4>
+<!--l. 521--><p class="noindent" >For the graphical and textual notation refer to table <a
+href="#x40-1030015">7.5<!--tex4ht:ref: tab:layering_notation --></a>
+</p>
+<div class="table">
+
+
+<!--l. 524--><p class="noindent" ><a
+ id="x40-1030015"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.5: </span><span
+class="content">Layering Notation</span></div><!--tex4ht:label?: x40-1030015 -->
+<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-22"><span class="label"><a
+ id="x40-103002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Mode1</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="x40-103003r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103004r3"></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">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ServiceLayer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103005r4"></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">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ApplicationLayer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103006r5"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103007r6"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ref</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">digitalIO</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103008r7"></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="x40-103009r8"></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-23"><span class="label"><a
+ id="x40-103010r1"></a></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">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103011r2"></a></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103012r3"></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-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103013r4"></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">digitalIO</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103014r5"></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="x40-103015r6"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103016r7"></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">Timer</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103017r8"></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">DigIO</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103018r9"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">timer</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">Timer</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">timer</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103019r10"></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">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">relay_sap</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">digitalIO</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">DigIO</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">digitalIO</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103020r11"></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="x40-103021r12"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</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-24"><span class="label"><a
+ id="x40-103022r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ApplicationLayer</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="x40-103023r2"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103024r3"></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">function1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">A</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103025r4"></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">function2</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103026r5"></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">function3</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103027r6"></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">function4</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">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103028r7"></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="x40-103029r8"></a></span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103030r9"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103031r10"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">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="x40-103032r11"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103033r12"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103034r13"></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="x40-103035r14"></a></span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103036r15"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103037r16"></a></span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">B</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="x40-103038r17"></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">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103039r18"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">TimerProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103040r19"></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-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">DigitalIOProtocol</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x40-103041r20"></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="x40-103042r21"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</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>
+
+
+</div><hr class="endfloat" />
+</div>
+
+
+<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse32.html" >next</a>] [<a
+href="etrice-docse30.html" >prev</a>] [<a
+href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
+href="etrice-docse31.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
+<!--l. 606--><p class="noindent" ><a
+ id="tailetrice-docse31.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
index 4d0881a68..c20b9a6a4 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
@@ -1,463 +1,463 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Finite State Machines</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch8.html" >next</a>] [<a
-href="etrice-docse31.html" >prev</a>] [<a
-href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
-href="#tailetrice-docse32.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.6 </span> <a
- id="x41-1040007.6"></a>Finite State Machines</h3>
-<!--l. 608--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.6.1 </span> <a
- id="x41-1050007.6.1"></a>Description</h4>
-<!--l. 610--><p class="noindent" >Definition from <a
-href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
-</p><!--l. 612--><p class="noindent" >
- </p><div class="quote">
- <!--l. 613--><p class="noindent" >A finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a
- state machine, is a mathematical model used to design computer programs and digital logic
- circuits. It is conceived as an abstract machine that can be in one of a finite number of
- states. The machine is in only one state at a time; the state it is in at any given time
- is called the current state. It can change from one state to another when initiated by a
- triggering event or condition, this is called a transition. A particular FSM is defined by a
- list of the possible states it can transition to from each state, and the triggering condition
- for each transition.
- </p><!--l. 621--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events
- occurring at the end ports of an actor will be forwarded to and processed by the state
- machine. Events possibly trigger state transitions.</p></div>
-<!--l. 626--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.6.2 </span> <a
- id="x41-1060007.6.2"></a>Motivation</h4>
-<!--l. 628--><p class="noindent" >For event driven systems a finite state machine is ideal for processing the stream of events. Typically during
-processing new events are produced which are sent to peer actors.
-</p><!--l. 631--><p class="noindent" >We distinguish flat and hierarchical state machines.
-</p><!--l. 633--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.6.3 </span> <a
- id="x41-1070007.6.3"></a>Notation</h4>
-<!--l. 635--><p class="noindent" >We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones.
-
-
-</p><!--l. 637--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x41-1080007.6.3"></a>Flat Finite State Machine</h5>
-<!--l. 639--><p class="noindent" >The simpler flat finite state machines are composed of the elements shown in table <a
-href="#x41-1080016">7.6<!--tex4ht:ref: tab:flat_fsm_notation --></a>.
-</p>
-<div class="table">
-
-
-<!--l. 642--><p class="noindent" ><a
- id="x41-1080016"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.6: </span><span
-class="content">Flat finite state machine notation</span></div><!--tex4ht:label?: x41-1080016 -->
-<div class="tabular"> <table id="TBL-12" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-12-1g"><col
-id="TBL-12-1" /></colgroup><colgroup id="TBL-12-2g"><col
-id="TBL-12-2" /></colgroup><colgroup id="TBL-12-3g"><col
-id="TBL-12-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-1-1"
-class="td11"> <!--l. 646--><p class="noindent" ><span
-class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-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-12-1-3"
-class="td11"> <!--l. 646--><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-12-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-1"
-class="td11"> <!--l. 648--><p class="noindent" >State </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-2"
-class="td11"> <img
-src="images/040-State.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-3"
-class="td11"> <!--l. 649-->
- <div class="lstlisting" id="listing-25"><span class="label"><a
- id="x41-108002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">State</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">SomeState</span>
-
-</div>
-<!--l. 654--><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-12-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-1"
-class="td11"> <!--l. 655--><p class="noindent" >InitialPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-3-2"
-class="td11"> <img
-src="images/040-InitialPoint.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-3"
-class="td11"> <!--l. 655--><p class="noindent" ><span
-class="ec-lmsso-10">implicit</span> </p></td>
-</tr><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-1"
-class="td11"> <!--l. 657--><p class="noindent" >TransitionPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-4-2"
-class="td11"> <img
-src="images/040-TransitionPoint.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-3"
-class="td11"> <!--l. 658-->
- <div class="lstlisting" id="listing-26"><span class="label"><a
- id="x41-108003r1"></a></span><span
-class="ec-lmssbx-10x-x-90">TransitionPoint</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">tp</span>
-
-</div>
-<!--l. 663--><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-12-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-1"
-class="td11"> <!--l. 664--><p class="noindent" >ChoicePoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-5-2"
-class="td11"> <img
-src="images/040-ChoicePoint.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-3"
-class="td11"> <!--l. 665-->
- <div class="lstlisting" id="listing-27"><span class="label"><a
- id="x41-108004r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ChoicePoint</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">cp</span>
-
-</div>
-<!--l. 670--><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-12-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-1"
-class="td11"> <!--l. 671--><p class="noindent" >Initial Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-6-2"
-class="td11"> <img
-src="images/040-InitialTransition.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-3"
-class="td11"> <!--l. 672-->
- <div class="lstlisting" id="listing-28"><span class="label"><a
- id="x41-108005r1"></a></span><span
-class="ec-lmssbx-10x-x-90">Transition</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">init</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">initial</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">Initial</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">}</span>
-
-</div>
-<!--l. 677--><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-12-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-1"
-class="td11"> <!--l. 678--><p class="noindent" >Triggered Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-7-2"
-class="td11"> <img
-src="images/040-TriggeredTransition.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-3"
-class="td11"> <!--l. 679-->
- <div class="lstlisting" id="listing-29"><span class="label"><a
- id="x41-108006r1"></a></span><span
-class="ec-lmssbx-10x-x-90">Transition</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">tr0</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">initial</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">DoingThis</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="x41-108007r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">triggers</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="x41-108008r3"></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">&#x003C;</span><span
-class="ec-lmtt-9">doThis</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">fct</span><span
-class="ec-lmtt-9">&#x003E;</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x41-108009r4"></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="x41-108010r5"></a></span><span
-class="ec-lmtt-9">}</span>
-
-</div>
-<!--l. 688--><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-12-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-8-1"
-class="td11"> </td></tr></table></div>
-
-
-</div><hr class="endfloat" />
-</div>
-<h5 class="subsubsectionHead"><a
- id="x41-1090007.6.3"></a>Hierarchical Finite State Machine</h5>
-<!--l. 695--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few modeling
-elements listed in table <a
-href="#x41-1090017">7.7<!--tex4ht:ref: tab:hier_fsm_notation --></a> are added to the set listed above.
-</p>
-<div class="table">
-
-
-<!--l. 699--><p class="noindent" ><a
- id="x41-1090017"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;7.7: </span><span
-class="content">Additional notation elements of hierarchical finite state machines</span></div><!--tex4ht:label?: x41-1090017 -->
-<div class="tabular"> <table id="TBL-13" class="tabular"
-cellspacing="0" cellpadding="0" rules="groups"
-><colgroup id="TBL-13-1g"><col
-id="TBL-13-1" /></colgroup><colgroup id="TBL-13-2g"><col
-id="TBL-13-2" /></colgroup><colgroup id="TBL-13-3g"><col
-id="TBL-13-3" /></colgroup><tr
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-1-1"
-class="td11"> <!--l. 703--><p class="noindent" ><span
-class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-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-13-1-3"
-class="td11"> <!--l. 703--><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-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-1"
-class="td11"> <!--l. 705--><p class="noindent" >State with sub state
- machine </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-2-2"
-class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-14-1g"><col
-id="TBL-14-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-1-1"
-class="td00">Parent State</td></tr><tr
- style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-2-1"
-class="td00"> <img
-src="images/040-StateWithSubFSM.jpg" alt="PIC"
- /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-3"
-class="td11"> <div class="tabular"> <table id="TBL-15" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-15-1g"><col
-id="TBL-15-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-1-1"
-class="td11">Sub state machine </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-2-1"
-class="td11"><!--l. 710--> <!--l. 710--><p class="noindent" ><div class="lstlisting" id="listing-30"><span class="label"><a
- id="x41-109002r1"></a></span><span
-class="ec-lmssbx-10x-x-90">State</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Running</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="x41-109003r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">subgraph</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="x41-109004r3"></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">Transition</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">init</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmssbx-10x-x-90">initial</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">Process</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="x41-109005r4"></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">State</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">Process</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x41-109006r5"></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="x41-109007r6"></a></span><span
-class="ec-lmtt-9">}</span>
- </p> </div></td>
-</tr></table></div>
- <!--l. 722--><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-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-1"
-class="td11"> <!--l. 723--><p class="noindent" >Entry Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-3-2"
-class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-16-1g"><col
-id="TBL-16-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-1-1"
-class="td00">In sub state machine</td></tr><tr
- style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-2-1"
-class="td00"> <img
-src="images/040-EntryPoint.jpg" alt="PIC"
- /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-3"
-class="td11"> <!--l. 726-->
- <div class="lstlisting" id="listing-31"><span class="label"><a
- id="x41-109008r1"></a></span><span
-class="ec-lmssbx-10x-x-90">EntryPoint</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">reInit</span>
-
-</div>
-<!--l. 730--><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-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-1"
-class="td11"> <!--l. 731--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
-class="td11"> <img
-src="images/040-ExitPoint.jpg" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-3"
-class="td11"> <!--l. 733-->
- <div class="lstlisting" id="listing-32"><span class="label"><a
- id="x41-109009r1"></a></span><span
-class="ec-lmssbx-10x-x-90">ExitPoint</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">tp0</span>
-
-</div>
-<!--l. 736--><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-13-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-5-1"
-class="td11"> </td></tr></table>
-</div>
-
-
-</div><hr class="endfloat" />
-</div>
-<h4 class="subsectionHead"><span class="titlemark">7.6.4 </span> <a
- id="x41-1100007.6.4"></a>Examples</h4>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x41-1100011"></a>
-
-
-<!--l. 743--><p class="noindent" ><img
-src="images/040-FlatFSM.jpg" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;7.1: </span><span
-class="content">Example of a flat finite state machine</span></div><!--tex4ht:label?: x41-1100011 -->
-
-
-</div><hr class="endfigure" />
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x41-1100022"></a>
-
-
-<!--l. 748--><p class="noindent" ><img
-src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;7.2: </span><span
-class="content">Example of a hierarchical finite state machine &#8211; top level</span></div><!--tex4ht:label?: x41-1100022 -->
-
-
-</div><hr class="endfigure" />
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x41-1100033"></a>
-
-
-<!--l. 753--><p class="noindent" ><img
-src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;7.3: </span><span
-class="content">Hierarchical finite state machine &#8211; sub state machine of <span
-class="ec-lmsso-10">Initializing</span></span></div><!--tex4ht:label?: x41-1100033 -->
-
-
-</div><hr class="endfigure" />
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x41-1100044"></a>
-
-
-<!--l. 758--><p class="noindent" ><img
-src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;7.4: </span><span
-class="content">Hierarchical finite state machine &#8211; sub state machine of <span
-class="ec-lmsso-10">Running</span></span></div><!--tex4ht:label?: x41-1100044 -->
-
-
-</div><hr class="endfigure" />
-
-
-<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch8.html" >next</a>] [<a
-href="etrice-docse31.html" >prev</a>] [<a
-href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
-href="etrice-docse32.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
-<!--l. 72--><p class="noindent" ><a
- id="tailetrice-docse32.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Finite State Machines</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 606--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch8.html" >next</a>] [<a
+href="etrice-docse31.html" >prev</a>] [<a
+href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
+href="#tailetrice-docse32.html">tail</a>] [<a
+href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.6 </span> <a
+ id="x41-1040007.6"></a>Finite State Machines</h3>
+<!--l. 608--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.1 </span> <a
+ id="x41-1050007.6.1"></a>Description</h4>
+<!--l. 610--><p class="noindent" >Definition from <a
+href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
+</p><!--l. 612--><p class="noindent" >
+ </p><div class="quote">
+ <!--l. 613--><p class="noindent" >A finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a
+ state machine, is a mathematical model used to design computer programs and digital logic
+ circuits. It is conceived as an abstract machine that can be in one of a finite number of
+ states. The machine is in only one state at a time; the state it is in at any given time
+ is called the current state. It can change from one state to another when initiated by a
+ triggering event or condition, this is called a transition. A particular FSM is defined by a
+ list of the possible states it can transition to from each state, and the triggering condition
+ for each transition.
+ </p><!--l. 621--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events
+ occurring at the end ports of an actor will be forwarded to and processed by the state
+ machine. Events possibly trigger state transitions.</p></div>
+<!--l. 626--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.2 </span> <a
+ id="x41-1060007.6.2"></a>Motivation</h4>
+<!--l. 628--><p class="noindent" >For event driven systems a finite state machine is ideal for processing the stream of events. Typically during
+processing new events are produced which are sent to peer actors.
+</p><!--l. 631--><p class="noindent" >We distinguish flat and hierarchical state machines.
+</p><!--l. 633--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.3 </span> <a
+ id="x41-1070007.6.3"></a>Notation</h4>
+<!--l. 635--><p class="noindent" >We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones.
+
+
+</p><!--l. 637--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x41-1080007.6.3"></a>Flat Finite State Machine</h5>
+<!--l. 639--><p class="noindent" >The simpler flat finite state machines are composed of the elements shown in table <a
+href="#x41-1080016">7.6<!--tex4ht:ref: tab:flat_fsm_notation --></a>.
+</p>
+<div class="table">
+
+
+<!--l. 642--><p class="noindent" ><a
+ id="x41-1080016"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.6: </span><span
+class="content">Flat finite state machine notation</span></div><!--tex4ht:label?: x41-1080016 -->
+<div class="tabular"> <table id="TBL-12" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-12-1g"><col
+id="TBL-12-1" /></colgroup><colgroup id="TBL-12-2g"><col
+id="TBL-12-2" /></colgroup><colgroup id="TBL-12-3g"><col
+id="TBL-12-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-1-1"
+class="td11"> <!--l. 646--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-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-12-1-3"
+class="td11"> <!--l. 646--><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-12-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-1"
+class="td11"> <!--l. 648--><p class="noindent" >State </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-2"
+class="td11"> <img
+src="images/040-State.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-3"
+class="td11"> <!--l. 649-->
+ <div class="lstlisting" id="listing-25"><span class="label"><a
+ id="x41-108002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SomeState</span>
+
+</div>
+<!--l. 654--><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-12-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-1"
+class="td11"> <!--l. 655--><p class="noindent" >InitialPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-3-2"
+class="td11"> <img
+src="images/040-InitialPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-3"
+class="td11"> <!--l. 655--><p class="noindent" ><span
+class="ec-lmsso-10">implicit</span> </p></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-1"
+class="td11"> <!--l. 657--><p class="noindent" >TransitionPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-4-2"
+class="td11"> <img
+src="images/040-TransitionPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-3"
+class="td11"> <!--l. 658-->
+ <div class="lstlisting" id="listing-26"><span class="label"><a
+ id="x41-108003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">TransitionPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tp</span>
+
+</div>
+<!--l. 663--><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-12-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-1"
+class="td11"> <!--l. 664--><p class="noindent" >ChoicePoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-5-2"
+class="td11"> <img
+src="images/040-ChoicePoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-3"
+class="td11"> <!--l. 665-->
+ <div class="lstlisting" id="listing-27"><span class="label"><a
+ id="x41-108004r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ChoicePoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">cp</span>
+
+</div>
+<!--l. 670--><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-12-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-1"
+class="td11"> <!--l. 671--><p class="noindent" >Initial Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-6-2"
+class="td11"> <img
+src="images/040-InitialTransition.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-3"
+class="td11"> <!--l. 672-->
+ <div class="lstlisting" id="listing-28"><span class="label"><a
+ id="x41-108005r1"></a></span><span
+class="ec-lmssbx-10x-x-90">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">init</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">Initial</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">}</span>
+
+</div>
+<!--l. 677--><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-12-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-1"
+class="td11"> <!--l. 678--><p class="noindent" >Triggered Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-7-2"
+class="td11"> <img
+src="images/040-TriggeredTransition.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-3"
+class="td11"> <!--l. 679-->
+ <div class="lstlisting" id="listing-29"><span class="label"><a
+ id="x41-108006r1"></a></span><span
+class="ec-lmssbx-10x-x-90">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tr0</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">DoingThis</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="x41-108007r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">triggers</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="x41-108008r3"></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">&#x003C;</span><span
+class="ec-lmtt-9">doThis</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">fct</span><span
+class="ec-lmtt-9">&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x41-108009r4"></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="x41-108010r5"></a></span><span
+class="ec-lmtt-9">}</span>
+
+</div>
+<!--l. 688--><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-12-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-8-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h5 class="subsubsectionHead"><a
+ id="x41-1090007.6.3"></a>Hierarchical Finite State Machine</h5>
+<!--l. 695--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few modeling
+elements listed in table <a
+href="#x41-1090017">7.7<!--tex4ht:ref: tab:hier_fsm_notation --></a> are added to the set listed above.
+</p>
+<div class="table">
+
+
+<!--l. 699--><p class="noindent" ><a
+ id="x41-1090017"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.7: </span><span
+class="content">Additional notation elements of hierarchical finite state machines</span></div><!--tex4ht:label?: x41-1090017 -->
+<div class="tabular"> <table id="TBL-13" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-13-1g"><col
+id="TBL-13-1" /></colgroup><colgroup id="TBL-13-2g"><col
+id="TBL-13-2" /></colgroup><colgroup id="TBL-13-3g"><col
+id="TBL-13-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-1-1"
+class="td11"> <!--l. 703--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-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-13-1-3"
+class="td11"> <!--l. 703--><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-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-1"
+class="td11"> <!--l. 705--><p class="noindent" >State with sub state
+ machine </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-2-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-14-1g"><col
+id="TBL-14-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-1-1"
+class="td00">Parent State</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-2-1"
+class="td00"> <img
+src="images/040-StateWithSubFSM.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-3"
+class="td11"> <div class="tabular"> <table id="TBL-15" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-15-1g"><col
+id="TBL-15-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-1-1"
+class="td11">Sub state machine </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-2-1"
+class="td11"><!--l. 710--> <!--l. 710--><p class="noindent" ><div class="lstlisting" id="listing-30"><span class="label"><a
+ id="x41-109002r1"></a></span><span
+class="ec-lmssbx-10x-x-90">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Running</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="x41-109003r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">subgraph</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="x41-109004r3"></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">Transition</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">init</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">initial</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">Process</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="x41-109005r4"></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">State</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Process</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x41-109006r5"></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="x41-109007r6"></a></span><span
+class="ec-lmtt-9">}</span>
+ </p> </div></td>
+</tr></table></div>
+ <!--l. 722--><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-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-1"
+class="td11"> <!--l. 723--><p class="noindent" >Entry Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-3-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-16-1g"><col
+id="TBL-16-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-1-1"
+class="td00">In sub state machine</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-2-1"
+class="td00"> <img
+src="images/040-EntryPoint.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-3"
+class="td11"> <!--l. 726-->
+ <div class="lstlisting" id="listing-31"><span class="label"><a
+ id="x41-109008r1"></a></span><span
+class="ec-lmssbx-10x-x-90">EntryPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">reInit</span>
+
+</div>
+<!--l. 730--><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-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-1"
+class="td11"> <!--l. 731--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
+class="td11"> <img
+src="images/040-ExitPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-3"
+class="td11"> <!--l. 733-->
+ <div class="lstlisting" id="listing-32"><span class="label"><a
+ id="x41-109009r1"></a></span><span
+class="ec-lmssbx-10x-x-90">ExitPoint</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">tp0</span>
+
+</div>
+<!--l. 736--><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-13-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-5-1"
+class="td11"> </td></tr></table>
+</div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h4 class="subsectionHead"><span class="titlemark">7.6.4 </span> <a
+ id="x41-1100007.6.4"></a>Examples</h4>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100011"></a>
+
+
+<!--l. 743--><p class="noindent" ><img
+src="images/040-FlatFSM.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.1: </span><span
+class="content">Example of a flat finite state machine</span></div><!--tex4ht:label?: x41-1100011 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100022"></a>
+
+
+<!--l. 748--><p class="noindent" ><img
+src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.2: </span><span
+class="content">Example of a hierarchical finite state machine &#8211; top level</span></div><!--tex4ht:label?: x41-1100022 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100033"></a>
+
+
+<!--l. 753--><p class="noindent" ><img
+src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.3: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Initializing</span></span></div><!--tex4ht:label?: x41-1100033 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100044"></a>
+
+
+<!--l. 758--><p class="noindent" ><img
+src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.4: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Running</span></span></div><!--tex4ht:label?: x41-1100044 -->
+
+
+</div><hr class="endfigure" />
+
+
+<!--l. 72--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch8.html" >next</a>] [<a
+href="etrice-docse31.html" >prev</a>] [<a
+href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
+href="etrice-docse32.html" >front</a>] [<a
+href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
+<!--l. 72--><p class="noindent" ><a
+ id="tailetrice-docse32.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
index cc6b3d8df..3ec701c5e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
@@ -1,367 +1,367 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Automatic Diagram Layout with KIELER</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse34.html" >next</a>] [<a
-href="etrice-docch8.html" >prev</a>] [<a
-href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
-href="#tailetrice-docse33.html">tail</a>] [<a
-href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
- id="x43-1120008.1"></a>Automatic Diagram Layout with KIELER</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.1.1 </span> <a
- id="x43-1130008.1.1"></a>Overview</h4>
-<!--l. 5--><p class="noindent" >eTrice now provides a new feature of automatic layout of the ROOM diagrams in its graphical editors. This
-helps in improving the pragmatics of the diagrams and frees the user from the burden of manually lay-outing
-the diagrams on the canvas.
-</p><!--l. 9--><p class="noindent" >The automatic lay-outing has been provided with the help of the well known KIELER framework, which
-focuses on the pragmatics of model-based system design, which can improve comprehensibility
-of diagrams, improve development and maintenance time, and improve the analysis of dynamic
-behavior.
-</p><!--l. 13--><p class="noindent" >This chapter will answer the following questions </p>
- <ul class="itemize1">
- <li class="itemize"><a
-href="#x43-1140008.1.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
- </li>
- <li class="itemize"><a
-href="#x43-1150008.1.3">&#8221;What are layout options?&#8221;</a>
- </li>
- <li class="itemize"><a
-href="#x43-1160008.1.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
-<!--l. 21--><p class="noindent" >Moreover, some <a
-href="#x43-1210008.1.5">&#8221;special layout options&#8221;</a> will also be discussed.
-
-
-</p><!--l. 23--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.1.2 </span> <a
- id="x43-1140008.1.2"></a>Performing Automatic Layout</h4>
-<!--l. 26--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
-diagram.
-</p><!--l. 29--><p class="noindent" >This command is available in
-</p>
- <ul class="itemize1">
- <li class="itemize">The context menu of the diagrams
- </li>
- <li class="itemize">Using the <span
-class="ec-lmsso-10">Ctrl+R L </span>shortcut.</li></ul>
-<!--l. 36--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
-</p><!--l. 38--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.1.3 </span> <a
- id="x43-1150008.1.3"></a>Layout Options</h4>
-<!--l. 41--><p class="noindent" >A layout option is a customization point for the layout algorithms, with a specific data type and optionally a
-default value, used to affect how the active layout algorithm computes concrete coordinates for the graph
-elements.
-</p><!--l. 45--><p class="noindent" >User-configurable layout options for a particular diagram object can be viewed and configured through the
-Layout View.The Layout View can be opened from the context menu of a selected diagram object by clicking
-the <span
-class="ec-lmsso-10">Show Layout View </span>entry.
-</p><!--l. 49--><p class="noindent" >On opening the layout view, and selecting any layout option, a description of the layout option is available in
-the footer of eclipse SDK. This is shown in figure <a
-href="#x43-1150011">8.1<!--tex4ht:ref: fig:layout_options --></a>.
-</p>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x43-1150011"></a>
-
-
-
-<!--l. 53--><p class="noindent" ><img
-src="images/043-LayoutOptionDescription.png" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;8.1: </span><span
-class="content">Layout options</span></div><!--tex4ht:label?: x43-1150011 -->
-
-
-</div><hr class="endfigure" />
-<h4 class="subsectionHead"><span class="titlemark">8.1.4 </span> <a
- id="x43-1160008.1.4"></a>Configuring Layout Options</h4>
-<!--l. 61--><p class="noindent" >The values of the layout options for a particular diagram object (in the visible diagram) can be changed using
-the Layout View of that diagram object. The initial values are the predefined <span
-class="ec-lmsso-10">default </span>values. These defaults
-can be changed using the context menu in Layout View as well as the Layout preference pages provided by
-eTrice.
-</p><!--l. 66--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x43-1170008.1.4"></a>The Layout View</h5>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x43-1170012"></a>
-
-
-
-<!--l. 70--><p class="noindent" ><img
-src="images/043-LayoutView.png" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;8.2: </span><span
-class="content">Layout view</span></div><!--tex4ht:label?: x43-1170012 -->
-
-
-</div><hr class="endfigure" />
-<!--l. 75--><p class="noindent" >The Layout view (figure <a
-href="#x43-1170012">8.2<!--tex4ht:ref: fig:layout_view --></a>) allows flexible customization of layout options for the selected objects in the
-eTrice diagram. If no object is selected, the view shows the options for the top-level container of the diagram.
-Options are stored persistently in diagram file (<span
-class="ec-lmsso-10">.structure file / </span>.behavior file) of the eTrice diagram, so that
-they are still available after the next Eclipse restart. Of course this requires the diagram to be saved after an
-option was changed.
-</p><!--l. 81--><p class="noindent" >The options are grouped according to the function of the selected objects. The group Nodes (respectively
-Edges, Ports, or Labels) contains options related to the object itself, such as its size or priority, while the group
-Parents contains options for the elements contained in the selected objects, such as the applied layout
-algorithm or the spacing between elements. Which layout options are displayed depends on the types of
-selected objects and the active layout algorithm, since each algorithm supports only a subset of the
-available options. Furthermore, some options are only visible if the <span
-class="ec-lmsso-10">Show Advanced Properties</span>
-button in the view toolbar is activated. The group types can be hidden using the Show Categories
-button.
-</p><!--l. 90--><p class="noindent" >An option can be changed by selecting or entering a new value in the corresponding cell of the Value
-column.
-</p><!--l. 92--><p class="noindent" >The most important option is Layout Algorithm, which is used to determine the layout algorithm for the
-contents of the selected element. Here either a specific layout algorithm or a layout type can be chosen; in the
-latter case, the most suitable layout algorithm of the given type is taken. By changing the active layout
-algorithm, the content of the layout view is updated to display only those options that are supported by the
-new layout algorithm.
-</p><!--l. 98--><p class="noindent" >Selecting <span
-class="ec-lmsso-10">Restore Default Value </span>in the context menu or the view toolbar (figure <a
-href="#x43-1170023">8.3<!--tex4ht:ref: fig:layout_context_menu --></a>) removes any value for the
-currently selected option that is stored in the current model file, thus resetting the option to its default value.
-The view menu has an entry Remove all Layout Options which resets all options of the current model by
-removing persistent data in the model file.
-</p>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x43-1170023"></a>
-
-
-
-<!--l. 105--><p class="noindent" ><img
-src="images/043-ContextMenu.png" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;8.3: </span><span
-class="content">Layout in context menu</span></div><!--tex4ht:label?: x43-1170023 -->
-
-
-</div><hr class="endfigure" />
-<!--l. 110--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
-<span
-class="ec-lmsso-10">default </span>value:
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">Set as Default for this Diagram</span>: Changes the open diagram file so that the same value is applied
- to all similar objects (edit parts) of that diagram.
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Set as Default for ... in this Context</span>: Applies the value to all similar objects that are displayed with
- the any of the eTrice editors (the option is linked to the edit part class of the selected object).
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Set as Default for all ...</span>: Links the option value with the domain model element or the diagram
- type of the selected object (see the context menu depicted above).</li></ul>
-<!--l. 125--><p class="noindent" >These four alternatives have different priorities: if present, the default value for the current diagram is taken
-first, then the default value for the edit part is checked, then the default value for the domain model element,
-and then the default value for the diagram type.
-</p><!--l. 129--><p class="noindent" >Tips: </p>
- <ul class="itemize1">
- <li class="itemize">The information button of the view toolbar can be used to display some useful details on the
- current selection, such as the edit part and domain model classes.
- </li>
- <li class="itemize">Default values for layout options can most easily be manipulated based on the eTrice domain
- model elements.</li></ul>
-<h5 class="subsubsectionHead"><a
- id="x43-1180008.1.4"></a>Preference Page</h5>
-<!--l. 140--><p class="noindent" >The user-defined <span
-class="ec-lmsso-10">default </span>values for layout options can also be set using the preference pages provided in
-eTrice. Three preference pages have been provided for this purpose </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">Layout</span>: for general preferences regarding layout
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
-<!--l. 148--><p class="noindent" >These preference pages can be accessed via <span
-class="ec-lmsso-10">Windows &#x003E; Preferences &#x003E; </span><span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">&#x003E; Layout</span>.
-</p><!--l. 150--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
-class="ec-lmsso-10">KIELER &#x003E; Layout </span>preference page
-provided by the KIELER. Relevant entries in the <span
-class="ec-lmsso-10">KIELER &#x003E; Layout </span>page are shown in the above preference
-pages.
-</p>
-<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
- id="x43-1190008.1.4"></a><span
-class="ec-lmssbo-10">Layout </span><span
-class="ec-lmssbx-10">Preference Page</span></span>
-<br
-class="newline" />
-
-
-</p><!--l. 156--><p class="noindent" >The <span
-class="ec-lmsso-10">Layout </span>preference page is meant to configure general options regarding the layout.
-</p><!--l. 158--><p class="noindent" >If <span
-class="ec-lmsso-10">Set routing style of all edges to oblique </span>is active, all routing styles and smoothness settings of edges are
-removed when automatic layout is performed. Since most layouters compute the routing of edges as part of
-their algorithm, these styles usually do not yield the expected results.
-</p>
-<!--l. 162--><p class="noindent" ><span class="paragraphHead"><a
- id="x43-1200008.1.4"></a><span
-class="ec-lmssbo-10">Behavior </span><span
-class="ec-lmssbx-10">and </span><span
-class="ec-lmssbo-10">Structure </span><span
-class="ec-lmssbx-10">Preference Page</span></span>
-<br
-class="newline" />
-</p><!--l. 165--><p class="noindent" >The <span
-class="ec-lmsso-10">Behavior </span>and <span
-class="ec-lmsso-10">Structure </span>sub-preference pages help in setting up the default values of layout options in
-behavior and structure diagrams respectively.
-</p><!--l. 168--><p class="noindent" >The <span
-class="ec-lmsso-10">Default Layout Option Values </span>table is used to manage the default setting for layout options, which can
-also be modified with the context menu of the layout view (see above). All user-defined settings
-are displayed here, and the buttons on the right of the table serve to create, edit, and remove
-entries. The Type column shows the type of element the option is linked with: either edit part,
-model element, or diagram type. The Element column shows the class name for options that relate
-to edit parts or domain model elements, and the diagram type name for options that relate to
-diagram types. Option is the name of the layout option, and Value is the currently set value of the
-option.
-</p><!--l. 176--><p class="noindent" >Creating a new entry requires the selection of the type of related element (figure <a
-href="#x43-1200014">8.4<!--tex4ht:ref: fig_layout_preference_page --></a>) and entering its class
-name or identifier. Class names of edit parts can be explored using the information button of the layout view,
-while the class names for the domain model elements and the diagram type identifiers for the diagram types
-can be selected with the Browse button. After that, a layout option has to be selected from the list using the
-corresponding Browse button. Hitting OK creates an entry, and its value can then be set using the Edit
-button.
-</p>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x43-1200014"></a><a
- id="x44-12600048"></a>
-
-
-
-<!--l. 185--><p class="noindent" ><img
-src="images/043-PreferencePage.png" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;8.4: </span><span
-class="content">Layout preference page</span></div><!--tex4ht:label?: x43-1200014 -->
-
-
-</div><hr class="endfigure" />
-<!--l. 190--><p class="noindent" >Note that the <span
-class="ec-lmsso-10">Behavior </span>preference page will show only those entries which hold for the behavior diagrams.
-Moreover, it will allow setting default values of layout options for only those domain model elements and
-diagram types which could be present in the behavior editor diagrams. Similar thing holds for the <span
-class="ec-lmsso-10">Structure</span>
-preference page.
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.1.5 </span> <a
- id="x43-1210008.1.5"></a>Special Layout Options</h4>
-<!--l. 198--><p class="noindent" >While most layout options are used to affect how the active layout algorithm computes concrete coordinates
-for the graph elements, there are some layout options that have a special role.
-</p><!--l. 201--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x43-1220008.1.5"></a>Layout Algorithm</h5>
-<!--l. 203--><p class="noindent" >The option with identifier de.cau.cs.kieler.algorithm specifies which layout algorithm to use for the
-content of a composite node. The value can be either the identifier of a layout algorithm or the
-identifier of a layout type. In the latter case the algorithm with highest priority of that type is
-applied.
-</p><!--l. 207--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
-class="ec-lmsso-10">Layered </span>algorithms which are meant for
-lay-outing hierarchical diagrams and are best suited for behavior and structure diagrams in eTrice. For the
-behavior diagrams we have used the <span
-class="ec-lmsso-10">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
-the <span
-class="ec-lmsso-10">KLay Layered </span>algorithm. Though the layout algorithm being used for performing layout can be changed at
-ones own will, it is recommended to use the defaults.
-</p><!--l. 213--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x43-1230008.1.5"></a>Diagram Type</h5>
-<!--l. 215--><p class="noindent" >Diagram types are used to classify graphical diagrams for setting default layout option values for
-a set of similar diagrams. The diagram type of an element is specified with the layout option
-<span
-class="ec-lmtt-10">de.cau.cs.kieler.diagramType</span>. Thus, these help in
-</p><!--l. 219--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">General </span>- This type is automatically assigned to all diagrams for which no specific type is declared.
- (Predefined in KIELER)
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice Behavior
- Diagrams.
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice Structure
- Diagrams.</li></ul>
-<!--l. 228--><p class="noindent" >Note that not all diagrams objects in the behavior and structure diagrams are assigned the last two diagram
-types. Only the top-level container and the visible bounding box has been assigned these diagram types in
-respective editors.
-
-
-</p><!--l. 232--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.1.6 </span> <a
- id="x43-1240008.1.6"></a>Further References</h4>
-<!--l. 234--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML wiki"
-(<a
-href="http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078" class="url" ><span
-class="ec-lmtt-10">http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078</span></a> and
-have been modified for automatic layout in eTrice. A more detailed description about the layout algorithms,
-predefined diagram types and the internal structure of KIELER Infrastructure for Meta-Layout (KIML) can be
-found there.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse34.html" >next</a>] [<a
-href="etrice-docch8.html" >prev</a>] [<a
-href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
-href="etrice-docse33.html" >front</a>] [<a
-href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse33.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Automatic Diagram Layout with KIELER</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse34.html" >next</a>] [<a
+href="etrice-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
+href="#tailetrice-docse33.html">tail</a>] [<a
+href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
+ id="x43-1120008.1"></a>Automatic Diagram Layout with KIELER</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.1 </span> <a
+ id="x43-1130008.1.1"></a>Overview</h4>
+<!--l. 5--><p class="noindent" >eTrice now provides a new feature of automatic layout of the ROOM diagrams in its graphical editors. This
+helps in improving the pragmatics of the diagrams and frees the user from the burden of manually lay-outing
+the diagrams on the canvas.
+</p><!--l. 9--><p class="noindent" >The automatic lay-outing has been provided with the help of the well known KIELER framework, which
+focuses on the pragmatics of model-based system design, which can improve comprehensibility
+of diagrams, improve development and maintenance time, and improve the analysis of dynamic
+behavior.
+</p><!--l. 13--><p class="noindent" >This chapter will answer the following questions </p>
+ <ul class="itemize1">
+ <li class="itemize"><a
+href="#x43-1140008.1.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x43-1150008.1.3">&#8221;What are layout options?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x43-1160008.1.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
+<!--l. 21--><p class="noindent" >Moreover, some <a
+href="#x43-1210008.1.5">&#8221;special layout options&#8221;</a> will also be discussed.
+
+
+</p><!--l. 23--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.2 </span> <a
+ id="x43-1140008.1.2"></a>Performing Automatic Layout</h4>
+<!--l. 26--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
+diagram.
+</p><!--l. 29--><p class="noindent" >This command is available in
+</p>
+ <ul class="itemize1">
+ <li class="itemize">The context menu of the diagrams
+ </li>
+ <li class="itemize">Using the <span
+class="ec-lmsso-10">Ctrl+R L </span>shortcut.</li></ul>
+<!--l. 36--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
+</p><!--l. 38--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.3 </span> <a
+ id="x43-1150008.1.3"></a>Layout Options</h4>
+<!--l. 41--><p class="noindent" >A layout option is a customization point for the layout algorithms, with a specific data type and optionally a
+default value, used to affect how the active layout algorithm computes concrete coordinates for the graph
+elements.
+</p><!--l. 45--><p class="noindent" >User-configurable layout options for a particular diagram object can be viewed and configured through the
+Layout View.The Layout View can be opened from the context menu of a selected diagram object by clicking
+the <span
+class="ec-lmsso-10">Show Layout View </span>entry.
+</p><!--l. 49--><p class="noindent" >On opening the layout view, and selecting any layout option, a description of the layout option is available in
+the footer of eclipse SDK. This is shown in figure <a
+href="#x43-1150011">8.1<!--tex4ht:ref: fig:layout_options --></a>.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1150011"></a>
+
+
+
+<!--l. 53--><p class="noindent" ><img
+src="images/043-LayoutOptionDescription.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.1: </span><span
+class="content">Layout options</span></div><!--tex4ht:label?: x43-1150011 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.1.4 </span> <a
+ id="x43-1160008.1.4"></a>Configuring Layout Options</h4>
+<!--l. 61--><p class="noindent" >The values of the layout options for a particular diagram object (in the visible diagram) can be changed using
+the Layout View of that diagram object. The initial values are the predefined <span
+class="ec-lmsso-10">default </span>values. These defaults
+can be changed using the context menu in Layout View as well as the Layout preference pages provided by
+eTrice.
+</p><!--l. 66--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1170008.1.4"></a>The Layout View</h5>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1170012"></a>
+
+
+
+<!--l. 70--><p class="noindent" ><img
+src="images/043-LayoutView.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.2: </span><span
+class="content">Layout view</span></div><!--tex4ht:label?: x43-1170012 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 75--><p class="noindent" >The Layout view (figure <a
+href="#x43-1170012">8.2<!--tex4ht:ref: fig:layout_view --></a>) allows flexible customization of layout options for the selected objects in the
+eTrice diagram. If no object is selected, the view shows the options for the top-level container of the diagram.
+Options are stored persistently in diagram file (<span
+class="ec-lmsso-10">.structure file / </span>.behavior file) of the eTrice diagram, so that
+they are still available after the next Eclipse restart. Of course this requires the diagram to be saved after an
+option was changed.
+</p><!--l. 81--><p class="noindent" >The options are grouped according to the function of the selected objects. The group Nodes (respectively
+Edges, Ports, or Labels) contains options related to the object itself, such as its size or priority, while the group
+Parents contains options for the elements contained in the selected objects, such as the applied layout
+algorithm or the spacing between elements. Which layout options are displayed depends on the types of
+selected objects and the active layout algorithm, since each algorithm supports only a subset of the
+available options. Furthermore, some options are only visible if the <span
+class="ec-lmsso-10">Show Advanced Properties</span>
+button in the view toolbar is activated. The group types can be hidden using the Show Categories
+button.
+</p><!--l. 90--><p class="noindent" >An option can be changed by selecting or entering a new value in the corresponding cell of the Value
+column.
+</p><!--l. 92--><p class="noindent" >The most important option is Layout Algorithm, which is used to determine the layout algorithm for the
+contents of the selected element. Here either a specific layout algorithm or a layout type can be chosen; in the
+latter case, the most suitable layout algorithm of the given type is taken. By changing the active layout
+algorithm, the content of the layout view is updated to display only those options that are supported by the
+new layout algorithm.
+</p><!--l. 98--><p class="noindent" >Selecting <span
+class="ec-lmsso-10">Restore Default Value </span>in the context menu or the view toolbar (figure <a
+href="#x43-1170023">8.3<!--tex4ht:ref: fig:layout_context_menu --></a>) removes any value for the
+currently selected option that is stored in the current model file, thus resetting the option to its default value.
+The view menu has an entry Remove all Layout Options which resets all options of the current model by
+removing persistent data in the model file.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1170023"></a>
+
+
+
+<!--l. 105--><p class="noindent" ><img
+src="images/043-ContextMenu.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.3: </span><span
+class="content">Layout in context menu</span></div><!--tex4ht:label?: x43-1170023 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 110--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
+<span
+class="ec-lmsso-10">default </span>value:
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for this Diagram</span>: Changes the open diagram file so that the same value is applied
+ to all similar objects (edit parts) of that diagram.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for ... in this Context</span>: Applies the value to all similar objects that are displayed with
+ the any of the eTrice editors (the option is linked to the edit part class of the selected object).
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for all ...</span>: Links the option value with the domain model element or the diagram
+ type of the selected object (see the context menu depicted above).</li></ul>
+<!--l. 125--><p class="noindent" >These four alternatives have different priorities: if present, the default value for the current diagram is taken
+first, then the default value for the edit part is checked, then the default value for the domain model element,
+and then the default value for the diagram type.
+</p><!--l. 129--><p class="noindent" >Tips: </p>
+ <ul class="itemize1">
+ <li class="itemize">The information button of the view toolbar can be used to display some useful details on the
+ current selection, such as the edit part and domain model classes.
+ </li>
+ <li class="itemize">Default values for layout options can most easily be manipulated based on the eTrice domain
+ model elements.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x43-1180008.1.4"></a>Preference Page</h5>
+<!--l. 140--><p class="noindent" >The user-defined <span
+class="ec-lmsso-10">default </span>values for layout options can also be set using the preference pages provided in
+eTrice. Three preference pages have been provided for this purpose </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Layout</span>: for general preferences regarding layout
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
+<!--l. 148--><p class="noindent" >These preference pages can be accessed via <span
+class="ec-lmsso-10">Windows &#x003E; Preferences &#x003E; </span><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">&#x003E; Layout</span>.
+</p><!--l. 150--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>preference page
+provided by the KIELER. Relevant entries in the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>page are shown in the above preference
+pages.
+</p>
+<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
+ id="x43-1190008.1.4"></a><span
+class="ec-lmssbo-10">Layout </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+
+
+</p><!--l. 156--><p class="noindent" >The <span
+class="ec-lmsso-10">Layout </span>preference page is meant to configure general options regarding the layout.
+</p><!--l. 158--><p class="noindent" >If <span
+class="ec-lmsso-10">Set routing style of all edges to oblique </span>is active, all routing styles and smoothness settings of edges are
+removed when automatic layout is performed. Since most layouters compute the routing of edges as part of
+their algorithm, these styles usually do not yield the expected results.
+</p>
+<!--l. 162--><p class="noindent" ><span class="paragraphHead"><a
+ id="x43-1200008.1.4"></a><span
+class="ec-lmssbo-10">Behavior </span><span
+class="ec-lmssbx-10">and </span><span
+class="ec-lmssbo-10">Structure </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+</p><!--l. 165--><p class="noindent" >The <span
+class="ec-lmsso-10">Behavior </span>and <span
+class="ec-lmsso-10">Structure </span>sub-preference pages help in setting up the default values of layout options in
+behavior and structure diagrams respectively.
+</p><!--l. 168--><p class="noindent" >The <span
+class="ec-lmsso-10">Default Layout Option Values </span>table is used to manage the default setting for layout options, which can
+also be modified with the context menu of the layout view (see above). All user-defined settings
+are displayed here, and the buttons on the right of the table serve to create, edit, and remove
+entries. The Type column shows the type of element the option is linked with: either edit part,
+model element, or diagram type. The Element column shows the class name for options that relate
+to edit parts or domain model elements, and the diagram type name for options that relate to
+diagram types. Option is the name of the layout option, and Value is the currently set value of the
+option.
+</p><!--l. 176--><p class="noindent" >Creating a new entry requires the selection of the type of related element (figure <a
+href="#x43-1200014">8.4<!--tex4ht:ref: fig_layout_preference_page --></a>) and entering its class
+name or identifier. Class names of edit parts can be explored using the information button of the layout view,
+while the class names for the domain model elements and the diagram type identifiers for the diagram types
+can be selected with the Browse button. After that, a layout option has to be selected from the list using the
+corresponding Browse button. Hitting OK creates an entry, and its value can then be set using the Edit
+button.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1200014"></a><a
+ id="x44-12600048"></a>
+
+
+
+<!--l. 185--><p class="noindent" ><img
+src="images/043-PreferencePage.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.4: </span><span
+class="content">Layout preference page</span></div><!--tex4ht:label?: x43-1200014 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 190--><p class="noindent" >Note that the <span
+class="ec-lmsso-10">Behavior </span>preference page will show only those entries which hold for the behavior diagrams.
+Moreover, it will allow setting default values of layout options for only those domain model elements and
+diagram types which could be present in the behavior editor diagrams. Similar thing holds for the <span
+class="ec-lmsso-10">Structure</span>
+preference page.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.5 </span> <a
+ id="x43-1210008.1.5"></a>Special Layout Options</h4>
+<!--l. 198--><p class="noindent" >While most layout options are used to affect how the active layout algorithm computes concrete coordinates
+for the graph elements, there are some layout options that have a special role.
+</p><!--l. 201--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1220008.1.5"></a>Layout Algorithm</h5>
+<!--l. 203--><p class="noindent" >The option with identifier de.cau.cs.kieler.algorithm specifies which layout algorithm to use for the
+content of a composite node. The value can be either the identifier of a layout algorithm or the
+identifier of a layout type. In the latter case the algorithm with highest priority of that type is
+applied.
+</p><!--l. 207--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
+class="ec-lmsso-10">Layered </span>algorithms which are meant for
+lay-outing hierarchical diagrams and are best suited for behavior and structure diagrams in eTrice. For the
+behavior diagrams we have used the <span
+class="ec-lmsso-10">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
+the <span
+class="ec-lmsso-10">KLay Layered </span>algorithm. Though the layout algorithm being used for performing layout can be changed at
+ones own will, it is recommended to use the defaults.
+</p><!--l. 213--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1230008.1.5"></a>Diagram Type</h5>
+<!--l. 215--><p class="noindent" >Diagram types are used to classify graphical diagrams for setting default layout option values for
+a set of similar diagrams. The diagram type of an element is specified with the layout option
+<span
+class="ec-lmtt-10">de.cau.cs.kieler.diagramType</span>. Thus, these help in
+</p><!--l. 219--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">General </span>- This type is automatically assigned to all diagrams for which no specific type is declared.
+ (Predefined in KIELER)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice Behavior
+ Diagrams.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice Structure
+ Diagrams.</li></ul>
+<!--l. 228--><p class="noindent" >Note that not all diagrams objects in the behavior and structure diagrams are assigned the last two diagram
+types. Only the top-level container and the visible bounding box has been assigned these diagram types in
+respective editors.
+
+
+</p><!--l. 232--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.6 </span> <a
+ id="x43-1240008.1.6"></a>Further References</h4>
+<!--l. 234--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML wiki"
+(<a
+href="http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078" class="url" ><span
+class="ec-lmtt-10">http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078</span></a> and
+have been modified for automatic layout in eTrice. A more detailed description about the layout algorithms,
+predefined diagram types and the internal structure of KIELER Infrastructure for Meta-Layout (KIML) can be
+found there.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse34.html" >next</a>] [<a
+href="etrice-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
+href="etrice-docse33.html" >front</a>] [<a
+href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse33.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
index 902ed040c..32a6f620a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
@@ -1,1385 +1,1385 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch9.html" >next</a>] [<a
-href="etrice-docse33.html" >prev</a>] [<a
-href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
-href="#tailetrice-docse34.html">tail</a>] [<a
-href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
- id="x44-1250008.2"></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="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
- </li>
- <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.
-</p><!--l. 19--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.2.1 </span> <a
- id="x44-1260008.2.1"></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="x44-126001r1"></a>
-<a
- id="x44-126002"></a>
-<span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126003r1"></a></span><span
-class="ec-lmssbx-10x-x-90">RoomModel</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="x44-126004r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</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="x44-126005r3"></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="x44-126006r4"></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="x44-126007r5"></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="x44-126008r6"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126009r7"></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="x44-126010r8"></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="x44-126011r9"></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="x44-126012r10"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126013r11"></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="x44-126014r12"></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="x44-126015r13"></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">actB1</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><span
-class="ec-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126016r14"></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="x44-126017r15"></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="x44-126018r16"></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="x44-126019r17"></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="x44-126020r18"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126021r19"></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="x44-126022r20"></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="x44-126023r21"></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="x44-126024r22"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126025r23"></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="x44-126026r24"></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="x44-126027r25"></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="x44-126028r26"></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="x44-126029r27"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126030r28"></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">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="x44-126031r29"></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="x44-126032r30"></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="x44-126033r31"></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">actB1</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="x44-126034r32"></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="x44-126035r33"></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="x44-126036r34"></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="x44-126037r35"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126038r36"></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="x44-126039r37"></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="x44-126040r38"></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="x44-126041r39"></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">actC1</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActC</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126042r40"></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">actC2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">ActC</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126043r41"></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="x44-126044r42"></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="x44-126045r43"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126046r44"></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">ActC</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="x44-126047r45"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-126048r46"></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="x44-126049r47"></a></span><span
-class="ec-lmtt-9">}</span>
-<br />
- <div class="caption"
-><span class="id">Listing&#x00A0;8.1:
- </span><span
-class="content">ROOM
- example
-
-
- code</span></div><!--tex4ht:label?: x44-1260008.2 -->
-</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="#x44-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white boxes shows some mapping information, see section <a
-href="#x44-1290008.2.4">8.2.4<!--tex4ht:ref: sec:mapping_model --></a> <a
-href="#x44-1290008.2.4">The Mapping
-Model<!--tex4ht:ref: sec:mapping_model --></a>):
-</p>
-<hr class="figure" /><div class="figure"
->
-
-
-<a
- id="x44-1260505"></a><a
- id="x44-12700025"></a><a
- id="x44-12800011"></a><a
- id="x44-12800046"></a><a
- id="x44-12900017"></a>
-
-
-<!--l. 40--><p class="noindent" ><img
-src="images/080-instances.jpg" alt="PIC"
- />
-<br /> </p><div class="caption"
-><span class="id">Figure&#x00A0;8.5: </span><span
-class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x44-1260505 -->
-
-
-</div><hr class="endfigure" />
-<h4 class="subsectionHead"><span class="titlemark">8.2.2 </span> <a
- id="x44-1270008.2.2"></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="x44-127001r2"></a>
-<a
- id="x44-127002"></a>
-<span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127003r1"></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-lmtt-9">{</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127004r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127005r3"></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="x44-127006r4"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127007r5"></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="x44-127008r6"></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="x44-127009r7"></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="x44-127010r8"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127011r9"></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="x44-127012r10"></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="x44-127013r11"></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="x44-127014r12"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127015r13"></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="x44-127016r14"></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="x44-127017r15"></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="x44-127018r16"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127019r17"></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="x44-127020r18"></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="x44-127021r19"></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="x44-127022r20"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-127023r21"></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="x44-127024r22"></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="x44-127025r23"></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="x44-127026r24"></a></span><span
-class="ec-lmtt-9">}</span>
-<br />
- <div class="caption"
-><span class="id">Listing&#x00A0;8.2:
- </span><span
-class="content">Config
- example
- code</span></div><!--tex4ht:label?: x44-1270008.2 -->
-</div>
-<!--l. 53--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.2.3 </span> <a
- id="x44-1280008.2.3"></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="x44-128001r3"></a>
-<a
- id="x44-128002"></a>
-<span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128003r1"></a></span><span
-class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
-class="ec-lmtt-9">&#x00A0;</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="x44-128004r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128005r3"></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-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="x44-128006r4"></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">multiThreaded</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128007r5"></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="x44-128008r6"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128009r7"></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-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="x44-128010r8"></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="x44-128011r9"></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="x44-128012r10"></a></span><span
-class="ec-lmtt-9">}</span>
-<br />
- <div class="caption"
-><span class="id">Listing&#x00A0;8.3:
- </span><span
-class="content">etPhys
- runtime
- definition</span></div><!--tex4ht:label?: x44-1280008.2 -->
-</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="x44-128013r4"></a>
-<a
- id="x44-128014"></a>
-<span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128015r1"></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="x44-128016r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128017r3"></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">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="x44-128018r4"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128019r5"></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="x44-128020r6"></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">PC_Node</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128021r7"></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">pc2</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">PC_Node</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128022r8"></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">mc</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">MSP430_Node</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128023r9"></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="x44-128024r10"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128025r11"></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="x44-128026r12"></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="x44-128027r13"></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="x44-128028r14"></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="x44-128029r15"></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="x44-128030r16"></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">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="x44-128031r17"></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-lmtt-9">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="x44-128032r18"></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="x44-128033r19"></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="x44-128034r20"></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="x44-128035r21"></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="x44-128036r22"></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="x44-128037r23"></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">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="x44-128038r24"></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="x44-128039r25"></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-lmtt-9">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="x44-128040r26"></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="x44-128041r27"></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="x44-128042r28"></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="x44-128043r29"></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="x44-128044r30"></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="x44-128045r31"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-128046r32"></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">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="x44-128047r33"></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="x44-128048r34"></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="x44-128049r35"></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="x44-128050r36"></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="x44-128051r37"></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">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="x44-128052r38"></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">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="x44-128053r39"></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-lmtt-9">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="x44-128054r40"></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="x44-128055r41"></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="x44-128056r42"></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="x44-128057r43"></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="x44-128058r44"></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="x44-128059r45"></a></span><span
-class="ec-lmtt-9">}</span>
-
-
-<br />
- <div class="caption"
-><span class="id">Listing&#x00A0;8.4:
- </span><span
-class="content">etPhys
- example
- code</span></div><!--tex4ht:label?: x44-1280008.2 -->
-</div>
-<!--l. 67--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">8.2.4 </span> <a
- id="x44-1290008.2.4"></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="x44-129001r5"></a>
-<a
- id="x44-129002"></a>
-<span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-129003r1"></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="x44-129004r2"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-129005r3"></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="x44-129006r4"></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="x44-129007r5"></a></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x44-129008r6"></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="x44-129009r7"></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="x44-129010r8"></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-lmtt-9">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="x44-129011r9"></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-lmtt-9">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="x44-129012r10"></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="x44-129013r11"></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="x44-129014r12"></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-lmtt-9">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="x44-129015r13"></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-lmtt-9">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="x44-129016r14"></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="x44-129017r15"></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="x44-129018r16"></a></span><span
-class="ec-lmtt-9">}</span>
-<br />
- <div class="caption"
-><span class="id">Listing&#x00A0;8.5:
- </span><span
-class="content">etMap
- example
- code</span></div><!--tex4ht:label?: x44-1290008.2 -->
-</div>
-<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
-href="#x44-1260505">8.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>).
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch9.html" >next</a>] [<a
-href="etrice-docse33.html" >prev</a>] [<a
-href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
-href="etrice-docse34.html" >front</a>] [<a
-href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse34.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch9.html" >next</a>] [<a
+href="etrice-docse33.html" >prev</a>] [<a
+href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
+href="#tailetrice-docse34.html">tail</a>] [<a
+href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
+ id="x44-1250008.2"></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="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
+ </li>
+ <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.
+</p><!--l. 19--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.1 </span> <a
+ id="x44-1260008.2.1"></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="x44-126001r1"></a>
+<a
+ id="x44-126002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</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="x44-126004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</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="x44-126005r3"></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="x44-126006r4"></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="x44-126007r5"></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="x44-126008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126009r7"></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="x44-126010r8"></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="x44-126011r9"></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="x44-126012r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126013r11"></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="x44-126014r12"></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="x44-126015r13"></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">actB1</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><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126016r14"></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="x44-126017r15"></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="x44-126018r16"></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="x44-126019r17"></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="x44-126020r18"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126021r19"></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="x44-126022r20"></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="x44-126023r21"></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="x44-126024r22"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126025r23"></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="x44-126026r24"></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="x44-126027r25"></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="x44-126028r26"></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="x44-126029r27"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126030r28"></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">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="x44-126031r29"></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="x44-126032r30"></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="x44-126033r31"></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">actB1</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="x44-126034r32"></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="x44-126035r33"></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="x44-126036r34"></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="x44-126037r35"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126038r36"></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="x44-126039r37"></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="x44-126040r38"></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="x44-126041r39"></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">actC1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126042r40"></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">actC2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126043r41"></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="x44-126044r42"></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="x44-126045r43"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126046r44"></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">ActC</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="x44-126047r45"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126048r46"></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="x44-126049r47"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.1:
+ </span><span
+class="content">ROOM
+ example
+
+
+ code</span></div><!--tex4ht:label?: x44-1260008.2 -->
+</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="#x44-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white boxes shows some mapping information, see section <a
+href="#x44-1290008.2.4">8.2.4<!--tex4ht:ref: sec:mapping_model --></a> <a
+href="#x44-1290008.2.4">The Mapping
+Model<!--tex4ht:ref: sec:mapping_model --></a>):
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x44-1260505"></a><a
+ id="x44-12700025"></a><a
+ id="x44-12800011"></a><a
+ id="x44-12800046"></a><a
+ id="x44-12900017"></a>
+
+
+<!--l. 40--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.5: </span><span
+class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x44-1260505 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.2.2 </span> <a
+ id="x44-1270008.2.2"></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="x44-127001r2"></a>
+<a
+ id="x44-127002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127003r1"></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-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127005r3"></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="x44-127006r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127007r5"></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="x44-127008r6"></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="x44-127009r7"></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="x44-127010r8"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127011r9"></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="x44-127012r10"></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="x44-127013r11"></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="x44-127014r12"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127015r13"></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="x44-127016r14"></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="x44-127017r15"></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="x44-127018r16"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127019r17"></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="x44-127020r18"></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="x44-127021r19"></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="x44-127022r20"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127023r21"></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="x44-127024r22"></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="x44-127025r23"></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="x44-127026r24"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.2:
+ </span><span
+class="content">Config
+ example
+ code</span></div><!--tex4ht:label?: x44-1270008.2 -->
+</div>
+<!--l. 53--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.3 </span> <a
+ id="x44-1280008.2.3"></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="x44-128001r3"></a>
+<a
+ id="x44-128002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128003r1"></a></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</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="x44-128004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128005r3"></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-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="x44-128006r4"></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">multiThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128007r5"></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="x44-128008r6"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128009r7"></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-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="x44-128010r8"></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="x44-128011r9"></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="x44-128012r10"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.3:
+ </span><span
+class="content">etPhys
+ runtime
+ definition</span></div><!--tex4ht:label?: x44-1280008.2 -->
+</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="x44-128013r4"></a>
+<a
+ id="x44-128014"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128015r1"></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="x44-128016r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128017r3"></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">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="x44-128018r4"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128019r5"></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="x44-128020r6"></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">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128021r7"></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">pc2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128022r8"></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">mc</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128023r9"></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="x44-128024r10"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128025r11"></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="x44-128026r12"></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="x44-128027r13"></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="x44-128028r14"></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="x44-128029r15"></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="x44-128030r16"></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">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="x44-128031r17"></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-lmtt-9">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="x44-128032r18"></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="x44-128033r19"></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="x44-128034r20"></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="x44-128035r21"></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="x44-128036r22"></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="x44-128037r23"></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">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="x44-128038r24"></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="x44-128039r25"></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-lmtt-9">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="x44-128040r26"></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="x44-128041r27"></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="x44-128042r28"></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="x44-128043r29"></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="x44-128044r30"></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="x44-128045r31"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128046r32"></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">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="x44-128047r33"></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="x44-128048r34"></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="x44-128049r35"></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="x44-128050r36"></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="x44-128051r37"></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">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="x44-128052r38"></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">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="x44-128053r39"></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-lmtt-9">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="x44-128054r40"></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="x44-128055r41"></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="x44-128056r42"></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="x44-128057r43"></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="x44-128058r44"></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="x44-128059r45"></a></span><span
+class="ec-lmtt-9">}</span>
+
+
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.4:
+ </span><span
+class="content">etPhys
+ example
+ code</span></div><!--tex4ht:label?: x44-1280008.2 -->
+</div>
+<!--l. 67--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.4 </span> <a
+ id="x44-1290008.2.4"></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="x44-129001r5"></a>
+<a
+ id="x44-129002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129003r1"></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="x44-129004r2"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129005r3"></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="x44-129006r4"></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="x44-129007r5"></a></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129008r6"></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="x44-129009r7"></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="x44-129010r8"></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-lmtt-9">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="x44-129011r9"></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-lmtt-9">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="x44-129012r10"></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="x44-129013r11"></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="x44-129014r12"></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-lmtt-9">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="x44-129015r13"></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-lmtt-9">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="x44-129016r14"></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="x44-129017r15"></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="x44-129018r16"></a></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.5:
+ </span><span
+class="content">etMap
+ example
+ code</span></div><!--tex4ht:label?: x44-1290008.2 -->
+</div>
+<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
+href="#x44-1260505">8.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>).
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch9.html" >next</a>] [<a
+href="etrice-docse33.html" >prev</a>] [<a
+href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
+href="etrice-docse34.html" >front</a>] [<a
+href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse34.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
index b5eb4d655..5eb9e0c7c 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
@@ -1,160 +1,160 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Architecture</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse36.html" >next</a>] [<a
-href="etrice-docch9.html" >prev</a>] [<a
-href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
-href="#tailetrice-docse35.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
- id="x46-1310009.1"></a>Architecture</h3>
-<!--l. 5--><p class="noindent" >The basic components of eTrice are depicted in the following diagram.
-</p><!--l. 7--><p class="noindent" ><img
-src="images/200-components.jpg" alt="PIC"
- />
-</p><!--l. 9--><p class="noindent" >Additional to that the eTrice project comprises runtime libraries and unit tests which are treated in subsequent
-sections.
-</p><!--l. 12--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.1.1 </span> <a
- id="x46-1320009.1.1"></a>Editor and Generator Components</h4>
- <ul class="itemize1">
- <li class="itemize">core
- <ul class="itemize2">
- <li class="itemize">core.room is an Xtext based language called ROOM. It consists of the plug-ins
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.room </span>and <span
-class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. ROOM is
- the basic modeling language of eTrice.
- </li>
- <li class="itemize">core.config is an Xtext based
- language called Config. It consists of the plug-ins <span
-class="ec-lmtt-10">org.eclipse.etrice.core.config</span>
- and <span
-class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. Config is a language designed for the data
- configuration of model
- </li>
- <li class="itemize">core.etphys is an Xtext based
- language called etPhys. It consists of the plug-ins <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etphys </span>and
-
-
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. etPhys is a language designed for the description
- of physical systems onto which the logical ROOM systems are deployed.
- </li>
- <li class="itemize">core.etmap is an Xtext based language called etMap. It consists of the plug-ins
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etmap </span>and <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. etMap
- is a language designed for the mapping of logical to physical systems.
- </li>
- <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of the
- plugin <span
-class="ec-lmtt-10">org.eclipse.etrice.core.genmodel</span>. A Room model can be transformed into a
- genmodel which allows easy access to implicit relations of the Room model.</li></ul>
- </li>
- <li class="itemize">ui
- <ul class="itemize2">
- <li class="itemize">textual
- <ul class="itemize3">
- <li class="itemize">room.ui is the ui counterpart of core.room. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. This plug-in realizes IDE concepts like content
- assist, error markers and navigation by hyper links for the Room language.
- </li>
- <li class="itemize">config.ui is the ui counterpart of core.config. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. This plug-in realizes IDE concepts like
- content assist, error markers and navigation by hyper links for the Config language.
- </li>
- <li class="itemize">etphys.ui is the ui counterpart of core.etphys. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. This plug-in realizes IDE concepts like
- content assist, error markers and navigation by hyper links for the etPhys language.
- </li>
- <li class="itemize">etmap.ui is the ui counterpart of core.etmap. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. This plug-in realizes IDE concepts like content
- assist, error markers and navigation by hyper links for the etPhys language.</li></ul>
- </li>
- <li class="itemize">graphical
- <ul class="itemize3">
- <li class="itemize">ui.common is a set of common code for the two diagram editors. It consists of the
- plug-in <span
-class="ec-lmtt-10">org.eclipse.etrice.ui.common</span>.
- </li>
- <li class="itemize">ui.commands encapsulates some commands related to the navigation between eTrice
- editors. It consists of the plug-in <span
-class="ec-lmtt-10">org.eclipse.etrice.ui.commands</span>.
- </li>
- <li class="itemize">ui.structure is the Graphiti based editor for the Actor structure. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.ui.structure</span>.
- </li>
- <li class="itemize">ui.behavior is the Graphiti based editor for the Actor behavior. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.ui.behavior</span>.</li></ul>
- </li></ul>
- </li>
- <li class="itemize">generators
- <ul class="itemize2">
- <li class="itemize">generator is a set of general classes and language independent parts of all generators. It
- consists of the plug-in <span
-class="ec-lmsso-10">org.eclipse.etrice.generator</span>.
-
-
- </li>
- <li class="itemize">generator.c is the generator for the ANSI-C target language. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.generator.c</span>.
- </li>
- <li class="itemize">generator.cpp is the generator for the C++ target language. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.generator.cpp</span>.
- </li>
- <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.generator.java</span>.
- </li>
- <li class="itemize">generator.doc is the generator for the model documentation. It consists of the plug-in
- <span
-class="ec-lmtt-10">org.eclipse.etrice.generator.doc</span>.</li></ul>
- </li></ul>
-<!--l. 84--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.1.2 </span> <a
- id="x46-1330009.1.2"></a>Runtimes</h4>
-<!--l. 86--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The C++ runtime is still a prototype. The runtimes are
-libraries written in the target language against which the generated code is compiled.
-</p><!--l. 90--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.1.3 </span> <a
- id="x46-1340009.1.3"></a>Unit Tests</h4>
-<!--l. 92--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
-
-
-</p>
-<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse36.html" >next</a>] [<a
-href="etrice-docch9.html" >prev</a>] [<a
-href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
-href="etrice-docse35.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
-<!--l. 94--><p class="noindent" ><a
- id="tailetrice-docse35.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Architecture</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse36.html" >next</a>] [<a
+href="etrice-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
+href="#tailetrice-docse35.html">tail</a>] [<a
+href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
+ id="x46-1310009.1"></a>Architecture</h3>
+<!--l. 5--><p class="noindent" >The basic components of eTrice are depicted in the following diagram.
+</p><!--l. 7--><p class="noindent" ><img
+src="images/200-components.jpg" alt="PIC"
+ />
+</p><!--l. 9--><p class="noindent" >Additional to that the eTrice project comprises runtime libraries and unit tests which are treated in subsequent
+sections.
+</p><!--l. 12--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.1 </span> <a
+ id="x46-1320009.1.1"></a>Editor and Generator Components</h4>
+ <ul class="itemize1">
+ <li class="itemize">core
+ <ul class="itemize2">
+ <li class="itemize">core.room is an Xtext based language called ROOM. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. ROOM is
+ the basic modeling language of eTrice.
+ </li>
+ <li class="itemize">core.config is an Xtext based
+ language called Config. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config</span>
+ and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. Config is a language designed for the data
+ configuration of model
+ </li>
+ <li class="itemize">core.etphys is an Xtext based
+ language called etPhys. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys </span>and
+
+
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. etPhys is a language designed for the description
+ of physical systems onto which the logical ROOM systems are deployed.
+ </li>
+ <li class="itemize">core.etmap is an Xtext based language called etMap. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. etMap
+ is a language designed for the mapping of logical to physical systems.
+ </li>
+ <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of the
+ plugin <span
+class="ec-lmtt-10">org.eclipse.etrice.core.genmodel</span>. A Room model can be transformed into a
+ genmodel which allows easy access to implicit relations of the Room model.</li></ul>
+ </li>
+ <li class="itemize">ui
+ <ul class="itemize2">
+ <li class="itemize">textual
+ <ul class="itemize3">
+ <li class="itemize">room.ui is the ui counterpart of core.room. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the Room language.
+ </li>
+ <li class="itemize">config.ui is the ui counterpart of core.config. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the Config language.
+ </li>
+ <li class="itemize">etphys.ui is the ui counterpart of core.etphys. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the etPhys language.
+ </li>
+ <li class="itemize">etmap.ui is the ui counterpart of core.etmap. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the etPhys language.</li></ul>
+ </li>
+ <li class="itemize">graphical
+ <ul class="itemize3">
+ <li class="itemize">ui.common is a set of common code for the two diagram editors. It consists of the
+ plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.common</span>.
+ </li>
+ <li class="itemize">ui.commands encapsulates some commands related to the navigation between eTrice
+ editors. It consists of the plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.commands</span>.
+ </li>
+ <li class="itemize">ui.structure is the Graphiti based editor for the Actor structure. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.structure</span>.
+ </li>
+ <li class="itemize">ui.behavior is the Graphiti based editor for the Actor behavior. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.behavior</span>.</li></ul>
+ </li></ul>
+ </li>
+ <li class="itemize">generators
+ <ul class="itemize2">
+ <li class="itemize">generator is a set of general classes and language independent parts of all generators. It
+ consists of the plug-in <span
+class="ec-lmsso-10">org.eclipse.etrice.generator</span>.
+
+
+ </li>
+ <li class="itemize">generator.c is the generator for the ANSI-C target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.c</span>.
+ </li>
+ <li class="itemize">generator.cpp is the generator for the C++ target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.cpp</span>.
+ </li>
+ <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.java</span>.
+ </li>
+ <li class="itemize">generator.doc is the generator for the model documentation. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.doc</span>.</li></ul>
+ </li></ul>
+<!--l. 84--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.2 </span> <a
+ id="x46-1330009.1.2"></a>Runtimes</h4>
+<!--l. 86--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The C++ runtime is still a prototype. The runtimes are
+libraries written in the target language against which the generated code is compiled.
+</p><!--l. 90--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.3 </span> <a
+ id="x46-1340009.1.3"></a>Unit Tests</h4>
+<!--l. 92--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
+
+
+</p>
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse36.html" >next</a>] [<a
+href="etrice-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
+href="etrice-docse35.html" >front</a>] [<a
+href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
+<!--l. 94--><p class="noindent" ><a
+ id="tailetrice-docse35.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
index 519202978..62557c4e5 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
@@ -1,405 +1,405 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Component Overview</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >prev</a>] [<a
-href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
-href="#tailetrice-docse36.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
- id="x47-1350009.2"></a>Component Overview</h3>
-<!--l. 96--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.2.1 </span> <a
- id="x47-1360009.2.1"></a>Room Language Overview</h4>
-<!--l. 98--><p class="noindent" >We assume that the reader is familiar with the Xtext concepts. So we concentrate on the details of our
-implementation that are worth to be pointed out.
-</p><!--l. 101--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1370009.2.1"></a>Model Tweaks</h5>
-<!--l. 103--><p class="noindent" >The Room EMF model is inferred from the grammar. However, this powerful mechanism has to be tweaked at
-some places. This is done in the <span
-class="ec-lmsso-10">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
-which is written in the legacy Xtend language.
-</p><!--l. 109--><p class="noindent" >The following parts of the model are changed or added: </p>
- <ul class="itemize1">
- <li class="itemize">the default
-
-
- <div class="verbatim" id="verbatim-21">
- multiplicity
-</div>
- <!--l. 111--><p class="nopar" > of the <span
-class="ec-lmtt-10">Port </span>is set to 1
- </p></li>
- <li class="itemize">the operation <span
-class="ec-lmtt-10">isReplicated </span>is added to the <span
-class="ec-lmtt-10">Port</span>
- </li>
- <li class="itemize">the default <span
-class="ec-lmtt-10">size </span>of the <span
-class="ec-lmtt-10">ActorRef </span>is set to 1
- </li>
- <li class="itemize">an operation <span
-class="ec-lmtt-10">getName </span>is add to the <span
-class="ec-lmtt-10">State </span>class
- </li>
- <li class="itemize">an operation <span
-class="ec-lmtt-10">getName </span>is add to the <span
-class="ec-lmtt-10">StateGraphItem </span>class
- </li>
- <li class="itemize">an operation <span
-class="ec-lmtt-10">getGeneralProtocol </span>is added to the <span
-class="ec-lmtt-10">InterfaceItem</span></li></ul>
-<!--l. 119--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1380009.2.1"></a>Imports by URI Using Namespaces</h5>
-<!--l. 121--><p class="noindent" >The import mechanism employed is based on URIs. This is configured for one part in the GenerateRoom.mwe2
-model workflow by setting the fragments ImportURIScopingFragment and ImportUriValidator). For the other
-part it is configured in the Guice modules by binding </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmtt-10">PlatformRelativeUriResolver </span>&#8211; this class tries to convert the import URI into a platform
- relative URI. It also replaces environment variables written in $ with their respective values.
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
- aware of namespaces
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">GlobalNonPlatformURIEditorOpener </span>&#8211; this editor opener tries to convert general URIs into
- platform URIs because editors can only open platform URIs
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper link</li></ul>
-<!--l. 134--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1390009.2.1"></a>Naming</h5>
-<!--l. 136--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
-class="ec-lmtt-10">RoomNameProvider </span>provides
-frequently used name strings, some of them are hierarchical like State paths. The <span
-class="ec-lmtt-10">RoomFragmentProvider</span>
-serves a more formal purpose since it provides a link between EMF models (as used by the diagram editors)
-and the textual model representation used by Xtext.
-
-
-</p><!--l. 142--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1400009.2.1"></a>Helpers</h5>
-<!--l. 144--><p class="noindent" >The <span
-class="ec-lmtt-10">RoomHelpers </span>class provides a great deal of static methods that help retrieve frequently used information
-from the model. Among many, many others </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmtt-10">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
- inherited ones
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a transition&#8217;s
- action code
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getSignature(Operation) </span>- returns a string representing the operation signature suited for a
- label</li></ul>
-<!--l. 156--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1410009.2.1"></a>Validation</h5>
-<!--l. 158--><p class="noindent" >Validation is used from various places. Therefore all validation code is accumulated in the @ValidationUtil@
-class. All methods are static and many of them return a Result object which contains information about the
-problem detected as well as object and feature as suited for most validation purposes.
-</p><!--l. 162--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.2.2 </span> <a
- id="x47-1420009.2.2"></a>Config Language Overview</h4>
-<!--l. 164--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1430009.2.2"></a>Model Tweaks</h5>
-<!--l. 166--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmtt-10">getActorClassConfigs</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getActorInstanceConfigs</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getProtocolClassConfigs</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getSubSystemConfigs</span></li></ul>
-
-
-<!--l. 174--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1440009.2.2"></a>Imports by URI Using Namespaces</h5>
-<!--l. 176--><p class="noindent" >Imports are treated like in Room language, section <span
-class="ec-lmsso-10">Imports by URI Using Namespaces</span>.
-</p><!--l. 178--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1450009.2.2"></a>Util</h5>
-<!--l. 180--><p class="noindent" >A set of static utility methods can be found in the <span
-class="ec-lmtt-10">ConfigUtil </span>class.
-</p><!--l. 182--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.2.3 </span> <a
- id="x47-1460009.2.3"></a>Aggregation Layer Overview</h4>
-<!--l. 184--><p class="noindent" >The eTrice Generator Model (genmodel) serves as an aggregation layer. Its purpose is to allow easy access to
-information which is implicitly contained in the Room model but not simple to retrieve. Examples of this are
-the state machine with inherited items or a list of all triggers active at a state in the order in which
-they will be evaluated or the actual peer port of an end port (following bindings through relay
-ports).
-</p><!--l. 190--><p class="noindent" >The Generator Model is created from a list of Room models by a call of the
-
-
-</p>
-<div class="verbatim" id="verbatim-22">
-createGeneratorModel(List&#x003C;RoomModel&#x003E;,&#x00A0;boolean)
-</div>
-<!--l. 192--><p class="nopar" >
-</p><!--l. 194--><p class="noindent" >method of the <span
-class="ec-lmtt-10">GeneratorModelBuilder </span>class.
-</p><!--l. 196--><p class="noindent" >The <span
-class="ec-lmtt-10">Root </span>object of the resulting Generator Model provides chiefly two things: </p>
- <ul class="itemize1">
- <li class="itemize">a tree of instances starting at each <span
-class="ec-lmtt-10">SubSystem </span>with representations of each <span
-class="ec-lmtt-10">ActorInstance </span>and
- <span
-class="ec-lmtt-10">PortInstance</span>
- </li>
- <li class="itemize">for each <span
-class="ec-lmtt-10">ActorClass </span>a corresponding <span
-class="ec-lmtt-10">ExpandedActorClass </span>with an explicit state machine
- containing all inherited state graph items</li></ul>
-<!--l. 204--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1470009.2.3"></a>The Instance Model</h5>
-<!--l. 206--><p class="noindent" >The instance model allows easy access to instances including their unique paths and object IDs. Also it is
-possible to get a list of all peer port instances for each port instance without having to bother about port and
-actor replication.
-</p><!--l. 210--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1480009.2.3"></a>The Expanded Actor Class</h5>
-<!--l. 212--><p class="noindent" >The expanded actor class contains, as already mentioned, the complete state machine of the actor class. This
-considerably simplifies the task of state machine generation. Note that the generated code always
-contains the complete state machine of an actor. I.e. no target language inheritance is used to
-implement the state machine inheritance. Furthermore the <span
-class="ec-lmtt-10">ExpandedActorClass </span>gives access to
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmtt-10">getIncomingTransitions(StateGraphNode) </span>&#8211; the set of incoming transition of a
- <span
-class="ec-lmtt-10">StateGraphNode </span>(<span
-class="ec-lmtt-10">State</span>, <span
-class="ec-lmtt-10">ChoicePoint </span>or <span
-class="ec-lmtt-10">TransitionPoint</span>)
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing transition of a
- <span
-class="ec-lmtt-10">StateGraphNode</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
-class="ec-lmtt-10">State </span>in the order they are
- evaluated</li></ul>
-
-
-<!--l. 226--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1490009.2.3"></a>Transition Chains</h5>
-<!--l. 228--><p class="noindent" >By transition chains we denote a connected subset of the (hierarchical) state machine that starts with a
-transition starting at a state and continues over transitional state graph nodes (choice points and transition
-points) and continuation transitions until a state is reached. In general a transition chain starts at one state
-and ends in several states (the chain may branch in choice points). A <span
-class="ec-lmtt-10">TransitionChain </span>of a
-transition is retrieved by a call of <span
-class="ec-lmtt-10">getChain(Transition) </span>of the <span
-class="ec-lmtt-10">ExpandedActorClass</span>. The
-<span
-class="ec-lmtt-10">TransitionChain </span>accepts an <span
-class="ec-lmtt-10">ITransitionChainVisitor </span>which is called along the chain to generate the
-action codes of involved transitions and the conditional statements arising from the involved choice
-points.
-</p><!--l. 238--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">9.2.4 </span> <a
- id="x47-1500009.2.4"></a>Generator Overview</h4>
-<!--l. 240--><p class="noindent" >There is one plug-in that consists of base classes and some generic generator parts which are re-used by all
-language specific generators
-</p><!--l. 243--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1510009.2.4"></a>Base Classes and Interfaces</h5>
-<!--l. 245--><p class="noindent" >We just want to mention the most important classes and interfaces.
-</p>
- <ul class="itemize1">
- <li class="itemize">
- <div class="flushleft"
->
-<!--l. 248--><p class="noindent" >
-<span
-class="ec-lmtt-10">ITranslationProvider </span>&#8212; this interface is used by the <span
-class="ec-lmtt-10">DetailCodeTranslator </span>for the language
-dependent translation of e.g. port.message() notation in detail code</p></div>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">AbstractGenerator </span>&#8212; concrete language generators should derive from this base class
- </li>
- <li class="itemize">
- <div class="flushleft"
->
-<!--l. 252--><p class="noindent" >
-<span
-class="ec-lmtt-10">DefaultTranslationProvider </span>&#8212; a stub implementation of <span
-class="ec-lmtt-10">ITranslationProvider </span>from which
-clients may derive</p></div>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">Indexed </span>&#8212; provides an indexed iterable of a given iterable
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10">GeneratorBaseModule </span>&#8212; a Google Guice module that binds a couple of basic services. Concrete
- language generators should use a module that derives from this</li></ul>
-
-
-<!--l. 259--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1520009.2.4"></a>Generic Generator Parts</h5>
-<!--l. 261--><p class="noindent" >The generic generator parts provide code generation blocks on a medium granularity. The language dependent
-top level generators embed those blocks in a larger context (file, class, ...). Language dependent low level
-constructs are provided by means of an <span
-class="ec-lmtt-10">ILanguageExtension</span>. This extension and other parts of the generator
-be configured using Google Guice dependency injection.
-</p>
-<!--l. 266--><p class="noindent" ><span class="paragraphHead"><a
- id="x47-1530009.2.4"></a><span
-class="ec-lmssbx-10">GenericActorClassGenerator</span></span>
-The <span
-class="ec-lmtt-10">GenericActorClassGenerator </span>generates constants for the interface items of a actor. Those constants
-are used by the generated state machine.
-</p>
-<!--l. 271--><p class="noindent" ><span class="paragraphHead"><a
- id="x47-1540009.2.4"></a><span
-class="ec-lmssbx-10">GenericProtocolClassGenerator</span></span>
-The <span
-class="ec-lmtt-10">GenericProtocolClassGenerator </span>generates message ID constants for a protocol.
-</p>
-<!--l. 275--><p class="noindent" ><span class="paragraphHead"><a
- id="x47-1550009.2.4"></a><span
-class="ec-lmssbx-10">GenericStateMachineGenerator</span></span>
-</p>
-<div class="flushleft"
->
-<!--l. 277--><p class="noindent" >
-The <span
-class="ec-lmtt-10">GenericStateMachineGenerator </span>generates the complete state machine implementation. The
-skeleton of the generated code is</p></div>
- <ul class="itemize1">
- <li class="itemize">definition state ID constants
- </li>
- <li class="itemize">definition of transition chain constants
- </li>
- <li class="itemize">definition of trigger constants
- </li>
- <li class="itemize">entry, exit and action code methods
- </li>
- <li class="itemize">the <span
-class="ec-lmtt-10">exitTo </span>method
- </li>
- <li class="itemize">the <span
-class="ec-lmtt-10">executeTransitionChain </span>method
- </li>
- <li class="itemize">the <span
-class="ec-lmtt-10">enterHistory </span>method
-
-
- </li>
- <li class="itemize">the <span
-class="ec-lmtt-10">executeInitTransition </span>method
- </li>
- <li class="itemize">the <span
-class="ec-lmtt-10">receiveEvent </span>method</li></ul>
-<!--l. 292--><p class="noindent" >The state machine works as follows. The main entry method is the <br
-class="newline" /><span
-class="ec-lmtt-10">receiveEvent </span>method. This is the case for both, data driven (polled) and event driven state machines. Then
-a number of nested switch/case statements evaluates trigger conditions and derives the transition chain that is
-executed. If a trigger fires then the <span
-class="ec-lmtt-10">exitTo </span>method is called to execute all exit codes involved. Then the
-transition chain action codes are executed and the choice point conditions are evaluated in the
-<span
-class="ec-lmtt-10">executeTransitionChain </span>method. Finally the history of the state where the chain ends is entered and all
-entry codes are executed by <span
-class="ec-lmtt-10">enterHistory</span>.
-</p><!--l. 300--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1560009.2.4"></a>The Java Generator</h5>
-<!--l. 302--><p class="noindent" >The Java generator employs the generic parts of the generator. The <span
-class="ec-lmtt-10">JavaTranslationProvider</span>
-is very simple and only handles the case of sending a message from a distinct replicated port:
-<span
-class="ec-lmtt-10">replPort[2].message()</span>. Other cases are handled by the base class by returning the original
-text.
-</p><!--l. 306--><p class="noindent" >The <span
-class="ec-lmtt-10">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it is pretty much straight
-forward.
-</p><!--l. 309--><p class="noindent" >The <span
-class="ec-lmtt-10">ProtocolClassGen </span>generates a class for the protocol with nested static classes for regular and
-conjugated ports and similar for replicated ports.
-</p><!--l. 312--><p class="noindent" >The <span
-class="ec-lmtt-10">ActorClassGen </span>uses Java inheritance for the generated actor classes. So ports, SAPs and attributes and
-detail code methods are inherited. Not inherited is the state machine implementation.
-</p><!--l. 315--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1570009.2.4"></a>The ANSI-C Generator</h5>
-<!--l. 317--><p class="noindent" >The C generator translates data, protocol and actor classes into structs together with a set of methods
-that operate on them and receive a pointer to those data (called <span
-class="ec-lmtt-10">self </span>in analogy to the implicit
-C++ <span
-class="ec-lmtt-10">this </span>pointer). No dynamic memory allocation is employed. All actor instances are statically
-initialized. One of the design goals for the generated C code was an optimized footprint in terms of
-memory and performance to be able to utilize modeling with ROOM also for tiny low end micro
-controllers.
-</p><!--l. 324--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x47-1580009.2.4"></a>The Documentation Generator</h5>
-<!--l. 326--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be converted into PDF and
-many other formats.
-</p>
-<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >prev</a>] [<a
-href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
-href="etrice-docse36.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
-<!--l. 82--><p class="noindent" ><a
- id="tailetrice-docse36.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Component Overview</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="2013-07-04 14:25:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse35.html" >prev</a>] [<a
+href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
+href="#tailetrice-docse36.html">tail</a>] [<a
+href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
+ id="x47-1350009.2"></a>Component Overview</h3>
+<!--l. 96--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.1 </span> <a
+ id="x47-1360009.2.1"></a>Room Language Overview</h4>
+<!--l. 98--><p class="noindent" >We assume that the reader is familiar with the Xtext concepts. So we concentrate on the details of our
+implementation that are worth to be pointed out.
+</p><!--l. 101--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1370009.2.1"></a>Model Tweaks</h5>
+<!--l. 103--><p class="noindent" >The Room EMF model is inferred from the grammar. However, this powerful mechanism has to be tweaked at
+some places. This is done in the <span
+class="ec-lmsso-10">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
+which is written in the legacy Xtend language.
+</p><!--l. 109--><p class="noindent" >The following parts of the model are changed or added: </p>
+ <ul class="itemize1">
+ <li class="itemize">the default
+
+
+ <div class="verbatim" id="verbatim-21">
+ multiplicity
+</div>
+ <!--l. 111--><p class="nopar" > of the <span
+class="ec-lmtt-10">Port </span>is set to 1
+ </p></li>
+ <li class="itemize">the operation <span
+class="ec-lmtt-10">isReplicated </span>is added to the <span
+class="ec-lmtt-10">Port</span>
+ </li>
+ <li class="itemize">the default <span
+class="ec-lmtt-10">size </span>of the <span
+class="ec-lmtt-10">ActorRef </span>is set to 1
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">State </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">StateGraphItem </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getGeneralProtocol </span>is added to the <span
+class="ec-lmtt-10">InterfaceItem</span></li></ul>
+<!--l. 119--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1380009.2.1"></a>Imports by URI Using Namespaces</h5>
+<!--l. 121--><p class="noindent" >The import mechanism employed is based on URIs. This is configured for one part in the GenerateRoom.mwe2
+model workflow by setting the fragments ImportURIScopingFragment and ImportUriValidator). For the other
+part it is configured in the Guice modules by binding </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">PlatformRelativeUriResolver </span>&#8211; this class tries to convert the import URI into a platform
+ relative URI. It also replaces environment variables written in $ with their respective values.
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
+ aware of namespaces
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GlobalNonPlatformURIEditorOpener </span>&#8211; this editor opener tries to convert general URIs into
+ platform URIs because editors can only open platform URIs
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper link</li></ul>
+<!--l. 134--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1390009.2.1"></a>Naming</h5>
+<!--l. 136--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
+class="ec-lmtt-10">RoomNameProvider </span>provides
+frequently used name strings, some of them are hierarchical like State paths. The <span
+class="ec-lmtt-10">RoomFragmentProvider</span>
+serves a more formal purpose since it provides a link between EMF models (as used by the diagram editors)
+and the textual model representation used by Xtext.
+
+
+</p><!--l. 142--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1400009.2.1"></a>Helpers</h5>
+<!--l. 144--><p class="noindent" >The <span
+class="ec-lmtt-10">RoomHelpers </span>class provides a great deal of static methods that help retrieve frequently used information
+from the model. Among many, many others </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
+ inherited ones
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a transition&#8217;s
+ action code
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSignature(Operation) </span>- returns a string representing the operation signature suited for a
+ label</li></ul>
+<!--l. 156--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1410009.2.1"></a>Validation</h5>
+<!--l. 158--><p class="noindent" >Validation is used from various places. Therefore all validation code is accumulated in the @ValidationUtil@
+class. All methods are static and many of them return a Result object which contains information about the
+problem detected as well as object and feature as suited for most validation purposes.
+</p><!--l. 162--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.2 </span> <a
+ id="x47-1420009.2.2"></a>Config Language Overview</h4>
+<!--l. 164--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1430009.2.2"></a>Model Tweaks</h5>
+<!--l. 166--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorInstanceConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getProtocolClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSubSystemConfigs</span></li></ul>
+
+
+<!--l. 174--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1440009.2.2"></a>Imports by URI Using Namespaces</h5>
+<!--l. 176--><p class="noindent" >Imports are treated like in Room language, section <span
+class="ec-lmsso-10">Imports by URI Using Namespaces</span>.
+</p><!--l. 178--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1450009.2.2"></a>Util</h5>
+<!--l. 180--><p class="noindent" >A set of static utility methods can be found in the <span
+class="ec-lmtt-10">ConfigUtil </span>class.
+</p><!--l. 182--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.3 </span> <a
+ id="x47-1460009.2.3"></a>Aggregation Layer Overview</h4>
+<!--l. 184--><p class="noindent" >The eTrice Generator Model (genmodel) serves as an aggregation layer. Its purpose is to allow easy access to
+information which is implicitly contained in the Room model but not simple to retrieve. Examples of this are
+the state machine with inherited items or a list of all triggers active at a state in the order in which
+they will be evaluated or the actual peer port of an end port (following bindings through relay
+ports).
+</p><!--l. 190--><p class="noindent" >The Generator Model is created from a list of Room models by a call of the
+
+
+</p>
+<div class="verbatim" id="verbatim-22">
+createGeneratorModel(List&#x003C;RoomModel&#x003E;,&#x00A0;boolean)
+</div>
+<!--l. 192--><p class="nopar" >
+</p><!--l. 194--><p class="noindent" >method of the <span
+class="ec-lmtt-10">GeneratorModelBuilder </span>class.
+</p><!--l. 196--><p class="noindent" >The <span
+class="ec-lmtt-10">Root </span>object of the resulting Generator Model provides chiefly two things: </p>
+ <ul class="itemize1">
+ <li class="itemize">a tree of instances starting at each <span
+class="ec-lmtt-10">SubSystem </span>with representations of each <span
+class="ec-lmtt-10">ActorInstance </span>and
+ <span
+class="ec-lmtt-10">PortInstance</span>
+ </li>
+ <li class="itemize">for each <span
+class="ec-lmtt-10">ActorClass </span>a corresponding <span
+class="ec-lmtt-10">ExpandedActorClass </span>with an explicit state machine
+ containing all inherited state graph items</li></ul>
+<!--l. 204--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1470009.2.3"></a>The Instance Model</h5>
+<!--l. 206--><p class="noindent" >The instance model allows easy access to instances including their unique paths and object IDs. Also it is
+possible to get a list of all peer port instances for each port instance without having to bother about port and
+actor replication.
+</p><!--l. 210--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1480009.2.3"></a>The Expanded Actor Class</h5>
+<!--l. 212--><p class="noindent" >The expanded actor class contains, as already mentioned, the complete state machine of the actor class. This
+considerably simplifies the task of state machine generation. Note that the generated code always
+contains the complete state machine of an actor. I.e. no target language inheritance is used to
+implement the state machine inheritance. Furthermore the <span
+class="ec-lmtt-10">ExpandedActorClass </span>gives access to
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getIncomingTransitions(StateGraphNode) </span>&#8211; the set of incoming transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode </span>(<span
+class="ec-lmtt-10">State</span>, <span
+class="ec-lmtt-10">ChoicePoint </span>or <span
+class="ec-lmtt-10">TransitionPoint</span>)
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
+class="ec-lmtt-10">State </span>in the order they are
+ evaluated</li></ul>
+
+
+<!--l. 226--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1490009.2.3"></a>Transition Chains</h5>
+<!--l. 228--><p class="noindent" >By transition chains we denote a connected subset of the (hierarchical) state machine that starts with a
+transition starting at a state and continues over transitional state graph nodes (choice points and transition
+points) and continuation transitions until a state is reached. In general a transition chain starts at one state
+and ends in several states (the chain may branch in choice points). A <span
+class="ec-lmtt-10">TransitionChain </span>of a
+transition is retrieved by a call of <span
+class="ec-lmtt-10">getChain(Transition) </span>of the <span
+class="ec-lmtt-10">ExpandedActorClass</span>. The
+<span
+class="ec-lmtt-10">TransitionChain </span>accepts an <span
+class="ec-lmtt-10">ITransitionChainVisitor </span>which is called along the chain to generate the
+action codes of involved transitions and the conditional statements arising from the involved choice
+points.
+</p><!--l. 238--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.4 </span> <a
+ id="x47-1500009.2.4"></a>Generator Overview</h4>
+<!--l. 240--><p class="noindent" >There is one plug-in that consists of base classes and some generic generator parts which are re-used by all
+language specific generators
+</p><!--l. 243--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1510009.2.4"></a>Base Classes and Interfaces</h5>
+<!--l. 245--><p class="noindent" >We just want to mention the most important classes and interfaces.
+</p>
+ <ul class="itemize1">
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 248--><p class="noindent" >
+<span
+class="ec-lmtt-10">ITranslationProvider </span>&#8212; this interface is used by the <span
+class="ec-lmtt-10">DetailCodeTranslator </span>for the language
+dependent translation of e.g. port.message() notation in detail code</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">AbstractGenerator </span>&#8212; concrete language generators should derive from this base class
+ </li>
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 252--><p class="noindent" >
+<span
+class="ec-lmtt-10">DefaultTranslationProvider </span>&#8212; a stub implementation of <span
+class="ec-lmtt-10">ITranslationProvider </span>from which
+clients may derive</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">Indexed </span>&#8212; provides an indexed iterable of a given iterable
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GeneratorBaseModule </span>&#8212; a Google Guice module that binds a couple of basic services. Concrete
+ language generators should use a module that derives from this</li></ul>
+
+
+<!--l. 259--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1520009.2.4"></a>Generic Generator Parts</h5>
+<!--l. 261--><p class="noindent" >The generic generator parts provide code generation blocks on a medium granularity. The language dependent
+top level generators embed those blocks in a larger context (file, class, ...). Language dependent low level
+constructs are provided by means of an <span
+class="ec-lmtt-10">ILanguageExtension</span>. This extension and other parts of the generator
+be configured using Google Guice dependency injection.
+</p>
+<!--l. 266--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1530009.2.4"></a><span
+class="ec-lmssbx-10">GenericActorClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericActorClassGenerator </span>generates constants for the interface items of a actor. Those constants
+are used by the generated state machine.
+</p>
+<!--l. 271--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1540009.2.4"></a><span
+class="ec-lmssbx-10">GenericProtocolClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericProtocolClassGenerator </span>generates message ID constants for a protocol.
+</p>
+<!--l. 275--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1550009.2.4"></a><span
+class="ec-lmssbx-10">GenericStateMachineGenerator</span></span>
+</p>
+<div class="flushleft"
+>
+<!--l. 277--><p class="noindent" >
+The <span
+class="ec-lmtt-10">GenericStateMachineGenerator </span>generates the complete state machine implementation. The
+skeleton of the generated code is</p></div>
+ <ul class="itemize1">
+ <li class="itemize">definition state ID constants
+ </li>
+ <li class="itemize">definition of transition chain constants
+ </li>
+ <li class="itemize">definition of trigger constants
+ </li>
+ <li class="itemize">entry, exit and action code methods
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">exitTo </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeTransitionChain </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">enterHistory </span>method
+
+
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeInitTransition </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">receiveEvent </span>method</li></ul>
+<!--l. 292--><p class="noindent" >The state machine works as follows. The main entry method is the <br
+class="newline" /><span
+class="ec-lmtt-10">receiveEvent </span>method. This is the case for both, data driven (polled) and event driven state machines. Then
+a number of nested switch/case statements evaluates trigger conditions and derives the transition chain that is
+executed. If a trigger fires then the <span
+class="ec-lmtt-10">exitTo </span>method is called to execute all exit codes involved. Then the
+transition chain action codes are executed and the choice point conditions are evaluated in the
+<span
+class="ec-lmtt-10">executeTransitionChain </span>method. Finally the history of the state where the chain ends is entered and all
+entry codes are executed by <span
+class="ec-lmtt-10">enterHistory</span>.
+</p><!--l. 300--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1560009.2.4"></a>The Java Generator</h5>
+<!--l. 302--><p class="noindent" >The Java generator employs the generic parts of the generator. The <span
+class="ec-lmtt-10">JavaTranslationProvider</span>
+is very simple and only handles the case of sending a message from a distinct replicated port:
+<span
+class="ec-lmtt-10">replPort[2].message()</span>. Other cases are handled by the base class by returning the original
+text.
+</p><!--l. 306--><p class="noindent" >The <span
+class="ec-lmtt-10">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it is pretty much straight
+forward.
+</p><!--l. 309--><p class="noindent" >The <span
+class="ec-lmtt-10">ProtocolClassGen </span>generates a class for the protocol with nested static classes for regular and
+conjugated ports and similar for replicated ports.
+</p><!--l. 312--><p class="noindent" >The <span
+class="ec-lmtt-10">ActorClassGen </span>uses Java inheritance for the generated actor classes. So ports, SAPs and attributes and
+detail code methods are inherited. Not inherited is the state machine implementation.
+</p><!--l. 315--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1570009.2.4"></a>The ANSI-C Generator</h5>
+<!--l. 317--><p class="noindent" >The C generator translates data, protocol and actor classes into structs together with a set of methods
+that operate on them and receive a pointer to those data (called <span
+class="ec-lmtt-10">self </span>in analogy to the implicit
+C++ <span
+class="ec-lmtt-10">this </span>pointer). No dynamic memory allocation is employed. All actor instances are statically
+initialized. One of the design goals for the generated C code was an optimized footprint in terms of
+memory and performance to be able to utilize modeling with ROOM also for tiny low end micro
+controllers.
+</p><!--l. 324--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1580009.2.4"></a>The Documentation Generator</h5>
+<!--l. 326--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be converted into PDF and
+many other formats.
+</p>
+<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse35.html" >prev</a>] [<a
+href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
+href="etrice-docse36.html" >front</a>] [<a
+href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
+<!--l. 82--><p class="noindent" ><a
+ id="tailetrice-docse36.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
index a6619ef3f..cb33c0a1d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
@@ -1,104 +1,104 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Setting up the Workspace for Java Projects</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse5.html" >next</a>] [<a
-href="etrice-docse3.html" >prev</a>] [<a
-href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
-href="#tailetrice-docse4.html">tail</a>] [<a
-href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">2.2 </span> <a
- id="x8-270002.2"></a>Setting up the Workspace for Java Projects</h3>
-<!--l. 3--><p class="noindent" >After installation of eclipse and the eTrice plug in, your workspace should look like this:
-</p><!--l. 5--><p class="noindent" ><img
-src="images/013-SetupWorkspace01.png" alt="PIC"
- />
-</p><!--l. 8--><p class="noindent" >Just the <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> menu item is visible of the installed eTrice plugins.
-</p><!--l. 10--><p class="noindent" >Select the menu <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;Other</span>
-</p><!--l. 12--><p class="noindent" ><img
-src="images/013-SetupWorkspace02.png" alt="PIC"
- />
-</p><!--l. 15--><p class="noindent" >Open the <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> tab and select <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Runtime</span>
-</p><!--l. 17--><p class="noindent" >Press <span
-class="ec-lmsso-10">Next </span>and <span
-class="ec-lmsso-10">Finish </span>to install the Runtime into your workspace.
-</p><!--l. 19--><p class="noindent" ><img
-src="images/013-SetupWorkspace03.png" alt="PIC"
- />
-</p><!--l. 22--><p class="noindent" >Do the same steps for <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Modellib </span>and <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Tutorials</span>. To avoid temporary error
-markers you should keep the proposed order of installation. The resulting workspace should look like
-this:
-</p><!--l. 26--><p class="noindent" ><img
-src="images/013-SetupWorkspace04.png" alt="PIC"
- />
-</p><!--l. 29--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your work.
-</p><!--l. 31--><p class="noindent" >The tutorial models are available in the <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.java </span>project. All tutorials are ready to generate
-and run without any changes. To start the code generator simply run <span
-class="ec-lmsso-10">gen_org.eclipse.etrice.tutorials.java.launch </span>as
-<span
-class="ec-lmsso-10">gen_org.eclipse.etrice.tutorials.java</span>:
-</p><!--l. 35--><p class="noindent" ><img
-src="images/013-SetupWorkspace05.png" alt="PIC"
- />
-</p><!--l. 38--><p class="noindent" >The successful generation ends with <span
-class="ec-lmsso-10">Info: &#8211; finished code generation </span>in the Console.
-</p><!--l. 40--><p class="noindent" ><img
-src="images/013-SetupWorkspace051.png" alt="PIC"
- />
-</p><!--l. 44--><p class="noindent" >For each tutorial in the folder src-gen a java package is generated including a java file called
-<span
-class="ec-lmsso-10">SubSystem_&#x003C;Modelname&#x003E;Runner.java </span>. To run the a generated application simply run this file as a
-java application. Try this with the file <span
-class="ec-lmsso-10">src-gen/HelloWorld/SubSystem_HelloWorldRunner.java</span>
-:
-</p><!--l. 48--><p class="noindent" ><img
-src="images/013-SetupWorkspace06.png" alt="PIC"
- />
-</p><!--l. 51--><p class="noindent" >To stop the application type <span
-class="ec-lmsso-10">quit </span>in the console window.
-</p><!--l. 53--><p class="noindent" ><img
-src="images/013-SetupWorkspace07.png" alt="PIC"
- />
-</p><!--l. 56--><p class="noindent" >Performing the tutorials will setup a dedicated project for each tutorial. Therefore there are some slight
-changes especially whenever a path must be set (e.g. to the model library) within your own projects. All this is
-described in the tutorials.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse5.html" >next</a>] [<a
-href="etrice-docse3.html" >prev</a>] [<a
-href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
-href="etrice-docse4.html" >front</a>] [<a
-href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse4.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Setting up the Workspace for Java Projects</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse5.html" >next</a>] [<a
+href="etrice-docse3.html" >prev</a>] [<a
+href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
+href="#tailetrice-docse4.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.2 </span> <a
+ id="x8-270002.2"></a>Setting up the Workspace for Java Projects</h3>
+<!--l. 3--><p class="noindent" >After installation of eclipse and the eTrice plug in, your workspace should look like this:
+</p><!--l. 5--><p class="noindent" ><img
+src="images/013-SetupWorkspace01.png" alt="PIC"
+ />
+</p><!--l. 8--><p class="noindent" >Just the <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> menu item is visible of the installed eTrice plugins.
+</p><!--l. 10--><p class="noindent" >Select the menu <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;Other</span>
+</p><!--l. 12--><p class="noindent" ><img
+src="images/013-SetupWorkspace02.png" alt="PIC"
+ />
+</p><!--l. 15--><p class="noindent" >Open the <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> tab and select <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Runtime</span>
+</p><!--l. 17--><p class="noindent" >Press <span
+class="ec-lmsso-10">Next </span>and <span
+class="ec-lmsso-10">Finish </span>to install the Runtime into your workspace.
+</p><!--l. 19--><p class="noindent" ><img
+src="images/013-SetupWorkspace03.png" alt="PIC"
+ />
+</p><!--l. 22--><p class="noindent" >Do the same steps for <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Modellib </span>and <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Tutorials</span>. To avoid temporary error
+markers you should keep the proposed order of installation. The resulting workspace should look like
+this:
+</p><!--l. 26--><p class="noindent" ><img
+src="images/013-SetupWorkspace04.png" alt="PIC"
+ />
+</p><!--l. 29--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your work.
+</p><!--l. 31--><p class="noindent" >The tutorial models are available in the <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.java </span>project. All tutorials are ready to generate
+and run without any changes. To start the code generator simply run <span
+class="ec-lmsso-10">gen_org.eclipse.etrice.tutorials.java.launch </span>as
+<span
+class="ec-lmsso-10">gen_org.eclipse.etrice.tutorials.java</span>:
+</p><!--l. 35--><p class="noindent" ><img
+src="images/013-SetupWorkspace05.png" alt="PIC"
+ />
+</p><!--l. 38--><p class="noindent" >The successful generation ends with <span
+class="ec-lmsso-10">Info: &#8211; finished code generation </span>in the Console.
+</p><!--l. 40--><p class="noindent" ><img
+src="images/013-SetupWorkspace051.png" alt="PIC"
+ />
+</p><!--l. 44--><p class="noindent" >For each tutorial in the folder src-gen a java package is generated including a java file called
+<span
+class="ec-lmsso-10">SubSystem_&#x003C;Modelname&#x003E;Runner.java </span>. To run the a generated application simply run this file as a
+java application. Try this with the file <span
+class="ec-lmsso-10">src-gen/HelloWorld/SubSystem_HelloWorldRunner.java</span>
+:
+</p><!--l. 48--><p class="noindent" ><img
+src="images/013-SetupWorkspace06.png" alt="PIC"
+ />
+</p><!--l. 51--><p class="noindent" >To stop the application type <span
+class="ec-lmsso-10">quit </span>in the console window.
+</p><!--l. 53--><p class="noindent" ><img
+src="images/013-SetupWorkspace07.png" alt="PIC"
+ />
+</p><!--l. 56--><p class="noindent" >Performing the tutorials will setup a dedicated project for each tutorial. Therefore there are some slight
+changes especially whenever a path must be set (e.g. to the model library) within your own projects. All this is
+described in the tutorials.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse5.html" >next</a>] [<a
+href="etrice-docse3.html" >prev</a>] [<a
+href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
+href="etrice-docse4.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse4.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html
index 70c55834e..7a6f05262 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html
@@ -1,311 +1,149 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Tutorial HelloWorld for Java</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse6.html" >next</a>] [<a
-href="etrice-docse4.html" >prev</a>] [<a
-href="etrice-docse4.html#tailetrice-docse4.html" >prev-tail</a>] [<a
-href="#tailetrice-docse5.html">tail</a>] [<a
-href="etrice-docch2.html#etrice-docse5.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">2.3 </span> <a
- id="x9-280002.3"></a>Tutorial HelloWorld for Java</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.1 </span> <a
- id="x9-290002.3.1"></a>Scope</h4>
-<!--l. 5--><p class="noindent" >In this tutorial you will build your first very simple eTrice model. The goal is to learn the work
-flow of eTrice and to understand a few basic features of ROOM. You will perform the following
-steps:
-</p><!--l. 8--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x9-29002x1">create a new model from scratch
- </li>
- <li
- class="enumerate" id="x9-29004x2">add a very simple state machine to an actor
- </li>
- <li
- class="enumerate" id="x9-29006x3">generate the source code
- </li>
- <li
- class="enumerate" id="x9-29008x4">run the model
- </li>
- <li
- class="enumerate" id="x9-29010x5">open the message sequence chart</li></ol>
-<!--l. 16--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the workspace</span>.
-</p><!--l. 18--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.2 </span> <a
- id="x9-300002.3.2"></a>Create a new model from scratch</h4>
-<!--l. 20--><p class="noindent" >The easiest way to create a new eTrice Project is to use the eclipse project wizard. From the eclipse file menu
-select <span
-class="ec-lmssbx-10">File-&#x003E;New-&#x003E;Project </span>and create a new eTrice project and name it <span
-class="ec-lmssbx-10">HelloWorld</span>.
-</p><!--l. 23--><p class="noindent" ><img
-src="images/015-HelloWorld10.png" alt="PIC"
- />
-</p><!--l. 26--><p class="noindent" >The wizard creates everything that is needed to create, build and run an eTrice model. The resulting project
-should look like this:
-</p><!--l. 29--><p class="noindent" ><img
-src="images/015-HelloWorld11.png" alt="PIC"
- />
-</p><!--l. 32--><p class="noindent" >Within the model directory the model file <span
-class="ec-lmsso-10">HelloWorld.room </span>was created. Open the <span
-class="ec-lmsso-10">HelloWorld.room </span>file
-and delete the contents of the file. Open the content assist with Ctrl+Space and select <span
-class="ec-lmsso-10">model</span>
-<span
-class="ec-lmsso-10">skeleton</span>.
-</p><!--l. 36--><p class="noindent" ><img
-src="images/015-HelloWorld12.png" alt="PIC"
- />
-
-
-</p><!--l. 39--><p class="noindent" >Edit the template variables by typing the new names and jumping with Tab from name to name.
-</p><!--l. 41--><p class="noindent" >The resulting model code should look like this:
-</p>
-<!--l. 43-->
-<div class="lstlisting" id="listing-1"><span class="label"><a
- id="x9-30001r1"></a><span
-class="ec-lmss-8x-x-62">1</span></span><span
-class="ec-lmssbx-10x-x-90">RoomModel</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">HelloWorld</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="x9-30002r2"></a><span
-class="ec-lmss-8x-x-62">2</span></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x9-30003r3"></a><span
-class="ec-lmss-8x-x-62">3</span></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">LogicalSystem</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">System_HelloWorld</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="x9-30004r4"></a><span
-class="ec-lmss-8x-x-62">4</span></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-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">subsystem</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">SubSystem_HelloWorld</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x9-30005r5"></a><span
-class="ec-lmss-8x-x-62">5</span></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="x9-30006r6"></a><span
-class="ec-lmss-8x-x-62">6</span></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x9-30007r7"></a><span
-class="ec-lmss-8x-x-62">7</span></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">SubSystemClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">SubSystem_HelloWorld</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="x9-30008r8"></a><span
-class="ec-lmss-8x-x-62">8</span></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-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">&#x00A0;</span><span
-class="ec-lmtt-9">:</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">HelloWorldTop</span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x9-30009r9"></a><span
-class="ec-lmss-8x-x-62">9</span></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="x9-30010r10"></a><span
-class="ec-lmss-8x-x-62">10</span></span><span
-class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
- id="x9-30011r11"></a><span
-class="ec-lmss-8x-x-62">11</span></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">ActorClass</span><span
-class="ec-lmtt-9">&#x00A0;</span><span
-class="ec-lmtt-9">HelloWorldTop</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="x9-30012r12"></a><span
-class="ec-lmss-8x-x-62">12</span></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="x9-30013r13"></a><span
-class="ec-lmss-8x-x-62">13</span></span><span
-class="ec-lmtt-9">}</span>
-</div>
-<!--l. 59--><p class="noindent" >The goal of eTrice is to describe distributed systems on a logical level. In the current version not all
-elements will be used. But as prerequisite for further versions the following elements can be defined:
-</p>
- <ul class="itemize1">
- <li class="itemize">the <span
-class="ec-lmsso-10">LogicalSystem </span>(currently optional)
- </li>
- <li class="itemize">at least one <span
-class="ec-lmsso-10">SubSystemClass </span>(mandatory)
- </li>
- <li class="itemize">at least one <span
-class="ec-lmsso-10">ActorClass </span>(mandatory)</li></ul>
-<!--l. 67--><p class="noindent" >The <span
-class="ec-lmsso-10">LogicalSystem </span>represents the complete distributed system and contains at least one <span
-class="ec-lmsso-10">SubSystemRef</span>. The
-<span
-class="ec-lmsso-10">SubSystemClass </span>represents an address space and contains at least one <span
-class="ec-lmsso-10">ActorRef</span>. The <span
-class="ec-lmsso-10">ActorClass </span>is the
-building block of which an application will be built of. It is in general a good idea to define a top level actor
-that can be used as reference within the subsystem.
-</p><!--l. 72--><p class="noindent" >The outline view of the textual ROOM editor shows the main modeling elements in an easy to navigate
-tree.
-</p><!--l. 74--><p class="noindent" ><img
-src="images/015-HelloWorld02.png" alt="PIC"
- />
-</p><!--l. 78--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.3 </span> <a
- id="x9-310002.3.3"></a>Create a state machine</h4>
-<!--l. 80--><p class="noindent" >We will implement the Hello World code on the initial transition of the <span
-class="ec-lmsso-10">HelloWorldTop </span>actor. Therefore open
-the state machine editor by right clicking the <span
-class="ec-lmsso-10">HelloWorldTop </span>actor in the outline view and select <span
-class="ec-lmsso-10">Edit</span>
-<span
-class="ec-lmsso-10">Behavior</span>.
-</p><!--l. 84--><p class="noindent" ><img
-src="images/015-HelloWorld03.png" alt="PIC"
- />
-</p><!--l. 87--><p class="noindent" >The state machine editor will be opened. Drag and drop an <span
-class="ec-lmsso-10">Initial Point </span>from the tool box to the diagram into
-the top level state. Drag and drop a <span
-class="ec-lmsso-10">State </span>from the tool box to the diagram. Confirm the dialogue with
-<span
-class="ec-lmsso-10">ok</span>. Select the <span
-class="ec-lmsso-10">Transition </span>in the tool box and draw the transition from the <span
-class="ec-lmsso-10">Initial Point </span>to the
-State. Open the transition dialogue by double clicking the transition arrow and fill in the action
-code.
-
-
-</p>
-<div class="verbatim" id="verbatim-1">
-System.out.println("Hello&#x00A0;World&#x00A0;!");
-</div>
-<!--l. 95--><p class="nopar" >
-</p><!--l. 97--><p class="noindent" >The result should look like this:
-</p><!--l. 99--><p class="noindent" ><img
-src="images/015-HelloWorld04.png" alt="PIC"
- />
-</p><!--l. 102--><p class="noindent" >Save the diagram and inspect the model file. Note that the textual representation was created after saving the
-diagram.
-</p><!--l. 105--><p class="noindent" ><img
-src="images/015-HelloWorld05.png" alt="PIC"
- />
-</p><!--l. 109--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.4 </span> <a
- id="x9-320002.3.4"></a>Build and run the model</h4>
-<!--l. 111--><p class="noindent" >Now the model is finished and source code can be generated. The project wizard has created a launch
-configuration that is responsible for generating the source code. From <span
-class="ec-lmsso-10">HelloWorld/ </span>right click
-<span
-class="ec-lmssbx-10">gen_HelloWorld.launch </span>and run it as gen_HelloWorld. All model files in the model directory will be
-generated.
-</p><!--l. 116--><p class="noindent" ><img
-src="images/015-HelloWorld06.png" alt="PIC"
- />
-</p><!--l. 119--><p class="noindent" >The code will be generated to the src-gen directory. The main function will be contained in
-<span
-class="ec-lmssbx-10">SubSystem_HelloWorldRunner.java</span>. Select this file and run it as Java application.
-</p><!--l. 122--><p class="noindent" ><img
-src="images/015-HelloWorld07.png" alt="PIC"
- />
-</p><!--l. 126--><p class="noindent" >The Hello World application starts and the string will be printed on the console window. To stop the
-application the user must type <span
-class="ec-lmssbx-10">quit </span>in the console window.
-</p><!--l. 129--><p class="noindent" ><img
-src="images/015-HelloWorld08.png" alt="PIC"
- />
-</p><!--l. 132--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.5 </span> <a
- id="x9-330002.3.5"></a>Open the Message Sequence Chart</h4>
-<!--l. 134--><p class="noindent" >During runtime the application produced a MSC and wrote it to a file. Open
-HelloWorld/tmp/log/SubSystem_HelloWorld_Async.seq using Trace2UML (it is open source and can be
-obtained from http://trace2uml.tigris.org/). You should see something like this:
-</p><!--l. 138--><p class="noindent" ><img
-src="images/015-HelloWorld09.png" alt="PIC"
- />
-</p><!--l. 142--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.3.6 </span> <a
- id="x9-340002.3.6"></a>Summary</h4>
-<!--l. 144--><p class="noindent" >Now you have generated your first eTrice model from scratch. You can switch between diagram editor and
-model (.room file) and you can see what will be generated during editing and saving the diagram files. You
-should take a look at the generated source files to understand how the state machine is generated and the life
-cycle of the application. The next tutorials will deal with more complex hierarchies in structure and
-behavior.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse6.html" >next</a>] [<a
-href="etrice-docse4.html" >prev</a>] [<a
-href="etrice-docse4.html#tailetrice-docse4.html" >prev-tail</a>] [<a
-href="etrice-docse5.html" >front</a>] [<a
-href="etrice-docch2.html#etrice-docse5.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse5.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Setting up the Workspace for C Projects</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse6.html" >next</a>] [<a
+href="etrice-docse4.html" >prev</a>] [<a
+href="etrice-docse4.html#tailetrice-docse4.html" >prev-tail</a>] [<a
+href="#tailetrice-docse5.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse5.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.3 </span> <a
+ id="x9-280002.3"></a>Setting up the Workspace for C Projects</h3>
+<!--l. 3--><p class="noindent" >Before you can start with C, some preconditions must be fulfilled:
+ </p><dl class="description"><dt class="description">
+ </dt><dd
+class="description">A C compiler must be installed on your machine (all tests and tutorials are based on MinGW)
+ </dd><dt class="description">
+ </dt><dd
+class="description">The CDT-Eclipse plugin must be installed as the C development environment.</dd></dl>
+<!--l. 10--><p class="noindent" >Once the CDT is installed, the C runtime and model library must be imported. (<span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;Project-&#x003E;</span><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span>
+select <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">C runtime </span>/ <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">C modellib</span>)
+</p><!--l. 13--><p class="noindent" >The resulting workspace should look like this:
+</p><!--l. 15--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC01.png" alt="PIC"
+ />
+</p><!--l. 19--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.3.1 </span> <a
+ id="x9-290002.3.1"></a>Testing the environment</h4>
+<!--l. 21--><p class="noindent" >To verify the C tool chain you should generate and run the Hello World example program of the CDT. Activate
+the <span
+class="ec-lmsso-10">C/C++ </span>perspective.
+</p><!--l. 24--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC03.png" alt="PIC"
+ />
+</p><!--l. 27--><p class="noindent" >From the main menu select <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>.
+</p><!--l. 29--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC02.png" alt="PIC"
+ />
+</p><!--l. 32--><p class="noindent" >Name the project. Select an <span
+class="ec-lmsso-10">Executable-&#x003E;Hello World ANSI C </span>as project type, <span
+class="ec-lmsso-10">MinGW GCC </span>as tool chain and
+click <span
+class="ec-lmsso-10">Finish</span>.
+</p><!--l. 35--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC04.png" alt="PIC"
+ />
+</p><!--l. 38--><p class="noindent" >Select the new project and click the build button (or right click the project and select <span
+class="ec-lmsso-10">Build Project</span>)
+</p><!--l. 41--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC05.png" alt="PIC"
+ />
+</p><!--l. 44--><p class="noindent" >The binary should be generated. Run the binary as <span
+class="ec-lmsso-10">Local C/C++ Application</span>.
+</p><!--l. 46--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC06.png" alt="PIC"
+ />
+</p><!--l. 49--><p class="noindent" >Verify the output.
+</p><!--l. 51--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC07.png" alt="PIC"
+ />
+</p><!--l. 54--><p class="noindent" >Remember these steps. In the following Tutorials these steps will be referenced as <span
+class="ec-lmsso-10">build and run</span>.
+
+
+</p><!--l. 57--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.3.2 </span> <a
+ id="x9-300002.3.2"></a>Building the C runtime system</h4>
+<!--l. 59--><p class="noindent" >The C runtime system contains some basic functionalities to run the generated models. The so called runtime
+is common for all C projects. The requirements for several projects may differ depending on the functionality of
+the model or the resources of the different platforms. Therefore the runtime is configurable in terms of
+message queue size, frequency and memory alignment. The configuration file <span
+class="ec-lmsso-10">etRuntimeConfig.h </span>is located in
+<span
+class="ec-lmsso-10">src/config</span>.
+</p><!--l. 65--><p class="noindent" >After changing the configuration, the runtime must be built.
+</p><!--l. 67--><p class="noindent" >Open the properties of the <span
+class="ec-lmsso-10">org.eclipse.runtime.c </span>project and select <span
+class="ec-lmsso-10">C/C++ Build-&#x003E;Settings-&#x003E;Tool Settings</span>
+and select <span
+class="ec-lmsso-10">Includes</span>.
+</p><!--l. 70--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC08.png" alt="PIC"
+ />
+</p><!--l. 73--><p class="noindent" >Verify the include paths
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">src/config</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">src/common</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">src/platforms/generic</span></li></ul>
+<!--l. 81--><p class="noindent" >Within the Setting dialog select the tab <span
+class="ec-lmsso-10">Build Artefact </span>and select <span
+class="ec-lmsso-10">Static Library</span>
+</p><!--l. 83--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC09.png" alt="PIC"
+ />
+</p><!--l. 86--><p class="noindent" >Build the runtime by clicking
+</p><!--l. 88--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC10.png" alt="PIC"
+ />
+</p><!--l. 91--><p class="noindent" >The runtime library should be created.
+</p><!--l. 93--><p class="noindent" ><img
+src="images/014-SetupWorkspaceC11.png" alt="PIC"
+ />
+</p><!--l. 96--><p class="noindent" >For the tutorials one runtime library should be sufficient. For embedded projects it might be necessary to build
+project specific runtime libraries. In this case a separate project for the runtime should be created. Symbolic
+links to the sources might be used to avoid duplicate files. Just the configuration file must be duplicated. A
+specific library file must exist within the project. Such specific runtime libraries might be referenced from
+several applications.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse6.html" >next</a>] [<a
+href="etrice-docse4.html" >prev</a>] [<a
+href="etrice-docse4.html#tailetrice-docse4.html" >prev-tail</a>] [<a
+href="etrice-docse5.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse5.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse5.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html
index 8e301046d..fc7b1a647 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html
@@ -1,471 +1,311 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Tutorial Blinky (Java)</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse7.html" >next</a>] [<a
-href="etrice-docse5.html" >prev</a>] [<a
-href="etrice-docse5.html#tailetrice-docse5.html" >prev-tail</a>] [<a
-href="#tailetrice-docse6.html">tail</a>] [<a
-href="etrice-docch2.html#etrice-docse6.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">2.4 </span> <a
- id="x10-350002.4"></a>Tutorial Blinky (Java)</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.1 </span> <a
- id="x10-360002.4.1"></a>Scope</h4>
-<!--l. 5--><p class="noindent" >This tutorial describes how to use the <span
-class="ec-lmsso-10">TimingService</span>, how to combine a generated model with manual code
-and how to model a hierarchical state machine. The idea of the tutorial is to switch a LED on and off. The
-behavior of the LED should be: blinking in a one second interval for 5 seconds, stop blinking for 5 seconds,
-blinking, stop,... For this exercise we will use a little GUI class that will be used in more sophisticated tutorials
-too. The GUI simulates a pedestrian traffic crossing. For now, just a simple LED simulation will be used from
-the GUI.
-</p><!--l. 13--><p class="noindent" >After the exercise is created you must copy the GUI to your src directory (see below).
-</p><!--l. 15--><p class="noindent" >The package contains four java classes which implements a small window with a 3-light traffic light which
-simulates the signals for the car traffic and a 2-light traffic light which simulates the pedestrian
-signals.
-</p><!--l. 19--><p class="noindent" >The GUI looks like this:
-</p><!--l. 21--><p class="noindent" ><img
-src="images/020-Blinky08.png" alt="PIC"
- />
-</p><!--l. 24--><p class="noindent" >Within this tutorial we will just toggle the yellow light.
-</p><!--l. 26--><p class="noindent" >You will perform the following steps:
-</p><!--l. 28--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x10-36002x1">create a new model from scratch
- </li>
- <li
- class="enumerate" id="x10-36004x2">define a protocol
- </li>
- <li
- class="enumerate" id="x10-36006x3">create an actor structure
- </li>
- <li
- class="enumerate" id="x10-36008x4">create a hierarchical state machine
- </li>
- <li
- class="enumerate" id="x10-36010x5">use the predefined <span
-class="ec-lmsso-10">TimingService</span>
- </li>
- <li
- class="enumerate" id="x10-36012x6">combine manual code with generated code
- </li>
- <li
- class="enumerate" id="x10-36014x7">build and run the model
- </li>
- <li
- class="enumerate" id="x10-36016x8">open the message sequence chart</li></ol>
-
-
-<!--l. 39--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.2 </span> <a
- id="x10-370002.4.2"></a>Create a new model from scratch</h4>
-<!--l. 41--><p class="noindent" >Remember the exercise <span
-class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
-class="ec-lmsso-10">Blinky</span>.
-</p><!--l. 44--><p class="noindent" >To use the GUI please copy the package <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>from <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials/src</span>
-to your <span
-class="ec-lmsso-10">src </span>directory <span
-class="ec-lmsso-10">Blinky/src</span>. For this tutorial you must remove the error markers by editing the file
-<span
-class="ec-lmsso-10">PedestrianLightWndNoTcp.java</span>. Appropriate comments are provided to remove the error markers for this
-turorial.
-</p><!--l. 49--><p class="noindent" >Open the <span
-class="ec-lmsso-10">Blinky.room </span>file and copy the following code into the file or use content assist to create the
-model.
-
-
-</p>
-<div class="verbatim" id="verbatim-2">
-RoomModel&#x00A0;Blinky&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem&#x00A0;:&#x00A0;SubSystem_Blinky
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SubSystem_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;application&#x00A0;:&#x00A0;BlinkyTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;BlinkyTop&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 66--><p class="nopar" >
-</p><!--l. 68--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.3 </span> <a
- id="x10-380002.4.3"></a>Add two additional actor classes</h4>
-<!--l. 70--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
-context menu select <span
-class="ec-lmsso-10">Content Assist</span>
-</p><!--l. 73--><p class="noindent" ><img
-src="images/020-Blinky02.png" alt="PIC"
- />
-</p><!--l. 76--><p class="noindent" >Select <span
-class="ec-lmsso-10">ActorClass - actor class skeleton </span>and name it <span
-class="ec-lmsso-10">Blinky</span>.
-</p><!--l. 78--><p class="noindent" ><img
-src="images/020-Blinky01.png" alt="PIC"
- />
-</p><!--l. 81--><p class="noindent" >Repeat the described procedure and name the new actor <span
-class="ec-lmsso-10">BlinkyController</span>.
-</p><!--l. 83--><p class="noindent" >With Ctrl+Shift+F you can beautify the model code.
-</p><!--l. 85--><p class="noindent" >Save the model and visit the outline view.
-</p><!--l. 87--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.4 </span> <a
- id="x10-390002.4.4"></a>Create a new protocol</h4>
-<!--l. 89--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create a <span
-class="ec-lmsso-10">ProtocolClass </span>and name it <span
-class="ec-lmsso-10">BlinkyControlProtocol</span>. Inside the
-brackets use the <span
-class="ec-lmsso-10">Content Assist </span>(CTRL+Space) to create two incoming messages called <span
-class="ec-lmsso-10">start </span>and
-<span
-class="ec-lmsso-10">stop</span>.
-</p><!--l. 94--><p class="noindent" >The resulting code should look like this:
-</p><!--l. 96--><p class="noindent" ><img
-src="images/020-Blinky03.png" alt="PIC"
- />
-</p><!--l. 99--><p class="noindent" >With Ctrl-Shift+F or selecting <span
-class="ec-lmsso-10">Format </span>from the context menu you can format the text. Note that all elements
-are displayed in the outline view.
-
-
-</p><!--l. 102--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.5 </span> <a
- id="x10-400002.4.5"></a>Import the Timing Service</h4>
-<!--l. 104--><p class="noindent" >Switching on and off the LED is timing controlled. The timing service is provided from the model library and
-must be imported before it can be used from the model.
-</p><!--l. 107--><p class="noindent" >This is the first time you use an element from the modellib. Make sure that your Java Build Path has the
-appropriate entry to the modellib. Otherwise the jave code, which will be generated from the modellib,
-can not be referenced. (right click to <span
-class="ec-lmsso-10">Blinky </span>and select properties. Select the <span
-class="ec-lmsso-10">Java Build Path</span>
-tab)
-</p><!--l. 112--><p class="noindent" ><img
-src="images/020-Blinky16.png" alt="PIC"
- />
-</p><!--l. 115--><p class="noindent" >After the build path is set up return to the model and navigate the cursor at the beginning of the model and
-import the timing service:
-
-
-</p>
-<div class="verbatim" id="verbatim-3">
-RoomModel&#x00A0;Blinky&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;import&#x00A0;room.basic.service.timing.*&#x00A0;from
-&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem:&#x00A0;SubSystem\_Blinky
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-&#x00A0;<br />...
-</div>
-<!--l. 130--><p class="nopar" >
-</p><!--l. 133--><p class="noindent" >Make sure that the path fits to your folder structure. The original tutorial code is different due to the folder
-structure.
-</p><!--l. 136--><p class="noindent" >Now it can be used within the model. Right click to <span
-class="ec-lmssbx-10">SubSystem_Blinky </span>within the outline view.
-Select <span
-class="ec-lmsso-10">Edit Structure</span>. The <span
-class="ec-lmsso-10">application </span>is already referenced in the subsystem. Drag and Drop an
-<span
-class="ec-lmsso-10">ActorRef </span>to the <span
-class="ec-lmssbx-10">SubSystem_Blinky </span>and name it <span
-class="ec-lmsso-10">timingService</span>. From the actor class drop down list
-select <span
-class="ec-lmsso-10">room.basic.service.timing.ATimingService</span>. Draw a <span
-class="ec-lmsso-10">LayerConnection </span>from <span
-class="ec-lmsso-10">application </span>to
-each service provision point (SPP) of the <span
-class="ec-lmsso-10">timingService</span>. The resulting structure should look like
-this:
-</p><!--l. 143--><p class="noindent" ><img
-src="images/020-Blinky06.png" alt="PIC"
- />
-</p><!--l. 146--><p class="noindent" >The current version of eTrice does not provide a graphical element for a service access point
-(SAP). Therefore the SAPs to access the timing service must be added in the .room file. Open the
-<span
-class="ec-lmsso-10">Blinky.room </span>file and navigate to the <span
-class="ec-lmsso-10">Blinky </span>actor. Add the following line to the structure of the
-actor:
-
-
-</p>
-<div class="verbatim" id="verbatim-4">
-SAP&#x00A0;timer:&#x00A0;room.basic.service.timing.PTimeout&#x00A0;
-</div>
-<!--l. 151--><p class="nopar" >
-</p><!--l. 153--><p class="noindent" >Do the same thing for <span
-class="ec-lmsso-10">BlinkyController</span>.
-</p><!--l. 155--><p class="noindent" >The resulting code should look like this:
-</p><!--l. 157--><p class="noindent" ><img
-src="images/020-Blinky07.png" alt="PIC"
- />
-</p><!--l. 161--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.6 </span> <a
- id="x10-410002.4.6"></a>Finish the model structure</h4>
-<!--l. 163--><p class="noindent" >From the outline view right click to <span
-class="ec-lmsso-10">Blinky </span>and select <span
-class="ec-lmsso-10">Edit Structure</span>. Drag and Drop an <span
-class="ec-lmsso-10">Interface Port </span>to the
-boarder of the <span
-class="ec-lmsso-10">Blinky </span>actor. Note that an interface port is not possible inside the actor. Name the port
-<span
-class="ec-lmsso-10">ControlPort </span>and select <span
-class="ec-lmsso-10">BlinkyControlProtocol </span>from the drop down list. Uncheck <span
-class="ec-lmsso-10">Conjugated </span>and <span
-class="ec-lmsso-10">Is Relay Port</span>.
-Click <span
-class="ec-lmsso-10">ok</span>. The resulting structure should look like this:
-</p><!--l. 169--><p class="noindent" ><img
-src="images/020-Blinky04.png" alt="PIC"
- />
-</p><!--l. 172--><p class="noindent" >Repeat the above steps for the <span
-class="ec-lmsso-10">BlinkyController</span>. Make the port <span
-class="ec-lmsso-10">Conjugated</span>
-</p><!--l. 174--><p class="noindent" >Keep in mind that the protocol defines <span
-class="ec-lmsso-10">start </span>and <span
-class="ec-lmsso-10">stop </span>as incoming messages. <span
-class="ec-lmsso-10">Blinky </span>receives this messages and
-therefore <span
-class="ec-lmsso-10">Blinky</span>&#8217;s <span
-class="ec-lmsso-10">ControlPort </span>must be a regular port and <span
-class="ec-lmsso-10">BlinkyController</span>&#8217;s <span
-class="ec-lmsso-10">ControlPort </span>must be a
-conjugated port.
-</p><!--l. 179--><p class="noindent" >From the outline view right click <span
-class="ec-lmsso-10">BlinkyTop </span>and select <span
-class="ec-lmsso-10">Edit Structure</span>.
-</p><!--l. 181--><p class="noindent" >Drag and Drop an <span
-class="ec-lmsso-10">ActorRef </span>inside the <span
-class="ec-lmsso-10">BlinkyTop </span>actor. Name it <span
-class="ec-lmsso-10">blinky</span>. From the actor class drop down list
-select <span
-class="ec-lmsso-10">Blinky</span>. Do the same for <span
-class="ec-lmsso-10">controller</span>. Connect the ports via the binding tool. The resulting structure
-should look like this:
-</p><!--l. 185--><p class="noindent" ><img
-src="images/020-Blinky05.png" alt="PIC"
- />
-</p><!--l. 188--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.7 </span> <a
- id="x10-420002.4.7"></a>Implement the Behavior</h4>
-<!--l. 190--><p class="noindent" >The application should switch on and off the LED for 5 seconds in a 1 second interval, then stop blinking for 5
-seconds and start again. To implement this behavior we will implement two FSMs. One for the 1
-second interval and one for the 5 second interval. The 1 second blinking should be implemented in
-<span
-class="ec-lmsso-10">Blinky</span>. The 5 second interval should be implemented in <span
-class="ec-lmsso-10">BlinkyController</span>. First implement the
-Controller.
-</p><!--l. 196--><p class="noindent" >Right click to <span
-class="ec-lmsso-10">BlinkyController </span>and select <span
-class="ec-lmsso-10">Edit Behavior</span>. Drag and Drop the <span
-class="ec-lmsso-10">Initial Point </span>and two <span
-class="ec-lmsso-10">States </span>into
-the top state. Name the states <span
-class="ec-lmsso-10">on </span>and <span
-class="ec-lmsso-10">off</span>. Use the <span
-class="ec-lmsso-10">Transition </span>tool to draw transitions from <span
-class="ec-lmsso-10">init </span>to <span
-class="ec-lmsso-10">on </span>from <span
-class="ec-lmsso-10">on</span>
-to <span
-class="ec-lmsso-10">off </span>and from <span
-class="ec-lmsso-10">off </span>to <span
-class="ec-lmsso-10">on</span>.
-</p><!--l. 202--><p class="noindent" >Open the transition dialog by double click the arrow to specify the trigger event and the action code of each
-transition. Note that the initial transition does not have a trigger event.
-</p><!--l. 205--><p class="noindent" >The transition dialog should look like this:
-</p><!--l. 207--><p class="noindent" ><img
-src="images/020-Blinky09.png" alt="PIC"
- />
-
-
-</p><!--l. 210--><p class="noindent" >The defined ports will be generated as a member attribute of the actor class from type of the attached
-protocol. So, to send e message you must state <span
-class="ec-lmsso-10">port.message(param);</span>. In this example <span
-class="ec-lmsso-10">ControlPort.start()</span>
-sends the <span
-class="ec-lmsso-10">start </span>message via the <span
-class="ec-lmsso-10">ControlPort </span>to the outside world. Assuming that <span
-class="ec-lmsso-10">Blinky </span>is connected to this
-port, the message will start the one second blinking FSM. It is the same thing with the <span
-class="ec-lmsso-10">timer</span>. The SAP is
-also a port and follows the same rules. So it is clear that <span
-class="ec-lmsso-10">timer.Start(5000); </span>will send the <span
-class="ec-lmsso-10">Start</span>
-message to the timing service. The timing service will send a <span
-class="ec-lmsso-10">timeoutTick </span>message back after
-5000ms.
-</p><!--l. 218--><p class="noindent" >Within each transition the timer will be restarted and the appropriate message will be sent via the
-<span
-class="ec-lmsso-10">ControlPort</span>.
-</p><!--l. 221--><p class="noindent" >The resulting state machine should look like this: (Note that the arrows peak changes if the transition contains
-action code.)
-</p><!--l. 224--><p class="noindent" ><img
-src="images/020-Blinky10.png" alt="PIC"
- />
-</p><!--l. 227--><p class="noindent" >Save the diagram and inspect the <span
-class="ec-lmsso-10">Blinky.room </span>file. The <span
-class="ec-lmsso-10">BlinkyController </span>should look like this:
-</p><!--l. 230--><p class="noindent" ><img
-src="images/020-Blinky11.png" alt="PIC"
- />
-</p><!--l. 233--><p class="noindent" >Now we will implement <span
-class="ec-lmsso-10">Blinky</span>. Due to the fact that <span
-class="ec-lmsso-10">Blinky </span>interacts with the GUI class a view things must to
-be done in the model file.
-</p><!--l. 236--><p class="noindent" >Double click <span
-class="ec-lmsso-10">Blinky </span>in the outline view to navigate to <span
-class="ec-lmsso-10">Blinky </span>within the model file. Add the following code:
-(type it or simply copy it from the tutorial project)
-</p><!--l. 240--><p class="noindent" ><img
-src="images/020-Blinky12.png" alt="PIC"
- />
-</p><!--l. 243--><p class="noindent" ><span
-class="ec-lmsso-10">usercode1 </span>will be generated at the beginning of the file, outside the class definition. <span
-class="ec-lmsso-10">usercode2 </span>will
-be generated within the class definition. The code imports the GUI class and instantiates the
-window class. Attributes for the carLights and pedLights will be declared to easily access the lights
-in the state machine. The Operation <span
-class="ec-lmsso-10">destroyUser() </span>is a predefined operation that will be called
-during shutdown of the application. Within this operation, cleanup of manual coded classes can be
-done.
-</p><!--l. 250--><p class="noindent" >Now design the FSM of <span
-class="ec-lmsso-10">Blinky</span>. Remember, as the name suggested <span
-class="ec-lmsso-10">blinking </span>is a state in which the LED must
-be switched on and off. We will realize that by an hierarchical FSM in which the <span
-class="ec-lmsso-10">blinking </span>state has two sub
-states.
-</p><!--l. 254--><p class="noindent" >Open the behavior diagram of <span
-class="ec-lmsso-10">Blinky </span>by right clicking the <span
-class="ec-lmsso-10">Blinky </span>actor in the outline view. Create two states
-named <span
-class="ec-lmsso-10">blinking </span>and <span
-class="ec-lmsso-10">off</span>. Right click to <span
-class="ec-lmsso-10">blinking </span>and create a subgraph.
-</p><!--l. 258--><p class="noindent" ><img
-src="images/020-Blinky13.png" alt="PIC"
- />
-</p><!--l. 261--><p class="noindent" >Create the following state machine. The trigger events between <span
-class="ec-lmsso-10">on </span>and <span
-class="ec-lmsso-10">off </span>are the <span
-class="ec-lmsso-10">timeoutTick </span>from the <span
-class="ec-lmsso-10">timer</span>
-port.
-</p><!--l. 264--><p class="noindent" ><img
-src="images/020-Blinky14.png" alt="PIC"
- />
-</p><!--l. 267--><p class="noindent" >Create entry code for both states by right clicking the state and select <span
-class="ec-lmsso-10">Edit State...</span>
-</p><!--l. 269--><p class="noindent" >Entry code of <span
-class="ec-lmsso-10">on </span>is:
-
-
-</p>
-<div class="verbatim" id="verbatim-5">
-timer.Start(1000);
-&#x00A0;<br />carLights.setState(TrafficLight3.YELLOW);
-</div>
-<!--l. 274--><p class="nopar" >
-</p><!--l. 277--><p class="noindent" >Entry code of <span
-class="ec-lmsso-10">off </span>is:
-
-
-</p>
-<div class="verbatim" id="verbatim-6">
-timer.Start(1000);
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
-</div>
-<!--l. 282--><p class="nopar" >
-</p><!--l. 284--><p class="noindent" >Navigate to the Top level state by double clicking the <span
-class="ec-lmsso-10">/blinking </span>state. Create the following state
-machine:
-</p><!--l. 287--><p class="noindent" ><img
-src="images/020-Blinky15.png" alt="PIC"
- />
-</p><!--l. 290--><p class="noindent" >The trigger event from <span
-class="ec-lmsso-10">off </span>to <span
-class="ec-lmsso-10">blinking </span>is the <span
-class="ec-lmsso-10">start </span>event from the <span
-class="ec-lmsso-10">ControlPort</span>.The trigger event from <span
-class="ec-lmsso-10">blinking</span>
-to <span
-class="ec-lmsso-10">off </span>is the <span
-class="ec-lmsso-10">stop </span>event from the <span
-class="ec-lmsso-10">ControlPort</span>. Note: The transition from <span
-class="ec-lmsso-10">blinking </span>to <span
-class="ec-lmsso-10">off </span>is a so called group
-transition. This is a outgoing transition from a super state (state with sub states) without specifying the
-concrete leave state (state without sub states). An incoming transition to a super state is called history
-transition.
-</p><!--l. 297--><p class="noindent" >Action code of the init transition is:
-
-
-</p>
-<div class="verbatim" id="verbatim-7">
-carLights&#x00A0;=&#x00A0;light.getCarLights();
-&#x00A0;<br />pedLights&#x00A0;=&#x00A0;light.getPedLights();
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
-&#x00A0;<br />pedLights.setState(TrafficLight2.OFF);
-</div>
-<!--l. 304--><p class="nopar" >
-</p><!--l. 306--><p class="noindent" >Action code from <span
-class="ec-lmsso-10">blinking </span>to <span
-class="ec-lmsso-10">off </span>is:
-
-
-</p>
-<div class="verbatim" id="verbatim-8">
-timer.Kill();
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
-</div>
-<!--l. 311--><p class="nopar" >
-</p><!--l. 313--><p class="noindent" >The model is complete now. You can run and debug the model as described in getting started. Have
-fun.
-</p><!--l. 315--><p class="noindent" >The complete model can be found in /org.eclipse.etrice.tutorials/model/Blinky.
-</p><!--l. 317--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.4.8 </span> <a
- id="x10-430002.4.8"></a>Summary</h4>
-<!--l. 319--><p class="noindent" >Run the model and take a look at the generated MSCs. Inspect the generated code to understand the runtime
-model of eTrice. Within this tutorial you have learned how to create a hierarchical FSM with group transitions
-and history transitions and you have used entry code. You are now familiar with the basic features of eTrice.
-The further tutorials will take this knowledge as a precondition.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse7.html" >next</a>] [<a
-href="etrice-docse5.html" >prev</a>] [<a
-href="etrice-docse5.html#tailetrice-docse5.html" >prev-tail</a>] [<a
-href="etrice-docse6.html" >front</a>] [<a
-href="etrice-docch2.html#etrice-docse6.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse6.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>HelloWorld for Java</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse7.html" >next</a>] [<a
+href="etrice-docse5.html" >prev</a>] [<a
+href="etrice-docse5.html#tailetrice-docse5.html" >prev-tail</a>] [<a
+href="#tailetrice-docse6.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse6.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.4 </span> <a
+ id="x10-310002.4"></a>HelloWorld for Java</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.1 </span> <a
+ id="x10-320002.4.1"></a>Scope</h4>
+<!--l. 5--><p class="noindent" >In this tutorial you will build your first very simple eTrice model. The goal is to learn the work
+flow of eTrice and to understand a few basic features of ROOM. You will perform the following
+steps:
+</p><!--l. 8--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x10-32002x1">create a new model from scratch
+ </li>
+ <li
+ class="enumerate" id="x10-32004x2">add a very simple state machine to an actor
+ </li>
+ <li
+ class="enumerate" id="x10-32006x3">generate the source code
+ </li>
+ <li
+ class="enumerate" id="x10-32008x4">run the model
+ </li>
+ <li
+ class="enumerate" id="x10-32010x5">open the message sequence chart</li></ol>
+<!--l. 16--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ec-lmsso-10">Setting up the workspace</span>.
+</p><!--l. 18--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.2 </span> <a
+ id="x10-330002.4.2"></a>Create a new model from scratch</h4>
+<!--l. 20--><p class="noindent" >The easiest way to create a new eTrice Project is to use the eclipse project wizard. From the eclipse file menu
+select <span
+class="ec-lmssbx-10">File-&#x003E;New-&#x003E;Project </span>and create a new eTrice project and name it <span
+class="ec-lmssbx-10">HelloWorld</span>.
+</p><!--l. 23--><p class="noindent" ><img
+src="images/015-HelloWorld10.png" alt="PIC"
+ />
+</p><!--l. 26--><p class="noindent" >The wizard creates everything that is needed to create, build and run an eTrice model. The resulting project
+should look like this:
+</p><!--l. 29--><p class="noindent" ><img
+src="images/015-HelloWorld11.png" alt="PIC"
+ />
+</p><!--l. 32--><p class="noindent" >Within the model directory the model file <span
+class="ec-lmsso-10">HelloWorld.room </span>was created. Open the <span
+class="ec-lmsso-10">HelloWorld.room </span>file
+and delete the contents of the file. Open the content assist with Ctrl+Space and select <span
+class="ec-lmsso-10">model</span>
+<span
+class="ec-lmsso-10">skeleton</span>.
+</p><!--l. 36--><p class="noindent" ><img
+src="images/015-HelloWorld12.png" alt="PIC"
+ />
+
+
+</p><!--l. 39--><p class="noindent" >Edit the template variables by typing the new names and jumping with Tab from name to name.
+</p><!--l. 41--><p class="noindent" >The resulting model code should look like this:
+</p>
+<!--l. 43-->
+<div class="lstlisting" id="listing-1"><span class="label"><a
+ id="x10-33001r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">HelloWorld</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="x10-33002r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x10-33003r3"></a><span
+class="ec-lmss-8x-x-62">3</span></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">LogicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">System_HelloWorld</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="x10-33004r4"></a><span
+class="ec-lmss-8x-x-62">4</span></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-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">subsystem</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">SubSystem_HelloWorld</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x10-33005r5"></a><span
+class="ec-lmss-8x-x-62">5</span></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="x10-33006r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x10-33007r7"></a><span
+class="ec-lmss-8x-x-62">7</span></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">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubSystem_HelloWorld</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="x10-33008r8"></a><span
+class="ec-lmss-8x-x-62">8</span></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-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">&#x00A0;</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">HelloWorldTop</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x10-33009r9"></a><span
+class="ec-lmss-8x-x-62">9</span></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="x10-33010r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x10-33011r11"></a><span
+class="ec-lmss-8x-x-62">11</span></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">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">HelloWorldTop</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="x10-33012r12"></a><span
+class="ec-lmss-8x-x-62">12</span></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="x10-33013r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">}</span>
+</div>
+<!--l. 59--><p class="noindent" >The goal of eTrice is to describe distributed systems on a logical level. In the current version not all
+elements will be used. But as prerequisite for further versions the following elements can be defined:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">the <span
+class="ec-lmsso-10">LogicalSystem </span>(currently optional)
+ </li>
+ <li class="itemize">at least one <span
+class="ec-lmsso-10">SubSystemClass </span>(mandatory)
+ </li>
+ <li class="itemize">at least one <span
+class="ec-lmsso-10">ActorClass </span>(mandatory)</li></ul>
+<!--l. 67--><p class="noindent" >The <span
+class="ec-lmsso-10">LogicalSystem </span>represents the complete distributed system and contains at least one <span
+class="ec-lmsso-10">SubSystemRef</span>. The
+<span
+class="ec-lmsso-10">SubSystemClass </span>represents an address space and contains at least one <span
+class="ec-lmsso-10">ActorRef</span>. The <span
+class="ec-lmsso-10">ActorClass </span>is the
+building block of which an application will be built of. It is in general a good idea to define a top level actor
+that can be used as reference within the subsystem.
+</p><!--l. 72--><p class="noindent" >The outline view of the textual ROOM editor shows the main modeling elements in an easy to navigate
+tree.
+</p><!--l. 74--><p class="noindent" ><img
+src="images/015-HelloWorld02.png" alt="PIC"
+ />
+</p><!--l. 78--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.3 </span> <a
+ id="x10-340002.4.3"></a>Create a state machine</h4>
+<!--l. 80--><p class="noindent" >We will implement the Hello World code on the initial transition of the <span
+class="ec-lmsso-10">HelloWorldTop </span>actor. Therefore open
+the state machine editor by right clicking the <span
+class="ec-lmsso-10">HelloWorldTop </span>actor in the outline view and select <span
+class="ec-lmsso-10">Edit</span>
+<span
+class="ec-lmsso-10">Behavior</span>.
+</p><!--l. 84--><p class="noindent" ><img
+src="images/015-HelloWorld03.png" alt="PIC"
+ />
+</p><!--l. 87--><p class="noindent" >The state machine editor will be opened. Drag and drop an <span
+class="ec-lmsso-10">Initial Point </span>from the tool box to the diagram into
+the top level state. Drag and drop a <span
+class="ec-lmsso-10">State </span>from the tool box to the diagram. Confirm the dialogue with
+<span
+class="ec-lmsso-10">ok</span>. Select the <span
+class="ec-lmsso-10">Transition </span>in the tool box and draw the transition from the <span
+class="ec-lmsso-10">Initial Point </span>to the
+State. Open the transition dialogue by double clicking the transition arrow and fill in the action
+code.
+
+
+</p>
+<div class="verbatim" id="verbatim-1">
+System.out.println("Hello&#x00A0;World&#x00A0;!");
+</div>
+<!--l. 95--><p class="nopar" >
+</p><!--l. 97--><p class="noindent" >The result should look like this:
+</p><!--l. 99--><p class="noindent" ><img
+src="images/015-HelloWorld04.png" alt="PIC"
+ />
+</p><!--l. 102--><p class="noindent" >Save the diagram and inspect the model file. Note that the textual representation was created after saving the
+diagram.
+</p><!--l. 105--><p class="noindent" ><img
+src="images/015-HelloWorld05.png" alt="PIC"
+ />
+</p><!--l. 109--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.4 </span> <a
+ id="x10-350002.4.4"></a>Build and run the model</h4>
+<!--l. 111--><p class="noindent" >Now the model is finished and source code can be generated. The project wizard has created a launch
+configuration that is responsible for generating the source code. From <span
+class="ec-lmsso-10">HelloWorld/ </span>right click
+<span
+class="ec-lmssbx-10">gen_HelloWorld.launch </span>and run it as gen_HelloWorld. All model files in the model directory will be
+generated.
+</p><!--l. 116--><p class="noindent" ><img
+src="images/015-HelloWorld06.png" alt="PIC"
+ />
+</p><!--l. 119--><p class="noindent" >The code will be generated to the src-gen directory. The main function will be contained in
+<span
+class="ec-lmssbx-10">SubSystem_HelloWorldRunner.java</span>. Select this file and run it as Java application.
+</p><!--l. 122--><p class="noindent" ><img
+src="images/015-HelloWorld07.png" alt="PIC"
+ />
+</p><!--l. 126--><p class="noindent" >The Hello World application starts and the string will be printed on the console window. To stop the
+application the user must type <span
+class="ec-lmssbx-10">quit </span>in the console window.
+</p><!--l. 129--><p class="noindent" ><img
+src="images/015-HelloWorld08.png" alt="PIC"
+ />
+</p><!--l. 132--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.5 </span> <a
+ id="x10-360002.4.5"></a>Open the Message Sequence Chart</h4>
+<!--l. 134--><p class="noindent" >During runtime the application produced a MSC and wrote it to a file. Open
+HelloWorld/tmp/log/SubSystem_HelloWorld_Async.seq using Trace2UML (it is open source and can be
+obtained from http://trace2uml.tigris.org/). You should see something like this:
+</p><!--l. 138--><p class="noindent" ><img
+src="images/015-HelloWorld09.png" alt="PIC"
+ />
+</p><!--l. 142--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.4.6 </span> <a
+ id="x10-370002.4.6"></a>Summary</h4>
+<!--l. 144--><p class="noindent" >Now you have generated your first eTrice model from scratch. You can switch between diagram editor and
+model (.room file) and you can see what will be generated during editing and saving the diagram files. You
+should take a look at the generated source files to understand how the state machine is generated and the life
+cycle of the application. The next tutorials will deal with more complex hierarchies in structure and
+behavior.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse7.html" >next</a>] [<a
+href="etrice-docse5.html" >prev</a>] [<a
+href="etrice-docse5.html#tailetrice-docse5.html" >prev-tail</a>] [<a
+href="etrice-docse6.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse6.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse6.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html
index 2e1dc0062..6f83fd39a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html
@@ -1,407 +1,257 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Tutorial Sending Data (Java)</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch3.html" >next</a>] [<a
-href="etrice-docse6.html" >prev</a>] [<a
-href="etrice-docse6.html#tailetrice-docse6.html" >prev-tail</a>] [<a
-href="#tailetrice-docse7.html">tail</a>] [<a
-href="etrice-docch2.html#etrice-docse7.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">2.5 </span> <a
- id="x11-440002.5"></a>Tutorial Sending Data (Java)</h3>
-<!--l. 3--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.1 </span> <a
- id="x11-450002.5.1"></a>Scope</h4>
-<!--l. 5--><p class="noindent" >This tutorial shows how data will be sent in a eTrice model. Within the example you will create two actors
-(MrPing and MrPong). MrPong will simply loop back every data it received. MrPing will send data and verify
-the result.
-</p><!--l. 9--><p class="noindent" >You will perform the following steps:
-</p><!--l. 11--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x11-45002x1">create a new model from scratch
- </li>
- <li
- class="enumerate" id="x11-45004x2">create a data class
- </li>
- <li
- class="enumerate" id="x11-45006x3">define a protocol with attached data
- </li>
- <li
- class="enumerate" id="x11-45008x4">create an actor structure
- </li>
- <li
- class="enumerate" id="x11-45010x5">create two simple state machines
- </li>
- <li
- class="enumerate" id="x11-45012x6">build and run the model</li></ol>
-<!--l. 20--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.2 </span> <a
- id="x11-460002.5.2"></a>Create a new model from scratch</h4>
-<!--l. 22--><p class="noindent" >Remember exercise <span
-class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
-class="ec-lmsso-10">SendingData</span>. Open the
-<span
-class="ec-lmsso-10">SendingData.room </span>file and copy the following code into the file or use content assist to create the
-model.
-
-
-</p>
-<div class="verbatim" id="verbatim-9">
-RoomModel&#x00A0;SendingData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:SendingData_SubSystem
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:SendingDataTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 39--><p class="nopar" >
-</p><!--l. 41--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.3 </span> <a
- id="x11-470002.5.3"></a>Add a data class</h4>
-<!--l. 43--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
-context menu select <span
-class="ec-lmsso-10">Content Assist </span>(or Ctrl+Space).
-</p><!--l. 46--><p class="noindent" ><img
-src="images/025-SendingData01.png" alt="PIC"
- />
-</p><!--l. 49--><p class="noindent" >Select <span
-class="ec-lmsso-10">DataClass - data class skeleton </span>and name it <span
-class="ec-lmsso-10">DemoData</span>. Remove the operations and add the following
-Attributes:
-
-
-</p>
-<div class="verbatim" id="verbatim-10">
-DataClass&#x00A0;DemoData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
-&#x00A0;<br />}
-</div>
-<!--l. 59--><p class="nopar" >
-</p><!--l. 61--><p class="noindent" >Save the model and visit the outline view. Note that the outline view contains all data elements as defined in
-the model.
-</p><!--l. 64--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.4 </span> <a
- id="x11-480002.5.4"></a>Create a new protocol</h4>
-<!--l. 66--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create a <span
-class="ec-lmsso-10">ProtocolClass </span>and name it <span
-class="ec-lmsso-10">PingPongProtocol</span>. Create the following
-messages:
-
-
-</p>
-<div class="verbatim" id="verbatim-11">
-ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 80--><p class="nopar" >
-</p><!--l. 82--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.5 </span> <a
- id="x11-490002.5.5"></a>Create MrPing and MrPong Actors</h4>
-<!--l. 84--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create two new actor classes and name them <span
-class="ec-lmsso-10">MrPing </span>and <span
-class="ec-lmsso-10">MrPong</span>. The
-resulting model should look like this:
-
-
-</p>
-<div class="verbatim" id="verbatim-12">
-RoomModel&#x00A0;SendingData&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:&#x00A0;SendingData_SubSystem
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:&#x00A0;SendingDataTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;DataClass&#x00A0;DemoData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:&#x00A0;int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:&#x00A0;int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPong&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-&#x00A0;<br />
-</div>
-<!--l. 131--><p class="nopar" >
-</p><!--l. 133--><p class="noindent" >The outline view should look like this:
-</p><!--l. 135--><p class="noindent" ><img
-src="images/025-SendingData03.png" alt="PIC"
- />
-
-
-</p><!--l. 138--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.6 </span> <a
- id="x11-500002.5.6"></a>Define Actor Structure and Behavior</h4>
-<!--l. 140--><p class="noindent" >Save the model and visit the outline view. Within the outline view, right click on the <span
-class="ec-lmsso-10">MrPong </span>actor and select
-<span
-class="ec-lmsso-10">Edit Structure</span>. Select an <span
-class="ec-lmsso-10">Interface Port </span>from the toolbox and add it to MrPong. Name the Port <span
-class="ec-lmsso-10">PingPongPort</span>
-and select the <span
-class="ec-lmsso-10">PingPongProtocol</span>.
-</p><!--l. 144--><p class="noindent" ><img
-src="images/025-SendingData02.png" alt="PIC"
- />
-</p><!--l. 147--><p class="noindent" >Do the same with MrPing but mark the port as <span
-class="ec-lmsso-10">conjugated</span>
-</p><!--l. 149--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.7 </span> <a
- id="x11-510002.5.7"></a>Define MrPongs behavior</h4>
-<!--l. 151--><p class="noindent" >Within the outline view, right click MrPong and select <span
-class="ec-lmsso-10">Edit Behavior</span>. Create the following state
-machine:
-</p><!--l. 154--><p class="noindent" ><img
-src="images/025-SendingData04.png" alt="PIC"
- />
-</p><!--l. 157--><p class="noindent" >The transition dialogues should look like this: For <span
-class="ec-lmsso-10">ping</span>:
-</p><!--l. 160--><p class="noindent" ><img
-src="images/025-SendingData05.png" alt="PIC"
- />
-</p><!--l. 163--><p class="noindent" >For <span
-class="ec-lmsso-10">pingSimple</span>:
-</p><!--l. 165--><p class="noindent" ><img
-src="images/025-SendingData06.png" alt="PIC"
- />
-</p><!--l. 169--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.8 </span> <a
- id="x11-520002.5.8"></a>Define MrPing behavior</h4>
-<!--l. 171--><p class="noindent" >Within the outline view double click MrPing. Navigate the cursor to the behavior of MrPing. With the help of
-content assist create a new operation.
-</p><!--l. 174--><p class="noindent" ><img
-src="images/025-SendingData07.png" alt="PIC"
- />
-</p><!--l. 177--><p class="noindent" >Name the operation <span
-class="ec-lmsso-10">printData </span>and define the DemoData as a parameter.
-</p><!--l. 179--><p class="noindent" >Fill in the following code:
-
-
-</p>
-<div class="verbatim" id="verbatim-13">
-Operation&#x00A0;printData(d:&#x00A0;DemoData)&#x00A0;:&#x00A0;void&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int32Val:&#x00A0;%d\\n\",d.int32Val);"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.float64Val:&#x00A0;%f\\n\",d.float64Val);"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int8Array:&#x00A0;\");"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"for(int&#x00A0;i&#x00A0;=&#x00A0;0;&#x00A0;i&#x003C;d.int8Array.length;&#x00A0;i++)&#x00A0;{"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"%d&#x00A0;\",d.int8Array[i]);}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"\\nd.stringVal:&#x00A0;%s\\n\",d.stringVal);"
-&#x00A0;<br />}
-</div>
-<!--l. 191--><p class="nopar" >
-</p><!--l. 194--><p class="noindent" >For MrPing create the following state machine: (Remember that you can copy and paste the action code from
-the tutorial directory.)
-</p><!--l. 197--><p class="noindent" ><img
-src="images/025-SendingData08.png" alt="PIC"
- />
-</p><!--l. 200--><p class="noindent" >The transition dialogues should look like this:
-</p><!--l. 202--><p class="noindent" >For <span
-class="ec-lmsso-10">init</span>:
-</p><!--l. 204--><p class="noindent" ><img
-src="images/025-SendingData09.png" alt="PIC"
- />
-</p><!--l. 207--><p class="noindent" >For <span
-class="ec-lmsso-10">wait1</span>:
-</p><!--l. 209--><p class="noindent" ><img
-src="images/025-SendingData10.png" alt="PIC"
- />
-</p><!--l. 212--><p class="noindent" >For <span
-class="ec-lmsso-10">next</span>:
-</p><!--l. 214--><p class="noindent" ><img
-src="images/025-SendingData11.png" alt="PIC"
- />
-</p><!--l. 217--><p class="noindent" >For <span
-class="ec-lmsso-10">wait2</span>:
-</p><!--l. 219--><p class="noindent" ><img
-src="images/025-SendingData12.png" alt="PIC"
- />
-</p><!--l. 222--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.9 </span> <a
- id="x11-530002.5.9"></a>Define the top level</h4>
-<!--l. 224--><p class="noindent" >Open the Structure from SendingDataTop and add MrPing and MrPong as a reference. Connect the
-ports.
-</p><!--l. 226--><p class="noindent" ><img
-src="images/025-SendingData13.png" alt="PIC"
- />
-</p>
-<div class="flushleft"
->
-<!--l. 229--><p class="noindent" >
-The model is finished now and can be found in /org.eclipse.etrice.tutorials/model/SendingData.</p></div>
-<!--l. 232--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.10 </span> <a
- id="x11-540002.5.10"></a>Generate and run the model</h4>
-<!--l. 234--><p class="noindent" >Generate the code by right click to <span
-class="ec-lmssbx-10">gen_SendingData.launch </span>and run it as <span
-class="ec-lmssbx-10">gen_SendingData</span>. Run the
-model. The output should look like this:
-
-
-</p>
-<div class="verbatim" id="verbatim-14">
-type&#x00A0;&#8217;quit&#8217;&#x00A0;to&#x00A0;exit
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;1
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;2
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;3
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;4
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;5
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;6
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;7
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;8
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;9
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;10
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />d.int32Val:&#x00A0;4711
-&#x00A0;<br />d.float64Val:&#x00A0;0,000000
-&#x00A0;<br />d.int8Array:&#x00A0;1&#x00A0;2&#x00A0;3&#x00A0;4&#x00A0;5&#x00A0;6&#x00A0;7&#x00A0;8&#x00A0;9&#x00A0;10
-&#x00A0;<br />d.stringVal:&#x00A0;empty
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />d.int32Val:&#x00A0;815
-&#x00A0;<br />d.float64Val:&#x00A0;3,141234
-&#x00A0;<br />d.int8Array:&#x00A0;100&#x00A0;101&#x00A0;102&#x00A0;103&#x00A0;104&#x00A0;105&#x00A0;106&#x00A0;107&#x00A0;108&#x00A0;109
-&#x00A0;<br />d.stringVal:&#x00A0;some&#x00A0;contents
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />quit
-&#x00A0;<br />echo:&#x00A0;quit
-</div>
-<!--l. 286--><p class="nopar" >
-
-
-</p><!--l. 288--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">2.5.11 </span> <a
- id="x11-550002.5.11"></a>Summary</h4>
-<!--l. 290--><p class="noindent" >Within the first loop an integer value will be incremented by <span
-class="ec-lmsso-10">MrPong </span>and sent back to <span
-class="ec-lmsso-10">MrPing</span>. As long as the
-guard is true <span
-class="ec-lmsso-10">MrPing </span>sends back the value.
-</p><!--l. 293--><p class="noindent" >Within the <span
-class="ec-lmsso-10">next </span>transition, <span
-class="ec-lmsso-10">MrPing </span>creates a data class and sends the default values. Then <span
-class="ec-lmsso-10">MrPing </span>changes
-the values and sends the class again. At this point you should note that during the send operation, a copy of
-the data class will be created and sent. Otherwise it would not be possible to send the same object two times,
-even more it would not be possible to send a stack object at all. This type of data passing is called <span
-class="ec-lmsso-10">sending</span>
-<span
-class="ec-lmsso-10">data by value</span>. However, for performance reasons some applications requires <span
-class="ec-lmsso-10">sending data by reference</span>.
-In this case the user is responsible for the life cycle of the object. In Java the VM takes care
-of the life cycle of an object. This is not the case for C/C++. Consider that a object which is
-created within a transition of a state machine will be destroyed when the transition is finished. The
-receiving FSM would receive an invalid reference. Therefore care must be taken when sending
-references.
-</p><!--l. 304--><p class="noindent" >For sending data by reference you simply have to add the keyword <span
-class="ec-lmsso-10">ref </span>to the protocol definition.
-
-
-</p>
-<div class="verbatim" id="verbatim-15">
-Message&#x00A0;ping(data:&#x00A0;DemoData&#x00A0;ref)
-</div>
-<!--l. 306--><p class="nopar" >
-</p><!--l. 308--><p class="noindent" >Make the test and inspect the console output.
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch3.html" >next</a>] [<a
-href="etrice-docse6.html" >prev</a>] [<a
-href="etrice-docse6.html#tailetrice-docse6.html" >prev-tail</a>] [<a
-href="etrice-docse7.html" >front</a>] [<a
-href="etrice-docch2.html#etrice-docse7.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse7.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>HelloWorld for C</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse8.html" >next</a>] [<a
+href="etrice-docse6.html" >prev</a>] [<a
+href="etrice-docse6.html#tailetrice-docse6.html" >prev-tail</a>] [<a
+href="#tailetrice-docse7.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse7.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.5 </span> <a
+ id="x11-380002.5"></a>HelloWorld for C</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.1 </span> <a
+ id="x11-390002.5.1"></a>Scope</h4>
+<!--l. 5--><p class="noindent" >In this tutorial you will learn how to create a model for C from scratch. There are some more steps to do in C
+compared to Java. The goal is to get familiar with the additional steps. The Java tutorial is a prerequisite for
+the following explanations. You will perform the following steps:
+</p><!--l. 10--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x11-39002x1">create a new model from scratch for C
+ </li>
+ <li
+ class="enumerate" id="x11-39004x2">create structure and behavior similar to Java
+ </li>
+ <li
+ class="enumerate" id="x11-39006x3">create a launch configuration for the C code generator
+ </li>
+ <li
+ class="enumerate" id="x11-39008x4">setup the C environment
+ </li>
+ <li
+ class="enumerate" id="x11-39010x5">generate the source code
+ </li>
+ <li
+ class="enumerate" id="x11-39012x6">run the model</li></ol>
+<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ec-lmsso-10">Setting up the Workspace for C</span>
+<span
+class="ec-lmsso-10">Projects</span>.
+</p><!--l. 23--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.2 </span> <a
+ id="x11-400002.5.2"></a>Create a new model from scratch</h4>
+<!--l. 25--><p class="noindent" >Before you can create a new C-model, you have to create a new C project as described in <span
+class="ec-lmsso-10">Setting up the</span>
+<span
+class="ec-lmsso-10">Workspace for C Projects</span>. Remember: </p>
+ <ul class="itemize1">
+ <li class="itemize">select the <span
+class="ec-lmsso-10">C/C++ </span>perspective
+ </li>
+ <li class="itemize">From the main menue select <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
+
+
+ </li>
+ <li class="itemize">Name the project <span
+class="ec-lmsso-10">HelloWorldC</span>
+ </li>
+ <li class="itemize">Project type is <span
+class="ec-lmsso-10">Executable / Empty C Project</span>
+ </li>
+ <li class="itemize">Toolchain is <span
+class="ec-lmsso-10">MinGW</span></li></ul>
+<!--l. 36--><p class="noindent" >The workspace should look like this:
+</p><!--l. 38--><p class="noindent" ><img
+src="images/016-HelloWorldC01.png" alt="PIC"
+ />
+</p><!--l. 41--><p class="noindent" >The next step is to add the model folder: Right click on the new project. Select <span
+class="ec-lmsso-10">New-&#x003E;Folder </span>and name it
+<span
+class="ec-lmsso-10">model</span>.
+</p><!--l. 44--><p class="noindent" ><img
+src="images/016-HelloWorldC02.png" alt="PIC"
+ />
+</p><!--l. 47--><p class="noindent" >Add the model file to the folder. Right click on the new folder. Select <span
+class="ec-lmsso-10">New-&#x003E;file </span>and name it
+<span
+class="ec-lmsso-10">HelloWorldC.room</span>.
+</p><!--l. 50--><p class="noindent" ><img
+src="images/016-HelloWorldC03.png" alt="PIC"
+ />
+</p><!--l. 53--><p class="noindent" >Due to the file ending <span
+class="ec-lmsso-10">.room</span>, the tool will ask you to add the Xtext nature. Answer with <span
+class="ec-lmsso-10">Yes</span>.
+</p><!--l. 56--><p class="noindent" ><img
+src="images/016-HelloWorldC04.png" alt="PIC"
+ />
+</p><!--l. 59--><p class="noindent" >The workspace should look like this:
+</p><!--l. 61--><p class="noindent" ><img
+src="images/016-HelloWorldC05.png" alt="PIC"
+ />
+</p><!--l. 66--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.3 </span> <a
+ id="x11-410002.5.3"></a>Create the HelloWorld model</h4>
+<!--l. 68--><p class="noindent" >Once the model file is created and the Xtext nature is added, you can create the model as you did it for Java.
+Creating the model is not the focus of this tutorial. Therefore copy and paste the following code into your
+model file. Optionally you can open and layout the diagrams. Recognize the C specific parts:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">The action code contains C instead of Java. Later versions will contain a common action language,
+ but for the moment the action language is target specific.
+ </li>
+ <li class="itemize">The application must be shutdown on model level (see also <span
+class="ec-lmsso-10">etRuntimeConfig.h</span>).</li></ul>
+
+
+<div class="verbatim" id="verbatim-2">
+RoomModel&#x00A0;HelloWorldCModel&#x00A0;{
+&#x00A0;<br />import&#x00A0;room.basic.types.*&#x00A0;from&#x00A0;"../../org.eclipse.etrice.modellib.c/model/Types.room"
+&#x00A0;<br />SubSystemClass&#x00A0;HelloWorldCSubSysClass&#x00A0;{
+&#x00A0;<br />ActorRef&#x00A0;HelloETriceTopRef:AHelloWorldCTop
+&#x00A0;<br />}
+&#x00A0;<br />ActorClass&#x00A0;AHelloWorldCTop&#x00A0;{
+&#x00A0;<br />Structure&#x00A0;{&#x00A0;}
+&#x00A0;<br />Behavior&#x00A0;{
+&#x00A0;<br />StateMachine&#x00A0;{
+&#x00A0;<br />Transition&#x00A0;init:&#x00A0;initial&#x00A0;-&#x003E;&#x00A0;state0&#x00A0;{&#x00A0;}
+&#x00A0;<br />State&#x00A0;state0&#x00A0;{
+&#x00A0;<br />entry&#x00A0;{
+&#x00A0;<br />"printf(\"HelloWorldC&#x00A0;!\\n\");"
+&#x00A0;<br />"SubSysClass_shutdown();"
+&#x00A0;<br />"\t\t\t\t\t\t"
+&#x00A0;<br />}
+&#x00A0;<br />}
+&#x00A0;<br />}
+&#x00A0;<br />}
+&#x00A0;<br />}
+&#x00A0;<br />}
+</div>
+<!--l. 101--><p class="nopar" >
+</p><!--l. 103--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.4 </span> <a
+ id="x11-420002.5.4"></a>Create a launch configuration to start the C code generator</h4>
+<!--l. 105--><p class="noindent" >Other than in Java a launch configuration for the C code generator must be created.
+</p><!--l. 107--><p class="noindent" >From the <span
+class="ec-lmsso-10">Run </span>menu select <span
+class="ec-lmsso-10">Run Configurations</span>
+</p><!--l. 109--><p class="noindent" ><img
+src="images/016-HelloWorldC06.png" alt="PIC"
+ />
+</p><!--l. 112--><p class="noindent" >Within the dialog select <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">C Generator </span>and click the <span
+class="ec-lmsso-10">New </span>button to create a new launch
+configuration.
+</p><!--l. 115--><p class="noindent" ><img
+src="images/016-HelloWorldC07.png" alt="PIC"
+ />
+</p><!--l. 118--><p class="noindent" >A new configuration should be created. Name it <span
+class="ec-lmsso-10">gen_HelloWorldC </span>and add the model via one of the <span
+class="ec-lmsso-10">add</span>
+buttons.
+</p><!--l. 121--><p class="noindent" ><img
+src="images/016-HelloWorldC08.png" alt="PIC"
+ />
+</p><!--l. 124--><p class="noindent" >In the <span
+class="ec-lmsso-10">Refresh </span>tab select <span
+class="ec-lmsso-10">The entire workspace</span>
+</p><!--l. 126--><p class="noindent" ><img
+src="images/016-HelloWorldC09.png" alt="PIC"
+ />
+</p><!--l. 129--><p class="noindent" >In the <span
+class="ec-lmsso-10">Common </span>tab select <span
+class="ec-lmsso-10">Shared file </span>and add the <span
+class="ec-lmsso-10">HelloWorldC </span>project via the <span
+class="ec-lmsso-10">Browse </span>button.
+</p><!--l. 132--><p class="noindent" ><img
+src="images/016-HelloWorldC10.png" alt="PIC"
+ />
+</p><!--l. 135--><p class="noindent" >Apply your changes. The new configuration should now exist in your workspace.
+</p><!--l. 137--><p class="noindent" ><img
+src="images/016-HelloWorldC11.png" alt="PIC"
+ />
+
+
+</p><!--l. 141--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.5 </span> <a
+ id="x11-430002.5.5"></a>Generate the code</h4>
+<!--l. 143--><p class="noindent" >Now you can generate the code as you know it from Java. Right click on the launch configuration and run it as
+<span
+class="ec-lmsso-10">gen_HelloWorldC</span>.
+</p><!--l. 146--><p class="noindent" ><img
+src="images/016-HelloWorldC12.png" alt="PIC"
+ />
+</p><!--l. 149--><p class="noindent" >The code should be generated.
+</p><!--l. 151--><p class="noindent" ><img
+src="images/016-HelloWorldC13.png" alt="PIC"
+ />
+</p><!--l. 154--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.6 </span> <a
+ id="x11-440002.5.6"></a>Setup the include path</h4>
+<!--l. 156--><p class="noindent" >Before you can build the application you must setup the include path for the runtime system.
+Right click the project and select <span
+class="ec-lmsso-10">Properties</span>. Add the include path as described in <span
+class="ec-lmsso-10">setting up the</span>
+<span
+class="ec-lmsso-10">workspace</span>.
+</p><!--l. 160--><p class="noindent" ><img
+src="images/016-HelloWorldC14.png" alt="PIC"
+ />
+</p><!--l. 163--><p class="noindent" >Add the runtime library.
+</p><!--l. 165--><p class="noindent" ><img
+src="images/016-HelloWorldC15.png" alt="PIC"
+ />
+</p><!--l. 168--><p class="noindent" >Recognize the name of the library ("org.eclipse.etrice.runtime.c"). The library file on your disk is
+"liborg.eclipse.etrice.runtime.c.a".
+</p><!--l. 171--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.7 </span> <a
+ id="x11-450002.5.7"></a>Build and run the model</h4>
+<!--l. 173--><p class="noindent" >Now you can build the application. Click the build button to build the application. Run the application as
+<span
+class="ec-lmsso-10">Local C/C++ Application</span>. Verify the output.
+</p><!--l. 177--><p class="noindent" ><img
+src="images/016-HelloWorldC16.png" alt="PIC"
+ />
+</p><!--l. 180--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.5.8 </span> <a
+ id="x11-460002.5.8"></a>Summary</h4>
+<!--l. 182--><p class="noindent" >You are now familiar with all necessary steps to create, build and run an eTrice C model from scratch. You are
+able to create a launch configuration to start the code generator and to perform all necessary settings to
+compile and link the application.
+</p><!--l. 186--><p class="noindent" >The next tutorial provides an exercise to get more familiar with these working steps.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse8.html" >next</a>] [<a
+href="etrice-docse6.html" >prev</a>] [<a
+href="etrice-docse6.html#tailetrice-docse6.html" >prev-tail</a>] [<a
+href="etrice-docse7.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse7.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse7.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
index c5f932b53..dc1f6ef0d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
@@ -1,71 +1,471 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Scope</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse9.html" >next</a>] [<a
-href="etrice-docch3.html" >prev</a>] [<a
-href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
-href="#tailetrice-docse8.html">tail</a>] [<a
-href="etrice-docch3.html#etrice-docse8.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">3.1 </span> <a
- id="x13-570003.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >The scope of this tutorial is to demonstrate how to receive model messages from outside the
-model. Calling methods which are not part of the model is simple and you have already done
-this within the blinky tutorial (this is the other way round: model =&#x003E; external code). Receiving
-events from outside the model is a very common problem and a very frequently asked question.
-Therefore this tutorial shows how an external event (outside the model) can be received by the
-model.
-</p><!--l. 11--><p class="noindent" >This tutorial is not like hello world or blinky. Being familiar with the basic tool features is mandatory for this
-tutorial. The goal is to understand the mechanism not to learn the tool features.
-</p><!--l. 14--><p class="noindent" >The idea behind the exercise is, to control a Pedestrian crossing light. We will use the same GUI as for the
-blinky tutorial but now we will use the <span
-class="ec-lmsso-10">REQUEST </span>button to start a FSM, which controls the traffic
-lights.
-</p><!--l. 18--><p class="noindent" ><img
-src="images/020-Blinky08.png" alt="PIC"
- />
-</p><!--l. 21--><p class="noindent" >The <span
-class="ec-lmsso-10">REQUEST </span>must lead to a model message which starts the activity of the lights.
-</p><!--l. 23--><p class="noindent" >There are several possibilities to receive external events (e.g. TCP/UDP Socket, using OS messaging
-mechanism), but the easiest way is, to make a port usable from outside the model. To do that a few steps are
-necessary:
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x13-57002x1">specify the messages (within a protocol) which should be sent into the model
- </li>
- <li
- class="enumerate" id="x13-57004x2">model an actor with a port (which uses the specified protocol) and connect the port to the receiver
- </li>
- <li
- class="enumerate" id="x13-57006x3">the external code should know the port (import of the port class)
- </li>
- <li
- class="enumerate" id="x13-57008x4">the external code should provide a registration method, so that the actor is able to allow access
- to this port
- </li>
- <li
- class="enumerate" id="x13-57010x5">the port can be used from the external code</li></ol>
-
-
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse9.html" >next</a>] [<a
-href="etrice-docch3.html" >prev</a>] [<a
-href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
-href="etrice-docse8.html" >front</a>] [<a
-href="etrice-docch3.html#etrice-docse8.html" >up</a>] </p></div>
-<!--l. 35--><p class="noindent" ><a
- id="tailetrice-docse8.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Tutorial Blinky (Java)</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse9.html" >next</a>] [<a
+href="etrice-docse7.html" >prev</a>] [<a
+href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
+href="#tailetrice-docse8.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse8.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.6 </span> <a
+ id="x12-470002.6"></a>Tutorial Blinky (Java)</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.1 </span> <a
+ id="x12-480002.6.1"></a>Scope</h4>
+<!--l. 5--><p class="noindent" >This tutorial describes how to use the <span
+class="ec-lmsso-10">TimingService</span>, how to combine a generated model with manual code
+and how to model a hierarchical state machine. The idea of the tutorial is to switch a LED on and off. The
+behavior of the LED should be: blinking in a one second interval for 5 seconds, stop blinking for 5 seconds,
+blinking, stop,... For this exercise we will use a little GUI class that will be used in more sophisticated tutorials
+too. The GUI simulates a pedestrian traffic crossing. For now, just a simple LED simulation will be used from
+the GUI.
+</p><!--l. 13--><p class="noindent" >After the exercise is created you must copy the GUI to your src directory (see below).
+</p><!--l. 15--><p class="noindent" >The package contains four java classes which implements a small window with a 3-light traffic light which
+simulates the signals for the car traffic and a 2-light traffic light which simulates the pedestrian
+signals.
+</p><!--l. 19--><p class="noindent" >The GUI looks like this:
+</p><!--l. 21--><p class="noindent" ><img
+src="images/020-Blinky08.png" alt="PIC"
+ />
+</p><!--l. 24--><p class="noindent" >Within this tutorial we will just toggle the yellow light.
+</p><!--l. 26--><p class="noindent" >You will perform the following steps:
+</p><!--l. 28--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x12-48002x1">create a new model from scratch
+ </li>
+ <li
+ class="enumerate" id="x12-48004x2">define a protocol
+ </li>
+ <li
+ class="enumerate" id="x12-48006x3">create an actor structure
+ </li>
+ <li
+ class="enumerate" id="x12-48008x4">create a hierarchical state machine
+ </li>
+ <li
+ class="enumerate" id="x12-48010x5">use the predefined <span
+class="ec-lmsso-10">TimingService</span>
+ </li>
+ <li
+ class="enumerate" id="x12-48012x6">combine manual code with generated code
+ </li>
+ <li
+ class="enumerate" id="x12-48014x7">build and run the model
+ </li>
+ <li
+ class="enumerate" id="x12-48016x8">open the message sequence chart</li></ol>
+
+
+<!--l. 39--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.2 </span> <a
+ id="x12-490002.6.2"></a>Create a new model from scratch</h4>
+<!--l. 41--><p class="noindent" >Remember the exercise <span
+class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
+class="ec-lmsso-10">Blinky</span>.
+</p><!--l. 44--><p class="noindent" >To use the GUI please copy the package <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>from <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials/src</span>
+to your <span
+class="ec-lmsso-10">src </span>directory <span
+class="ec-lmsso-10">Blinky/src</span>. For this tutorial you must remove the error markers by editing the file
+<span
+class="ec-lmsso-10">PedestrianLightWndNoTcp.java</span>. Appropriate comments are provided to remove the error markers for this
+turorial.
+</p><!--l. 49--><p class="noindent" >Open the <span
+class="ec-lmsso-10">Blinky.room </span>file and copy the following code into the file or use content assist to create the
+model.
+
+
+</p>
+<div class="verbatim" id="verbatim-3">
+RoomModel&#x00A0;Blinky&#x00A0;{
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem&#x00A0;:&#x00A0;SubSystem_Blinky
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SubSystem_Blinky&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;application&#x00A0;:&#x00A0;BlinkyTop
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;BlinkyTop&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />}
+</div>
+<!--l. 66--><p class="nopar" >
+</p><!--l. 68--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.3 </span> <a
+ id="x12-500002.6.3"></a>Add two additional actor classes</h4>
+<!--l. 70--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
+context menu select <span
+class="ec-lmsso-10">Content Assist</span>
+</p><!--l. 73--><p class="noindent" ><img
+src="images/020-Blinky02.png" alt="PIC"
+ />
+</p><!--l. 76--><p class="noindent" >Select <span
+class="ec-lmsso-10">ActorClass - actor class skeleton </span>and name it <span
+class="ec-lmsso-10">Blinky</span>.
+</p><!--l. 78--><p class="noindent" ><img
+src="images/020-Blinky01.png" alt="PIC"
+ />
+</p><!--l. 81--><p class="noindent" >Repeat the described procedure and name the new actor <span
+class="ec-lmsso-10">BlinkyController</span>.
+</p><!--l. 83--><p class="noindent" >With Ctrl+Shift+F you can beautify the model code.
+</p><!--l. 85--><p class="noindent" >Save the model and visit the outline view.
+</p><!--l. 87--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.4 </span> <a
+ id="x12-510002.6.4"></a>Create a new protocol</h4>
+<!--l. 89--><p class="noindent" >With the help of <span
+class="ec-lmsso-10">Content Assist </span>create a <span
+class="ec-lmsso-10">ProtocolClass </span>and name it <span
+class="ec-lmsso-10">BlinkyControlProtocol</span>. Inside the
+brackets use the <span
+class="ec-lmsso-10">Content Assist </span>(CTRL+Space) to create two incoming messages called <span
+class="ec-lmsso-10">start </span>and
+<span
+class="ec-lmsso-10">stop</span>.
+</p><!--l. 94--><p class="noindent" >The resulting code should look like this:
+</p><!--l. 96--><p class="noindent" ><img
+src="images/020-Blinky03.png" alt="PIC"
+ />
+</p><!--l. 99--><p class="noindent" >With Ctrl-Shift+F or selecting <span
+class="ec-lmsso-10">Format </span>from the context menu you can format the text. Note that all elements
+are displayed in the outline view.
+
+
+</p><!--l. 102--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.5 </span> <a
+ id="x12-520002.6.5"></a>Import the Timing Service</h4>
+<!--l. 104--><p class="noindent" >Switching on and off the LED is timing controlled. The timing service is provided from the model library and
+must be imported before it can be used from the model.
+</p><!--l. 107--><p class="noindent" >This is the first time you use an element from the modellib. Make sure that your Java Build Path has the
+appropriate entry to the modellib. Otherwise the jave code, which will be generated from the modellib,
+can not be referenced. (right click to <span
+class="ec-lmsso-10">Blinky </span>and select properties. Select the <span
+class="ec-lmsso-10">Java Build Path</span>
+tab)
+</p><!--l. 112--><p class="noindent" ><img
+src="images/020-Blinky16.png" alt="PIC"
+ />
+</p><!--l. 115--><p class="noindent" >After the build path is set up return to the model and navigate the cursor at the beginning of the model and
+import the timing service:
+
+
+</p>
+<div class="verbatim" id="verbatim-4">
+RoomModel&#x00A0;Blinky&#x00A0;{
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;import&#x00A0;room.basic.service.timing.*&#x00A0;from
+&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem:&#x00A0;SubSystem\_Blinky
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />}
+&#x00A0;<br />...
+</div>
+<!--l. 130--><p class="nopar" >
+</p><!--l. 133--><p class="noindent" >Make sure that the path fits to your folder structure. The original tutorial code is different due to the folder
+structure.
+</p><!--l. 136--><p class="noindent" >Now it can be used within the model. Right click to <span
+class="ec-lmssbx-10">SubSystem_Blinky </span>within the outline view.
+Select <span
+class="ec-lmsso-10">Edit Structure</span>. The <span
+class="ec-lmsso-10">application </span>is already referenced in the subsystem. Drag and Drop an
+<span
+class="ec-lmsso-10">ActorRef </span>to the <span
+class="ec-lmssbx-10">SubSystem_Blinky </span>and name it <span
+class="ec-lmsso-10">timingService</span>. From the actor class drop down list
+select <span
+class="ec-lmsso-10">room.basic.service.timing.ATimingService</span>. Draw a <span
+class="ec-lmsso-10">LayerConnection </span>from <span
+class="ec-lmsso-10">application </span>to
+each service provision point (SPP) of the <span
+class="ec-lmsso-10">timingService</span>. The resulting structure should look like
+this:
+</p><!--l. 143--><p class="noindent" ><img
+src="images/020-Blinky06.png" alt="PIC"
+ />
+</p><!--l. 146--><p class="noindent" >The current version of eTrice does not provide a graphical element for a service access point
+(SAP). Therefore the SAPs to access the timing service must be added in the .room file. Open the
+<span
+class="ec-lmsso-10">Blinky.room </span>file and navigate to the <span
+class="ec-lmsso-10">Blinky </span>actor. Add the following line to the structure of the
+actor:
+
+
+</p>
+<div class="verbatim" id="verbatim-5">
+SAP&#x00A0;timer:&#x00A0;room.basic.service.timing.PTimeout&#x00A0;
+</div>
+<!--l. 151--><p class="nopar" >
+</p><!--l. 153--><p class="noindent" >Do the same thing for <span
+class="ec-lmsso-10">BlinkyController</span>.
+</p><!--l. 155--><p class="noindent" >The resulting code should look like this:
+</p><!--l. 157--><p class="noindent" ><img
+src="images/020-Blinky07.png" alt="PIC"
+ />
+</p><!--l. 161--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.6 </span> <a
+ id="x12-530002.6.6"></a>Finish the model structure</h4>
+<!--l. 163--><p class="noindent" >From the outline view right click to <span
+class="ec-lmsso-10">Blinky </span>and select <span
+class="ec-lmsso-10">Edit Structure</span>. Drag and Drop an <span
+class="ec-lmsso-10">Interface Port </span>to the
+boarder of the <span
+class="ec-lmsso-10">Blinky </span>actor. Note that an interface port is not possible inside the actor. Name the port
+<span
+class="ec-lmsso-10">ControlPort </span>and select <span
+class="ec-lmsso-10">BlinkyControlProtocol </span>from the drop down list. Uncheck <span
+class="ec-lmsso-10">Conjugated </span>and <span
+class="ec-lmsso-10">Is Relay Port</span>.
+Click <span
+class="ec-lmsso-10">ok</span>. The resulting structure should look like this:
+</p><!--l. 169--><p class="noindent" ><img
+src="images/020-Blinky04.png" alt="PIC"
+ />
+</p><!--l. 172--><p class="noindent" >Repeat the above steps for the <span
+class="ec-lmsso-10">BlinkyController</span>. Make the port <span
+class="ec-lmsso-10">Conjugated</span>
+</p><!--l. 174--><p class="noindent" >Keep in mind that the protocol defines <span
+class="ec-lmsso-10">start </span>and <span
+class="ec-lmsso-10">stop </span>as incoming messages. <span
+class="ec-lmsso-10">Blinky </span>receives this messages and
+therefore <span
+class="ec-lmsso-10">Blinky</span>&#8217;s <span
+class="ec-lmsso-10">ControlPort </span>must be a regular port and <span
+class="ec-lmsso-10">BlinkyController</span>&#8217;s <span
+class="ec-lmsso-10">ControlPort </span>must be a
+conjugated port.
+</p><!--l. 179--><p class="noindent" >From the outline view right click <span
+class="ec-lmsso-10">BlinkyTop </span>and select <span
+class="ec-lmsso-10">Edit Structure</span>.
+</p><!--l. 181--><p class="noindent" >Drag and Drop an <span
+class="ec-lmsso-10">ActorRef </span>inside the <span
+class="ec-lmsso-10">BlinkyTop </span>actor. Name it <span
+class="ec-lmsso-10">blinky</span>. From the actor class drop down list
+select <span
+class="ec-lmsso-10">Blinky</span>. Do the same for <span
+class="ec-lmsso-10">controller</span>. Connect the ports via the binding tool. The resulting structure
+should look like this:
+</p><!--l. 185--><p class="noindent" ><img
+src="images/020-Blinky05.png" alt="PIC"
+ />
+</p><!--l. 188--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.7 </span> <a
+ id="x12-540002.6.7"></a>Implement the Behavior</h4>
+<!--l. 190--><p class="noindent" >The application should switch on and off the LED for 5 seconds in a 1 second interval, then stop blinking for 5
+seconds and start again. To implement this behavior we will implement two FSMs. One for the 1
+second interval and one for the 5 second interval. The 1 second blinking should be implemented in
+<span
+class="ec-lmsso-10">Blinky</span>. The 5 second interval should be implemented in <span
+class="ec-lmsso-10">BlinkyController</span>. First implement the
+Controller.
+</p><!--l. 196--><p class="noindent" >Right click to <span
+class="ec-lmsso-10">BlinkyController </span>and select <span
+class="ec-lmsso-10">Edit Behavior</span>. Drag and Drop the <span
+class="ec-lmsso-10">Initial Point </span>and two <span
+class="ec-lmsso-10">States </span>into
+the top state. Name the states <span
+class="ec-lmsso-10">on </span>and <span
+class="ec-lmsso-10">off</span>. Use the <span
+class="ec-lmsso-10">Transition </span>tool to draw transitions from <span
+class="ec-lmsso-10">init </span>to <span
+class="ec-lmsso-10">on </span>from <span
+class="ec-lmsso-10">on</span>
+to <span
+class="ec-lmsso-10">off </span>and from <span
+class="ec-lmsso-10">off </span>to <span
+class="ec-lmsso-10">on</span>.
+</p><!--l. 202--><p class="noindent" >Open the transition dialog by double click the arrow to specify the trigger event and the action code of each
+transition. Note that the initial transition does not have a trigger event.
+</p><!--l. 205--><p class="noindent" >The transition dialog should look like this:
+</p><!--l. 207--><p class="noindent" ><img
+src="images/020-Blinky09.png" alt="PIC"
+ />
+
+
+</p><!--l. 210--><p class="noindent" >The defined ports will be generated as a member attribute of the actor class from type of the attached
+protocol. So, to send e message you must state <span
+class="ec-lmsso-10">port.message(param);</span>. In this example <span
+class="ec-lmsso-10">ControlPort.start()</span>
+sends the <span
+class="ec-lmsso-10">start </span>message via the <span
+class="ec-lmsso-10">ControlPort </span>to the outside world. Assuming that <span
+class="ec-lmsso-10">Blinky </span>is connected to this
+port, the message will start the one second blinking FSM. It is the same thing with the <span
+class="ec-lmsso-10">timer</span>. The SAP is
+also a port and follows the same rules. So it is clear that <span
+class="ec-lmsso-10">timer.Start(5000); </span>will send the <span
+class="ec-lmsso-10">Start</span>
+message to the timing service. The timing service will send a <span
+class="ec-lmsso-10">timeoutTick </span>message back after
+5000ms.
+</p><!--l. 218--><p class="noindent" >Within each transition the timer will be restarted and the appropriate message will be sent via the
+<span
+class="ec-lmsso-10">ControlPort</span>.
+</p><!--l. 221--><p class="noindent" >The resulting state machine should look like this: (Note that the arrows peak changes if the transition contains
+action code.)
+</p><!--l. 224--><p class="noindent" ><img
+src="images/020-Blinky10.png" alt="PIC"
+ />
+</p><!--l. 227--><p class="noindent" >Save the diagram and inspect the <span
+class="ec-lmsso-10">Blinky.room </span>file. The <span
+class="ec-lmsso-10">BlinkyController </span>should look like this:
+</p><!--l. 230--><p class="noindent" ><img
+src="images/020-Blinky11.png" alt="PIC"
+ />
+</p><!--l. 233--><p class="noindent" >Now we will implement <span
+class="ec-lmsso-10">Blinky</span>. Due to the fact that <span
+class="ec-lmsso-10">Blinky </span>interacts with the GUI class a view things must to
+be done in the model file.
+</p><!--l. 236--><p class="noindent" >Double click <span
+class="ec-lmsso-10">Blinky </span>in the outline view to navigate to <span
+class="ec-lmsso-10">Blinky </span>within the model file. Add the following code:
+(type it or simply copy it from the tutorial project)
+</p><!--l. 240--><p class="noindent" ><img
+src="images/020-Blinky12.png" alt="PIC"
+ />
+</p><!--l. 243--><p class="noindent" ><span
+class="ec-lmsso-10">usercode1 </span>will be generated at the beginning of the file, outside the class definition. <span
+class="ec-lmsso-10">usercode2 </span>will
+be generated within the class definition. The code imports the GUI class and instantiates the
+window class. Attributes for the carLights and pedLights will be declared to easily access the lights
+in the state machine. The Operation <span
+class="ec-lmsso-10">destroyUser() </span>is a predefined operation that will be called
+during shutdown of the application. Within this operation, cleanup of manual coded classes can be
+done.
+</p><!--l. 250--><p class="noindent" >Now design the FSM of <span
+class="ec-lmsso-10">Blinky</span>. Remember, as the name suggested <span
+class="ec-lmsso-10">blinking </span>is a state in which the LED must
+be switched on and off. We will realize that by an hierarchical FSM in which the <span
+class="ec-lmsso-10">blinking </span>state has two sub
+states.
+</p><!--l. 254--><p class="noindent" >Open the behavior diagram of <span
+class="ec-lmsso-10">Blinky </span>by right clicking the <span
+class="ec-lmsso-10">Blinky </span>actor in the outline view. Create two states
+named <span
+class="ec-lmsso-10">blinking </span>and <span
+class="ec-lmsso-10">off</span>. Right click to <span
+class="ec-lmsso-10">blinking </span>and create a subgraph.
+</p><!--l. 258--><p class="noindent" ><img
+src="images/020-Blinky13.png" alt="PIC"
+ />
+</p><!--l. 261--><p class="noindent" >Create the following state machine. The trigger events between <span
+class="ec-lmsso-10">on </span>and <span
+class="ec-lmsso-10">off </span>are the <span
+class="ec-lmsso-10">timeoutTick </span>from the <span
+class="ec-lmsso-10">timer</span>
+port.
+</p><!--l. 264--><p class="noindent" ><img
+src="images/020-Blinky14.png" alt="PIC"
+ />
+</p><!--l. 267--><p class="noindent" >Create entry code for both states by right clicking the state and select <span
+class="ec-lmsso-10">Edit State...</span>
+</p><!--l. 269--><p class="noindent" >Entry code of <span
+class="ec-lmsso-10">on </span>is:
+
+
+</p>
+<div class="verbatim" id="verbatim-6">
+timer.Start(1000);
+&#x00A0;<br />carLights.setState(TrafficLight3.YELLOW);
+</div>
+<!--l. 274--><p class="nopar" >
+</p><!--l. 277--><p class="noindent" >Entry code of <span
+class="ec-lmsso-10">off </span>is:
+
+
+</p>
+<div class="verbatim" id="verbatim-7">
+timer.Start(1000);
+&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
+</div>
+<!--l. 282--><p class="nopar" >
+</p><!--l. 284--><p class="noindent" >Navigate to the Top level state by double clicking the <span
+class="ec-lmsso-10">/blinking </span>state. Create the following state
+machine:
+</p><!--l. 287--><p class="noindent" ><img
+src="images/020-Blinky15.png" alt="PIC"
+ />
+</p><!--l. 290--><p class="noindent" >The trigger event from <span
+class="ec-lmsso-10">off </span>to <span
+class="ec-lmsso-10">blinking </span>is the <span
+class="ec-lmsso-10">start </span>event from the <span
+class="ec-lmsso-10">ControlPort</span>.The trigger event from <span
+class="ec-lmsso-10">blinking</span>
+to <span
+class="ec-lmsso-10">off </span>is the <span
+class="ec-lmsso-10">stop </span>event from the <span
+class="ec-lmsso-10">ControlPort</span>. Note: The transition from <span
+class="ec-lmsso-10">blinking </span>to <span
+class="ec-lmsso-10">off </span>is a so called group
+transition. This is a outgoing transition from a super state (state with sub states) without specifying the
+concrete leave state (state without sub states). An incoming transition to a super state is called history
+transition.
+</p><!--l. 297--><p class="noindent" >Action code of the init transition is:
+
+
+</p>
+<div class="verbatim" id="verbatim-8">
+carLights&#x00A0;=&#x00A0;light.getCarLights();
+&#x00A0;<br />pedLights&#x00A0;=&#x00A0;light.getPedLights();
+&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
+&#x00A0;<br />pedLights.setState(TrafficLight2.OFF);
+</div>
+<!--l. 304--><p class="nopar" >
+</p><!--l. 306--><p class="noindent" >Action code from <span
+class="ec-lmsso-10">blinking </span>to <span
+class="ec-lmsso-10">off </span>is:
+
+
+</p>
+<div class="verbatim" id="verbatim-9">
+timer.Kill();
+&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
+</div>
+<!--l. 311--><p class="nopar" >
+</p><!--l. 313--><p class="noindent" >The model is complete now. You can run and debug the model as described in getting started. Have
+fun.
+</p><!--l. 315--><p class="noindent" >The complete model can be found in /org.eclipse.etrice.tutorials/model/Blinky.
+</p><!--l. 317--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.6.8 </span> <a
+ id="x12-550002.6.8"></a>Summary</h4>
+<!--l. 319--><p class="noindent" >Run the model and take a look at the generated MSCs. Inspect the generated code to understand the runtime
+model of eTrice. Within this tutorial you have learned how to create a hierarchical FSM with group transitions
+and history transitions and you have used entry code. You are now familiar with the basic features of eTrice.
+The further tutorials will take this knowledge as a precondition.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse9.html" >next</a>] [<a
+href="etrice-docse7.html" >prev</a>] [<a
+href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
+href="etrice-docse8.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse8.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse8.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
index 725275c05..148c83ca1 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
@@ -1,124 +1,407 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>Setup the model</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="2013-06-21 12:20:00" />
-<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
-</head><body
->
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse10.html" >next</a>] [<a
-href="etrice-docse8.html" >prev</a>] [<a
-href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
-href="#tailetrice-docse9.html">tail</a>] [<a
-href="etrice-docch3.html#etrice-docse9.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">3.2 </span> <a
- id="x14-580003.2"></a>Setup the model</h3>
- <ul class="itemize1">
- <li class="itemize">Use the <span
-class="ec-lmsso-10">New Model Wizzard </span>to create a new eTrice project and name it <span
-class="ec-lmsso-10">PedLightsController</span>.
- </li>
- <li class="itemize">Copy the package <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>to your <span
-class="ec-lmsso-10">src </span>directory (see blinky
- tutorial).
- </li>
- <li class="itemize">In PedestrianLightWndNoTcp.jav uncomment line 15 (import), 36, 122 (usage) and 132-134
- (registration). The error markers will disappear after the code is generated from the model.
- </li>
- <li class="itemize">
- <div class="flushleft"
->
-<!--l. 44--><p class="noindent" >
-Copy the model from /org.eclipse.etrice.tutorials/model/PedLightsController to your model file, or run
-the model directly in the tutorial directory.</p></div>
- </li>
- <li class="itemize">Adapt the import statement to your path.</li></ul>
-
-
-<div class="verbatim" id="verbatim-16">
-import&#x00A0;room.basic.service.timing.*&#x00A0;from
-&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
-</div>
-<!--l. 53--><p class="nopar" >
-</p>
- <ul class="itemize1">
- <li class="itemize">Generate the code from the model.
- </li>
- <li class="itemize">Add the org.eclipse.etrice.modellib to the Java Class Path of your project.
- </li>
- <li class="itemize">All error markers should be disappeared and the model should be operable.
- </li>
- <li class="itemize">Arrange the Structure and the Statemachines to understand the model</li></ul>
-
-<!--l. 63--><p class="noindent" ><img
-src="images/030-PedLights01.png" alt="PIC"
- /> The <span
-class="ec-lmsso-10">GuiAdapter </span>represents the interface to the external code. It registers its <span
-class="ec-lmsso-10">ControlPort </span>by the external
-code.
-</p><!--l. 68--><p class="noindent" ><img
-src="images/030-PedLights02.png" alt="PIC"
- /> Visit the initial transition to understand the registration. The actor handles the incoming messages as
-usual and controls the traffic lights as known from blinky.
-</p><!--l. 73--><p class="noindent" ><img
-src="images/030-PedLights03.png" alt="PIC"
- /> The <span
-class="ec-lmsso-10">Controller </span>receives the <span
-class="ec-lmsso-10">start </span>message and controls the timing of the lights. Note that the <span
-class="ec-lmsso-10">start</span>
-message will be sent from the external code whenever the <span
-class="ec-lmsso-10">REQUEST </span>button is pressed.
-</p>
- <ul class="itemize1">
- <li class="itemize">Visit the model and take a closer look to the following elements:
- <ol class="enumerate1" >
- <li
- class="enumerate" id="x14-58002x1">PedControlProtocol =&#x003E; notice that the start message is defined as usual
- </li>
- <li
- class="enumerate" id="x14-58004x2">Initial transition of the <span
-class="ec-lmsso-10">GuiAdapter </span>=&#x003E; see the registration
- </li>
- <li
- class="enumerate" id="x14-58006x3">The <span
-class="ec-lmsso-10">Controller </span>=&#x003E; notice that the <span
-class="ec-lmsso-10">Controller </span>receives the external message (not the
- <span
-class="ec-lmsso-10">GuiAdapter</span>). The <span
-class="ec-lmsso-10">GuiAdapter </span>just provides its port and handles the incoming messages.
- </li>
- <li
- class="enumerate" id="x14-58008x4">Visit the hand written code =&#x003E; see the import statement of the protocol class and the
- usage of the port.</li></ol>
- </li>
- <li class="itemize">Generate and test the model
- </li>
- <li class="itemize">Take a look at the generated MSC =&#x003E; notice that the start message will shown as if the <span
-class="ec-lmsso-10">GuiAdapter</span>
- had sent it.</li></ul>
-
-<!--l. 94--><p class="noindent" ><img
-src="images/030-PedLights04.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse10.html" >next</a>] [<a
-href="etrice-docse8.html" >prev</a>] [<a
-href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
-href="etrice-docse9.html" >front</a>] [<a
-href="etrice-docch3.html#etrice-docse9.html" >up</a>] </p></div>
-<!--l. 97--><p class="noindent" ><a
- id="tailetrice-docse9.html"></a> </p>
-</body></html>
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>Tutorial Sending Data (Java)</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="2013-07-04 15:04:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch3.html" >next</a>] [<a
+href="etrice-docse8.html" >prev</a>] [<a
+href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
+href="#tailetrice-docse9.html">tail</a>] [<a
+href="etrice-docch2.html#etrice-docse9.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.7 </span> <a
+ id="x13-560002.7"></a>Tutorial Sending Data (Java)</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.1 </span> <a
+ id="x13-570002.7.1"></a>Scope</h4>
+<!--l. 5--><p class="noindent" >This tutorial shows how data will be sent in a eTrice model. Within the example you will create two actors
+(MrPing and MrPong). MrPong will simply loop back every data it received. MrPing will send data and verify
+the result.
+</p><!--l. 9--><p class="noindent" >You will perform the following steps:
+</p><!--l. 11--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x13-57002x1">create a new model from scratch
+ </li>
+ <li
+ class="enumerate" id="x13-57004x2">create a data class
+ </li>
+ <li
+ class="enumerate" id="x13-57006x3">define a protocol with attached data
+ </li>
+ <li
+ class="enumerate" id="x13-57008x4">create an actor structure
+ </li>
+ <li
+ class="enumerate" id="x13-57010x5">create two simple state machines
+ </li>
+ <li
+ class="enumerate" id="x13-57012x6">build and run the model</li></ol>
+<!--l. 20--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.2 </span> <a
+ id="x13-580002.7.2"></a>Create a new model from scratch</h4>
+<!--l. 22--><p class="noindent" >Remember exercise <span
+class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
+class="ec-lmsso-10">SendingData</span>. Open the
+<span
+class="ec-lmsso-10">SendingData.room </span>file and copy the following code into the file or use content assist to create the
+model.
+
+
+</p>
+<div class="verbatim" id="verbatim-10">
+RoomModel&#x00A0;SendingData&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:SendingData_SubSystem
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:SendingDataTop
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />}
+</div>
+<!--l. 39--><p class="nopar" >
+</p><!--l. 41--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.3 </span> <a
+ id="x13-590002.7.3"></a>Add a data class</h4>
+<!--l. 43--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
+context menu select <span
+class="ec-lmsso-10">Content Assist </span>(or Ctrl+Space).
+</p><!--l. 46--><p class="noindent" ><img
+src="images/025-SendingData01.png" alt="PIC"
+ />
+</p><!--l. 49--><p class="noindent" >Select <span
+class="ec-lmsso-10">DataClass - data class skeleton </span>and name it <span
+class="ec-lmsso-10">DemoData</span>. Remove the operations and add the following
+Attributes:
+
+
+</p>
+<div class="verbatim" id="verbatim-11">
+DataClass&#x00A0;DemoData&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
+&#x00A0;<br />}
+</div>
+<!--l. 59--><p class="nopar" >
+</p><!--l. 61--><p class="noindent" >Save the model and visit the outline view. Note that the outline view contains all data elements as defined in
+the model.
+</p><!--l. 64--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.4 </span> <a
+ id="x13-600002.7.4"></a>Create a new protocol</h4>
+<!--l. 66--><p class="noindent" >With the help of <span
+class="ec-lmsso-10">Content Assist </span>create a <span
+class="ec-lmsso-10">ProtocolClass </span>and name it <span
+class="ec-lmsso-10">PingPongProtocol</span>. Create the following
+messages:
+
+
+</p>
+<div class="verbatim" id="verbatim-12">
+ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:int32)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:int32)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />}
+</div>
+<!--l. 80--><p class="nopar" >
+</p><!--l. 82--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.5 </span> <a
+ id="x13-610002.7.5"></a>Create MrPing and MrPong Actors</h4>
+<!--l. 84--><p class="noindent" >With the help of <span
+class="ec-lmsso-10">Content Assist </span>create two new actor classes and name them <span
+class="ec-lmsso-10">MrPing </span>and <span
+class="ec-lmsso-10">MrPong</span>. The
+resulting model should look like this:
+
+
+</p>
+<div class="verbatim" id="verbatim-13">
+RoomModel&#x00A0;SendingData&#x00A0;{
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:&#x00A0;SendingData_SubSystem
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:&#x00A0;SendingDataTop
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;DataClass&#x00A0;DemoData&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:&#x00A0;int32)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:&#x00A0;int32)
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPing&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPong&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
+&#x00A0;<br />}
+&#x00A0;<br />
+</div>
+<!--l. 131--><p class="nopar" >
+</p><!--l. 133--><p class="noindent" >The outline view should look like this:
+</p><!--l. 135--><p class="noindent" ><img
+src="images/025-SendingData03.png" alt="PIC"
+ />
+
+
+</p><!--l. 138--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.6 </span> <a
+ id="x13-620002.7.6"></a>Define Actor Structure and Behavior</h4>
+<!--l. 140--><p class="noindent" >Save the model and visit the outline view. Within the outline view, right click on the <span
+class="ec-lmsso-10">MrPong </span>actor and select
+<span
+class="ec-lmsso-10">Edit Structure</span>. Select an <span
+class="ec-lmsso-10">Interface Port </span>from the toolbox and add it to MrPong. Name the Port <span
+class="ec-lmsso-10">PingPongPort</span>
+and select the <span
+class="ec-lmsso-10">PingPongProtocol</span>.
+</p><!--l. 144--><p class="noindent" ><img
+src="images/025-SendingData02.png" alt="PIC"
+ />
+</p><!--l. 147--><p class="noindent" >Do the same with MrPing but mark the port as <span
+class="ec-lmsso-10">conjugated</span>
+</p><!--l. 149--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.7 </span> <a
+ id="x13-630002.7.7"></a>Define MrPongs behavior</h4>
+<!--l. 151--><p class="noindent" >Within the outline view, right click MrPong and select <span
+class="ec-lmsso-10">Edit Behavior</span>. Create the following state
+machine:
+</p><!--l. 154--><p class="noindent" ><img
+src="images/025-SendingData04.png" alt="PIC"
+ />
+</p><!--l. 157--><p class="noindent" >The transition dialogues should look like this: For <span
+class="ec-lmsso-10">ping</span>:
+</p><!--l. 160--><p class="noindent" ><img
+src="images/025-SendingData05.png" alt="PIC"
+ />
+</p><!--l. 163--><p class="noindent" >For <span
+class="ec-lmsso-10">pingSimple</span>:
+</p><!--l. 165--><p class="noindent" ><img
+src="images/025-SendingData06.png" alt="PIC"
+ />
+</p><!--l. 169--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.8 </span> <a
+ id="x13-640002.7.8"></a>Define MrPing behavior</h4>
+<!--l. 171--><p class="noindent" >Within the outline view double click MrPing. Navigate the cursor to the behavior of MrPing. With the help of
+content assist create a new operation.
+</p><!--l. 174--><p class="noindent" ><img
+src="images/025-SendingData07.png" alt="PIC"
+ />
+</p><!--l. 177--><p class="noindent" >Name the operation <span
+class="ec-lmsso-10">printData </span>and define the DemoData as a parameter.
+</p><!--l. 179--><p class="noindent" >Fill in the following code:
+
+
+</p>
+<div class="verbatim" id="verbatim-14">
+Operation&#x00A0;printData(d:&#x00A0;DemoData)&#x00A0;:&#x00A0;void&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int32Val:&#x00A0;%d\\n\",d.int32Val);"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.float64Val:&#x00A0;%f\\n\",d.float64Val);"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int8Array:&#x00A0;\");"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"for(int&#x00A0;i&#x00A0;=&#x00A0;0;&#x00A0;i&#x003C;d.int8Array.length;&#x00A0;i++)&#x00A0;{"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"%d&#x00A0;\",d.int8Array[i]);}"
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"\\nd.stringVal:&#x00A0;%s\\n\",d.stringVal);"
+&#x00A0;<br />}
+</div>
+<!--l. 191--><p class="nopar" >
+</p><!--l. 194--><p class="noindent" >For MrPing create the following state machine: (Remember that you can copy and paste the action code from
+the tutorial directory.)
+</p><!--l. 197--><p class="noindent" ><img
+src="images/025-SendingData08.png" alt="PIC"
+ />
+</p><!--l. 200--><p class="noindent" >The transition dialogues should look like this:
+</p><!--l. 202--><p class="noindent" >For <span
+class="ec-lmsso-10">init</span>:
+</p><!--l. 204--><p class="noindent" ><img
+src="images/025-SendingData09.png" alt="PIC"
+ />
+</p><!--l. 207--><p class="noindent" >For <span
+class="ec-lmsso-10">wait1</span>:
+</p><!--l. 209--><p class="noindent" ><img
+src="images/025-SendingData10.png" alt="PIC"
+ />
+</p><!--l. 212--><p class="noindent" >For <span
+class="ec-lmsso-10">next</span>:
+</p><!--l. 214--><p class="noindent" ><img
+src="images/025-SendingData11.png" alt="PIC"
+ />
+</p><!--l. 217--><p class="noindent" >For <span
+class="ec-lmsso-10">wait2</span>:
+</p><!--l. 219--><p class="noindent" ><img
+src="images/025-SendingData12.png" alt="PIC"
+ />
+</p><!--l. 222--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.9 </span> <a
+ id="x13-650002.7.9"></a>Define the top level</h4>
+<!--l. 224--><p class="noindent" >Open the Structure from SendingDataTop and add MrPing and MrPong as a reference. Connect the
+ports.
+</p><!--l. 226--><p class="noindent" ><img
+src="images/025-SendingData13.png" alt="PIC"
+ />
+</p>
+<div class="flushleft"
+>
+<!--l. 229--><p class="noindent" >
+The model is finished now and can be found in /org.eclipse.etrice.tutorials/model/SendingData.</p></div>
+<!--l. 232--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.10 </span> <a
+ id="x13-660002.7.10"></a>Generate and run the model</h4>
+<!--l. 234--><p class="noindent" >Generate the code by right click to <span
+class="ec-lmssbx-10">gen_SendingData.launch </span>and run it as <span
+class="ec-lmssbx-10">gen_SendingData</span>. Run the
+model. The output should look like this:
+
+
+</p>
+<div class="verbatim" id="verbatim-15">
+type&#x00A0;&#8217;quit&#8217;&#x00A0;to&#x00A0;exit
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;1
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;2
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;3
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;4
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;5
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;6
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;7
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;8
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;9
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />data:&#x00A0;10
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
+&#x00A0;<br />d.int32Val:&#x00A0;4711
+&#x00A0;<br />d.float64Val:&#x00A0;0,000000
+&#x00A0;<br />d.int8Array:&#x00A0;1&#x00A0;2&#x00A0;3&#x00A0;4&#x00A0;5&#x00A0;6&#x00A0;7&#x00A0;8&#x00A0;9&#x00A0;10
+&#x00A0;<br />d.stringVal:&#x00A0;empty
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
+&#x00A0;<br />d.int32Val:&#x00A0;815
+&#x00A0;<br />d.float64Val:&#x00A0;3,141234
+&#x00A0;<br />d.int8Array:&#x00A0;100&#x00A0;101&#x00A0;102&#x00A0;103&#x00A0;104&#x00A0;105&#x00A0;106&#x00A0;107&#x00A0;108&#x00A0;109
+&#x00A0;<br />d.stringVal:&#x00A0;some&#x00A0;contents
+&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
+&#x00A0;<br />quit
+&#x00A0;<br />echo:&#x00A0;quit
+</div>
+<!--l. 286--><p class="nopar" >
+
+
+</p><!--l. 288--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.7.11 </span> <a
+ id="x13-670002.7.11"></a>Summary</h4>
+<!--l. 290--><p class="noindent" >Within the first loop an integer value will be incremented by <span
+class="ec-lmsso-10">MrPong </span>and sent back to <span
+class="ec-lmsso-10">MrPing</span>. As long as the
+guard is true <span
+class="ec-lmsso-10">MrPing </span>sends back the value.
+</p><!--l. 293--><p class="noindent" >Within the <span
+class="ec-lmsso-10">next </span>transition, <span
+class="ec-lmsso-10">MrPing </span>creates a data class and sends the default values. Then <span
+class="ec-lmsso-10">MrPing </span>changes
+the values and sends the class again. At this point you should note that during the send operation, a copy of
+the data class will be created and sent. Otherwise it would not be possible to send the same object two times,
+even more it would not be possible to send a stack object at all. This type of data passing is called <span
+class="ec-lmsso-10">sending</span>
+<span
+class="ec-lmsso-10">data by value</span>. However, for performance reasons some applications requires <span
+class="ec-lmsso-10">sending data by reference</span>.
+In this case the user is responsible for the life cycle of the object. In Java the VM takes care
+of the life cycle of an object. This is not the case for C/C++. Consider that a object which is
+created within a transition of a state machine will be destroyed when the transition is finished. The
+receiving FSM would receive an invalid reference. Therefore care must be taken when sending
+references.
+</p><!--l. 304--><p class="noindent" >For sending data by reference you simply have to add the keyword <span
+class="ec-lmsso-10">ref </span>to the protocol definition.
+
+
+</p>
+<div class="verbatim" id="verbatim-16">
+Message&#x00A0;ping(data:&#x00A0;DemoData&#x00A0;ref)
+</div>
+<!--l. 306--><p class="nopar" >
+</p><!--l. 308--><p class="noindent" >Make the test and inspect the console output.
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch3.html" >next</a>] [<a
+href="etrice-docse8.html" >prev</a>] [<a
+href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
+href="etrice-docse9.html" >front</a>] [<a
+href="etrice-docch2.html#etrice-docse9.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse9.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/image-src/012-tutorial-structure.png b/plugins/org.eclipse.etrice.doc/html/image-src/012-tutorial-structure.png
new file mode 100644
index 000000000..5d25da419
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/image-src/012-tutorial-structure.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/012-tutorial-structure.png b/plugins/org.eclipse.etrice.doc/html/images/012-tutorial-structure.png
new file mode 100644
index 000000000..5d25da419
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/012-tutorial-structure.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC01.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC01.png
new file mode 100644
index 000000000..f9bea8d7d
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC01.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC02.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC02.png
new file mode 100644
index 000000000..851899b3e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC02.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC03.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC03.png
new file mode 100644
index 000000000..3f5b8d90c
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC03.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC04.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC04.png
new file mode 100644
index 000000000..3a3f3697e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC04.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC05.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC05.png
new file mode 100644
index 000000000..bbb6b2add
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC05.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC06.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC06.png
new file mode 100644
index 000000000..145f4877f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC06.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC07.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC07.png
new file mode 100644
index 000000000..7848fba23
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC07.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC08.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC08.png
new file mode 100644
index 000000000..5168c8702
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC08.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC09.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC09.png
new file mode 100644
index 000000000..45dc8978e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC09.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC10.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC10.png
new file mode 100644
index 000000000..cc8c7218f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC10.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC11.png b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC11.png
new file mode 100644
index 000000000..f3a8bd24c
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/014-SetupWorkspaceC11.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC01.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC01.png
new file mode 100644
index 000000000..a8f303b32
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC01.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC02.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC02.png
new file mode 100644
index 000000000..25b59ee86
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC02.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC03.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC03.png
new file mode 100644
index 000000000..289212535
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC03.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC04.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC04.png
new file mode 100644
index 000000000..8458eca90
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC04.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC05.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC05.png
new file mode 100644
index 000000000..8bab9bc48
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC05.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC06.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC06.png
new file mode 100644
index 000000000..6adf37a86
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC06.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC07.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC07.png
new file mode 100644
index 000000000..d64c32319
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC07.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC08.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC08.png
new file mode 100644
index 000000000..14867cbe7
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC08.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC09.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC09.png
new file mode 100644
index 000000000..73fbeeba2
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC09.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC10.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC10.png
new file mode 100644
index 000000000..ec764ef2d
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC10.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC11.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC11.png
new file mode 100644
index 000000000..8bca1b998
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC11.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC12.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC12.png
new file mode 100644
index 000000000..f66f9de8d
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC12.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC13.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC13.png
new file mode 100644
index 000000000..372c940c5
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC13.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC14.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC14.png
new file mode 100644
index 000000000..d4c5cb562
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC14.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC15.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC15.png
new file mode 100644
index 000000000..806e796fd
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC15.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC16.png b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC16.png
new file mode 100644
index 000000000..71e76747f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/images/016-HelloWorldC16.png
Binary files differ

Back to the top