Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Lippert2013-03-26 20:54:27 +0000
committerFrank Lippert2013-03-26 20:54:27 +0000
commit004b2bf2afc63ef783629737c5cc897c8923e37e (patch)
treeaf461c72b8868f97868ba7d318bc1ae3d0847109 /plugins/org.eclipse.etrice.doc/html
parentd5d02973f16a8a05c79dcf42f5e1bdb2d4f23930 (diff)
downloadorg.eclipse.etrice-004b2bf2afc63ef783629737c5cc897c8923e37e.tar.gz
org.eclipse.etrice-004b2bf2afc63ef783629737c5cc897c8923e37e.tar.xz
org.eclipse.etrice-004b2bf2afc63ef783629737c5cc897c8923e37e.zip
[doc] Wider margins for PDF, removed boxes around hyperlinks, added two forgotten chapters, general sanitizing, altered links in toc.xml
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html')
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc.html230
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc0x.pngbin176 -> 175 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc1x.pngbin177 -> 176 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc2x.pngbin177 -> 176 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc3x.pngbin180 -> 178 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch1.html2
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch10.html80
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch11.html43
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch12.html79
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch13.html50
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch14.html39
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch15.html61
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch16.html52
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch17.html65
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch18.html56
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch2.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch3.html33
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch4.html60
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch5.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch6.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch7.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch8.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch9.html44
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docli1.html261
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse1.html17
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse10.html12
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse11.html26
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse12.html34
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse13.html28
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse14.html11
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse15.html21
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse16.html73
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse17.html53
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse18.html172
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse19.html26
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse2.html28
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse20.html17
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse21.html20
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse22.html27
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse23.html16
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse24.html21
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse25.html35
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse26.html14
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse27.html21
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse28.html62
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse29.html55
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse3.html190
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse30.html74
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse31.html58
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse32.html79
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse33.html99
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse34.html97
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse35.html107
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse36.html70
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse37.html77
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse38.html242
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse39.html57
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse4.html166
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse40.html410
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse41.html51
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse42.html179
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse43.html329
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse44.html86
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse45.html74
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse46.html42
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse47.html197
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse48.html259
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse49.html64
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse5.html106
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse50.html417
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse51.html76
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse52.html161
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse53.html290
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse54.html70
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse55.html137
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse56.html449
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse57.html173
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse58.html80
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse59.html46
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse6.html17
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse60.html51
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse61.html60
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse62.html42
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse63.html47
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse64.html49
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse65.html129
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse66.html413
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse7.html62
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse8.html39
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse9.html33
90 files changed, 4171 insertions, 3762 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html b/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
index b325f759d..938ea1df1 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
@@ -10,17 +10,15 @@
<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41: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
@@ -29,14 +27,12 @@ class="ecrm-1200">Thomas Sch</span><span
class="ecrm-1200">ütz</span></div>
<br />
<div class="date" ><span
-class="ecrm-1200">March 25, 2013</span></div>
-
-
-
+class="ecrm-1200">March 26, 2013</span></div>
+
+
</div>
-
-
-
+
+
<div class="tableofcontents">
<span class="likechapterToc" ><a
href="etrice-docli1.html#x2-1000" id="QQ2-2-1">Contents</a></span>
@@ -98,9 +94,6 @@ href="etrice-docse20.html#x29-430007.1" id="QQ2-29-44">Scope</a></span>
href="etrice-docse21.html#x30-440007.2" id="QQ2-30-45">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >7.3 <a
href="etrice-docse22.html#x31-450007.3" id="QQ2-31-46">Add a data class</a></span>
-
-
-
<br />&#x00A0;<span class="sectionToc" >7.4 <a
href="etrice-docse23.html#x32-460007.4" id="QQ2-32-47">Create a new protocol</a></span>
<br />&#x00A0;<span class="sectionToc" >7.5 <a
@@ -109,6 +102,8 @@ href="etrice-docse24.html#x33-470007.5" id="QQ2-33-48">Create MrPing and MrPong
href="etrice-docse25.html#x34-480007.6" id="QQ2-34-49">Define Actor Structure and Behavior</a></span>
<br />&#x00A0;<span class="sectionToc" >7.7 <a
href="etrice-docse26.html#x35-510007.7" id="QQ2-35-52">Define the top level</a></span>
+
+
<br />&#x00A0;<span class="sectionToc" >7.8 <a
href="etrice-docse27.html#x36-520007.8" id="QQ2-36-53">Generate and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >7.9 <a
@@ -122,143 +117,156 @@ href="etrice-docse30.html#x40-560008.2" id="QQ2-40-57">Setup the model</a></span
<br />&#x00A0;<span class="sectionToc" >8.3 <a
href="etrice-docse31.html#x41-570008.3" id="QQ2-41-58">Why does it work and why is it safe?</a></span>
<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x42-580009" id="QQ2-42-59">Tutorial Remove C-Comment ( C )</a></span>
+href="etrice-docch9.html#x42-580009" id="QQ2-42-59">Setting up the Workspace for C Projects</a></span>
<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse32.html#x43-590009.1" id="QQ2-43-60">Scope</a></span>
+href="etrice-docse32.html#x43-590009.1" id="QQ2-43-60">Testing the environment</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse33.html#x44-600009.2" id="QQ2-44-61">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.3 <a
-href="etrice-docse34.html#x45-610009.3" id="QQ2-45-62">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.4 <a
-href="etrice-docse35.html#x46-620009.4" id="QQ2-46-63">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.5 <a
-href="etrice-docse36.html#x47-630009.5" id="QQ2-47-64">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.6 <a
-href="etrice-docse37.html#x48-640009.6" id="QQ2-48-65">Summary</a></span>
+href="etrice-docse33.html#x44-600009.2" id="QQ2-44-61">Building the C runtime system</a></span>
<br /><span class="chapterToc" >10 <a
-href="etrice-docch10.html#x49-6500010" id="QQ2-49-66">ROOM Concepts</a></span>
+href="etrice-docch10.html#x45-6100010" id="QQ2-45-62">Tutorial HelloWorld for C</a></span>
<br />&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse38.html#x50-6600010.1" id="QQ2-50-67">Actors</a></span>
+href="etrice-docse34.html#x46-6200010.1" id="QQ2-46-63">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse39.html#x51-7400010.2" id="QQ2-51-77">Protocols</a></span>
+href="etrice-docse35.html#x47-6300010.2" id="QQ2-47-64">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse40.html#x52-7800010.3" id="QQ2-52-81">Ports</a></span>
+href="etrice-docse36.html#x48-6400010.3" id="QQ2-48-65">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse41.html#x53-8400010.4" id="QQ2-53-89">DataClass</a></span>
+href="etrice-docse37.html#x49-6500010.4" id="QQ2-49-66">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse42.html#x54-8700010.5" id="QQ2-54-92">Layering</a></span>
+href="etrice-docse38.html#x50-6600010.5" id="QQ2-50-67">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse43.html#x55-9000010.6" id="QQ2-55-95">Finite State Machines</a></span>
+href="etrice-docse39.html#x51-6700010.6" id="QQ2-51-68">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.7 <a
+href="etrice-docse40.html#x52-6800010.7" id="QQ2-52-69">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.8 <a
+href="etrice-docse41.html#x53-6900010.8" id="QQ2-53-70">Summary</a></span>
<br /><span class="chapterToc" >11 <a
-href="etrice-docch11.html#x56-9900011" id="QQ2-56-106">Automatic Diagram Layout with KIELER</a></span>
+href="etrice-docch11.html#x54-7000011" id="QQ2-54-71">Tutorial Remove C-Comment ( C )</a></span>
<br />&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse44.html#x57-10000011.1" id="QQ2-57-107">Overview</a></span>
+href="etrice-docse42.html#x55-7100011.1" id="QQ2-55-72">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse45.html#x58-10100011.2" id="QQ2-58-108">Performing Automatic Layout</a></span>
+href="etrice-docse43.html#x56-7200011.2" id="QQ2-56-73">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse46.html#x59-10200011.3" id="QQ2-59-109">Layout Options</a></span>
+href="etrice-docse44.html#x57-7300011.3" id="QQ2-57-74">Create your own data type</a></span>
<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse47.html#x60-10300011.4" id="QQ2-60-110">Configuring Layout Options</a></span>
+href="etrice-docse45.html#x58-7400011.4" id="QQ2-58-75">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse48.html#x61-10800011.5" id="QQ2-61-115">Special Layout Options</a></span>
+href="etrice-docse46.html#x59-7500011.5" id="QQ2-59-76">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse49.html#x62-11100011.6" id="QQ2-62-118">Further References</a></span>
+href="etrice-docse47.html#x60-7600011.6" id="QQ2-60-77">Summary</a></span>
<br /><span class="chapterToc" >12 <a
-href="etrice-docch12.html#x63-11200012" id="QQ2-63-119">eTrice Features</a></span>
+href="etrice-docch12.html#x61-7700012" id="QQ2-61-78">ROOM Concepts</a></span>
<br />&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse50.html#x64-11300012.1" id="QQ2-64-120">Codegenerators</a></span>
+href="etrice-docse48.html#x62-7800012.1" id="QQ2-62-79">Actors</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.2 <a
+href="etrice-docse49.html#x63-8600012.2" id="QQ2-63-89">Protocols</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.3 <a
+href="etrice-docse50.html#x64-9000012.3" id="QQ2-64-93">Ports</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.4 <a
+href="etrice-docse51.html#x65-9600012.4" id="QQ2-65-101">DataClass</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.5 <a
+href="etrice-docse52.html#x66-9900012.5" id="QQ2-66-104">Layering</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.6 <a
+href="etrice-docse53.html#x67-10200012.6" id="QQ2-67-107">Finite State Machines</a></span>
<br /><span class="chapterToc" >13 <a
-href="etrice-docch13.html#x65-11700013" id="QQ2-65-124">Codegenerators</a></span>
+href="etrice-docch13.html#x68-11100013" id="QQ2-68-118">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.1 <a
+href="etrice-docse54.html#x69-11200013.1" id="QQ2-69-119">Overview</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.2 <a
+href="etrice-docse55.html#x70-11300013.2" id="QQ2-70-120">Performing Automatic Layout</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.3 <a
+href="etrice-docse56.html#x71-11400013.3" id="QQ2-71-121">Layout Options</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.4 <a
+href="etrice-docse57.html#x72-11500013.4" id="QQ2-72-122">Configuring Layout Options</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.5 <a
+href="etrice-docse58.html#x73-12000013.5" id="QQ2-73-127">Special Layout Options</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.6 <a
+href="etrice-docse59.html#x74-12300013.6" id="QQ2-74-130">Further References</a></span>
<br /><span class="chapterToc" >14 <a
-href="etrice-docch14.html#x66-11800014" id="QQ2-66-125">Runtimes</a></span>
+href="etrice-docch14.html#x75-12400014" id="QQ2-75-131">eTrice Features</a></span>
+<br />&#x00A0;<span class="sectionToc" >14.1 <a
+href="etrice-docse60.html#x76-12500014.1" id="QQ2-76-132">Codegenerators</a></span>
<br /><span class="chapterToc" >15 <a
-href="etrice-docch15.html#x67-11900015" id="QQ2-67-126">eTrice Models and Their Relations</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.1 <a
-href="etrice-docse51.html#x68-12000015.1" id="QQ2-68-127">The ROOM Model</a></span>
-
-
-
-<br />&#x00A0;<span class="sectionToc" >15.2 <a
-href="etrice-docse52.html#x69-12100015.2" id="QQ2-69-128">The Config Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.3 <a
-href="etrice-docse53.html#x70-12200015.3" id="QQ2-70-129">The Physical Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.4 <a
-href="etrice-docse54.html#x71-12300015.4" id="QQ2-71-130">The Mapping Model</a></span>
+href="etrice-docch15.html#x77-12900015" id="QQ2-77-136">Codegenerators</a></span>
+
+
<br /><span class="chapterToc" >16 <a
-href="etrice-docch16.html#x72-12400016" id="QQ2-72-131">eTrice Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >16.1 <a
-href="etrice-docse55.html#x73-12500016.1" id="QQ2-73-132">Architecture</a></span>
-<br />&#x00A0;<span class="sectionToc" >16.2 <a
-href="etrice-docse56.html#x74-12900016.2" id="QQ2-74-136">Component Overview</a></span>
+href="etrice-docch16.html#x78-13000016" id="QQ2-78-137">Runtimes</a></span>
+<br /><span class="chapterToc" >17 <a
+href="etrice-docch17.html#x79-13100017" id="QQ2-79-138">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.1 <a
+href="etrice-docse61.html#x80-13200017.1" id="QQ2-80-139">The ROOM Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.2 <a
+href="etrice-docse62.html#x81-13300017.2" id="QQ2-81-140">The Config Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.3 <a
+href="etrice-docse63.html#x82-13400017.3" id="QQ2-82-141">The Physical Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.4 <a
+href="etrice-docse64.html#x83-13500017.4" id="QQ2-83-142">The Mapping Model</a></span>
+<br /><span class="chapterToc" >18 <a
+href="etrice-docch18.html#x84-13600018" id="QQ2-84-143">eTrice Developer&#8217;s Reference</a></span>
+<br />&#x00A0;<span class="sectionToc" >18.1 <a
+href="etrice-docse65.html#x85-13700018.1" id="QQ2-85-144">Architecture</a></span>
+<br />&#x00A0;<span class="sectionToc" >18.2 <a
+href="etrice-docse66.html#x86-14100018.2" id="QQ2-86-148">Component Overview</a></span>
</div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-<!--l. 42--><p class="noindent" ><span class="next">[<a
+<!--l. 44--><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-doc0x.png b/plugins/org.eclipse.etrice.doc/html/etrice-doc0x.png
index e98d5a6a4..8aded1793 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc0x.png
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc0x.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc1x.png b/plugins/org.eclipse.etrice.doc/html/etrice-doc1x.png
index 542992046..4d3edca2a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc1x.png
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc1x.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc2x.png b/plugins/org.eclipse.etrice.doc/html/etrice-doc2x.png
index 542992046..4d3edca2a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc2x.png
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc2x.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc3x.png b/plugins/org.eclipse.etrice.doc/html/etrice-doc3x.png
index 717739998..4df11956a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc3x.png
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc3x.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
index da5caf0e0..0f53c56f0 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
index 78f4c0df7..53161a025 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
@@ -4,91 +4,55 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>10 ROOM Concepts</title>
+<head><title>10 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse38.html" >next</a>] [<a
-href="etrice-docse37.html" >prev</a>] [<a
-href="etrice-docse37.html#tailetrice-docse37.html" >prev-tail</a>] [<a
+href="etrice-docse34.html" >next</a>] [<a
+href="etrice-docse33.html" >prev</a>] [<a
+href="etrice-docse33.html#tailetrice-docse33.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="x49-6500010"></a>ROOM Concepts</h2>
-<!--l. 3--><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 here: <a
-href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" >ROOM Grammar</a>
-</p>
+ id="x45-6100010"></a>Tutorial HelloWorld for C</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse38.html#x50-6600010.1">Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.1 <a
-href="etrice-docse38.html#x50-6700010.1.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.2 <a
-href="etrice-docse38.html#x50-6800010.1.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.3 <a
-href="etrice-docse38.html#x50-6900010.1.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.4 <a
-href="etrice-docse38.html#x50-7000010.1.4">Details</a></span>
+href="etrice-docse34.html#x46-6200010.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse39.html#x51-7400010.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.1 <a
-href="etrice-docse39.html#x51-7500010.2.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.2 <a
-href="etrice-docse39.html#x51-7600010.2.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.3 <a
-href="etrice-docse39.html#x51-7700010.2.3">Notation</a></span>
+href="etrice-docse35.html#x47-6300010.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse40.html#x52-7800010.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.1 <a
-href="etrice-docse40.html#x52-7900010.3.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.2 <a
-href="etrice-docse40.html#x52-8000010.3.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.3 <a
-href="etrice-docse40.html#x52-8100010.3.3">Notation</a></span>
+href="etrice-docse36.html#x48-6400010.3">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse41.html#x53-8400010.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.1 <a
-href="etrice-docse41.html#x53-8500010.4.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.2 <a
-href="etrice-docse41.html#x53-8600010.4.2">Notation</a></span>
+href="etrice-docse37.html#x49-6500010.4">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse42.html#x54-8700010.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.1 <a
-href="etrice-docse42.html#x54-8800010.5.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.2 <a
-href="etrice-docse42.html#x54-8900010.5.2">Notation</a></span>
+href="etrice-docse38.html#x50-6600010.5">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse43.html#x55-9000010.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.1 <a
-href="etrice-docse43.html#x55-9100010.6.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.2 <a
-href="etrice-docse43.html#x55-9200010.6.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.3 <a
-href="etrice-docse43.html#x55-9300010.6.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.4 <a
-href="etrice-docse43.html#x55-9600010.6.4">Examples</a></span>
+href="etrice-docse39.html#x51-6700010.6">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.7 <a
+href="etrice-docse40.html#x52-6800010.7">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.8 <a
+href="etrice-docse41.html#x53-6900010.8">Summary</a></span>
</div>
-
-
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse38.html" >next</a>] [<a
-href="etrice-docse37.html" >prev</a>] [<a
-href="etrice-docse37.html#tailetrice-docse37.html" >prev-tail</a>] [<a
+href="etrice-docse34.html" >next</a>] [<a
+href="etrice-docse33.html" >prev</a>] [<a
+href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
href="etrice-docch10.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch10.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
index 5af3ca61d..02a043daf 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
@@ -4,58 +4,49 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>11 Automatic Diagram Layout with KIELER</title>
+<head><title>11 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse44.html" >next</a>] [<a
-href="etrice-docse43.html" >prev</a>] [<a
-href="etrice-docse43.html#tailetrice-docse43.html" >prev-tail</a>] [<a
+href="etrice-docse42.html" >next</a>] [<a
+href="etrice-docse41.html" >prev</a>] [<a
+href="etrice-docse41.html#tailetrice-docse41.html" >prev-tail</a>] [<a
href="#tailetrice-docch11.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch11.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;11</span><br /><a
- id="x56-9900011"></a>Automatic Diagram Layout with KIELER</h2>
+ id="x54-7000011"></a>Tutorial Remove C-Comment ( C )</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse44.html#x57-10000011.1">Overview</a></span>
+href="etrice-docse42.html#x55-7100011.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse45.html#x58-10100011.2">Performing Automatic Layout</a></span>
+href="etrice-docse43.html#x56-7200011.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse46.html#x59-10200011.3">Layout Options</a></span>
+href="etrice-docse44.html#x57-7300011.3">Create your own data type</a></span>
<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse47.html#x60-10300011.4">Configuring Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.4.1 <a
-href="etrice-docse47.html#x60-10400011.4.1">The Layout View</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.4.2 <a
-href="etrice-docse47.html#x60-10500011.4.2">Preference Page</a></span>
+href="etrice-docse45.html#x58-7400011.4">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse48.html#x61-10800011.5">Special Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.5.1 <a
-href="etrice-docse48.html#x61-10900011.5.1">Layout Algorithm</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.5.2 <a
-href="etrice-docse48.html#x61-11000011.5.2">Diagram Type</a></span>
+href="etrice-docse46.html#x59-7500011.5">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse49.html#x62-11100011.6">Further References</a></span>
+href="etrice-docse47.html#x60-7600011.6">Summary</a></span>
</div>
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse44.html" >next</a>] [<a
-href="etrice-docse43.html" >prev</a>] [<a
-href="etrice-docse43.html#tailetrice-docse43.html" >prev-tail</a>] [<a
+href="etrice-docse42.html" >next</a>] [<a
+href="etrice-docse41.html" >prev</a>] [<a
+href="etrice-docse41.html#tailetrice-docse41.html" >prev-tail</a>] [<a
href="etrice-docch11.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch11.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html
index 3a2eea90d..b57d53b02 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html
@@ -4,41 +4,90 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>12 eTrice Features</title>
+<head><title>12 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse50.html" >next</a>] [<a
-href="etrice-docse49.html" >prev</a>] [<a
-href="etrice-docse49.html#tailetrice-docse49.html" >prev-tail</a>] [<a
+href="etrice-docse48.html" >next</a>] [<a
+href="etrice-docse47.html" >prev</a>] [<a
+href="etrice-docse47.html#tailetrice-docse47.html" >prev-tail</a>] [<a
href="#tailetrice-docch12.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch12.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;12</span><br /><a
- id="x63-11200012"></a>eTrice Features</h2>
+ id="x61-7700012"></a>ROOM Concepts</h2>
+<!--l. 3--><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 here: <a
+href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" >ROOM
+Grammar</a>
+</p>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse50.html#x64-11300012.1">Codegenerators</a></span>
+href="etrice-docse48.html#x62-7800012.1">Actors</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.1 <a
-href="etrice-docse50.html#x64-11400012.1.1">Java Generator</a></span>
+href="etrice-docse48.html#x62-7900012.1.1">Description</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.2 <a
-href="etrice-docse50.html#x64-11500012.1.2">C++ Generator</a></span>
+href="etrice-docse48.html#x62-8000012.1.2">Motivation</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.3 <a
-href="etrice-docse50.html#x64-11600012.1.3">C Generator</a></span>
+href="etrice-docse48.html#x62-8100012.1.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.4 <a
+href="etrice-docse48.html#x62-8200012.1.4">Details</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.2 <a
+href="etrice-docse49.html#x63-8600012.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.1 <a
+href="etrice-docse49.html#x63-8700012.2.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.2 <a
+href="etrice-docse49.html#x63-8800012.2.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.3 <a
+href="etrice-docse49.html#x63-8900012.2.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.3 <a
+href="etrice-docse50.html#x64-9000012.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.1 <a
+href="etrice-docse50.html#x64-9100012.3.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.2 <a
+href="etrice-docse50.html#x64-9200012.3.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.3 <a
+href="etrice-docse50.html#x64-9300012.3.3">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.4 <a
+href="etrice-docse51.html#x65-9600012.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.1 <a
+href="etrice-docse51.html#x65-9700012.4.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.2 <a
+href="etrice-docse51.html#x65-9800012.4.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.5 <a
+href="etrice-docse52.html#x66-9900012.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.1 <a
+href="etrice-docse52.html#x66-10000012.5.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.2 <a
+href="etrice-docse52.html#x66-10100012.5.2">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.6 <a
+href="etrice-docse53.html#x67-10200012.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.1 <a
+href="etrice-docse53.html#x67-10300012.6.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.2 <a
+href="etrice-docse53.html#x67-10400012.6.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.3 <a
+href="etrice-docse53.html#x67-10500012.6.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.4 <a
+href="etrice-docse53.html#x67-10800012.6.4">Examples</a></span>
</div>
-
-
+
+
+
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse50.html" >next</a>] [<a
-href="etrice-docse49.html" >prev</a>] [<a
-href="etrice-docse49.html#tailetrice-docse49.html" >prev-tail</a>] [<a
+href="etrice-docse48.html" >next</a>] [<a
+href="etrice-docse47.html" >prev</a>] [<a
+href="etrice-docse47.html#tailetrice-docse47.html" >prev-tail</a>] [<a
href="etrice-docch12.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch12.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch13.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch13.html
index 898c40ad8..dfa456f7e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch13.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch13.html
@@ -4,37 +4,57 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>13 Codegenerators</title>
+<head><title>13 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch14.html" >next</a>] [<a
-href="etrice-docse50.html" >prev</a>] [<a
-href="etrice-docse50.html#tailetrice-docse50.html" >prev-tail</a>] [<a
+href="etrice-docse54.html" >next</a>] [<a
+href="etrice-docse53.html" >prev</a>] [<a
+href="etrice-docse53.html#tailetrice-docse53.html" >prev-tail</a>] [<a
href="#tailetrice-docch13.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch13.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;13</span><br /><a
- id="x65-11700013"></a>Codegenerators</h2>
-
+ id="x68-11100013"></a>Automatic Diagram Layout with KIELER</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >13.1 <a
+href="etrice-docse54.html#x69-11200013.1">Overview</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.2 <a
+href="etrice-docse55.html#x70-11300013.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.3 <a
+href="etrice-docse56.html#x71-11400013.3">Layout Options</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.4 <a
+href="etrice-docse57.html#x72-11500013.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.4.1 <a
+href="etrice-docse57.html#x72-11600013.4.1">The Layout View</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.4.2 <a
+href="etrice-docse57.html#x72-11700013.4.2">Preference Page</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.5 <a
+href="etrice-docse58.html#x73-12000013.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.5.1 <a
+href="etrice-docse58.html#x73-12100013.5.1">Layout Algorithm</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.5.2 <a
+href="etrice-docse58.html#x73-12200013.5.2">Diagram Type</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.6 <a
+href="etrice-docse59.html#x74-12300013.6">Further References</a></span>
+</div>
-
-
-
-
-
+
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch14.html" >next</a>] [<a
-href="etrice-docse50.html" >prev</a>] [<a
-href="etrice-docse50.html#tailetrice-docse50.html" >prev-tail</a>] [<a
+href="etrice-docse54.html" >next</a>] [<a
+href="etrice-docse53.html" >prev</a>] [<a
+href="etrice-docse53.html#tailetrice-docse53.html" >prev-tail</a>] [<a
href="etrice-docch13.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch13.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch14.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch14.html
index 71a4bca78..841ce1982 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch14.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch14.html
@@ -4,37 +4,40 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>14 Runtimes</title>
+<head><title>14 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch15.html" >next</a>] [<a
-href="etrice-docch13.html" >prev</a>] [<a
-href="etrice-docch13.html#tailetrice-docch13.html" >prev-tail</a>] [<a
+href="etrice-docse60.html" >next</a>] [<a
+href="etrice-docse59.html" >prev</a>] [<a
+href="etrice-docse59.html#tailetrice-docse59.html" >prev-tail</a>] [<a
href="#tailetrice-docch14.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch14.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;14</span><br /><a
- id="x66-11800014"></a>Runtimes</h2>
-
-
-
-
-
-
-
-
-
+ id="x75-12400014"></a>eTrice Features</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >14.1 <a
+href="etrice-docse60.html#x76-12500014.1">Codegenerators</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.1 <a
+href="etrice-docse60.html#x76-12600014.1.1">Java Generator</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.2 <a
+href="etrice-docse60.html#x76-12700014.1.2">C++ Generator</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.3 <a
+href="etrice-docse60.html#x76-12800014.1.3">C Generator</a></span>
+</div>
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch15.html" >next</a>] [<a
-href="etrice-docch13.html" >prev</a>] [<a
-href="etrice-docch13.html#tailetrice-docch13.html" >prev-tail</a>] [<a
+href="etrice-docse60.html" >next</a>] [<a
+href="etrice-docse59.html" >prev</a>] [<a
+href="etrice-docse59.html#tailetrice-docse59.html" >prev-tail</a>] [<a
href="etrice-docch14.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch14.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch15.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch15.html
index 237fcdb1a..c8b6446aa 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch15.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch15.html
@@ -4,65 +4,34 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>15 eTrice Models and Their Relations</title>
+<head><title>15 Codegenerators</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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse51.html" >next</a>] [<a
-href="etrice-docch14.html" >prev</a>] [<a
-href="etrice-docch14.html#tailetrice-docch14.html" >prev-tail</a>] [<a
+href="etrice-docch16.html" >next</a>] [<a
+href="etrice-docse60.html" >prev</a>] [<a
+href="etrice-docse60.html#tailetrice-docse60.html" >prev-tail</a>] [<a
href="#tailetrice-docch15.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch15.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;15</span><br /><a
- id="x67-11900015"></a>eTrice Models and Their Relations</h2>
-<!--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">Config model (*.config) &#8211; defines configuration values for attributes
- </li>
- <li class="itemize">Physical model (*.etphys) &#8211; defines the structure and properties of the
- physical system
- </li>
- <li class="itemize">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. 14--><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>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >15.1 <a
-href="etrice-docse51.html#x68-12000015.1">The ROOM Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.2 <a
-href="etrice-docse52.html#x69-12100015.2">The Config Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.3 <a
-href="etrice-docse53.html#x70-12200015.3">The Physical Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.4 <a
-href="etrice-docse54.html#x71-12300015.4">The Mapping Model</a></span>
-</div>
-
-
-
-
-
-
+ id="x77-12900015"></a>Codegenerators</h2>
+
+
+
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse51.html" >next</a>] [<a
-href="etrice-docch14.html" >prev</a>] [<a
-href="etrice-docch14.html#tailetrice-docch14.html" >prev-tail</a>] [<a
+href="etrice-docch16.html" >next</a>] [<a
+href="etrice-docse60.html" >prev</a>] [<a
+href="etrice-docse60.html#tailetrice-docse60.html" >prev-tail</a>] [<a
href="etrice-docch15.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch15.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch16.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch16.html
index fc8385218..b2794c375 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch16.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch16.html
@@ -4,54 +4,36 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>16 eTrice Developer&#8217;s Reference</title>
+<head><title>16 Runtimes</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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse55.html" >next</a>] [<a
-href="etrice-docse54.html" >prev</a>] [<a
-href="etrice-docse54.html#tailetrice-docse54.html" >prev-tail</a>] [<a
+href="etrice-docch17.html" >next</a>] [<a
+href="etrice-docch15.html" >prev</a>] [<a
+href="etrice-docch15.html#tailetrice-docch15.html" >prev-tail</a>] [<a
href="#tailetrice-docch16.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch16.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;16</span><br /><a
- id="x72-12400016"></a>eTrice Developer&#8217;s Reference</h2>
-<div class="sectionTOCS">
-&#x00A0;<span class="sectionToc" >16.1 <a
-href="etrice-docse55.html#x73-12500016.1">Architecture</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.1 <a
-href="etrice-docse55.html#x73-12600016.1.1">Editor and Generator Components</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.2 <a
-href="etrice-docse55.html#x73-12700016.1.2">Runtimes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.3 <a
-href="etrice-docse55.html#x73-12800016.1.3">Unit Tests</a></span>
-<br />&#x00A0;<span class="sectionToc" >16.2 <a
-href="etrice-docse56.html#x74-12900016.2">Component Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.1 <a
-href="etrice-docse56.html#x74-13000016.2.1">Room Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.2 <a
-href="etrice-docse56.html#x74-13600016.2.2">Config Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.3 <a
-href="etrice-docse56.html#x74-14000016.2.3">Aggregation Layer Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.4 <a
-href="etrice-docse56.html#x74-14400016.2.4">Generator Overview</a></span>
-</div>
-
-
-
-
-<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse55.html" >next</a>] [<a
-href="etrice-docse54.html" >prev</a>] [<a
-href="etrice-docse54.html#tailetrice-docse54.html" >prev-tail</a>] [<a
+ id="x78-13000016"></a>Runtimes</h2>
+
+
+
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch17.html" >next</a>] [<a
+href="etrice-docch15.html" >prev</a>] [<a
+href="etrice-docch15.html#tailetrice-docch15.html" >prev-tail</a>] [<a
href="etrice-docch16.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch16.html" >up</a>] </p></div>
-<!--l. 42--><p class="noindent" ><a
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docch16.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch17.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch17.html
new file mode 100644
index 000000000..ae20f3b15
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch17.html
@@ -0,0 +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>17 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse61.html" >next</a>] [<a
+href="etrice-docch16.html" >prev</a>] [<a
+href="etrice-docch16.html#tailetrice-docch16.html" >prev-tail</a>] [<a
+href="#tailetrice-docch17.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch17.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;17</span><br /><a
+ id="x79-13100017"></a>eTrice Models and Their Relations</h2>
+<!--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">Config model (*.config) &#8211; defines configuration values for attributes
+ </li>
+ <li class="itemize">Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
+ </li>
+ <li class="itemize">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. 14--><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>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >17.1 <a
+href="etrice-docse61.html#x80-13200017.1">The ROOM Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.2 <a
+href="etrice-docse62.html#x81-13300017.2">The Config Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.3 <a
+href="etrice-docse63.html#x82-13400017.3">The Physical Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.4 <a
+href="etrice-docse64.html#x83-13500017.4">The Mapping Model</a></span>
+</div>
+
+
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse61.html" >next</a>] [<a
+href="etrice-docch16.html" >prev</a>] [<a
+href="etrice-docch16.html#tailetrice-docch16.html" >prev-tail</a>] [<a
+href="etrice-docch17.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch17.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docch17.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch18.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch18.html
new file mode 100644
index 000000000..491260957
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch18.html
@@ -0,0 +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>18 eTrice 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse65.html" >next</a>] [<a
+href="etrice-docse64.html" >prev</a>] [<a
+href="etrice-docse64.html#tailetrice-docse64.html" >prev-tail</a>] [<a
+href="#tailetrice-docch18.html">tail</a>] [<a
+href="etrice-doc.html#etrice-docch18.html" >up</a>] </p></div>
+<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;18</span><br /><a
+ id="x84-13600018"></a>eTrice Developer&#8217;s Reference</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >18.1 <a
+href="etrice-docse65.html#x85-13700018.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.1 <a
+href="etrice-docse65.html#x85-13800018.1.1">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.2 <a
+href="etrice-docse65.html#x85-13900018.1.2">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.3 <a
+href="etrice-docse65.html#x85-14000018.1.3">Unit Tests</a></span>
+<br />&#x00A0;<span class="sectionToc" >18.2 <a
+href="etrice-docse66.html#x86-14100018.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.1 <a
+href="etrice-docse66.html#x86-14200018.2.1">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.2 <a
+href="etrice-docse66.html#x86-14800018.2.2">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.3 <a
+href="etrice-docse66.html#x86-15200018.2.3">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.4 <a
+href="etrice-docse66.html#x86-15600018.2.4">Generator Overview</a></span>
+</div>
+
+
+
+<!--l. 44--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse65.html" >next</a>] [<a
+href="etrice-docse64.html" >prev</a>] [<a
+href="etrice-docse64.html#tailetrice-docse64.html" >prev-tail</a>] [<a
+href="etrice-docch18.html" >front</a>] [<a
+href="etrice-doc.html#etrice-docch18.html" >up</a>] </p></div>
+<!--l. 44--><p class="noindent" ><a
+ id="tailetrice-docch18.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 850fcf417..f17047ee0 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -56,9 +56,8 @@ href="etrice-docse5.html#x9-200002.3.3">Execution Models</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
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
index c134cd573..be5308b61 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,24 +22,19 @@ 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="x10-240003"></a>Working with the eTrice Tutorials</h2>
-<!--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 concepts will not be
-explained for each language.
-</p><!--l. 5--><p class="noindent" >Most of the common concepts will be described for Java as target language. To start
-with a new language the first steps to setup the workspace and to generate and run
-the first model will be described also. Target language specific aspects will be
-described as well.
-</p><!--l. 7--><p class="noindent" >Therefore the best way to start with eTrice is to follow the Java Tutorials and after
-that switch to your target language.
-
-
-
-
-
-
-
-
-
+<!--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 concepts will not be explained for each language.
+</p><!--l. 5--><p class="noindent" >Most of the common concepts will be described for Java as target language. To start with a new language
+the first steps to setup the workspace and to generate and run the first model will be described also.
+Target language specific aspects will be described as well.
+</p><!--l. 7--><p class="noindent" >Therefore the best way to start with eTrice is to follow the Java Tutorials and after that switch to your
+target language.
+
+
+
+
+
+
</p>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docch4.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
index 20fd4b444..118f0d951 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,9 +22,9 @@ 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="x11-250004"></a>Setting up the Workspace for Java Projects</h2>
-<!--l. 3--><p class="noindent" >ETrice generates code out of ROOM models. The code generator and the generated
-code relies on a runtime framework and on some ready to use model parts. This parts
-provide services like:
+<!--l. 3--><p class="noindent" >ETrice generates code out of ROOM models. The code generator and the generated code relies
+on a runtime framework and on some ready to use model parts. This parts provide services
+like:
</p>
<ul class="itemize1">
<li class="itemize">messaging
@@ -32,10 +32,9 @@ provide services like:
<li class="itemize">logging
</li>
<li class="itemize">timing</li></ul>
-<!--l. 11--><p class="noindent" >Additionally some tutorial models will be provided to make it easy to start with
-eTrice. All this parts must be available in our workspace before you can start
-working. After installation of eclipse (juno) and the eTrice plug in, your workspace
-should look like this:
+<!--l. 11--><p class="noindent" >Additionally some tutorial models will be provided to make it easy to start with eTrice. All this parts
+must be available in our workspace before you can start working. After installation of eclipse (juno) and
+the eTrice plug in, your workspace should look like this:
</p><!--l. 13--><p class="noindent" ><img
src="images/013-SetupWorkspace01.png" alt="PIC"
/>
@@ -58,28 +57,26 @@ src="images/013-SetupWorkspace03.png" alt="PIC"
/>
</p><!--l. 29--><p class="noindent" >Do the same steps for <span
class="ecti-1000">eTrice Java Modellib </span>and <span
-class="ecti-1000">eTrice Java Tutorials</span>. To avoid
-temporary error markers you should keep the proposed order of installation. The
-resulting workspace should look like this:
+class="ecti-1000">eTrice 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. 31--><p class="noindent" ><img
src="images/013-SetupWorkspace04.png" alt="PIC"
/>
-</p><!--l. 34--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your
-work.
+</p><!--l. 34--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your work.
</p><!--l. 36--><p class="noindent" >The tutorial models are available in the <span
-class="ecti-1000">org.eclipse.etrice.tutorials </span>project. All
-tutorials are ready to generate and run without any changes. To start the
-code generator simply run <span
-class="ecbx-1000">gen_org.eclipse.etrice.tutorials.launch </span>as
+class="ecti-1000">org.eclipse.etrice.tutorials </span>project. All tutorials are
+ready to generate and run without any changes. To start the code generator simply run
<span
+class="ecbx-1000">gen_org.eclipse.etrice.tutorials.launch </span>as <span
class="ecbx-1000">gen_org.eclipse.etrice.tutorials.launch</span>:
</p><!--l. 38--><p class="noindent" ><img
src="images/013-SetupWorkspace05.png" alt="PIC"
/>
</p><!--l. 41--><p class="noindent" >After generation for each tutorial a java file called <span
-class="ecbx-1000">SubSystem_ModelnameRunner.java</span>
-is generated. To run the model simply run this file as a java application:
+class="ecbx-1000">SubSystem_ModelnameRunner.java </span>is generated.
+To run the model simply run this file as a java application:
</p><!--l. 43--><p class="noindent" ><img
src="images/013-SetupWorkspace06.png" alt="PIC"
/>
@@ -88,22 +85,15 @@ class="ecti-1000">quit </span>in the console window.
</p><!--l. 48--><p class="noindent" ><img
src="images/013-SetupWorkspace07.png" alt="PIC"
/>
-
-
-
-</p><!--l. 51--><p class="noindent" >Performing the tutorials will setup an 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. 51--><p class="noindent" >Performing the tutorials will setup an 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-docch5.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
index 60fe1b07c..83fd5b921 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -41,9 +41,8 @@ href="etrice-docse11.html#x18-320005.6">Summary</a></span>
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse6.html" >next</a>] [<a
href="etrice-docch4.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
index 897c87f71..133fc76a8 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -47,9 +47,8 @@ href="etrice-docse19.html#x27-410006.8">Summary</a></span>
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse12.html" >next</a>] [<a
href="etrice-docse11.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
index acf09d00e..6780f6367 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -54,9 +54,8 @@ href="etrice-docse28.html#x37-530007.9">Summary</a></span>
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse20.html" >next</a>] [<a
href="etrice-docse19.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
index fc087ee14..5098e1af6 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -32,9 +32,8 @@ href="etrice-docse31.html#x41-570008.3">Why does it work and why is it safe?</a>
</div>
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse29.html" >next</a>] [<a
href="etrice-docse28.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
index cce1b9d08..16d1a4285 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
@@ -4,13 +4,13 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>9 Tutorial Remove C-Comment ( C )</title>
+<head><title>9 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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -21,29 +21,33 @@ href="etrice-docse31.html#tailetrice-docse31.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="x42-580009"></a>Tutorial Remove C-Comment ( C )</h2>
+ id="x42-580009"></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="ecti-1000">File-&#x003E;New-&#x003E;Project-&#x003E;eTrice</span>
+select <span
+class="ecti-1000">eTrice C runtime </span>/ <span
+class="ecti-1000">eTrice 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" >9.1 <a
-href="etrice-docse32.html#x43-590009.1">Scope</a></span>
+href="etrice-docse32.html#x43-590009.1">Testing the environment</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse33.html#x44-600009.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.3 <a
-href="etrice-docse34.html#x45-610009.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.4 <a
-href="etrice-docse35.html#x46-620009.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.5 <a
-href="etrice-docse36.html#x47-630009.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.6 <a
-href="etrice-docse37.html#x48-640009.6">Summary</a></span>
+href="etrice-docse33.html#x44-600009.2">Building the C runtime system</a></span>
</div>
-
-
-
-
-
-
-
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse32.html" >next</a>] [<a
href="etrice-docse31.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
index 7f4841bf7..76f2c5376 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
@@ -10,11 +10,11 @@
<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 24--><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
@@ -73,13 +73,12 @@ href="etrice-docse6.html#x13-270005.1">Scope</a></span>
href="etrice-docse7.html#x14-280005.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >5.3 <a
href="etrice-docse8.html#x15-290005.3">Create a state machine</a></span>
-
-
-
<br />&#x00A0;<span class="sectionToc" >5.4 <a
href="etrice-docse9.html#x16-300005.4">Build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >5.5 <a
href="etrice-docse10.html#x17-310005.5">Open the Message Sequence Chart</a></span>
+
+
<br />&#x00A0;<span class="sectionToc" >5.6 <a
href="etrice-docse11.html#x18-320005.6">Summary</a></span>
<br /><span class="chapterToc" >6 <a
@@ -133,148 +132,168 @@ href="etrice-docse30.html#x40-560008.2">Setup the model</a></span>
<br />&#x00A0;<span class="sectionToc" >8.3 <a
href="etrice-docse31.html#x41-570008.3">Why does it work and why is it safe?</a></span>
<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x42-580009">Tutorial Remove C-Comment ( C )</a></span>
+href="etrice-docch9.html#x42-580009">Setting up the Workspace for C Projects</a></span>
<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse32.html#x43-590009.1">Scope</a></span>
+href="etrice-docse32.html#x43-590009.1">Testing the environment</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse33.html#x44-600009.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.3 <a
-href="etrice-docse34.html#x45-610009.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.4 <a
-href="etrice-docse35.html#x46-620009.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.5 <a
-href="etrice-docse36.html#x47-630009.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >9.6 <a
-href="etrice-docse37.html#x48-640009.6">Summary</a></span>
+href="etrice-docse33.html#x44-600009.2">Building the C runtime system</a></span>
<br /><span class="chapterToc" >10 <a
-href="etrice-docch10.html#x49-6500010">ROOM Concepts</a></span>
+href="etrice-docch10.html#x45-6100010">Tutorial HelloWorld for C</a></span>
<br />&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse38.html#x50-6600010.1">Actors</a></span>
-
-
-
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.1 <a
-href="etrice-docse38.html#x50-6700010.1.1" id="QQ2-50-68">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.2 <a
-href="etrice-docse38.html#x50-6800010.1.2" id="QQ2-50-69">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.3 <a
-href="etrice-docse38.html#x50-6900010.1.3" id="QQ2-50-70">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.4 <a
-href="etrice-docse38.html#x50-7000010.1.4" id="QQ2-50-72">Details</a></span>
+href="etrice-docse34.html#x46-6200010.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse39.html#x51-7400010.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.1 <a
-href="etrice-docse39.html#x51-7500010.2.1" id="QQ2-51-78">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.2 <a
-href="etrice-docse39.html#x51-7600010.2.2" id="QQ2-51-79">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.3 <a
-href="etrice-docse39.html#x51-7700010.2.3" id="QQ2-51-80">Notation</a></span>
+href="etrice-docse35.html#x47-6300010.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse40.html#x52-7800010.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.1 <a
-href="etrice-docse40.html#x52-7900010.3.1" id="QQ2-52-82">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.2 <a
-href="etrice-docse40.html#x52-8000010.3.2" id="QQ2-52-83">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.3 <a
-href="etrice-docse40.html#x52-8100010.3.3" id="QQ2-52-84">Notation</a></span>
+href="etrice-docse36.html#x48-6400010.3">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse41.html#x53-8400010.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.1 <a
-href="etrice-docse41.html#x53-8500010.4.1" id="QQ2-53-90">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.2 <a
-href="etrice-docse41.html#x53-8600010.4.2" id="QQ2-53-91">Notation</a></span>
+href="etrice-docse37.html#x49-6500010.4">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse42.html#x54-8700010.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.1 <a
-href="etrice-docse42.html#x54-8800010.5.1" id="QQ2-54-93">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.2 <a
-href="etrice-docse42.html#x54-8900010.5.2" id="QQ2-54-94">Notation</a></span>
+href="etrice-docse38.html#x50-6600010.5">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse43.html#x55-9000010.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.1 <a
-href="etrice-docse43.html#x55-9100010.6.1" id="QQ2-55-96">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.2 <a
-href="etrice-docse43.html#x55-9200010.6.2" id="QQ2-55-97">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.3 <a
-href="etrice-docse43.html#x55-9300010.6.3" id="QQ2-55-98">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.4 <a
-href="etrice-docse43.html#x55-9600010.6.4" id="QQ2-55-103">Examples</a></span>
+href="etrice-docse39.html#x51-6700010.6">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.7 <a
+href="etrice-docse40.html#x52-6800010.7">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >10.8 <a
+href="etrice-docse41.html#x53-6900010.8">Summary</a></span>
<br /><span class="chapterToc" >11 <a
-href="etrice-docch11.html#x56-9900011">Automatic Diagram Layout with KIELER</a></span>
+href="etrice-docch11.html#x54-7000011">Tutorial Remove C-Comment ( C )</a></span>
<br />&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse44.html#x57-10000011.1">Overview</a></span>
+href="etrice-docse42.html#x55-7100011.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse45.html#x58-10100011.2">Performing Automatic Layout</a></span>
+href="etrice-docse43.html#x56-7200011.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse46.html#x59-10200011.3">Layout Options</a></span>
+href="etrice-docse44.html#x57-7300011.3">Create your own data type</a></span>
+
+
<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse47.html#x60-10300011.4">Configuring Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.4.1 <a
-href="etrice-docse47.html#x60-10400011.4.1" id="QQ2-60-111">The Layout View</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.4.2 <a
-href="etrice-docse47.html#x60-10500011.4.2" id="QQ2-60-112">Preference Page</a></span>
+href="etrice-docse45.html#x58-7400011.4">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse48.html#x61-10800011.5">Special Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.5.1 <a
-href="etrice-docse48.html#x61-10900011.5.1" id="QQ2-61-116">Layout Algorithm</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.5.2 <a
-href="etrice-docse48.html#x61-11000011.5.2" id="QQ2-61-117">Diagram Type</a></span>
+href="etrice-docse46.html#x59-7500011.5">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse49.html#x62-11100011.6">Further References</a></span>
+href="etrice-docse47.html#x60-7600011.6">Summary</a></span>
<br /><span class="chapterToc" >12 <a
-href="etrice-docch12.html#x63-11200012">eTrice Features</a></span>
+href="etrice-docch12.html#x61-7700012">ROOM Concepts</a></span>
<br />&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse50.html#x64-11300012.1">Codegenerators</a></span>
+href="etrice-docse48.html#x62-7800012.1">Actors</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.1 <a
-href="etrice-docse50.html#x64-11400012.1.1" id="QQ2-64-121">Java Generator</a></span>
-
-
-
+href="etrice-docse48.html#x62-7900012.1.1" id="QQ2-62-80">Description</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.2 <a
-href="etrice-docse50.html#x64-11500012.1.2" id="QQ2-64-122">C++ Generator</a></span>
+href="etrice-docse48.html#x62-8000012.1.2" id="QQ2-62-81">Motivation</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.3 <a
-href="etrice-docse50.html#x64-11600012.1.3" id="QQ2-64-123">C Generator</a></span>
+href="etrice-docse48.html#x62-8100012.1.3" id="QQ2-62-82">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.4 <a
+href="etrice-docse48.html#x62-8200012.1.4" id="QQ2-62-84">Details</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.2 <a
+href="etrice-docse49.html#x63-8600012.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.1 <a
+href="etrice-docse49.html#x63-8700012.2.1" id="QQ2-63-90">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.2 <a
+href="etrice-docse49.html#x63-8800012.2.2" id="QQ2-63-91">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.3 <a
+href="etrice-docse49.html#x63-8900012.2.3" id="QQ2-63-92">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.3 <a
+href="etrice-docse50.html#x64-9000012.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.1 <a
+href="etrice-docse50.html#x64-9100012.3.1" id="QQ2-64-94">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.2 <a
+href="etrice-docse50.html#x64-9200012.3.2" id="QQ2-64-95">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.3 <a
+href="etrice-docse50.html#x64-9300012.3.3" id="QQ2-64-96">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.4 <a
+href="etrice-docse51.html#x65-9600012.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.1 <a
+href="etrice-docse51.html#x65-9700012.4.1" id="QQ2-65-102">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.2 <a
+href="etrice-docse51.html#x65-9800012.4.2" id="QQ2-65-103">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.5 <a
+href="etrice-docse52.html#x66-9900012.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.1 <a
+href="etrice-docse52.html#x66-10000012.5.1" id="QQ2-66-105">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.2 <a
+href="etrice-docse52.html#x66-10100012.5.2" id="QQ2-66-106">Notation</a></span>
+<br />&#x00A0;<span class="sectionToc" >12.6 <a
+href="etrice-docse53.html#x67-10200012.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.1 <a
+href="etrice-docse53.html#x67-10300012.6.1" id="QQ2-67-108">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.2 <a
+href="etrice-docse53.html#x67-10400012.6.2" id="QQ2-67-109">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.3 <a
+href="etrice-docse53.html#x67-10500012.6.3" id="QQ2-67-110">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.4 <a
+href="etrice-docse53.html#x67-10800012.6.4" id="QQ2-67-115">Examples</a></span>
<br /><span class="chapterToc" >13 <a
-href="etrice-docch13.html#x65-11700013">Codegenerators</a></span>
+href="etrice-docch13.html#x68-11100013">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.1 <a
+href="etrice-docse54.html#x69-11200013.1">Overview</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.2 <a
+href="etrice-docse55.html#x70-11300013.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.3 <a
+href="etrice-docse56.html#x71-11400013.3">Layout Options</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.4 <a
+href="etrice-docse57.html#x72-11500013.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.4.1 <a
+href="etrice-docse57.html#x72-11600013.4.1" id="QQ2-72-123">The Layout View</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.4.2 <a
+href="etrice-docse57.html#x72-11700013.4.2" id="QQ2-72-124">Preference Page</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.5 <a
+href="etrice-docse58.html#x73-12000013.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.5.1 <a
+href="etrice-docse58.html#x73-12100013.5.1" id="QQ2-73-128">Layout Algorithm</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.5.2 <a
+href="etrice-docse58.html#x73-12200013.5.2" id="QQ2-73-129">Diagram Type</a></span>
+<br />&#x00A0;<span class="sectionToc" >13.6 <a
+href="etrice-docse59.html#x74-12300013.6">Further References</a></span>
<br /><span class="chapterToc" >14 <a
-href="etrice-docch14.html#x66-11800014">Runtimes</a></span>
+href="etrice-docch14.html#x75-12400014">eTrice Features</a></span>
+<br />&#x00A0;<span class="sectionToc" >14.1 <a
+href="etrice-docse60.html#x76-12500014.1">Codegenerators</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.1 <a
+href="etrice-docse60.html#x76-12600014.1.1" id="QQ2-76-133">Java Generator</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.2 <a
+href="etrice-docse60.html#x76-12700014.1.2" id="QQ2-76-134">C++ Generator</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.3 <a
+href="etrice-docse60.html#x76-12800014.1.3" id="QQ2-76-135">C Generator</a></span>
<br /><span class="chapterToc" >15 <a
-href="etrice-docch15.html#x67-11900015">eTrice Models and Their Relations</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.1 <a
-href="etrice-docse51.html#x68-12000015.1">The ROOM Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.2 <a
-href="etrice-docse52.html#x69-12100015.2">The Config Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.3 <a
-href="etrice-docse53.html#x70-12200015.3">The Physical Model</a></span>
-<br />&#x00A0;<span class="sectionToc" >15.4 <a
-href="etrice-docse54.html#x71-12300015.4">The Mapping Model</a></span>
+href="etrice-docch15.html#x77-12900015">Codegenerators</a></span>
<br /><span class="chapterToc" >16 <a
-href="etrice-docch16.html#x72-12400016">eTrice Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >16.1 <a
-href="etrice-docse55.html#x73-12500016.1">Architecture</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.1 <a
-href="etrice-docse55.html#x73-12600016.1.1" id="QQ2-73-133">Editor and Generator Components</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.2 <a
-href="etrice-docse55.html#x73-12700016.1.2" id="QQ2-73-134">Runtimes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.1.3 <a
-href="etrice-docse55.html#x73-12800016.1.3" id="QQ2-73-135">Unit Tests</a></span>
-<br />&#x00A0;<span class="sectionToc" >16.2 <a
-href="etrice-docse56.html#x74-12900016.2">Component Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.1 <a
-href="etrice-docse56.html#x74-13000016.2.1" id="QQ2-74-137">Room Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.2 <a
-href="etrice-docse56.html#x74-13600016.2.2" id="QQ2-74-143">Config Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.3 <a
-href="etrice-docse56.html#x74-14000016.2.3" id="QQ2-74-147">Aggregation Layer Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >16.2.4 <a
-href="etrice-docse56.html#x74-14400016.2.4" id="QQ2-74-151">Generator Overview</a></span>
+href="etrice-docch16.html#x78-13000016">Runtimes</a></span>
+<br /><span class="chapterToc" >17 <a
+href="etrice-docch17.html#x79-13100017">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.1 <a
+href="etrice-docse61.html#x80-13200017.1">The ROOM Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.2 <a
+href="etrice-docse62.html#x81-13300017.2">The Config Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.3 <a
+href="etrice-docse63.html#x82-13400017.3">The Physical Model</a></span>
+<br />&#x00A0;<span class="sectionToc" >17.4 <a
+href="etrice-docse64.html#x83-13500017.4">The Mapping Model</a></span>
+<br /><span class="chapterToc" >18 <a
+href="etrice-docch18.html#x84-13600018">eTrice Developer&#8217;s Reference</a></span>
+<br />&#x00A0;<span class="sectionToc" >18.1 <a
+href="etrice-docse65.html#x85-13700018.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.1 <a
+href="etrice-docse65.html#x85-13800018.1.1" id="QQ2-85-145">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.2 <a
+href="etrice-docse65.html#x85-13900018.1.2" id="QQ2-85-146">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.1.3 <a
+href="etrice-docse65.html#x85-14000018.1.3" id="QQ2-85-147">Unit Tests</a></span>
+<br />&#x00A0;<span class="sectionToc" >18.2 <a
+href="etrice-docse66.html#x86-14100018.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.1 <a
+href="etrice-docse66.html#x86-14200018.2.1" id="QQ2-86-149">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.2 <a
+href="etrice-docse66.html#x86-14800018.2.2" id="QQ2-86-155">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.3 <a
+href="etrice-docse66.html#x86-15200018.2.3" id="QQ2-86-159">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >18.2.4 <a
+href="etrice-docse66.html#x86-15600018.2.4" id="QQ2-86-163">Generator Overview</a></span>
</div>
-
-
-
-
-
-
+
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docch1.html" >next</a>] [<a
href="etrice-doc.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
index c81f2217b..12f0db7e9 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,14 +22,13 @@ 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>What is eTrice?</h3>
-<!--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. 7--><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.
-
-
-
+<!--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. 7--><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. 9--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse2.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
index e7863c105..49e5e9002 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,15 +23,13 @@ href="etrice-docch5.html#etrice-docse10.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.5 </span> <a
id="x17-310005.5"></a>Open the Message Sequence Chart</h3>
<!--l. 113--><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:
+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. 115--><p class="noindent" ><img
src="images/015-HelloWorld09.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 119--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse11.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
index 1332088ae..6f8df47df 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,21 +22,17 @@ href="#tailetrice-docse11.html">tail</a>] [<a
href="etrice-docch5.html#etrice-docse11.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.6 </span> <a
id="x18-320005.6"></a>Summary</h3>
-<!--l. 121--><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
+<!--l. 121--><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-docch6.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
index 81d933f05..3bef09a50 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,19 +23,17 @@ href="etrice-docch6.html#etrice-docse12.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.1 </span> <a
id="x20-340006.1"></a>Scope</h3>
<!--l. 5--><p class="noindent" >This tutorial describes how to use the <span
-class="ecti-1000">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
+class="ecti-1000">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. 8--><p class="noindent" >After the exercise is created you must copy the GUI to your src directory (see
-below).
-</p><!--l. 10--><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. 8--><p class="noindent" >After the exercise is created you must copy the GUI to your src directory (see below).
+</p><!--l. 10--><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. 12--><p class="noindent" >The GUI looks like this:
</p><!--l. 14--><p class="noindent" ><img
src="images/020-Blinky08.png" alt="PIC"
@@ -46,9 +44,6 @@ src="images/020-Blinky08.png" alt="PIC"
</p><ol class="enumerate1" >
<li
class="enumerate" id="x20-34002x1">create a new model from scratch
-
-
-
</li>
<li
class="enumerate" id="x20-34004x2">define a protocol
@@ -62,6 +57,8 @@ src="images/020-Blinky08.png" alt="PIC"
<li
class="enumerate" id="x20-34010x5">use the predefined <span
class="ecti-1000">TimingService</span>
+
+
</li>
<li
class="enumerate" id="x20-34012x6">combine manual code with generated code
@@ -71,9 +68,8 @@ class="ecti-1000">TimingService</span>
</li>
<li
class="enumerate" id="x20-34016x8">open the message sequence chart</li></ol>
-
-
-
+
+
<!--l. 32--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse13.html" >next</a>] [<a
href="etrice-docch6.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
index 2f2a713de..22a23f550 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,24 +23,21 @@ href="etrice-docch6.html#etrice-docse13.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
id="x21-350006.2"></a>Create a new model from scratch</h3>
<!--l. 34--><p class="noindent" >Remember the exercise <span
-class="ecti-1000">HelloWorld</span>. Create a new eTrice project and name it
-<span
+class="ecti-1000">HelloWorld</span>. Create a new eTrice project and name it <span
class="ecti-1000">Blinky</span>.
</p><!--l. 37--><p class="noindent" >To use the GUI please copy the package <span
class="ecti-1000">org.eclipse.etrice.tutorials.PedLightGUI </span>from
<span
class="ecti-1000">org.eclipse.etrice.tutorials/src </span>to your *src* directory <span
-class="ecti-1000">Blinky/src</span>. For this tutorial you
-must remove the error markers by editing the file <span
-class="ecti-1000">PedestrianLightWndNoTcp.java</span>.
-Appropriate comments are provided to remove the error markers for this
-turorial.
+class="ecti-1000">Blinky/src</span>. For this tutorial you must remove the
+error markers by editing the file <span
+class="ecti-1000">PedestrianLightWndNoTcp.java</span>. Appropriate comments are provided to
+remove the error markers for this turorial.
</p><!--l. 39--><p class="noindent" >Open the <span
-class="ecti-1000">Blinky.room </span>file and copy the following code into the file or use content
-assist to create the model.
-
-
-
+class="ecti-1000">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;{
@@ -58,9 +55,8 @@ RoomModel&#x00A0;Blinky&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 55--><p class="nopar" >
-
-
-
+
+
</p>
<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse14.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
index a58d773df..d80eaebb5 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,8 +22,8 @@ href="#tailetrice-docse14.html">tail</a>] [<a
href="etrice-docch6.html#etrice-docse14.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
id="x22-360006.3"></a>Add two additional actor classes</h3>
-<!--l. 59--><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
+<!--l. 59--><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="ecti-1000">Content Assist</span>
</p><!--l. 61--><p class="noindent" ><img
src="images/020-Blinky02.png" alt="PIC"
@@ -38,9 +38,8 @@ src="images/020-Blinky01.png" alt="PIC"
class="ecti-1000">BlinkyController</span>.
</p><!--l. 71--><p class="noindent" >With Ctrl+Shift+F you can beautify the model code.
</p><!--l. 73--><p class="noindent" >Save the model and visit the outline view.
-
-
-
+
+
</p>
<!--l. 75--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse15.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
index f82dffbeb..783c6981f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -24,23 +24,22 @@ href="etrice-docch6.html#etrice-docse15.html" >up</a>] </p></div>
id="x23-370006.4"></a>Create a new protocol</h3>
<!--l. 77--><p class="noindent" >With the help of <span
class="ecti-1000">Content Assist </span>create a <span
-class="ecti-1000">ProtocolClass </span>and name it
+class="ecti-1000">ProtocolClass </span>and name it <span
+class="ecti-1000">BlinkyControlProtocol</span>. Inside the
+brackets use the <span
+class="ecti-1000">Content Assist </span>(CTRL+Space) to create two incoming messages called <span
+class="ecti-1000">start </span>and
<span
-class="ecti-1000">BlinkyControlProtocol</span>. Inside the brackets use the <span
-class="ecti-1000">Content Assist </span>(CTRL+Space) to
-create two incoming messages called <span
-class="ecti-1000">start </span>and <span
class="ecti-1000">stop</span>.
</p><!--l. 80--><p class="noindent" >The resulting code should look like this:
</p><!--l. 82--><p class="noindent" ><img
src="images/020-Blinky03.png" alt="PIC"
/>
</p><!--l. 85--><p class="noindent" >With Ctrl-Shift+F or selecting <span
-class="ecti-1000">Format </span>from the context menu you can format the
-text. Note that all elements are displayed in the outline view.
-
-
-
+class="ecti-1000">Format </span>from the context menu you can format the text. Note that all
+elements are displayed in the outline view.
+
+
</p>
<!--l. 87--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse16.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
index 7b84b689b..d4b3e76fb 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,23 +22,21 @@ href="#tailetrice-docse16.html">tail</a>] [<a
href="etrice-docch6.html#etrice-docse16.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
id="x24-380006.5"></a>Import the Timing Service</h3>
-<!--l. 89--><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. 91--><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="ecti-1000">Blinky </span>and
-select properties. Select the <span
-class="ecti-1000">Java Build Path </span>tab)
+<!--l. 89--><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. 91--><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="ecti-1000">Blinky </span>and select properties. Select the <span
+class="ecti-1000">Java Build Path</span>
+tab)
</p><!--l. 94--><p class="noindent" ><img
src="images/020-Blinky16.png" alt="PIC"
/>
-</p><!--l. 97--><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><!--l. 97--><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;{
@@ -53,37 +51,35 @@ RoomModel&#x00A0;Blinky&#x00A0;{
&#x00A0;<br />...
</div>
<!--l. 111--><p class="nopar" >
-</p><!--l. 114--><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. 114--><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. 116--><p class="noindent" >Now it can be used within the model. Right click to <span
-class="ecbx-1000">SubSystem_Blinky </span>within the
-outline view. Select <span
+class="ecbx-1000">SubSystem_Blinky </span>within the outline view. Select
+<span
class="ecti-1000">Edit Structure</span>. The <span
-class="ecti-1000">application </span>is already referenced in
-the subsystem. Drag and Drop an <span
-class="ecti-1000">ActorRef </span>to the <span
-class="ecbx-1000">SubSystem_Blinky</span>
-and name it <span
+class="ecti-1000">application </span>is already referenced in the subsystem. Drag and Drop an <span
+class="ecti-1000">ActorRef </span>to
+the <span
+class="ecbx-1000">SubSystem_Blinky </span>and name it <span
class="ecti-1000">timingService</span>. From the actor class drop down list select
<span
class="ecti-1000">room.basic.service.timing.ATimingService</span>. Draw a <span
class="ecti-1000">LayerConnection </span>from <span
-class="ecti-1000">application</span>
-to each service provision point (SPP) of the <span
-class="ecti-1000">timingService</span>. The resulting structure
-should look like this:
+class="ecti-1000">application </span>to each
+service provision point (SPP) of the <span
+class="ecti-1000">timingService</span>. The resulting structure should look like
+this:
</p><!--l. 118--><p class="noindent" ><img
src="images/020-Blinky06.png" alt="PIC"
/>
-</p><!--l. 121--><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
+</p><!--l. 121--><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="ecti-1000">Blinky.room </span>file and navigate to the <span
-class="ecti-1000">Blinky </span>actor. Add
-the following line to the structure of the actor:
-
-
-
+class="ecti-1000">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;
@@ -95,9 +91,8 @@ class="ecti-1000">BlinkyController</span>.
</p><!--l. 129--><p class="noindent" ><img
src="images/020-Blinky07.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 133--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse17.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
index 70a994eb3..4c4ba81fe 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -24,19 +24,19 @@ href="etrice-docch6.html#etrice-docse17.html" >up</a>] </p></div>
id="x25-390006.6"></a>Finish the model structure</h3>
<!--l. 135--><p class="noindent" >From the outline view right click to <span
class="ecti-1000">Blinky </span>and select <span
-class="ecti-1000">Edit Structure</span>. Drag and Drop
-an <span
-class="ecti-1000">Interface Port </span>to the boarder of the <span
-class="ecti-1000">Blinky </span>actor. Note that an interface
-port is not possible inside the actor. Name the port <span
-class="ecti-1000">ControlPort </span>and select
+class="ecti-1000">Edit Structure</span>. Drag and Drop an <span
+class="ecti-1000">Interface</span>
<span
-class="ecti-1000">BlinkyControlProtocol </span>from the drop down list. Uncheck <span
+class="ecti-1000">Port </span>to the boarder of the <span
+class="ecti-1000">Blinky </span>actor. Note that an interface port is not possible inside the
+actor. Name the port <span
+class="ecti-1000">ControlPort </span>and select <span
+class="ecti-1000">BlinkyControlProtocol </span>from the drop down list.
+Uncheck <span
class="ecti-1000">Conjugated </span>and <span
-class="ecti-1000">Is Relay</span>
-<span
-class="ecti-1000">Port</span>. Click <span
-class="ecti-1000">ok</span>. The resulting structure should look like this:
+class="ecti-1000">Is Relay Port</span>. Click <span
+class="ecti-1000">ok</span>. The resulting structure should look like
+this:
</p><!--l. 137--><p class="noindent" ><img
src="images/020-Blinky04.png" alt="PIC"
/>
@@ -45,33 +45,30 @@ class="ecti-1000">BlinkyController</span>. Make the port <span
class="ecti-1000">Conjugated</span>
</p><!--l. 142--><p class="noindent" >Keep in mind that the protocol defines <span
class="ecti-1000">start </span>and <span
-class="ecti-1000">stop </span>as incoming messages.
-<span
-class="ecti-1000">Blinky </span>receives this messages and therefore <span
+class="ecti-1000">stop </span>as incoming messages. <span
+class="ecti-1000">Blinky </span>receives this messages
+and therefore <span
class="ecti-1000">Blinky</span>&#8217;s <span
-class="ecti-1000">ControlPort </span>must be
-a regular port and <span
+class="ecti-1000">ControlPort </span>must be a regular port and <span
class="ecti-1000">BlinkyController</span>&#8217;s <span
-class="ecti-1000">ControlPort </span>must be a conjugated
-port.
+class="ecti-1000">ControlPort </span>must be a
+conjugated port.
</p><!--l. 145--><p class="noindent" >From the outline view right click <span
class="ecti-1000">BlinkyTop </span>and select <span
class="ecti-1000">Edit Structure</span>.
</p><!--l. 147--><p class="noindent" >Drag and Drop an <span
-class="ecti-1000">ActorRef </span>inside the <span
+class="ecti-1000">ActorRef </span>inside the <span
class="ecti-1000">BlinkyTop </span>actor. Name it <span
-class="ecti-1000">blinky</span>.
-From the actor class drop down list select <span
+class="ecti-1000">blinky</span>. From the actor class drop down
+list select <span
class="ecti-1000">Blinky</span>. Do the same for <span
-class="ecti-1000">controller</span>.
-Connect the ports via the binding tool. The resulting structure should look like
-this:
+class="ecti-1000">controller</span>. Connect the ports via the binding tool. The resulting
+structure should look like this:
</p><!--l. 149--><p class="noindent" ><img
src="images/020-Blinky05.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 152--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse18.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
index 273ae3749..4d8c872c3 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,132 +22,119 @@ href="#tailetrice-docse18.html">tail</a>] [<a
href="etrice-docch6.html#etrice-docse18.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.7 </span> <a
id="x26-400006.7"></a>Implement the Behavior</h3>
-<!--l. 154--><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="ecti-1000">Blinky</span>. The 5 second
-interval should be implemented in <span
+<!--l. 154--><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="ecti-1000">Blinky</span>. The 5 second interval should be implemented in <span
class="ecti-1000">BlinkyController</span>. First implement the
Controller.
</p><!--l. 156--><p class="noindent" >Right click to <span
class="ecti-1000">BlinkyController </span>and select <span
class="ecti-1000">Edit Behavior</span>. Drag and Drop the <span
-class="ecti-1000">Initial</span>
-<span
-class="ecti-1000">Point </span>and two <span
-class="ecti-1000">States </span>into the top state. Name the states <span
+class="ecti-1000">Initial Point </span>and two <span
+class="ecti-1000">States</span>
+into the top state. Name the states <span
class="ecti-1000">on </span>and <span
-class="ecti-1000">off</span>. Use the
-<span
+class="ecti-1000">off</span>. Use the <span
class="ecti-1000">Transition </span>tool to draw transitions from <span
class="ecti-1000">init </span>to <span
-class="ecti-1000">on </span>from <span
+class="ecti-1000">on</span>
+from <span
class="ecti-1000">on </span>to <span
-class="ecti-1000">off </span>and from <span
-class="ecti-1000">off </span>to
-<span
+class="ecti-1000">off </span>and from <span
+class="ecti-1000">off </span>to <span
class="ecti-1000">on</span>.
-</p><!--l. 160--><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. 160--><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. 162--><p class="noindent" >The transition dialog should look like this:
</p><!--l. 164--><p class="noindent" ><img
src="images/020-Blinky09.png" alt="PIC"
/>
-</p><!--l. 167--><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
+</p><!--l. 167--><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="ecti-1000">port.message(param);</span>. In this example <span
-class="ecti-1000">ControlPort.start() </span>sends the <span
-class="ecti-1000">start </span>message
-via the <span
+class="ecti-1000">ControlPort.start()</span>
+sends the <span
+class="ecti-1000">start </span>message via the <span
class="ecti-1000">ControlPort </span>to the outside world. Assuming that <span
-class="ecti-1000">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="ecti-1000">timer</span>. The SAP is also a port and follows the same rules.
-So it is clear that <span
+class="ecti-1000">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="ecti-1000">timer</span>. The
+SAP is also a port and follows the same rules. So it is clear that <span
class="ecti-1000">timer.Start(5000); </span>will send the <span
-class="ecti-1000">Start </span>message to the
-timing service. The timing service will send a <span
+class="ecti-1000">Start</span>
+message to the timing service. The timing service will send a <span
class="ecti-1000">timeoutTick </span>message back after
5000ms.
-</p><!--l. 169--><p class="noindent" >Within each transition the timer will be restarted and the appropriate message will
-be sent via the <span
+</p><!--l. 169--><p class="noindent" >Within each transition the timer will be restarted and the appropriate message will be sent via the
+<span
class="ecti-1000">ControlPort</span>.
-</p><!--l. 171--><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. 171--><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. 174--><p class="noindent" ><img
src="images/020-Blinky10.png" alt="PIC"
/>
</p><!--l. 177--><p class="noindent" >Save the diagram and inspect the <span
class="ecti-1000">Blinky.room </span>file. The <span
-class="ecti-1000">BlinkyController </span>should look
-like this:
+class="ecti-1000">BlinkyController </span>should look like
+this:
</p><!--l. 179--><p class="noindent" ><img
src="images/020-Blinky11.png" alt="PIC"
/>
</p><!--l. 182--><p class="noindent" >Now we will implement <span
class="ecti-1000">Blinky</span>. Due to the fact that <span
-class="ecti-1000">Blinky </span>interacts with the GUI
-class a view things must to be done in the model file.
-
-
-
+class="ecti-1000">Blinky </span>interacts with the GUI class a view things
+must to be done in the model file.
</p><!--l. 184--><p class="noindent" >Double click <span
class="ecti-1000">Blinky </span>in the outline view to navigate to <span
-class="ecti-1000">Blinky </span>within the model
-file. Add the following code: (type it or simply copy it from the tutorial
-project)
+class="ecti-1000">Blinky </span>within the model file. Add the following
+code: (type it or simply copy it from the tutorial project)
</p><!--l. 188--><p class="noindent" ><img
src="images/020-Blinky12.png" alt="PIC"
/>
</p><!--l. 191--><p class="noindent" ><span
-class="ecti-1000">usercode1 </span>will be generated at the beginning of the file, outside the class definition.
-<span
-class="ecti-1000">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="ecti-1000">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
+class="ecti-1000">usercode1 </span>will be generated at the beginning of the file, outside the class definition. <span
+class="ecti-1000">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="ecti-1000">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. 194--><p class="noindent" >Now design the FSM of <span
class="ecti-1000">Blinky</span>. Remember, as the name suggested <span
-class="ecti-1000">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="ecti-1000">blinking </span>state has two sub states.
+class="ecti-1000">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="ecti-1000">blinking </span>state has
+
+
+two sub states.
</p><!--l. 196--><p class="noindent" >Open the behavior diagram of <span
class="ecti-1000">Blinky </span>by right clicking the <span
-class="ecti-1000">Blinky </span>actor in the outline
-view. Create two states named <span
+class="ecti-1000">Blinky </span>actor in the outline view. Create two
+states named <span
class="ecti-1000">blinking </span>and <span
class="ecti-1000">off</span>. Right click to <span
-class="ecti-1000">blinking </span>and create a
-subgraph.
+class="ecti-1000">blinking </span>and create a subgraph.
</p><!--l. 198--><p class="noindent" ><img
src="images/020-Blinky13.png" alt="PIC"
/>
</p><!--l. 201--><p class="noindent" >Create the following state machine. The trigger events between <span
class="ecti-1000">on </span>and <span
-class="ecti-1000">off </span>are the
+class="ecti-1000">off </span>are the <span
+class="ecti-1000">timeoutTick </span>from the
<span
-class="ecti-1000">timeoutTick </span>from the <span
class="ecti-1000">timer </span>port.
</p><!--l. 203--><p class="noindent" ><img
src="images/020-Blinky14.png" alt="PIC"
/>
</p><!--l. 206--><p class="noindent" >Create entry code for both states by right clicking the state and select <span
-class="ecti-1000">Edit</span>
-<span
-class="ecti-1000">State...</span>
+class="ecti-1000">Edit State...</span>
</p><!--l. 208--><p class="noindent" >Entry code of <span
class="ecti-1000">on </span>is:
-
-
-
+
+
</p>
<div class="verbatim" id="verbatim-6">
timer.Start(1000);
@@ -156,9 +143,8 @@ timer.Start(1000);
<!--l. 213--><p class="nopar" >
</p><!--l. 216--><p class="noindent" >Entry code of <span
class="ecti-1000">off </span>is:
-
-
-
+
+
</p>
<div class="verbatim" id="verbatim-7">
timer.Start(1000);
@@ -166,31 +152,29 @@ timer.Start(1000);
</div>
<!--l. 221--><p class="nopar" >
</p><!--l. 223--><p class="noindent" >Navigate to the Top level state by double clicking the <span
-class="ecti-1000">/blinking </span>state. Create the
-following state machine:
+class="ecti-1000">/blinking </span>state. Create the following state
+machine:
</p><!--l. 225--><p class="noindent" ><img
src="images/020-Blinky15.png" alt="PIC"
/>
</p><!--l. 228--><p class="noindent" >The trigger event from <span
-class="ecti-1000">off </span>to <span
+class="ecti-1000">off </span>to <span
class="ecti-1000">blinking </span>is the <span
class="ecti-1000">start </span>event from the <span
-class="ecti-1000">ControlPort</span>.The
-trigger event from <span
+class="ecti-1000">ControlPort</span>.The trigger event from
+<span
class="ecti-1000">blinking </span>to <span
class="ecti-1000">off </span>is the <span
class="ecti-1000">stop </span>event from the <span
-class="ecti-1000">ControlPort</span>. Note: The
-transition from <span
+class="ecti-1000">ControlPort</span>. Note: The transition from <span
class="ecti-1000">blinking </span>to <span
-class="ecti-1000">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
+class="ecti-1000">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. 231--><p class="noindent" >Action code of the init transition is:
-
-
-
+
+
</p>
<div class="verbatim" id="verbatim-8">
carLights&#x00A0;=&#x00A0;light.getCarLights();
@@ -202,21 +186,19 @@ carLights&#x00A0;=&#x00A0;light.getCarLights();
</p><!--l. 240--><p class="noindent" >Action code from <span
class="ecti-1000">blinking </span>to <span
class="ecti-1000">off </span>is:
-
-
-
+
+
</p>
<div class="verbatim" id="verbatim-9">
timer.Kill();
&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
</div>
<!--l. 245--><p class="nopar" >
-</p><!--l. 247--><p class="noindent" >The model is complete now. You can run and debug the model as described in
-getting started. Have fun.
+</p><!--l. 247--><p class="noindent" >The model is complete now. You can run and debug the model as described in getting started. Have
+fun.
</p><!--l. 249--><p class="noindent" >The complete model can be found in /org.eclipse.etrice.tutorials/model/Blinky.
-
-
-
+
+
</p>
<!--l. 251--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse19.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
index 5c62c4344..0223ad99d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,21 +22,17 @@ href="#tailetrice-docse19.html">tail</a>] [<a
href="etrice-docch6.html#etrice-docse19.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">6.8 </span> <a
id="x27-410006.8"></a>Summary</h3>
-<!--l. 253--><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
+<!--l. 253--><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-docch7.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
index 9b12f7a1e..58495344b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -27,8 +27,7 @@ href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
<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 class="itemize">by explicit modeling of hierarchical Actor containment, layering and inheritance</li></ul>
</li>
<li class="itemize">behavioral complexity
<ul class="itemize2">
@@ -36,24 +35,19 @@ href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
</li>
<li class="itemize">teamwork complexity
<ul class="itemize2">
- <li class="itemize">because loosely coupled Actors provide a natural way to structure
- team work
+ <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 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>
@@ -61,15 +55,15 @@ href="etrice-docch1.html#etrice-docse2.html" >up</a>] </p></div>
</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 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 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-docch2.html" >next</a>] [<a
href="etrice-docse1.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
index fb8b388b5..6cbf93542 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,10 +22,9 @@ href="#tailetrice-docse20.html">tail</a>] [<a
href="etrice-docch7.html#etrice-docse20.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
id="x29-430007.1"></a>Scope</h3>
-<!--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.
+<!--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. 8--><p class="noindent" >You will perform the following steps:
</p><!--l. 10--><p class="noindent" >
</p><ol class="enumerate1" >
@@ -43,15 +42,11 @@ result.
</li>
<li
class="enumerate" id="x29-43010x5">create two simple state machines
-
-
-
</li>
<li
class="enumerate" id="x29-43012x6">build and run the model</li></ol>
-
-
-
+
+
<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse21.html" >next</a>] [<a
href="etrice-docch7.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
index 5eb952a8d..1fc23275f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,14 +23,13 @@ href="etrice-docch7.html#etrice-docse21.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
id="x30-440007.2"></a>Create a new model from scratch</h3>
<!--l. 21--><p class="noindent" >Remember exercise <span
-class="ecti-1000">HelloWorld</span>. Create a new eTrice project and name it
+class="ecti-1000">HelloWorld</span>. Create a new eTrice project and name it <span
+class="ecti-1000">SendingData</span>. Open the
<span
-class="ecti-1000">SendingData</span>. Open the <span
-class="ecti-1000">SendingData.room </span>file and copy the following code into the
-file or use content assist to create the model.
-
-
-
+class="ecti-1000">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;{
@@ -45,9 +44,8 @@ RoomModel&#x00A0;SendingData&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 37--><p class="nopar" >
-
-
-
+
+
</p>
<!--l. 39--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse22.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
index 044f99a40..612147c83 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,20 +22,18 @@ href="#tailetrice-docse22.html">tail</a>] [<a
href="etrice-docch7.html#etrice-docse22.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
id="x31-450007.3"></a>Add a data class</h3>
-<!--l. 41--><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="ecti-1000">Content Assist </span>(or
-Ctrl+Space).
+<!--l. 41--><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="ecti-1000">Content Assist </span>(or Ctrl+Space).
</p><!--l. 43--><p class="noindent" ><img
src="images/025-SendingData01.png" alt="PIC"
/>
</p><!--l. 46--><p class="noindent" >Select <span
class="ecti-1000">DataClass - data class skeleton </span>and name it <span
-class="ecti-1000">DemoData</span>. Remove the
-operations and add the following Attributes:
-
-
-
+class="ecti-1000">DemoData</span>. Remove the operations and add the
+following Attributes:
+
+
</p>
<div class="verbatim" id="verbatim-11">
DataClass&#x00A0;DemoData&#x00A0;{
@@ -46,11 +44,10 @@ DataClass&#x00A0;DemoData&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 56--><p class="nopar" >
-</p><!--l. 58--><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. 58--><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. 61--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse23.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
index c7bc35f25..dac38b625 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -25,11 +25,10 @@ href="etrice-docch7.html#etrice-docse23.html" >up</a>] </p></div>
<!--l. 63--><p class="noindent" >With the help of <span
class="ecti-1000">Content Assist </span>create a <span
class="ecti-1000">ProtocolClass </span>and name it <span
-class="ecti-1000">PingPongProtocol</span>.
-Create the following messages:
-
-
-
+class="ecti-1000">PingPongProtocol</span>. Create the
+following messages:
+
+
</p>
<div class="verbatim" id="verbatim-12">
ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
@@ -44,9 +43,8 @@ ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 76--><p class="nopar" >
-
-
-
+
+
</p>
<!--l. 78--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse24.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
index b897e816a..78e003a01 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -24,12 +24,11 @@ href="etrice-docch7.html#etrice-docse24.html" >up</a>] </p></div>
id="x33-470007.5"></a>Create MrPing and MrPong Actors</h3>
<!--l. 80--><p class="noindent" >With the help of <span
class="ecti-1000">Content Assist </span>create two new actor classes and name them <span
-class="ecti-1000">MrPing</span>
-and <span
-class="ecti-1000">MrPong</span>. The resulting model should look like this:
-
-
-
+class="ecti-1000">MrPing </span>and <span
+class="ecti-1000">MrPong</span>. The
+resulting model should look like this:
+
+
</p>
<div class="verbatim" id="verbatim-13">
RoomModel&#x00A0;SendingData&#x00A0;{
@@ -77,16 +76,12 @@ RoomModel&#x00A0;SendingData&#x00A0;{
&#x00A0;<br />
</div>
<!--l. 126--><p class="nopar" >
-
-
-
</p><!--l. 128--><p class="noindent" >The outline view should look like this:
</p><!--l. 130--><p class="noindent" ><img
src="images/025-SendingData03.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 133--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse25.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
index b0e532d46..e414cb339 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,14 +22,13 @@ href="#tailetrice-docse25.html">tail</a>] [<a
href="etrice-docch7.html#etrice-docse25.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.6 </span> <a
id="x34-480007.6"></a>Define Actor Structure and Behavior</h3>
-<!--l. 135--><p class="noindent" >Save the model and visit the outline view. Within the outline view, right click on the
-<span
-class="ecti-1000">MrPong </span>actor and select <span
+<!--l. 135--><p class="noindent" >Save the model and visit the outline view. Within the outline view, right click on the <span
+class="ecti-1000">MrPong </span>actor and
+select <span
class="ecti-1000">Edit Structure</span>. Select an <span
-class="ecti-1000">Interface Port </span>from the
-toolbox and add it to MrPong. Name the Port <span
-class="ecti-1000">PingPongPort </span>and select the
+class="ecti-1000">Interface Port </span>from the toolbox and add it to MrPong. Name the Port
<span
+class="ecti-1000">PingPongPort </span>and select the <span
class="ecti-1000">PingPongProtocol</span>.
</p><!--l. 137--><p class="noindent" ><img
src="images/025-SendingData02.png" alt="PIC"
@@ -41,8 +40,8 @@ class="ecti-1000">conjugated</span>
<h4 class="subsectionHead"><span class="titlemark">7.6.1 </span> <a
id="x34-490007.6.1"></a>Define MrPongs behavior</h4>
<!--l. 144--><p class="noindent" >Within the outline view, right click MrPong and select <span
-class="ecti-1000">Edit Behavior</span>. Create the
-following state machine:
+class="ecti-1000">Edit Behavior</span>. Create the following state
+machine:
</p><!--l. 146--><p class="noindent" ><img
src="images/025-SendingData04.png" alt="PIC"
/>
@@ -60,17 +59,16 @@ src="images/025-SendingData06.png" alt="PIC"
</p>
<h4 class="subsectionHead"><span class="titlemark">7.6.2 </span> <a
id="x34-500007.6.2"></a>Define MrPing behavior</h4>
-<!--l. 163--><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.
+<!--l. 163--><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. 165--><p class="noindent" ><img
src="images/025-SendingData07.png" alt="PIC"
/>
</p><!--l. 168--><p class="noindent" >Name the operation <span
class="ecti-1000">printData </span>and define the DemoData as a parameter.
</p><!--l. 170--><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;{
@@ -83,8 +81,8 @@ Operation&#x00A0;printData(d:&#x00A0;DemoData)&#x00A0;:&#x00A0;void&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 182--><p class="nopar" >
-</p><!--l. 185--><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. 185--><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. 188--><p class="noindent" ><img
src="images/025-SendingData08.png" alt="PIC"
/>
@@ -109,9 +107,8 @@ class="ecti-1000">wait2</span>:
</p><!--l. 210--><p class="noindent" ><img
src="images/025-SendingData12.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 213--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse26.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
index 3fbe63760..e879b6c84 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,8 +22,8 @@ href="#tailetrice-docse26.html">tail</a>] [<a
href="etrice-docch7.html#etrice-docse26.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.7 </span> <a
id="x35-510007.7"></a>Define the top level</h3>
-<!--l. 215--><p class="noindent" >Open the Structure from SendingDataTop and add MrPing and MrPong as a
-reference. Connect the ports.
+<!--l. 215--><p class="noindent" >Open the Structure from SendingDataTop and add MrPing and MrPong as a reference. Connect the
+ports.
</p><!--l. 217--><p class="noindent" ><img
src="images/025-SendingData13.png" alt="PIC"
/>
@@ -31,11 +31,9 @@ src="images/025-SendingData13.png" alt="PIC"
<div class="flushleft"
>
<!--l. 220--><p class="noindent" >
-The model is finished now and can be found in
-/org.eclipse.etrice.tutorials/model/SendingData.</p></div>
-
-
-
+The model is finished now and can be found in /org.eclipse.etrice.tutorials/model/SendingData.</p></div>
+
+
<!--l. 222--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse27.html" >next</a>] [<a
href="etrice-docse25.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
index a28d9a500..ad1a47034 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,12 +23,11 @@ href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.8 </span> <a
id="x36-520007.8"></a>Generate and run the model</h3>
<!--l. 224--><p class="noindent" >Generate the code by right click to <span
-class="ecbx-1000">gen_SendingData.launch </span>and run it as
-<span
-class="ecbx-1000">gen_SendingData</span>. Run the model. The output should look like this:
-
-
-
+class="ecbx-1000">gen_SendingData.launch </span>and run it as <span
+class="ecbx-1000">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
@@ -75,17 +74,13 @@ type&#x00A0;&#8217;quit&#8217;&#x00A0;to&#x00A0;exit
&#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. 275--><p class="nopar" >
-
-
-
+
+
</p>
<!--l. 277--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse28.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
index a7bf3dac7..28dcb5c70 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,50 +23,42 @@ href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">7.9 </span> <a
id="x37-530007.9"></a>Summary</h3>
<!--l. 279--><p class="noindent" >Within the first loop an integer value will be incremented by <span
-class="ecti-1000">MrPong </span>and
-sent back to <span
-class="ecti-1000">MrPing</span>. As long as the guard is true <span
-class="ecti-1000">MrPing </span>sends back the
-value.
+class="ecti-1000">MrPong </span>and sent back to <span
+class="ecti-1000">MrPing</span>. As long
+as the guard is true <span
+class="ecti-1000">MrPing </span>sends back the value.
</p><!--l. 281--><p class="noindent" >Within the <span
class="ecti-1000">next </span>transition, <span
-class="ecti-1000">MrPing </span>creates a data class and sends the default values.
-Then <span
-class="ecti-1000">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="ecti-1000">sending data by value</span>. However, for
-performance reasons some applications requires <span
-class="ecti-1000">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
+class="ecti-1000">MrPing </span>creates a data class and sends the default values. Then <span
+class="ecti-1000">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="ecti-1000">sending data by value</span>. However,
+for performance reasons some applications requires <span
+class="ecti-1000">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. 284--><p class="noindent" >For sending data by reference you simply have to add the keyword <span
-class="ecti-1000">ref </span>to the protocol
-definition.
-
-
-
+class="ecti-1000">ref </span>to the protocol definition.
+
+
</p>
<div class="verbatim" id="verbatim-16">
Message&#x00A0;ping(data:&#x00A0;DemoData&#x00A0;ref)
</div>
<!--l. 286--><p class="nopar" >
</p><!--l. 288--><p class="noindent" >Make the test and inspect the console output.
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
</p>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docch8.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
index 26f999073..0d3531570 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,53 +22,46 @@ href="#tailetrice-docse29.html">tail</a>] [<a
href="etrice-docch8.html#etrice-docse29.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
id="x39-550008.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
+<!--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. 7--><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. 9--><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="ecti-1000">REQUEST </span>button to
-start a FSM, which controls the traffic lights.
+</p><!--l. 7--><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. 9--><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="ecti-1000">REQUEST </span>button to start a FSM, which controls the traffic
+lights.
</p><!--l. 11--><p class="noindent" ><img
src="images/020-Blinky08.png" alt="PIC"
/>
</p><!--l. 14--><p class="noindent" >The <span
-class="ecti-1000">REQUEST </span>must lead to a model message which starts the activity of the
-lights.
-</p><!--l. 16--><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:
+class="ecti-1000">REQUEST </span>must lead to a model message which starts the activity of the lights.
+</p><!--l. 16--><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="x39-55002x1">specify the messages (within a protocol) which should be sent into the
- model
+ class="enumerate" id="x39-55002x1">specify the messages (within a protocol) which should be sent into the model
</li>
<li
- class="enumerate" id="x39-55004x2">model an actor with a port (which uses the specified protocol) and connect
- the port to the receiver
+ class="enumerate" id="x39-55004x2">model an actor with a port (which uses the specified protocol) and connect the port to the
+ receiver
</li>
<li
class="enumerate" id="x39-55006x3">the external code should know the port (import of the port class)
-
-
-
</li>
<li
- class="enumerate" id="x39-55008x4">the external code should provide a registration method, so that the actor
- is able to allow access to this port
+ class="enumerate" id="x39-55008x4">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="x39-55010x5">the port can be used from the external code</li></ol>
-
-
-
+
+
<!--l. 25--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse30.html" >next</a>] [<a
href="etrice-docch8.html" >prev</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
index 85dcd6377..55deb4b5b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -23,16 +23,11 @@ href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
id="x7-60002.1"></a>Scope of ROOM</h3>
<!--l. 5--><p class="noindent" >This chapter will give a rough overview of what ROOM (<img
-src="etrice-doc0x.png" alt="R
-¯ " class="b" /> eal time <img
-src="etrice-doc1x.png" alt="O
- ¯ " class="b" /> bject <img
-src="etrice-doc2x.png" alt="O
-¯ " class="b" />
-riented <img
-src="etrice-doc3x.png" alt="M
-¯ " class="b" /> odeling) is and what it is good for. It will try to answer the following
-questions: </p>
+src="etrice-doc0x.png" alt="R¯ " class="b" /> eal time <img
+src="etrice-doc1x.png" alt="O¯ " class="b" /> bject <img
+src="etrice-doc2x.png" alt="O¯ " class="b" /> riented <img
+src="etrice-doc3x.png" alt="M¯ " class="b" /> 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>
@@ -43,49 +38,48 @@ questions: </p>
<li class="itemize">What are the benefits of ROOM?
</li>
<li class="itemize">Which consequences must be taken into account?</li></ul>
-
-
-
+
+
<!--l. 14--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.1 </span> <a
id="x7-70002.1.1"></a>Where does it come from?</h4>
-<!--l. 16--><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
+<!--l. 16--><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. 18--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in
-the book <span
-class="ecbx-1000">Real-Time Object-Oriented Modeling</span>. The company <span
-class="ecti-1000">object time</span>
-<sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>developed a ROOM tool which was taken over by <span
-class="ecti-1000">Rational SW </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>and later
-on by <span
+</p><!--l. 18--><p class="noindent" >Bran Selic, Garth Gullekson and Paul T. Ward have published the concepts 1994 in the book <span
+class="ecbx-1000">Real-Time</span>
+<span
+class="ecbx-1000">Object-Oriented Modeling</span>. The company <span
+class="ecti-1000">object time </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>developed a ROOM tool which was
+taken over by <span
+class="ecti-1000">Rational SW </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>and later on by <span
class="ecti-1000">IBM </span><sup class="textsuperscript"><span
class="ecrm-0900">TM</span></sup>. The company <span
-class="ecti-1000">Protos Software Gmbh </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>also developed a
-ROOM tool called <span
+class="ecti-1000">Protos Software</span>
+<span
+class="ecti-1000">Gmbh </span><sup class="textsuperscript"><span
+class="ecrm-0900">TM</span></sup>also developed a ROOM tool called <span
class="ecti-1000">Trice </span><sup class="textsuperscript"><span
-class="ecrm-0900">TM</span></sup>for control software for production machines and
-automotive systems. <span
+class="ecrm-0900">TM</span></sup>for control software for production
+machines and automotive systems. <span
class="ecti-1000">Trice </span><sup class="textsuperscript"><span
class="ecrm-0900">TM</span></sup>is the predecessor of eTrice (see Introduction to
eTrice).
-</p><!--l. 21--><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. 21--><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. 24--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.2 </span> <a
id="x7-80002.1.2"></a>Which kind of SW-Systems will be addressed?</h4>
-<!--l. 26--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems.
-But what is a *real time system*? ROOM defines a set of properties which are
-typical for a real time system. These properties are: </p>
+<!--l. 26--><p class="noindent" >As mentioned before ROOM addresses distributed, event driven, real time systems. But what is a *real
+time system*? 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>
@@ -98,52 +92,47 @@ typical for a real time system. These properties are: </p>
<li class="itemize">Distribution
</li>
<li class="itemize">Reliability</li></ul>
-
-
-
-<!--l. 36--><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. 38--><p class="noindent" >As an example take a look at a washing machine. The system has to react on 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 in 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
+<!--l. 36--><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. 38--><p class="noindent" >As an example take a look at a washing machine. The system has to react on 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 in 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. 42--><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 *run to completion* context for calculating
-an image processing algorithm or a PID controller.
+
+
+</p><!--l. 42--><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 *run to completion* context for
+calculating an image processing algorithm or a PID controller.
</p><!--l. 44--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.3 </span> <a
id="x7-90002.1.3"></a>What is the relation between OOP and ROOM?</h4>
-<!--l. 46--><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. As the picture shows, the classic 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
+<!--l. 46--><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. As the
+picture shows, the classic 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. 48--><p class="noindent" ><img
src="images/010-RoomIntroduction01.png" alt="PIC"
/>
-</p><!--l. 51--><p class="noindent" >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. 51--><p class="noindent" >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. 53--><p class="noindent" ><img
src="images/010-RoomIntroduction02.png" alt="PIC"
/>
-</p><!--l. 56--><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 *run to completion* semantic. That makes developing of
-business logic easy and safe (see basic concepts). The logical machine provides
-an encapsulation shell including concurrency issues (see chapter <span
+</p><!--l. 56--><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 *run to completion*
+semantic. That makes developing of business logic easy and safe (see basic concepts). The logical
+machine provides an encapsulation shell including concurrency issues (see chapter <span
class="ecbx-1000">Run to</span>
<span
class="ecbx-1000">completion</span>).
@@ -151,48 +140,45 @@ class="ecbx-1000">completion</span>).
src="images/010-RoomIntroduction03.png" alt="PIC"
/>
</p><!--l. 61--><p class="noindent" >This thinking of an object is much more general than the classic one.
-
-
-
</p><!--l. 63--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.4 </span> <a
id="x7-100002.1.4"></a>What are the benefits of ROOM?</h4>
-<!--l. 65--><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.
+<!--l. 65--><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. 67--><p class="noindent" >In detail: </p>
<ul class="itemize1">
- <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it
- easy to reuse components in different applications or e.g. in a test harness.
+ <li class="itemize">ROOM models contain well defined interfaces (protocols), which makes it easy to reuse
+ 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 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 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>
+ <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. 75--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1.5 </span> <a
id="x7-110002.1.5"></a>Which consequences must be taken into account?</h4>
-<!--l. 77--><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. 79--><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.
-
-
-
+<!--l. 77--><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. 79--><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. 81--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse4.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
index 0cf760400..680a047ef 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -24,30 +24,27 @@ href="etrice-docch8.html#etrice-docse30.html" >up</a>] </p></div>
id="x40-560008.2"></a>Setup the model</h3>
<ul class="itemize1">
<li class="itemize">Use the <span
-class="ecti-1000">New Model Wizzard </span>to create a new eTrice project and name it
- <span
+class="ecti-1000">New Model Wizzard </span>to create a new eTrice project and name it <span
class="ecti-1000">PedLightsController</span>.
</li>
- <li class="itemize">Copy the package <span
-class="ecti-1000">org.eclipse.etrice.tutorials.PedLightGUI </span>to your <span
-class="ecti-1000">src</span>
- directory (see blinky tutorial).
+ <li class="itemize">Copy the package <span
+class="ecti-1000">org.eclipse.etrice.tutorials.PedLightGUI </span>to your <span
+class="ecti-1000">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 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. 31--><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>
+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"
@@ -66,30 +63,28 @@ import&#x00A0;room.basic.service.timing.*&#x00A0;from
<!--l. 49--><p class="noindent" ><img
src="images/030-PedLights01.png" alt="PIC"
/> The <span
-class="ecti-1000">GuiAdapter </span>represents the interface to the external code. It registers its
-<span
-class="ecti-1000">ControlPort </span>by the external code.
+class="ecti-1000">GuiAdapter </span>represents the interface to the external code. It registers its <span
+class="ecti-1000">ControlPort </span>by the
+external code.
</p><!--l. 53--><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.
+ /> 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. 57--><p class="noindent" ><img
src="images/030-PedLights03.png" alt="PIC"
/> The <span
class="ecti-1000">Controller </span>receives the <span
-class="ecti-1000">start </span>message and controls the timing of the lights.
-Note that the <span
-class="ecti-1000">start </span>message will be sent from the external code whenever the
-<span
-class="ecti-1000">REQUEST </span>button is pressed.
+class="ecti-1000">start </span>message and controls the timing of the lights. Note that
+the <span
+class="ecti-1000">start </span>message will be sent from the external code whenever the <span
+class="ecti-1000">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="x40-56002x1">PedControlProtocol =&#x003E; notice that the start message is defined as
- usual
+ class="enumerate" id="x40-56002x1">PedControlProtocol =&#x003E; notice that the start message is defined as usual
</li>
<li
class="enumerate" id="x40-56004x2">Initial transition of the <span
@@ -98,31 +93,26 @@ class="ecti-1000">GuiAdapter </span>=&#x003E; see the registration
<li
class="enumerate" id="x40-56006x3">The <span
class="ecti-1000">Controller </span>=&#x003E; notice that the <span
-class="ecti-1000">Controller </span>receives the external
- message (not the <span
+class="ecti-1000">Controller </span>receives the external message (not the
+ <span
class="ecti-1000">GuiAdapter</span>). The <span
-class="ecti-1000">GuiAdapter </span>just provides its port
- and handles the incoming messages.
+class="ecti-1000">GuiAdapter </span>just provides its port and handles the incoming messages.
</li>
<li
- class="enumerate" id="x40-56008x4">Visit the hand written code =&#x003E; see the import statement of the
- protocol class and the usage of the port.</li></ol>
-
-
-
+ class="enumerate" id="x40-56008x4">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
+ <li class="itemize">Take a look at the generated MSC =&#x003E; notice that the start message will shown as if the
+ <span
class="ecti-1000">GuiAdapter </span>had sent it.</li></ul>
<!--l. 73--><p class="noindent" ><img
src="images/030-PedLights04.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 76--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse31.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
index 1956e96de..922e1773a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,18 +22,17 @@ href="#tailetrice-docse31.html">tail</a>] [<a
href="etrice-docch8.html#etrice-docse31.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">8.3 </span> <a
id="x41-570008.3"></a>Why does it work and why is it safe?</h3>
-<!--l. 78--><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="ecbx-1000">run to completion</span>
-semantic. To answer this question, take a look at the <span
+<!--l. 78--><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="ecbx-1000">run</span>
+<span
+class="ecbx-1000">to completion </span>semantic. To answer this question, take a look at the <span
class="ecti-1000">MessageService.java </span>from the
-runtime environment. There you will find the receive method which puts each
-message into the queue.
-
-
-
+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
@@ -45,31 +44,16 @@ message into the queue.
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
</div>
<!--l. 89--><p class="nopar" >
-</p><!--l. 91--><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. 91--><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-docch9.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
index 73bbcb8e7..a59cee9fb 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
@@ -4,59 +4,72 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse33.html" >next</a>] [<a
href="etrice-docch9.html" >prev</a>] [<a
href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="#tailetrice-docse32.html">tail</a>] [<a
href="etrice-docch9.html#etrice-docse32.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
- id="x43-590009.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. 7--><p class="noindent" >You will perform the following steps:
-</p><!--l. 9--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x43-59002x1">create a new model from scratch for C
- </li>
- <li
- class="enumerate" id="x43-59004x2">define a protocol
- </li>
- <li
- class="enumerate" id="x43-59006x3">define your own data type
- </li>
- <li
- class="enumerate" id="x43-59008x4">create the structure and the behavior by yourself
- </li>
- <li
- class="enumerate" id="x43-59010x5">generate, build and run the model</li></ol>
-<!--l. 17--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ecti-1000">Setting up the</span>
+ id="x43-590009.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="ecti-1000">C/C++ </span>perspective.
+</p><!--l. 23--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC03.png" alt="PIC"
+ />
+</p><!--l. 26--><p class="noindent" >From the main menu select <span
+class="ecti-1000">File-&#x003E;New-&#x003E;C Project</span>.
+</p><!--l. 28--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC02.png" alt="PIC"
+ />
+</p><!--l. 31--><p class="noindent" >Name the project. Select an <span
+class="ecti-1000">Executable-&#x003E;Hello World ANSI C </span>as project type, <span
+class="ecti-1000">MinGW GCC </span>as tool
+chain and click <span
+class="ecti-1000">Finish</span>.
+</p><!--l. 33--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC04.png" alt="PIC"
+ />
+</p><!--l. 36--><p class="noindent" >Select the new project and click the build button (or right click the project and select <span
+class="ecti-1000">Build</span>
+<span
+class="ecti-1000">Project</span>)
+</p><!--l. 38--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC05.png" alt="PIC"
+ />
+</p><!--l. 41--><p class="noindent" >The binary should be generated. Run the binary as <span
+class="ecti-1000">Local C/C++ Application</span>.
+</p><!--l. 43--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC06.png" alt="PIC"
+ />
+</p><!--l. 46--><p class="noindent" >Verify the output.
+</p><!--l. 48--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC07.png" alt="PIC"
+ />
+</p><!--l. 51--><p class="noindent" >Remember these steps. In the following Tutorials these steps will be referenced as <span
+class="ecti-1000">build and</span>
<span
-class="ecti-1000">Workspace for C Projects</span>.
-
-
-
+class="ecti-1000">run</span>.
+
+
</p>
-<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse33.html" >next</a>] [<a
href="etrice-docch9.html" >prev</a>] [<a
href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="etrice-docse32.html" >front</a>] [<a
href="etrice-docch9.html#etrice-docse32.html" >up</a>] </p></div>
-<!--l. 19--><p class="noindent" ><a
+<!--l. 54--><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 f12812575..3db808f05 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
@@ -4,71 +4,84 @@
<!--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>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse34.html" >next</a>] [<a
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch10.html" >next</a>] [<a
href="etrice-docse32.html" >prev</a>] [<a
href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
href="#tailetrice-docse33.html">tail</a>] [<a
href="etrice-docch9.html#etrice-docse33.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
- id="x44-600009.2"></a>Create a new model from scratch</h3>
-<!--l. 21--><p class="noindent" >Remember the following steps from the previous tutorials: </p>
+ id="x44-600009.2"></a>Building the C runtime system</h3>
+<!--l. 56--><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="ecti-1000">etRuntimeConfig.h </span>is located in <span
+class="ecti-1000">src/config</span>.
+</p><!--l. 58--><p class="noindent" >After changing the configuration, the runtime must be built.
+</p><!--l. 60--><p class="noindent" >Open the properties of the <span
+class="ecti-1000">org.eclipse.runtime.c </span>project and select <span
+class="ecti-1000">C/C++ Build-&#x003E;Settings-&#x003E;Tool</span>
+<span
+class="ecti-1000">Settings </span>and select <span
+class="ecti-1000">Includes</span>.
+</p><!--l. 62--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC08.png" alt="PIC"
+ />
+</p><!--l. 65--><p class="noindent" >Verify the include paths
+</p>
<ul class="itemize1">
- <li class="itemize">select the <span
-class="ecti-1000">C/C++ </span>perspective
- </li>
- <li class="itemize">From the main menue select <span
-class="ecti-1000">File-&#x003E;New-&#x003E;C Project</span>
- </li>
- <li class="itemize">Name the project <span
-class="ecti-1000">RemoveComment</span>
+ <li class="itemize"><span
+class="ecti-1000">src/config</span>
</li>
- <li class="itemize">Project type is <span
-class="ecti-1000">Executable / Empty C Project</span>
+ <li class="itemize"><span
+class="ecti-1000">src/common</span>
</li>
- <li class="itemize">Toolchain is <span
-class="ecti-1000">MinGW</span>
- </li>
- <li class="itemize">Add the folder <span
-class="ecti-1000">model</span>
- </li>
- <li class="itemize">Add the model file and name it <span
-class="ecti-1000">RemoveComment.room</span>
- </li>
- <li class="itemize">Add the Xtext nature.</li></ul>
-<!--l. 33--><p class="noindent" >The workspace should look like this:
-</p><!--l. 35--><p class="noindent" ><img
-src="images/036-RemoveCommentC01.png" alt="PIC"
+ <li class="itemize"><span
+class="ecti-1000">src/platforms/generic</span></li></ul>
+<!--l. 73--><p class="noindent" >Within the Setting dialog select the tab <span
+class="ecti-1000">Build Artefact </span>and select <span
+class="ecti-1000">Static Library</span>
+</p><!--l. 75--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC09.png" alt="PIC"
+ />
+</p><!--l. 78--><p class="noindent" >Build the runtime by clicking
+</p><!--l. 80--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC10.png" alt="PIC"
/>
-</p><!--l. 38--><p class="noindent" >Create a launch configuration for the C generator and add the include path and
-library as described in <span
-class="ecti-1000">HelloWorldC</span>.
-</p><!--l. 40--><p class="noindent" >The workspace should look like this:
-</p><!--l. 42--><p class="noindent" ><img
-src="images/036-RemoveCommentC02.png" alt="PIC"
+</p><!--l. 83--><p class="noindent" >The runtime library should be created.
+</p><!--l. 85--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC11.png" alt="PIC"
/>
-</p><!--l. 45--><p class="noindent" >Now the model is created and all settings for the code generator, compiler and linker
-are done.
-
-
-
+</p><!--l. 88--><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. 48--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse34.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch10.html" >next</a>] [<a
href="etrice-docse32.html" >prev</a>] [<a
href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
href="etrice-docse33.html" >front</a>] [<a
href="etrice-docch9.html#etrice-docse33.html" >up</a>] </p></div>
-<!--l. 48--><p class="noindent" ><a
+<!--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 80a36d71c..d93d232fd 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
@@ -4,75 +4,60 @@
<!--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>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 48--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse35.html" >next</a>] [<a
-href="etrice-docse33.html" >prev</a>] [<a
-href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
+href="etrice-docch10.html" >prev</a>] [<a
+href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
href="#tailetrice-docse34.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse34.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.3 </span> <a
- id="x45-610009.3"></a>Create your own data type</h3>
-<!--l. 50--><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="ecti-1000">FILE</span>. To make this type available on the model
-level, you have to declare the type.
-</p><!--l. 52--><p class="noindent" >Open the file <span
-class="ecti-1000">Types.room </span>from <span
-class="ecti-1000">org.eclipse.modellib.c </span>and take a look at the
-declaration of <span
-class="ecti-1000">string </span>(last line) which is not a basic C type.
-</p><!--l. 54--><p class="noindent" ><span
-class="ecti-1000">PrimitiveType string:ptCharacter -&#x003E; charPtr default "0"</span>
-</p><!--l. 56--><p class="noindent" >With this declaration, you make the <span
-class="ecti-1000">string </span>keyword available on model level as a
-primitive type. This type will be translated to <span
-class="ecti-1000">charPtr </span>in your C sources. <span
-class="ecti-1000">charPtr </span>is
-defined in <span
-class="ecti-1000">etDatatypes.h</span>. This header file is platform specific (<span
-class="ecti-1000">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. 58--><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. 68--><p class="nopar" >
-</p><!--l. 71--><p class="noindent" ><span
-class="ecti-1000">FILE </span>is the native type for MinGW. Therefore you don&#8217;t need a mapping within
+href="etrice-docch10.html#etrice-docse34.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">10.1 </span> <a
+ id="x46-6200010.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. 8--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x46-62002x1">create a new model from scratch for C
+ </li>
+ <li
+ class="enumerate" id="x46-62004x2">create structure and behavior similar to Java
+ </li>
+ <li
+ class="enumerate" id="x46-62006x3">create a launch configuration for the C code generator
+ </li>
+ <li
+ class="enumerate" id="x46-62008x4">setup the C environment
+ </li>
+ <li
+ class="enumerate" id="x46-62010x5">generate the source code
+ </li>
+ <li
+ class="enumerate" id="x46-62012x6">run the model</li></ol>
+<!--l. 17--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ecti-1000">Setting up the Workspace for C</span>
<span
-class="ecti-1000">etDatatypes.h</span>. If your model should be portable across different platforms you should
-not take this shortcut.
-
-
-
+class="ecti-1000">Projects</span>.
+
+
</p>
-<!--l. 73--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 20--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse35.html" >next</a>] [<a
-href="etrice-docse33.html" >prev</a>] [<a
-href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
+href="etrice-docch10.html" >prev</a>] [<a
+href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
href="etrice-docse34.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse34.html" >up</a>] </p></div>
-<!--l. 73--><p class="noindent" ><a
+href="etrice-docch10.html#etrice-docse34.html" >up</a>] </p></div>
+<!--l. 20--><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 fd3fadb02..2c2e301b3 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
@@ -4,86 +4,81 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Create the model</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 73--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 20--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse36.html" >next</a>] [<a
href="etrice-docse34.html" >prev</a>] [<a
href="etrice-docse34.html#tailetrice-docse34.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.4 </span> <a
- id="x46-620009.4"></a>Create the model</h3>
-<!--l. 75--><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. 77--><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. 79--><p class="noindent" >Remember the logical steps: </p>
+href="etrice-docch10.html#etrice-docse35.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">10.2 </span> <a
+ id="x47-6300010.2"></a>Create a new model from scratch</h3>
+<!--l. 22--><p class="noindent" >Before you can create a new C-model, you have to create a new C project as described in <span
+class="ecti-1000">Setting up the</span>
+<span
+class="ecti-1000">Workspace for C Projects</span>. Remember: </p>
<ul class="itemize1">
- <li class="itemize">create the model by the help of content assist (CTRL Space)
+ <li class="itemize">select the <span
+class="ecti-1000">C/C++ </span>perspective
</li>
- <li class="itemize">name the model, subsystem and top level actor
+ <li class="itemize">From the main menue select <span
+class="ecti-1000">File-&#x003E;New-&#x003E;C Project</span>
</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 class="itemize">Name the project <span
+class="ecti-1000">HelloWorldC</span>
</li>
- <li class="itemize">create the structure (file reader and parser with an appropriate port, create
- the references and connect the ports)
+ <li class="itemize">Project type is <span
+class="ecti-1000">Executable / Empty C Project</span>
</li>
- <li class="itemize">create the state machines</li></ul>
-<!--l. 88--><p class="noindent" >Try to create the model by yourself and take the following solution as an
-example.
-</p><!--l. 90--><p class="noindent" >Structure:
-</p><!--l. 92--><p class="noindent" ><img
-src="images/036-RemoveCommentC04.png" alt="PIC"
+ <li class="itemize">Toolchain is <span
+class="ecti-1000">MinGW </span></li></ul>
+<!--l. 32--><p class="noindent" >The workspace should look like this:
+</p><!--l. 34--><p class="noindent" ><img
+src="images/034-HelloWorldC01.png" alt="PIC"
/>
-</p><!--l. 95--><p class="noindent" >File reader FSM:
-</p><!--l. 97--><p class="noindent" ><img
-src="images/036-RemoveCommentC05.png" alt="PIC"
+</p><!--l. 37--><p class="noindent" >The next step is to add the model folder: Right click on the new project. Select <span
+class="ecti-1000">New-&#x003E;Folder </span>and name it
+<span
+class="ecti-1000">model</span>.
+</p><!--l. 40--><p class="noindent" ><img
+src="images/034-HelloWorldC02.png" alt="PIC"
/>
-</p><!--l. 100--><p class="noindent" >Parser FSM:
-</p><!--l. 102--><p class="noindent" ><img
-src="images/036-RemoveCommentC06.png" alt="PIC"
+</p><!--l. 43--><p class="noindent" >Add the model file to the folder. Right click on the new folder. Select <span
+class="ecti-1000">New-&#x003E;file </span>and name it
+<span
+class="ecti-1000">HelloWorldC.room</span>.
+</p><!--l. 45--><p class="noindent" ><img
+src="images/034-HelloWorldC03.png" alt="PIC"
/>
-</p><!--l. 105--><p class="noindent" >The complete model can be found in <span
-class="ecti-1000">org.eclipse.etrice.tutorials.c</span>
-</p><!--l. 107--><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. 111--><p class="nopar" >
-</p><!--l. 113--><p class="noindent" ><span
-class="ecti-1000">fopen </span>expects a <span
-class="ecti-1000">FILE *</span>. <span
-class="ecti-1000">f:file ref </span>declares a variable <span
-class="ecti-1000">f </span>from type reference to <span
-class="ecti-1000">file</span>,
-which is a pointer to <span
-class="ecti-1000">FILE</span>.
-
-
-
+</p><!--l. 48--><p class="noindent" >Due to the file ending <span
+class="ecti-1000">.room</span>, the tool will ask you to add the Xtext nature. Answer with
+<span
+class="ecti-1000">Yes</span>.
+</p><!--l. 50--><p class="noindent" ><img
+src="images/034-HelloWorldC04.png" alt="PIC"
+ />
+</p><!--l. 53--><p class="noindent" >The workspace should look like this:
+</p><!--l. 55--><p class="noindent" ><img
+src="images/034-HelloWorldC05.png" alt="PIC"
+ />
+
+
</p>
-<!--l. 116--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 60--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse36.html" >next</a>] [<a
href="etrice-docse34.html" >prev</a>] [<a
href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
href="etrice-docse35.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
-<!--l. 116--><p class="noindent" ><a
+href="etrice-docch10.html#etrice-docse35.html" >up</a>] </p></div>
+<!--l. 60--><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 d08bc4219..c82fe2a2e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
@@ -4,45 +4,69 @@
<!--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>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 116--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 60--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse37.html" >next</a>] [<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.5 </span> <a
- id="x47-630009.5"></a>Generate, build and run the model</h3>
-<!--l. 118--><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="ecti-1000">test.txt</span>.
-</p><!--l. 120--><p class="noindent" ><img
-src="images/036-RemoveCommentC07.png" alt="PIC"
- />
-</p><!--l. 123--><p class="noindent" >Generate, build and run the model.
-</p><!--l. 125--><p class="noindent" >Your output should start like this:
-</p><!--l. 127--><p class="noindent" ><img
-src="images/036-RemoveCommentC08.png" alt="PIC"
- />
-
-
-
+href="etrice-docch10.html#etrice-docse36.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">10.3 </span> <a
+ id="x48-6400010.3"></a>Create the HelloWorld model</h3>
+<!--l. 62--><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>
-<!--l. 131--><div class="crosslinks"><p class="noindent">[<a
+ <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="ecti-1000">etRuntimeConfig.h</span>).</li></ul>
+
+
+<div class="verbatim" id="verbatim-19">
+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. 92--><p class="nopar" >
+
+
+</p>
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse37.html" >next</a>] [<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. 131--><p class="noindent" ><a
+href="etrice-docch10.html#etrice-docse36.html" >up</a>] </p></div>
+<!--l. 94--><p class="noindent" ><a
id="tailetrice-docse36.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html
index a3c0df124..71fce7c18 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html
@@ -4,45 +4,72 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Summary</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 131--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch10.html" >next</a>] [<a
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse38.html" >next</a>] [<a
href="etrice-docse36.html" >prev</a>] [<a
href="etrice-docse36.html#tailetrice-docse36.html" >prev-tail</a>] [<a
href="#tailetrice-docse37.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse37.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.6 </span> <a
- id="x48-640009.6"></a>Summary</h3>
-<!--l. 133--><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.
-
-
-
-
-
-
-
-
-
+href="etrice-docch10.html#etrice-docse37.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">10.4 </span> <a
+ id="x49-6500010.4"></a>Create a launch configuration to start the C code generator</h3>
+<!--l. 96--><p class="noindent" >Other than in Java a launch configuration for the C code generator must be created.
+</p><!--l. 98--><p class="noindent" >From the <span
+class="ecti-1000">Run </span>menu select <span
+class="ecti-1000">Run Configurations</span>
+</p><!--l. 100--><p class="noindent" ><img
+src="images/034-HelloWorldC06.png" alt="PIC"
+ />
+</p><!--l. 103--><p class="noindent" >Within the dialog select <span
+class="ecti-1000">eTrice C Generator </span>and click the <span
+class="ecti-1000">New </span>button to create a new launch
+configuration.
+</p><!--l. 105--><p class="noindent" ><img
+src="images/034-HelloWorldC07.png" alt="PIC"
+ />
+</p><!--l. 108--><p class="noindent" >A new configuration should be created. Name it <span
+class="ecti-1000">gen_HelloWorldC </span>and add the model via one of the <span
+class="ecti-1000">add</span>
+buttons.
+</p><!--l. 110--><p class="noindent" ><img
+src="images/034-HelloWorldC08.png" alt="PIC"
+ />
+</p><!--l. 113--><p class="noindent" >In the <span
+class="ecti-1000">Refresh </span>tab select <span
+class="ecti-1000">The entire workspace</span>
+</p><!--l. 115--><p class="noindent" ><img
+src="images/034-HelloWorldC09.png" alt="PIC"
+ />
+</p><!--l. 118--><p class="noindent" >In the <span
+class="ecti-1000">Common </span>tab select <span
+class="ecti-1000">Shared file </span>and add the <span
+class="ecti-1000">HelloWorldC </span>project via the <span
+class="ecti-1000">Browse </span>button.
+</p><!--l. 120--><p class="noindent" ><img
+src="images/034-HelloWorldC10.png" alt="PIC"
+ />
+</p><!--l. 123--><p class="noindent" >Apply your changes. The new configuration should now exist in your workspace.
+</p><!--l. 125--><p class="noindent" ><img
+src="images/034-HelloWorldC11.png" alt="PIC"
+ />
+
+
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch10.html" >next</a>] [<a
+<!--l. 129--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse38.html" >next</a>] [<a
href="etrice-docse36.html" >prev</a>] [<a
href="etrice-docse36.html#tailetrice-docse36.html" >prev-tail</a>] [<a
href="etrice-docse37.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse37.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch10.html#etrice-docse37.html" >up</a>] </p></div>
+<!--l. 129--><p class="noindent" ><a
id="tailetrice-docse37.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html
index 3ecb1a855..ba2b3a72d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html
@@ -4,241 +4,43 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Actors</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 6--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 129--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse39.html" >next</a>] [<a
-href="etrice-docch10.html" >prev</a>] [<a
-href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
+href="etrice-docse37.html" >prev</a>] [<a
+href="etrice-docse37.html#tailetrice-docse37.html" >prev-tail</a>] [<a
href="#tailetrice-docse38.html">tail</a>] [<a
href="etrice-docch10.html#etrice-docse38.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.1 </span> <a
- id="x50-6600010.1"></a>Actors</h3>
-
-
-
-<!--l. 8--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.1.1 </span> <a
- id="x50-6700010.1.1"></a>Description</h4>
-<!--l. 10--><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. 12--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.1.2 </span> <a
- id="x50-6800010.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 reusable blocks</li></ul>
-<!--l. 21--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.1.3 </span> <a
- id="x50-6900010.1.3"></a>Notation</h4>
-<div class="table">
-
-
-
-<!--l. 25--><p class="noindent" ><a
- id="x50-690011"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.1: </span><span
-class="content">Actor Class Notation</span></div><!--tex4ht:label?: x50-690011 -->
-<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="ecbx-1000">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
-class="td11"> <span
-class="ecbx-1000">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"> <img
-src="images/040-ActorClassTextualNotation.png" alt="PIC"
- /> </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"> <img
-src="images/040-ActorReferenceTextualNotation.png" alt="PIC"
- /> </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">10.1.4 </span> <a
- id="x50-7000010.1.4"></a>Details</h4>
-<!--l. 55--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x50-7100010.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
-<!--l. 57--><p class="noindent" >An <span
-class="ecbx-1000">ActorClass </span>defines the type (or blueprint) of an actor. Hierarchies are
-built by ActorClasses that contain <span
-class="ecbx-1000">ActorReferences </span>which have another
-ActorClass as type. The interface of an ActorClass is always defined by Ports.
-The ActorClass can also contain Attributes, Operations and a finite state
-machine.
-</p><!--l. 59--><p class="noindent" ><span
-class="ecbx-1000">External Ports </span>define the external interface of an actor and are defined in the
-*Interface* section of the ActorClass.
-</p><!--l. 61--><p class="noindent" ><span
-class="ecbx-1000">Internal Ports </span>define the internal interface of an actor and are defined in the
-*Structure* section of the ActorClass.
-</p><!--l. 63--><p class="noindent" ><span
-class="ecbx-1000">Bindings </span>connect Ports inside an ActorClass.
-</p><!--l. 65--><p class="noindent" >Example:
-</p>
-<div class="table">
-
-
-
-<!--l. 68--><p class="noindent" ><a
- id="x50-710012"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.2: </span><span
-class="content">Actor Class Example</span></div><!--tex4ht:label?: x50-710012 -->
-<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="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
-class="td11"> <span
-class="ecbx-1000">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"> <img
-src="images/040-ActorClassExampleTextualNotation.png" alt="PIC"
- /> </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="ecbx-1000">ActorClass1 </span>contains two ActorReferences (of ActorClass2 and
- ActorClass3)
- </li>
- <li class="itemize"><span
-class="ecti-1000">port1 </span>is a <span
-class="ecbx-1000">External End Port</span>. Since it connects external Actors with
- the behavior of the ActorClass, it is defined in the <span
-class="ecbx-1000">Interface </span>section and
- the <span
-class="ecbx-1000">Structure </span>section of the ActorClass.
- </li>
- <li class="itemize"><span
-class="ecti-1000">port2 </span>and <span
-class="ecti-1000">port3 </span>are <span
-class="ecbx-1000">Internal End Ports </span>and can only be connected to
- the ports of contained ActorReferences. Internal End Ports connect the
- Behavior of an ActorClass with its contained ActorReferences.
- </li>
- <li class="itemize"><span
-class="ecti-1000">port4 </span>is a relay port and connects external Actors to contained
- ActorReferences. This port can not be accessed by the behavior of the
- ActorClass.
- </li>
- <li class="itemize"><span
-class="ecti-1000">port5 </span>through <span
-class="ecti-1000">port9 </span>are Ports of contained ActorReferences. <span
-class="ecti-1000">port8</span>
- and <span
-class="ecti-1000">port9 </span>can communicate without interference with the containing
- ActorClass.
- </li>
- <li class="itemize"><span
-class="ecbx-1000">Bindings </span>can connect ports of the ActorClass and its contained
- ActorReferences.</li></ul>
-<h5 class="subsubsectionHead"><a
- id="x50-7200010.1.4"></a>Attributes</h5>
-<!--l. 98--><p class="noindent" >Attributes are part of the Structure of an ActorClass. They can be of a
-PrimitiveType or a DataClass.
-</p><!--l. 100--><p class="noindent" >Example:
-</p><!--l. 102--><p class="noindent" ><img
-src="images/040-ActorClassAttributes.png" alt="PIC"
+<h3 class="sectionHead"><span class="titlemark">10.5 </span> <a
+ id="x50-6600010.5"></a>Generate the code</h3>
+<!--l. 131--><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="ecti-1000">gen_HelloWorldC</span>.
+</p><!--l. 133--><p class="noindent" ><img
+src="images/034-HelloWorldC12.png" alt="PIC"
/>
-</p><!--l. 105--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x50-7300010.1.4"></a>Operations</h5>
-<!--l. 107--><p class="noindent" >Operations are part of the Behavior of an ActorClass. Arguments and return values
-can be of a PrimitiveType or a DataClass. DataClasses can be passed by value
-(implicit) or by reference (keyword <span
-class="ecbx-1000">ref</span>).
-</p><!--l. 109--><p class="noindent" >Example:
-</p><!--l. 111--><p class="noindent" ><img
-src="images/040-ActorClassOperations.png" alt="PIC"
+</p><!--l. 136--><p class="noindent" >The code should be generated.
+</p><!--l. 138--><p class="noindent" ><img
+src="images/034-HelloWorldC13.png" alt="PIC"
/>
-
-
-
+
+
</p>
-<!--l. 114--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse39.html" >next</a>] [<a
-href="etrice-docch10.html" >prev</a>] [<a
-href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
+href="etrice-docse37.html" >prev</a>] [<a
+href="etrice-docse37.html#tailetrice-docse37.html" >prev-tail</a>] [<a
href="etrice-docse38.html" >front</a>] [<a
href="etrice-docch10.html#etrice-docse38.html" >up</a>] </p></div>
-<!--l. 114--><p class="noindent" ><a
- id="tailetrice-docse38.html"></a> </p>
+<!--l. 141--><p class="noindent" ><a
+ id="tailetrice-docse38.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html
index 8550866a3..884c96254 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html
@@ -4,59 +4,48 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Protocols</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 114--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse40.html" >next</a>] [<a
href="etrice-docse38.html" >prev</a>] [<a
href="etrice-docse38.html#tailetrice-docse38.html" >prev-tail</a>] [<a
href="#tailetrice-docse39.html">tail</a>] [<a
href="etrice-docch10.html#etrice-docse39.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.2 </span> <a
- id="x51-7400010.2"></a>Protocols</h3>
-<!--l. 116--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.2.1 </span> <a
- id="x51-7500010.2.1"></a>Description</h4>
-<!--l. 118--><p class="noindent" >A ProtocolClass defines a set of incoming and outgoing messages that can be
-exchanged between two ports. The exact semantics of a message is defined by the
-execution model.
-</p><!--l. 121--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.2.2 </span> <a
- id="x51-7600010.2.2"></a>Motivation</h4>
- <ul class="itemize1">
- <li class="itemize">ProtocolClasses provide a reusable interface specification for ports
- </li>
- <li class="itemize">ProtocolClasses can optionally specify valid message exchange sequences</li></ul>
-<!--l. 128--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.2.3 </span> <a
- id="x51-7700010.2.3"></a>Notation</h4>
-<!--l. 130--><p class="noindent" >ProtocolClasses have only textual notation. The example defines a ProtocolClass
-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 DataClass.
-</p><!--l. 133--><p class="noindent" ><img
-src="images/040-ProtocolClassTextualNotation.png" alt="PIC"
+<h3 class="sectionHead"><span class="titlemark">10.6 </span> <a
+ id="x51-6700010.6"></a>Setup the include path</h3>
+<!--l. 143--><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="ecti-1000">Properties</span>. Add the include path as described in <span
+class="ecti-1000">setting up the</span>
+<span
+class="ecti-1000">workspace</span>.
+</p><!--l. 145--><p class="noindent" ><img
+src="images/034-HelloWorldC14.png" alt="PIC"
+ />
+</p><!--l. 148--><p class="noindent" >Add the runtime library.
+</p><!--l. 150--><p class="noindent" ><img
+src="images/034-HelloWorldC15.png" alt="PIC"
/>
-
-
-
+</p><!--l. 153--><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. 136--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 155--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse40.html" >next</a>] [<a
href="etrice-docse38.html" >prev</a>] [<a
href="etrice-docse38.html#tailetrice-docse38.html" >prev-tail</a>] [<a
href="etrice-docse39.html" >front</a>] [<a
href="etrice-docch10.html#etrice-docse39.html" >up</a>] </p></div>
-<!--l. 136--><p class="noindent" ><a
+<!--l. 155--><p class="noindent" ><a
id="tailetrice-docse39.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 dff78eb38..11a86564f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -26,25 +26,21 @@ href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
</p>
<h4 class="subsectionHead"><span class="titlemark">2.2.1 </span> <a
id="x8-130002.2.1"></a>Actor, Port, Protocol</h4>
-<!--l. 85--><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
-actors behavior (state machine) or will be delegated to the actors internal
-structure.
+<!--l. 85--><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 actors behavior (state machine) or will be delegated to the
+actors internal structure.
</p>
<div class="table">
-
-
-
+
+
<!--l. 88--><p class="noindent" ><a
id="x8-130011"></a></p><hr class="float" /><div class="float"
>
-
-
-
+
+
<div class="caption"
><span class="id">Table&#x00A0;2.1: </span><span
class="content">Actor and Protocol Example</span></div><!--tex4ht:label?: x8-130011 -->
@@ -73,38 +69,33 @@ 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. 107--><p class="noindent" >The actor provides access protection for its own attributes (including complex types
-(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 reusability on
-actor level and provides an effective and safe programming model to the
+<!--l. 107--><p class="noindent" >The actor provides access protection for its own attributes (including complex types (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 reusability on actor level and provides an effective and safe programming model to the
developer.
-</p><!--l. 109--><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. 113--><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><!--l. 109--><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. 113--><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>
<h4 class="subsectionHead"><span class="titlemark">2.2.2 </span> <a
id="x8-140002.2.2"></a>Hierarchy in Structure and Behavior</h4>
-<!--l. 118--><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. 120--><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.
+<!--l. 118--><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. 120--><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. 122--><p class="noindent" >Top level:
</p><!--l. 124--><p class="noindent" ><img
src="images/020-Blinky15.png" alt="PIC"
@@ -115,73 +106,66 @@ class="ecti-1000">blinking </span>Sub machine:
src="images/020-Blinky151.png" alt="PIC"
/>
</p><!--l. 132--><p class="noindent" >From an abstract point of view there is a state <span
-class="ecti-1000">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.
+class="ecti-1000">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. 134--><p class="noindent" >This simple example might give an idea how powerful this mechanisms is.
-</p><!--l. 136--><p class="noindent" >The hierarchical FSM provides a rich tool box to describe real world problems (see
+</p><!--l. 136--><p class="noindent" >The hierarchical FSM provides a rich tool box to describe real world problems (see <span
+class="ecbx-1000">room</span>
<span
-class="ecbx-1000">room concepts</span>).
-
-
-
+class="ecbx-1000">concepts</span>).
</p><!--l. 138--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.2.3 </span> <a
id="x8-150002.2.3"></a>Layering</h4>
-<!--l. 140--><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 language feature. Layering can be expressed in ROOM by Actors with
-specialized Ports, called Service Access Points (*SAP*) and Service Provision Points
-(*SPP*).
-</p><!--l. 143--><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 Actors point of view, SAPs and SPPs behave almost like regular
+<!--l. 140--><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 language feature. Layering can
+be expressed in ROOM by Actors with specialized Ports, called Service Access Points (*SAP*) and
+Service Provision Points (*SPP*).
+</p><!--l. 143--><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 Actors point of view, SAPs and SPPs behave almost like regular
+
+
ports.
</p><!--l. 145--><p class="noindent" ><img
src="images/010-LayerExample.png" alt="PIC"
/>
-</p><!--l. 148--><p class="noindent" >The Example shows a layered model. The Layer Connections define e.g. that
-the <span
-class="ecti-1000">ApplicationLayer </span>can only use the services of the <span
-class="ecti-1000">ServiceLayer </span>and the
+</p><!--l. 148--><p class="noindent" >The Example shows a layered model. The Layer Connections define e.g. that the <span
+class="ecti-1000">ApplicationLayer </span>can
+only use the services of the <span
+class="ecti-1000">ServiceLayer </span>and the <span
+class="ecti-1000">CommunicationLayer</span>. Actors inside the
<span
-class="ecti-1000">CommunicationLayer</span>. Actors inside the <span
-class="ecti-1000">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.
+class="ecti-1000">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. 151--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.2.4 </span> <a
id="x8-160002.2.4"></a>Run to Completion</h4>
<!--l. 153--><p class="noindent" ><span
-class="ecbx-1000">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="ecbx-1000">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 from the underlying run time
+class="ecbx-1000">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="ecbx-1000">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 from the underlying run time
system.
-</p><!--l. 157--><p class="noindent" >Note: It is very important not to confuse run to completion and preemption. 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 not 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. 159--><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 to several actors without
-the risk to produce access violations or dead locks.
-
-
-
+</p><!--l. 157--><p class="noindent" >Note: It is very important not to confuse run to completion and preemption. 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 not 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. 159--><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 to several actors without the risk to produce access violations or dead
+locks.
+
+
</p>
<!--l. 161--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse5.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
index 49dfcd782..6ec47dd4f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
@@ -4,417 +4,39 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Ports</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 136--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 155--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse41.html" >next</a>] [<a
href="etrice-docse39.html" >prev</a>] [<a
href="etrice-docse39.html#tailetrice-docse39.html" >prev-tail</a>] [<a
href="#tailetrice-docse40.html">tail</a>] [<a
href="etrice-docch10.html#etrice-docse40.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.3 </span> <a
- id="x52-7800010.3"></a>Ports</h3>
-<!--l. 138--><p class="noindent" >
+<h3 class="sectionHead"><span class="titlemark">10.7 </span> <a
+ id="x52-6800010.7"></a>Build and run the model</h3>
+<!--l. 157--><p class="noindent" >Now you can build the application. Click the build button to build the application. Run the application
+as <span
+class="ecti-1000">Local C/C++ Application</span>. Verify the output.
+</p><!--l. 161--><p class="noindent" ><img
+src="images/034-HelloWorldC16.png" alt="PIC"
+ />
+
+
</p>
-<h4 class="subsectionHead"><span class="titlemark">10.3.1 </span> <a
- id="x52-7900010.3.1"></a>Description</h4>
-<!--l. 140--><p class="noindent" >Ports 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. 143--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.3.2 </span> <a
- id="x52-8000010.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. 150--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.3.3 </span> <a
- id="x52-8100010.3.3"></a>Notation</h4>
-<!--l. 152--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x52-8200010.3.3"></a>Class Ports</h5>
-<!--l. 154--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
-
-
-
-</p><!--l. 156--><p class="noindent" >Ports that define an external interface of the ActorClass, are defined in the <span
-class="ecti-1000">Interface</span>.
-Ports that define an internal interface are defined in the <span
-class="ecti-1000">Structure </span>(e.g. internal
-ports). </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ecbx-1000">External End Ports </span>are defined in the Interface and the Structure
- </li>
- <li class="itemize"><span
-class="ecbx-1000">Internal End Ports </span>are only defined in the Structure
- </li>
- <li class="itemize"><span
-class="ecbx-1000">Relay Ports </span>are only defined in the Interface
- </li>
- <li class="itemize"><span
-class="ecbx-1000">End Ports </span>are always connected to the internal behavior of the
- ActorClass
- </li>
- <li class="itemize"><span
-class="ecbx-1000">Replicated Ports </span>can be defined with a fixed replication factor ( e.g.
- <span
-class="ecti-1000">Port port18 [ 5 ]: ProtocolClass1 </span>) or a variable replication factor (e.g.
- <span
-class="ecti-1000">Port port18[ * ]: ProtocolClass1 </span>)</li></ul>
-<div class="table">
-<!--l. 165--><p class="noindent" ><a
- id="x52-820013"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.3: </span><span
-class="content">Class Port Notation</span></div><!--tex4ht:label?: x52-820013 -->
-<a
- id="x52-82002r4"></a><!--l. 168--><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
-class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
- style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-1-1"
-class="td11"> <!--l. 168--><p class="noindent" ><span
-class="ecbx-1000">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-1-3"
-class="td11"> <!--l. 168--><p class="noindent" ><span
-class="ecbx-1000">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-5-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-2-1"
-class="td11"> <!--l. 169--><p class="noindent" >Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-2-2"
-class="td11"> <img
-src="images/040-ClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-2-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:center;" id="TBL-6-1-1"
-class="td11"><span
-class="ecbx-1000">External Class End Port:</span></td></tr><tr
- style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-2-1"
-class="td11"> <img
-src="images/040-ClassEndPortTextual.png" alt="PIC"
- /></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-3-1"
-class="td11"> <span
-class="ecbx-1000">Internal Class End Port: </span></td></tr><tr
- style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-4-1"
-class="td11"> <img
-src="images/040-ClassEndPortInternalTextual.png" alt="PIC"
- /></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:center;" 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-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-3-1"
-class="td11"> <!--l. 170--><p class="noindent" >Conjugated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-3-2"
-class="td11"> <img
-src="images/040-ConjugatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-3-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; vertical-align:baseline;" id="TBL-7-1-1"
-class="td11"><!--l. 170--><p class="noindent" ><span
-class="ecbx-1000">External Conjugated Class End</span>
-<span
-class="ecbx-1000">Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-2-1"
-class="td11"><!--l. 170--><p class="noindent" ><img
-src="images/040-ConjugatedClassEndPortTextual.png" alt="PIC"
- /> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-3-1"
-class="td11"><!--l. 170--><p class="noindent" ><span
-class="ecbx-1000">Internal Conjugated Class End</span>
-<span
-class="ecbx-1000">Port:</span> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-4-1"
-class="td11"><!--l. 170--><p class="noindent" ><img
-src="images/040-ConjugatedClassEndPortInternalTextual.png" alt="PIC"
- /> </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" 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-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-4-1"
-class="td11"> <!--l. 171--><p class="noindent" >Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-4-2"
-class="td11"> <img
-src="images/040-ClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-4-3"
-class="td11"> <!--l. 171--><p class="noindent" ><img
-src="images/040-ClassRelayPortTextual.png" alt="PIC"
- /> </p></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:baseline;" id="TBL-5-5-1"
-class="td11"> <!--l. 172--><p class="noindent" >Conjugated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-5-2"
-class="td11"> <img
-src="images/040-ConjugatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-5-3"
-class="td11"> <!--l. 172--><p class="noindent" ><img
-src="images/040-ConjugatedClassRelayPortTextual.png" alt="PIC"
- /> </p></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:baseline;" id="TBL-5-6-1"
-class="td11"> <!--l. 173--><p class="noindent" >Replicated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-6-2"
-class="td11"> <img
-src="images/040-ReplicatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-6-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. 173--><p class="noindent" ><span
-class="ecbx-1000">External Replicated Class End</span>
-<span
-class="ecbx-1000">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. 173--><p class="noindent" ><img
-src="images/040-ReplicatedClassEndPortTextual.png" alt="PIC"
- /> </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. 173--><p class="noindent" ><span
-class="ecbx-1000">Internal Replicated Class End</span>
-<span
-class="ecbx-1000">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. 173--><p class="noindent" ><img
-src="images/040-ReplicatedClassEndPortInternalTextual.png" alt="PIC"
- /> </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-7-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-7-1"
-class="td11"> <!--l. 174--><p class="noindent" >Conjugated
- Replicated
- Class
- End
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-7-2"
-class="td11"> <img
-src="images/040-ConjugatedReplicatedClassEndPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-7-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. 174--><p class="noindent" ><span
-class="ecbx-1000">External Conjugated</span>
-<span
-class="ecbx-1000">Replicated Class 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. 174--><p class="noindent" ><img
-src="images/040-ConjugatedReplicatedClassEndPortTextual.png" alt="PIC"
- /> </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. 174--><p class="noindent" ><span
-class="ecbx-1000">Internal Conjugated Replicated</span>
-<span
-class="ecbx-1000">Class 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. 174--><p class="noindent" ><img
-src="images/040-ConjugatedReplicatedClassEndPortInternalTextual.png" alt="PIC"
- /> </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-8-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-8-1"
-class="td11"> <!--l. 175--><p class="noindent" >Replicated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-8-2"
-class="td11"> <img
-src="images/040-ReplicatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-8-3"
-class="td11"> <!--l. 175--><p class="noindent" ><img
-src="images/040-ReplicatedClassRelayPortTextual.png" alt="PIC"
- /> </p></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:baseline;" id="TBL-5-9-1"
-class="td11"> <!--l. 176--><p class="noindent" >Conjugated
- Replicated
- Class
- Relay
- Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-9-2"
-class="td11"> <img
-src="images/040-ConjugatedReplicatedClassRelayPort.png" alt="PIC"
- /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-9-3"
-class="td11"> <!--l. 176--><p class="noindent" ><img
-src="images/040-ConjugatedReplicatedClassRelayPortTextual.png" alt="PIC"
- /> </p></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:baseline;" id="TBL-5-10-1"
-class="td11"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-11-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-11-1"
-class="td11"> </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-12-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-12-1"
-class="td11"> <!--l. 177--><p class="noindent" > </p></td>
-
-
-
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-13-1"
-class="td11"> <!--l. 177--><p class="noindent" > </p></td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-14-1"
-class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-5-14-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-14-3"
-class="td11"></td></tr>
-</table></div>
-
-
-
-</div><hr class="endfloat" />
-</div>
-<h5 class="subsubsectionHead"><a
- id="x52-8300010.3.3"></a>Reference Ports</h5>
-<!--l. 258--><p class="noindent" >These symbols can only appear on the border of an ActorReference symbol. Since the
-type of port is defined in the ActorClass, no textual notation for the Reference Ports
-exists.
-</p>
-<div class="table">
-
-
-
-<!--l. 261--><p class="noindent" ><a
- id="x52-830015"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.5: </span><span
-class="content">Title</span></div><!--tex4ht:label?: x52-830015 -->
-<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="ecbx-1000">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
-class="td11"> <span
-class="ecbx-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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. 301--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 164--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse41.html" >next</a>] [<a
href="etrice-docse39.html" >prev</a>] [<a
href="etrice-docse39.html#tailetrice-docse39.html" >prev-tail</a>] [<a
href="etrice-docse40.html" >front</a>] [<a
href="etrice-docch10.html#etrice-docse40.html" >up</a>] </p></div>
-<!--l. 301--><p class="noindent" ><a
- id="tailetrice-docse40.html"></a> </p>
+<!--l. 164--><p class="noindent" ><a
+ id="tailetrice-docse40.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse41.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse41.html
index 9b0eaf780..57c7292cc 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse41.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse41.html
@@ -4,54 +4,41 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>DataClass</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 301--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse42.html" >next</a>] [<a
+<!--l. 164--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch11.html" >next</a>] [<a
href="etrice-docse40.html" >prev</a>] [<a
href="etrice-docse40.html#tailetrice-docse40.html" >prev-tail</a>] [<a
href="#tailetrice-docse41.html">tail</a>] [<a
href="etrice-docch10.html#etrice-docse41.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.4 </span> <a
- id="x53-8400010.4"></a>DataClass</h3>
-<!--l. 303--><p class="noindent" >
+<h3 class="sectionHead"><span class="titlemark">10.8 </span> <a
+ id="x53-6900010.8"></a>Summary</h3>
+<!--l. 166--><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. 168--><p class="noindent" >The next tutorial provides an exercise to get more familiar with these working steps.
+
+
+
+
+
+
</p>
-<h4 class="subsectionHead"><span class="titlemark">10.4.1 </span> <a
- id="x53-8500010.4.1"></a>Description</h4>
-<!--l. 305--><p class="noindent" >The DataClass enables the modeling of hierarchical complex datatypes and
-operations on them. The DataClass is the equivalent to a Class in languages like Java
-or C++, but has less features. The content of a DataClass can always be sent via
-message between actors (defined as message data in ProtocolClass).
-</p><!--l. 307--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.4.2 </span> <a
- id="x53-8600010.4.2"></a>Notation</h4>
-<!--l. 309--><p class="noindent" >Example: DataClass using PrimitiveTypes
-</p><!--l. 311--><p class="noindent" ><img
-src="images/040-DataClass1.png" alt="PIC"
- />
-</p><!--l. 314--><p class="noindent" >Example: DataClass using other DataClasses:
-</p><!--l. 316--><p class="noindent" ><img
-src="images/040-DataClass2.png" alt="PIC"
- />
-
-
-
-</p>
-<!--l. 319--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse42.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch11.html" >next</a>] [<a
href="etrice-docse40.html" >prev</a>] [<a
href="etrice-docse40.html#tailetrice-docse40.html" >prev-tail</a>] [<a
href="etrice-docse41.html" >front</a>] [<a
href="etrice-docch10.html#etrice-docse41.html" >up</a>] </p></div>
-<!--l. 319--><p class="noindent" ><a
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse41.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse42.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse42.html
index 75834bf71..66579c9c7 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse42.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse42.html
@@ -4,169 +4,58 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Layering</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 319--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse43.html" >next</a>] [<a
-href="etrice-docse41.html" >prev</a>] [<a
-href="etrice-docse41.html#tailetrice-docse41.html" >prev-tail</a>] [<a
+href="etrice-docch11.html" >prev</a>] [<a
+href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
href="#tailetrice-docse42.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse42.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.5 </span> <a
- id="x54-8700010.5"></a>Layering</h3>
-<!--l. 321--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.5.1 </span> <a
- id="x54-8800010.5.1"></a>Description</h4>
-<!--l. 323--><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.
+href="etrice-docch11.html#etrice-docse42.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">11.1 </span> <a
+ id="x55-7100011.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. 7--><p class="noindent" >You will perform the following steps:
+</p><!--l. 9--><p class="noindent" >
</p><ol class="enumerate1" >
<li
- class="enumerate" id="x54-88002x1">an ActorClass can define a Service Provision Point (SPP) to publish a
- specific service, defined by a ProtocolClass
+ class="enumerate" id="x55-71002x1">create a new model from scratch for C
+ </li>
+ <li
+ class="enumerate" id="x55-71004x2">define a protocol
+ </li>
+ <li
+ class="enumerate" id="x55-71006x3">define your own data type
</li>
<li
- class="enumerate" id="x54-88004x2">an ActorClass can define a Service Access Point (SAP) if it needs a service,
- defined by a ProtocolClass
+ class="enumerate" id="x55-71008x4">create the structure and the behavior by yourself
</li>
<li
- class="enumerate" id="x54-88006x3">for a given Actor hierarchy, a LayerConnection defines which SAP will be
- satisfied by (connected to) which SPP</li></ol>
-<!--l. 330--><p class="noindent" >
+ class="enumerate" id="x55-71010x5">generate, build and run the model</li></ol>
+<!--l. 17--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ecti-1000">Setting up the Workspace for C</span>
+<span
+class="ecti-1000">Projects</span>.
+
+
</p>
-<h4 class="subsectionHead"><span class="titlemark">10.5.2 </span> <a
- id="x54-8900010.5.2"></a>Notation</h4>
-<div class="table">
-
-
-
-<!--l. 333--><p class="noindent" ></p><hr class="float" /><div class="float"
->
-
-
-
-<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. 335--><p class="noindent" ><span
-class="ecbx-1000">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-3"
-class="td11"> <span
-class="ecbx-1000">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-11-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-2-1"
-class="td11">
- <div class="flushleft"
->
- <!--l. 336--><p class="noindent" >
- The Layer
- Connections in this
- model define which
- services are
- provided by the
- <span
-class="ecti-1000">ServiceLayer</span>
- (<span
-class="ecti-1000">digitalIO </span>and
- <span
-class="ecti-1000">timer</span>)</p></div>
- <!--l. 336--><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:center;" id="TBL-11-2-3"
-class="td11"> <img
-src="images/040-LayeringModelTextual.png" alt="PIC"
- /> </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. 337--><p class="noindent" >
- The
- implementation of
- the services (SPPs)
- can be delegated to
- sub actors. In this
- case the actor
- <span
-class="ecti-1000">ServiceLayer </span>relays
- (delegates) the
- implementation
- services <span
-class="ecti-1000">digitalIO</span>
- and <span
-class="ecti-1000">timer </span>to sub
- actors</p></div>
- <!--l. 337--><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:center;" id="TBL-11-3-3"
-class="td11"> <img
-src="images/040-LayeringServiceLayerTextual.png" alt="PIC"
- /> </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. 338--><p class="noindent" >
- Every Actor inside
- the
- <span
-class="ecti-1000">ApplicationLayer</span>
- that contains an
- SAP with the same
- Protocol as <span
-class="ecti-1000">timer</span>
- or <span
-class="ecti-1000">digitalIO </span>will be
- connected to the
- specified SPP</p></div>
- <!--l. 338--><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:center;" id="TBL-11-4-3"
-class="td11"> <img
-src="images/040-LayeringApplicationLayerTextual.png" alt="PIC"
- /> </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. 365--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse43.html" >next</a>] [<a
-href="etrice-docse41.html" >prev</a>] [<a
-href="etrice-docse41.html#tailetrice-docse41.html" >prev-tail</a>] [<a
+href="etrice-docch11.html" >prev</a>] [<a
+href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
href="etrice-docse42.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse42.html" >up</a>] </p></div>
-<!--l. 365--><p class="noindent" ><a
+href="etrice-docch11.html#etrice-docse42.html" >up</a>] </p></div>
+<!--l. 19--><p class="noindent" ><a
id="tailetrice-docse42.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse43.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse43.html
index 80118438c..5b4766d84 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse43.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse43.html
@@ -4,301 +4,70 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Finite State Machines</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 365--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch11.html" >next</a>] [<a
+<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse44.html" >next</a>] [<a
href="etrice-docse42.html" >prev</a>] [<a
href="etrice-docse42.html#tailetrice-docse42.html" >prev-tail</a>] [<a
href="#tailetrice-docse43.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse43.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.6 </span> <a
- id="x55-9000010.6"></a>Finite State Machines</h3>
-<!--l. 367--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.6.1 </span> <a
- id="x55-9100010.6.1"></a>Description</h4>
-<!--l. 369--><p class="noindent" >Definition from <a
-href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
-</p><!--l. 371--><p class="noindent" >
- </p><div class="quote">
- <!--l. 372--><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. 374--><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. 377--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.6.2 </span> <a
- id="x55-9200010.6.2"></a>Motivation</h4>
-<!--l. 379--><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. 381--><p class="noindent" >We distinguish flat and hierarchical state machines.
-
-
-
-</p><!--l. 383--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">10.6.3 </span> <a
- id="x55-9300010.6.3"></a>Notation</h4>
-<!--l. 385--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x55-9400010.6.3"></a>Flat Finite State Machine</h5>
-<!--l. 387--><p class="noindent" >The simpler flat finite state machines are composed of the following elements:
-</p>
-<div class="table">
-
-
-
-<!--l. 390--><p class="noindent" ><a
- id="x55-940016"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.6: </span><span
-class="content">Title</span></div><!--tex4ht:label?: x55-940016 -->
-<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:center;" id="TBL-12-1-1"
-class="td11"> <span
-class="ecbx-1000">Description </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-3"
-class="td11"> <span
-class="ecbx-1000">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-12-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-1"
-class="td11"> State </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:center;" id="TBL-12-2-3"
-class="td11"> <img
-src="images/040-StateTextual.jpg" alt="PIC"
- /> </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:center;" id="TBL-12-3-1"
-class="td11"> InitialPoint </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:center;" id="TBL-12-3-3"
-class="td11"> <span
-class="ecti-1000">implicit</span></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:center;" id="TBL-12-4-1"
-class="td11"> TransitionPoint </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:center;" id="TBL-12-4-3"
-class="td11"> <img
-src="images/040-TransitionPointTextual.jpg" alt="PIC"
- /> </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:center;" id="TBL-12-5-1"
-class="td11"> ChoicePoint </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:center;" id="TBL-12-5-3"
-class="td11"> <img
-src="images/040-ChoicePointTextual.jpg" alt="PIC"
- /> </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:center;" id="TBL-12-6-1"
-class="td11"> Initial Transition </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:center;" id="TBL-12-6-3"
-class="td11"> <img
-src="images/040-InitialTransitionTextual.jpg" alt="PIC"
- /> </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:center;" id="TBL-12-7-1"
-class="td11"> Triggered Transition </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:center;" id="TBL-12-7-3"
-class="td11"> <img
-src="images/040-TriggeredTransitionTextual.jpg" alt="PIC"
- /> </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:center;" id="TBL-12-8-1"
-class="td11"> </td></tr></table></div>
-
-
-
-</div><hr class="endfloat" />
-</div>
-<h5 class="subsubsectionHead"><a
- id="x55-9500010.6.3"></a>Hierarchical Finite State Machine</h5>
-<!--l. 443--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in
-a state. A few modeling elements are added to the set listed above:
-</p>
-<div class="table">
-
-
-
-<!--l. 447--><p class="noindent" ><a
- id="x55-950017"></a></p><hr class="float" /><div class="float"
->
-
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;10.7: </span><span
-class="content">Title</span></div><!--tex4ht:label?: x55-950017 -->
-<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:baseline;" id="TBL-13-1-1"
-class="td11"> <!--l. 450--><p class="noindent" ><span
-class="ecbx-1000">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-2"
-class="td11"> <span
-class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-3"
-class="td11"> <span
-class="ecbx-1000">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-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-2-1"
-class="td11"> <!--l. 451--><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:center;" id="TBL-13-2-3"
-class="td11"> <!--tex4ht:inline--><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:center;" id="TBL-15-1-1"
-class="td00">Sub state machine</td></tr><tr
- style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-15-2-1"
-class="td00"> <img
-src="images/040-StateWithSubFSMTextual.jpg" alt="PIC"
- /></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-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-3-1"
-class="td11"> <!--l. 452--><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:center;" id="TBL-13-3-3"
-class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-17" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-17-1g"><col
-id="TBL-17-1" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-17-1-1"
-class="td00"> </td></tr><tr
- style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-17-2-1"
-class="td00"><img
-src="images/040-EntryPointTextual.jpg" alt="PIC"
- /></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-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-4-1"
-class="td11"> <!--l. 453--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
-class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-3"
-class="td11"> <img
-src="images/040-ExitPointTextual.jpg" alt="PIC"
- /> </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:baseline;" id="TBL-13-5-1"
-class="td11"> </td></tr></table>
-</div>
-
-
-
-</div><hr class="endfloat" />
-</div>
-<h4 class="subsectionHead"><span class="titlemark">10.6.4 </span> <a
- id="x55-9600010.6.4"></a>Examples</h4>
-<!--l. 492--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x55-9700010.6.4"></a>Example of a flat finite state machine:</h5>
-<!--l. 495--><p class="noindent" ><img
-src="images/040-FlatFSM.jpg" alt="PIC"
- />
-</p><!--l. 497--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x55-9800010.6.4"></a>Example of a hierarchical finite state machine:</h5>
-<!--l. 499--><p class="noindent" >Top level
-</p><!--l. 502--><p class="noindent" ><img
-src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
- />
-</p><!--l. 504--><p class="noindent" >Sub state machine of Initializing
-</p><!--l. 507--><p class="noindent" ><img
-src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
+href="etrice-docch11.html#etrice-docse43.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">11.2 </span> <a
+ id="x56-7200011.2"></a>Create a new model from scratch</h3>
+<!--l. 21--><p class="noindent" >Remember the following steps from the previous tutorials: </p>
+ <ul class="itemize1">
+ <li class="itemize">select the <span
+class="ecti-1000">C/C++ </span>perspective
+ </li>
+ <li class="itemize">From the main menue select <span
+class="ecti-1000">File-&#x003E;New-&#x003E;C Project</span>
+ </li>
+ <li class="itemize">Name the project <span
+class="ecti-1000">RemoveComment</span>
+ </li>
+ <li class="itemize">Project type is <span
+class="ecti-1000">Executable / Empty C Project</span>
+ </li>
+ <li class="itemize">Toolchain is <span
+class="ecti-1000">MinGW</span>
+ </li>
+ <li class="itemize">Add the folder <span
+class="ecti-1000">model</span>
+ </li>
+ <li class="itemize">Add the model file and name it <span
+class="ecti-1000">RemoveComment.room</span>
+ </li>
+ <li class="itemize">Add the Xtext nature.</li></ul>
+<!--l. 33--><p class="noindent" >The workspace should look like this:
+</p><!--l. 35--><p class="noindent" ><img
+src="images/036-RemoveCommentC01.png" alt="PIC"
/>
-</p><!--l. 509--><p class="noindent" >Sub state machine of Running
-</p><!--l. 512--><p class="noindent" ><img
-src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
+</p><!--l. 38--><p class="noindent" >Create a launch configuration for the C generator and add the include path and library as described in
+<span
+class="ecti-1000">HelloWorldC</span>.
+</p><!--l. 40--><p class="noindent" >The workspace should look like this:
+</p><!--l. 42--><p class="noindent" ><img
+src="images/036-RemoveCommentC02.png" alt="PIC"
/>
-
-
-
-
-
-
-
-
-
+</p><!--l. 45--><p class="noindent" >Now the model is created and all settings for the code generator, compiler and linker are
+done.
+
+
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch11.html" >next</a>] [<a
+<!--l. 48--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse44.html" >next</a>] [<a
href="etrice-docse42.html" >prev</a>] [<a
href="etrice-docse42.html#tailetrice-docse42.html" >prev-tail</a>] [<a
href="etrice-docse43.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse43.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse43.html"></a> </p>
+href="etrice-docch11.html#etrice-docse43.html" >up</a>] </p></div>
+<!--l. 48--><p class="noindent" ><a
+ id="tailetrice-docse43.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse44.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse44.html
index 78f216b18..0baabfd7b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse44.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse44.html
@@ -4,55 +4,71 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Overview</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 48--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse45.html" >next</a>] [<a
-href="etrice-docch11.html" >prev</a>] [<a
-href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
+href="etrice-docse43.html" >prev</a>] [<a
+href="etrice-docse43.html#tailetrice-docse43.html" >prev-tail</a>] [<a
href="#tailetrice-docse44.html">tail</a>] [<a
href="etrice-docch11.html#etrice-docse44.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.1 </span> <a
- id="x57-10000011.1"></a>Overview</h3>
-<!--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. 7--><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. 9--><p class="noindent" >This chapter will answer the following questions </p>
- <ul class="itemize1">
- <li class="itemize"><a
-href="etrice-docse45.html#x58-10100011.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
- </li>
- <li class="itemize"><a
-href="etrice-docse46.html#x59-10200011.3">&#8221;What are layout options?&#8221;</a>
- </li>
- <li class="itemize"><a
-href="etrice-docse47.html#x60-10300011.4">&#8221;How to configure the layout options to alter the diagram layout as
- desired?&#8221;</a></li></ul>
-<!--l. 16--><p class="noindent" >Moreover, some <a
-href="etrice-docse48.html#x61-10800011.5">&#8221;special layout options&#8221;</a> will also be discussed.
-
-
-
+<h3 class="sectionHead"><span class="titlemark">11.3 </span> <a
+ id="x57-7300011.3"></a>Create your own data type</h3>
+<!--l. 50--><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="ecti-1000">FILE</span>. To make this type available on the model level, you have to declare the
+type.
+</p><!--l. 52--><p class="noindent" >Open the file <span
+class="ecti-1000">Types.room </span>from <span
+class="ecti-1000">org.eclipse.modellib.c </span>and take a look at the declaration of <span
+class="ecti-1000">string </span>(last
+line) which is not a basic C type.
+</p><!--l. 54--><p class="noindent" ><span
+class="ecti-1000">PrimitiveType string:ptCharacter -&#x003E; charPtr default "0"</span>
+</p><!--l. 56--><p class="noindent" >With this declaration, you make the <span
+class="ecti-1000">string </span>keyword available on model level as a primitive type. This
+type will be translated to <span
+class="ecti-1000">charPtr </span>in your C sources. <span
+class="ecti-1000">charPtr </span>is defined in <span
+class="ecti-1000">etDatatypes.h</span>. This header file
+is platform specific (<span
+class="ecti-1000">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. 58--><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>
-<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
+<div class="verbatim" id="verbatim-20">
+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. 68--><p class="nopar" >
+</p><!--l. 71--><p class="noindent" ><span
+class="ecti-1000">FILE </span>is the native type for MinGW. Therefore you don&#8217;t need a mapping within <span
+class="ecti-1000">etDatatypes.h</span>. If your
+model should be portable across different platforms you should not take this shortcut.
+
+
+</p>
+<!--l. 73--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse45.html" >next</a>] [<a
-href="etrice-docch11.html" >prev</a>] [<a
-href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
+href="etrice-docse43.html" >prev</a>] [<a
+href="etrice-docse43.html#tailetrice-docse43.html" >prev-tail</a>] [<a
href="etrice-docse44.html" >front</a>] [<a
href="etrice-docch11.html#etrice-docse44.html" >up</a>] </p></div>
-<!--l. 18--><p class="noindent" ><a
+<!--l. 73--><p class="noindent" ><a
id="tailetrice-docse44.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse45.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse45.html
index 1c565b711..ca8d28809 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse45.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse45.html
@@ -4,44 +4,82 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Performing Automatic Layout</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 73--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse46.html" >next</a>] [<a
href="etrice-docse44.html" >prev</a>] [<a
href="etrice-docse44.html#tailetrice-docse44.html" >prev-tail</a>] [<a
href="#tailetrice-docse45.html">tail</a>] [<a
href="etrice-docch11.html#etrice-docse45.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.2 </span> <a
- id="x58-10100011.2"></a>Performing Automatic Layout</h3>
-<!--l. 21--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command
-to layout the current diagram.
-</p><!--l. 23--><p class="noindent" >This command is available in </p>
+<h3 class="sectionHead"><span class="titlemark">11.4 </span> <a
+ id="x58-7400011.4"></a>Create the model</h3>
+<!--l. 75--><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. 77--><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. 79--><p class="noindent" >Remember the logical steps: </p>
<ul class="itemize1">
- <li class="itemize">The context menu of the diagrams
+ <li class="itemize">create the model by the help of content assist (CTRL Space)
</li>
- <li class="itemize">Using the <span
-class="ecti-1000">Ctrl+R L </span>shortcut.</li></ul>
-<!--l. 29--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of
-the diagram.
-
-
-
+ <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. 88--><p class="noindent" >Try to create the model by yourself and take the following solution as an example.
+</p><!--l. 90--><p class="noindent" >Structure:
+</p><!--l. 92--><p class="noindent" ><img
+src="images/036-RemoveCommentC04.png" alt="PIC"
+ />
+</p><!--l. 95--><p class="noindent" >File reader FSM:
+</p><!--l. 97--><p class="noindent" ><img
+src="images/036-RemoveCommentC05.png" alt="PIC"
+ />
+</p><!--l. 100--><p class="noindent" >Parser FSM:
+</p><!--l. 102--><p class="noindent" ><img
+src="images/036-RemoveCommentC06.png" alt="PIC"
+ />
+</p><!--l. 105--><p class="noindent" >The complete model can be found in <span
+class="ecti-1000">org.eclipse.etrice.tutorials.c</span>
+</p><!--l. 107--><p class="noindent" >Take a look at the file attribute of the file reader.
+
+
+</p>
+<div class="verbatim" id="verbatim-21">
+Attribute&#x00A0;f:file&#x00A0;ref
+</div>
+<!--l. 111--><p class="nopar" >
+</p><!--l. 113--><p class="noindent" ><span
+class="ecti-1000">fopen </span>expects a <span
+class="ecti-1000">FILE *</span>. <span
+class="ecti-1000">f:file ref </span>declares a variable <span
+class="ecti-1000">f </span>from type reference to <span
+class="ecti-1000">file</span>, which is a pointer to
+<span
+class="ecti-1000">FILE</span>.
+
+
</p>
-<!--l. 31--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 116--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse46.html" >next</a>] [<a
href="etrice-docse44.html" >prev</a>] [<a
href="etrice-docse44.html#tailetrice-docse44.html" >prev-tail</a>] [<a
href="etrice-docse45.html" >front</a>] [<a
href="etrice-docch11.html#etrice-docse45.html" >up</a>] </p></div>
-<!--l. 31--><p class="noindent" ><a
+<!--l. 116--><p class="noindent" ><a
id="tailetrice-docse45.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse46.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse46.html
index f970bcd3d..4cb36b5be 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse46.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse46.html
@@ -4,48 +4,44 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Layout Options</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 31--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 116--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse47.html" >next</a>] [<a
href="etrice-docse45.html" >prev</a>] [<a
href="etrice-docse45.html#tailetrice-docse45.html" >prev-tail</a>] [<a
href="#tailetrice-docse46.html">tail</a>] [<a
href="etrice-docch11.html#etrice-docse46.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.3 </span> <a
- id="x59-10200011.3"></a>Layout Options</h3>
-<!--l. 34--><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. 36--><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="ecti-1000">Show Layout View</span>
-entry.
-</p><!--l. 38--><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
-below:
-</p><!--l. 40--><p class="noindent" ><img
-src="images/043-LayoutOptionDescription.png" alt="PIC"
+<h3 class="sectionHead"><span class="titlemark">11.5 </span> <a
+ id="x59-7500011.5"></a>Generate, build and run the model</h3>
+<!--l. 118--><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="ecti-1000">test.txt</span>.
+</p><!--l. 120--><p class="noindent" ><img
+src="images/036-RemoveCommentC07.png" alt="PIC"
/>
-
-
-
+</p><!--l. 123--><p class="noindent" >Generate, build and run the model.
+</p><!--l. 125--><p class="noindent" >Your output should start like this:
+</p><!--l. 127--><p class="noindent" ><img
+src="images/036-RemoveCommentC08.png" alt="PIC"
+ />
+
+
</p>
-<!--l. 43--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 131--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse47.html" >next</a>] [<a
href="etrice-docse45.html" >prev</a>] [<a
href="etrice-docse45.html#tailetrice-docse45.html" >prev-tail</a>] [<a
href="etrice-docse46.html" >front</a>] [<a
href="etrice-docch11.html#etrice-docse46.html" >up</a>] </p></div>
-<!--l. 43--><p class="noindent" ><a
+<!--l. 131--><p class="noindent" ><a
id="tailetrice-docse46.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse47.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse47.html
index 682ad5505..2510c1b4e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse47.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse47.html
@@ -4,198 +4,41 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Configuring Layout Options</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 43--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse48.html" >next</a>] [<a
+<!--l. 131--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch12.html" >next</a>] [<a
href="etrice-docse46.html" >prev</a>] [<a
href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
href="#tailetrice-docse47.html">tail</a>] [<a
href="etrice-docch11.html#etrice-docse47.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.4 </span> <a
- id="x60-10300011.4"></a>Configuring Layout Options</h3>
-<!--l. 46--><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 *default* 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. 48--><p class="noindent" >
+<h3 class="sectionHead"><span class="titlemark">11.6 </span> <a
+ id="x60-7600011.6"></a>Summary</h3>
+<!--l. 133--><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>
-<h4 class="subsectionHead"><span class="titlemark">11.4.1 </span> <a
- id="x60-10400011.4.1"></a>The Layout View</h4>
-<!--l. 51--><p class="noindent" ><img
-src="images/043-LayoutView.png" alt="PIC"
- />
-</p><!--l. 54--><p class="noindent" >The Layout view 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
-(*.structure file / *.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. 56--><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="ecti-1000">Show Advanced Properties </span>button in the view
-toolbar is activated. The group types can be hidden using the Show Categories
-button.
-</p><!--l. 58--><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. 60--><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. 62--><p class="noindent" >Selecting Restore Default Value in the context menu or the view toolbar 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><!--l. 64--><p class="noindent" ><img
-src="images/043-ContextMenu.png" alt="PIC"
- />
-</p><!--l. 67--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the
-currently active value as <span
-class="ecbx-1000">default </span>value: </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ecti-1000">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="ecti-1000">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="ecti-1000">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. 76--><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. 78--><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>
-<!--l. 84--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">11.4.2 </span> <a
- id="x60-10500011.4.2"></a>Preference Page</h4>
-<!--l. 87--><p class="noindent" >The user-defined *default* 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="ecti-1000">Layout</span>: for general preferences regarding layout
-
-
-
- </li>
- <li class="itemize"><span
-class="ecti-1000">Behavior</span>: for setting default values of layout options for eTrice behavior
- diagrams
- </li>
- <li class="itemize"><span
-class="ecti-1000">Structure</span>: for setting default values of layout options for eTrice structure
- diagrams</li></ul>
-<!--l. 94--><p class="noindent" >These preference pages can be accessed via <span
-class="ecti-1000">Windows &#x003E; Preferences &#x003E; eTrice &#x003E;</span>
-<span
-class="ecti-1000">Layout</span>.
-</p><!--l. 96--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
-class="ecti-1000">KIELER &#x003E;</span>
-<span
-class="ecti-1000">Layout </span>preference page provided by the KIELER. Relevant entries in the <span
-class="ecti-1000">KIELER &#x003E;</span>
-<span
-class="ecti-1000">Layout </span>page are shown in the above preference pages.
-</p><!--l. 98--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x60-10600011.4.2"></a><span
-class="ecti-1000">Layout </span>Preference Page</h5>
-<!--l. 101--><p class="noindent" >The <span
-class="ecti-1000">Layout </span>preference page is meant to configure general options regarding the
-layout.
-</p><!--l. 103--><p class="noindent" >If <span
-class="ecti-1000">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. 105--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x60-10700011.4.2"></a><span
-class="ecti-1000">Behavior </span>and <span
-class="ecti-1000">Structure </span>Preference Page</h5>
-<!--l. 108--><p class="noindent" >The <span
-class="ecti-1000">Behavior </span>and <span
-class="ecti-1000">Structure </span>sub-preference pages help in setting up the default
-values of layout options in behavior and structure diagrams respectively.
-</p><!--l. 110--><p class="noindent" >The <span
-class="ecti-1000">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. 112--><p class="noindent" >Creating a new entry requires the selection of the type of related element 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><!--l. 114--><p class="noindent" ><img
-src="images/043-PreferencePage.png" alt="PIC"
- />
-</p><!--l. 117--><p class="noindent" >Note that the <span
-class="ecti-1000">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="ecti-1000">Structure </span>preference
-page.
-
-
-
-</p>
-<!--l. 119--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse48.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch12.html" >next</a>] [<a
href="etrice-docse46.html" >prev</a>] [<a
href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
href="etrice-docse47.html" >front</a>] [<a
href="etrice-docch11.html#etrice-docse47.html" >up</a>] </p></div>
-<!--l. 119--><p class="noindent" ><a
- id="tailetrice-docse47.html"></a> </p>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse47.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse48.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse48.html
index b04bca251..d29c0b764 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse48.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse48.html
@@ -4,83 +4,226 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Special Layout Options</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 119--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 6--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse49.html" >next</a>] [<a
-href="etrice-docse47.html" >prev</a>] [<a
-href="etrice-docse47.html#tailetrice-docse47.html" >prev-tail</a>] [<a
+href="etrice-docch12.html" >prev</a>] [<a
+href="etrice-docch12.html#tailetrice-docch12.html" >prev-tail</a>] [<a
href="#tailetrice-docse48.html">tail</a>] [<a
-href="etrice-docch11.html#etrice-docse48.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.5 </span> <a
- id="x61-10800011.5"></a>Special Layout Options</h3>
-<!--l. 122--><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. 124--><p class="noindent" >
+href="etrice-docch12.html#etrice-docse48.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">12.1 </span> <a
+ id="x62-7800012.1"></a>Actors</h3>
+<!--l. 8--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">11.5.1 </span> <a
- id="x61-10900011.5.1"></a>Layout Algorithm</h4>
-<!--l. 127--><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. 129--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
-class="ecti-1000">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="ecti-1000">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
-the <span
-class="ecti-1000">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. 131--><p class="noindent" >
+<h4 class="subsectionHead"><span class="titlemark">12.1.1 </span> <a
+ id="x62-7900012.1.1"></a>Description</h4>
+
+
+<!--l. 10--><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. 12--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">11.5.2 </span> <a
- id="x61-11000011.5.2"></a>Diagram Type</h4>
-<!--l. 134--><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 de.cau.cs.kieler.diagramType. Thus, these help
-in
-</p><!--l. 136--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+<h4 class="subsectionHead"><span class="titlemark">12.1.2 </span> <a
+ id="x62-8000012.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 reusable blocks</li></ul>
+<!--l. 21--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.1.3 </span> <a
+ id="x62-8100012.1.3"></a>Notation</h4>
+<div class="table">
+
+
+<!--l. 25--><p class="noindent" ><a
+ id="x62-810011"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.1: </span><span
+class="content">Actor Class Notation</span></div><!--tex4ht:label?: x62-810011 -->
+<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="ecbx-1000">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
+class="td11"> <span
+class="ecbx-1000">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"> <img
+src="images/040-ActorClassTextualNotation.png" alt="PIC"
+ /> </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"> <img
+src="images/040-ActorReferenceTextualNotation.png" alt="PIC"
+ /> </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">12.1.4 </span> <a
+ id="x62-8200012.1.4"></a>Details</h4>
+<!--l. 55--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x62-8300012.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
+<!--l. 57--><p class="noindent" >An <span
+class="ecbx-1000">ActorClass </span>defines the type (or blueprint) of an actor. Hierarchies are built by ActorClasses that
+contain <span
+class="ecbx-1000">ActorReferences </span>which have another ActorClass as type. The interface of an ActorClass is
+always defined by Ports. The ActorClass can also contain Attributes, Operations and a finite state
+machine.
+</p><!--l. 59--><p class="noindent" ><span
+class="ecbx-1000">External Ports </span>define the external interface of an actor and are defined in the *Interface* section of the
+ActorClass.
+</p><!--l. 61--><p class="noindent" ><span
+class="ecbx-1000">Internal Ports </span>define the internal interface of an actor and are defined in the *Structure* section of the
+ActorClass.
+</p><!--l. 63--><p class="noindent" ><span
+class="ecbx-1000">Bindings </span>connect Ports inside an ActorClass.
+</p><!--l. 65--><p class="noindent" >Example:
+</p>
+<div class="table">
+
+
+<!--l. 68--><p class="noindent" ><a
+ id="x62-830012"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.2: </span><span
+class="content">Actor Class Example</span></div><!--tex4ht:label?: x62-830012 -->
+<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="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
+class="td11"> <span
+class="ecbx-1000">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"> <img
+src="images/040-ActorClassExampleTextualNotation.png" alt="PIC"
+ /> </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="ecbx-1000">ActorClass1 </span>contains two ActorReferences (of ActorClass2 and ActorClass3)
+ </li>
+ <li class="itemize"><span
+class="ecti-1000">port1 </span>is a <span
+class="ecbx-1000">External End Port</span>. Since it connects external Actors with the behavior of
+ the ActorClass, it is defined in the <span
+class="ecbx-1000">Interface </span>section and the <span
+class="ecbx-1000">Structure </span>section of the
+ ActorClass.
+ </li>
+ <li class="itemize"><span
+class="ecti-1000">port2 </span>and <span
+class="ecti-1000">port3 </span>are <span
+class="ecbx-1000">Internal End Ports </span>and can only be connected to the ports of contained
+ ActorReferences. Internal End Ports connect the Behavior of an ActorClass with its contained
+ ActorReferences.
+ </li>
<li class="itemize"><span
-class="ecti-1000">General </span>- This type is automatically assigned to all diagrams for which
- no specific type is declared. (Predefined in KIELER)
-
-
-
+class="ecti-1000">port4 </span>is a relay port and connects external Actors to contained ActorReferences. This port
+ can not be accessed by the behavior of the ActorClass.
</li>
<li class="itemize"><span
-class="ecti-1000">eTrice Behavior Diagrams </span>- This type has been assigned to the diagram
- objects in eTrice Behavior Diagrams.
+class="ecti-1000">port5 </span>through <span
+class="ecti-1000">port9 </span>are Ports of contained ActorReferences. <span
+class="ecti-1000">port8 </span>and <span
+class="ecti-1000">port9 </span>can
+ communicate without interference with the containing ActorClass.
</li>
<li class="itemize"><span
-class="ecti-1000">eTrice Structure Diagrams </span>- This type has been assigned to the diagram
- objects in eTrice Structurer Diagrams.</li></ul>
-<!--l. 142--><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.
-
-
-
+class="ecbx-1000">Bindings </span>can connect ports of the ActorClass and its contained ActorReferences.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x62-8400012.1.4"></a>Attributes</h5>
+<!--l. 98--><p class="noindent" >Attributes are part of the Structure of an ActorClass. They can be of a PrimitiveType or a
+DataClass.
+</p><!--l. 100--><p class="noindent" >Example:
+</p><!--l. 102--><p class="noindent" ><img
+src="images/040-ActorClassAttributes.png" alt="PIC"
+ />
+</p><!--l. 105--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x62-8500012.1.4"></a>Operations</h5>
+<!--l. 107--><p class="noindent" >Operations are part of the Behavior of an ActorClass. Arguments and return values can be of a
+PrimitiveType or a DataClass. DataClasses can be passed by value (implicit) or by reference (keyword
+<span
+class="ecbx-1000">ref</span>).
+</p><!--l. 109--><p class="noindent" >Example:
+</p><!--l. 111--><p class="noindent" ><img
+src="images/040-ActorClassOperations.png" alt="PIC"
+ />
+
+
</p>
-<!--l. 144--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 114--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse49.html" >next</a>] [<a
-href="etrice-docse47.html" >prev</a>] [<a
-href="etrice-docse47.html#tailetrice-docse47.html" >prev-tail</a>] [<a
+href="etrice-docch12.html" >prev</a>] [<a
+href="etrice-docch12.html#tailetrice-docch12.html" >prev-tail</a>] [<a
href="etrice-docse48.html" >front</a>] [<a
-href="etrice-docch11.html#etrice-docse48.html" >up</a>] </p></div>
-<!--l. 144--><p class="noindent" ><a
- id="tailetrice-docse48.html"></a> </p>
+href="etrice-docch12.html#etrice-docse48.html" >up</a>] </p></div>
+<!--l. 114--><p class="noindent" ><a
+ id="tailetrice-docse48.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse49.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse49.html
index b13e1ddfa..392537f9c 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse49.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse49.html
@@ -4,47 +4,57 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Further References</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 144--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch12.html" >next</a>] [<a
+<!--l. 114--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse50.html" >next</a>] [<a
href="etrice-docse48.html" >prev</a>] [<a
href="etrice-docse48.html#tailetrice-docse48.html" >prev-tail</a>] [<a
href="#tailetrice-docse49.html">tail</a>] [<a
-href="etrice-docch11.html#etrice-docse49.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.6 </span> <a
- id="x62-11100011.6"></a>Further References</h3>
-<!--l. 147--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML
-wiki":http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078
-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 at the "KIML
-wiki":http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078
-.
-
-
-
-
-
-
-
-
-
+href="etrice-docch12.html#etrice-docse49.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">12.2 </span> <a
+ id="x63-8600012.2"></a>Protocols</h3>
+<!--l. 116--><p class="noindent" >
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch12.html" >next</a>] [<a
+<h4 class="subsectionHead"><span class="titlemark">12.2.1 </span> <a
+ id="x63-8700012.2.1"></a>Description</h4>
+<!--l. 118--><p class="noindent" >A ProtocolClass defines a set of incoming and outgoing messages that can be exchanged between two
+ports. The exact semantics of a message is defined by the execution model.
+</p><!--l. 121--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.2.2 </span> <a
+ id="x63-8800012.2.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">ProtocolClasses provide a reusable interface specification for ports
+ </li>
+ <li class="itemize">ProtocolClasses can optionally specify valid message exchange sequences</li></ul>
+<!--l. 128--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.2.3 </span> <a
+ id="x63-8900012.2.3"></a>Notation</h4>
+<!--l. 130--><p class="noindent" >ProtocolClasses have only textual notation. The example defines a ProtocolClass 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 DataClass.
+</p><!--l. 133--><p class="noindent" ><img
+src="images/040-ProtocolClassTextualNotation.png" alt="PIC"
+ />
+
+
+</p>
+<!--l. 136--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse50.html" >next</a>] [<a
href="etrice-docse48.html" >prev</a>] [<a
href="etrice-docse48.html#tailetrice-docse48.html" >prev-tail</a>] [<a
href="etrice-docse49.html" >front</a>] [<a
-href="etrice-docch11.html#etrice-docse49.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch12.html#etrice-docse49.html" >up</a>] </p></div>
+<!--l. 136--><p class="noindent" ><a
id="tailetrice-docse49.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 7d3f35efd..3bf3e4771 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse5.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,103 +22,91 @@ 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-170002.3"></a>Execution Models</h3>
-<!--l. 163--><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 Execution Model. Currently the eTrice
-tooling only supports the <span
-class="ecbx-1000">message driven </span>and parts of the <span
-class="ecbx-1000">data driven </span>execution
-model. In future releases more execution models will be supported, depending on the
-requirements of the community.
+<!--l. 163--><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 Execution Model. Currently the eTrice tooling only supports the <span
+class="ecbx-1000">message driven </span>and parts of
+the <span
+class="ecbx-1000">data driven </span>execution model. In future releases more execution models will be supported, depending
+on the requirements of the community.
</p><!--l. 166--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.3.1 </span> <a
id="x9-180002.3.1"></a>Communication Methods</h4>
<ul class="itemize1">
<li class="itemize"><span
-class="ecbx-1000">message driven </span>(asynchronous, non blocking, no return value): 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.
+class="ecbx-1000">message driven </span>(asynchronous, non blocking, no return value): 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="ecbx-1000">data driven </span>(asynchronous, non blocking, no return value): 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.
+class="ecbx-1000">data driven </span>(asynchronous, non blocking, no return value): 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="ecbx-1000">function call </span>(synchronous, blocking, return value): Regular function call
- as known in most programming languages.</li></ul>
+class="ecbx-1000">function call </span>(synchronous, blocking, return value): Regular function call as known in most
+ programming languages.</li></ul>
<!--l. 174--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.3.2 </span> <a
id="x9-190002.3.2"></a>Execution Methods</h4>
-
-
-
<ul class="itemize1">
<li class="itemize"><span
-class="ecbx-1000">execution by receive event</span>: The message queue or the event dispatcher
- calls a <span
-class="ecbx-1000">receive event </span>function of the message receiver an thereby executes
- the processing of the event.
+class="ecbx-1000">execution by receive event</span>: The message queue or the event dispatcher calls a <span
+class="ecbx-1000">receive</span>
+ <span
+class="ecbx-1000">event </span>function of the message receiver an thereby executes the processing of the event.
</li>
<li class="itemize"><span
class="ecbx-1000">polled execution</span>: The objects are processed by a cyclic <span
class="ecbx-1000">execute </span>call
</li>
<li class="itemize"><span
-class="ecbx-1000">execution by function call</span>: The caller executes the called object via
- function call</li></ul>
+class="ecbx-1000">execution by function call</span>: The caller executes the called object via function call</li></ul>
+
+
<!--l. 182--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.3.3 </span> <a
id="x9-200002.3.3"></a>Execution Models</h4>
-<!--l. 184--><p class="noindent" >In todays embedded systems in most cases one or several of the following execution
-models are used:
+<!--l. 184--><p class="noindent" >In todays embedded systems in most cases one or several of the following execution models are
+used:
</p><!--l. 186--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><a
id="x9-210002.3.3"></a>message driven</h5>
-<!--l. 188--><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.
+<!--l. 188--><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. 193--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><a
id="x9-220002.3.3"></a>data driven</h5>
-<!--l. 195--><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.
-
-
-
+<!--l. 195--><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. 201--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><a
id="x9-230002.3.3"></a>synchronous</h5>
<!--l. 203--><p class="noindent" >The synchronous execution model could also be called <span
-class="ecbx-1000">simple function calls</span>. This
-model is in general not very well suited to support the <span
-class="ecbx-1000">run to completion </span>semantic
-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.
-
-
-
-
-
-
-
-
-
+class="ecbx-1000">simple function calls</span>. This model is in
+general not very well suited to support the <span
+class="ecbx-1000">run to completion </span>semantic 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. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docch3.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse50.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse50.html
index 7df9711c1..fdcdd45c2 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse50.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse50.html
@@ -4,51 +4,404 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Codegenerators</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch13.html" >next</a>] [<a
-href="etrice-docch12.html" >prev</a>] [<a
-href="etrice-docch12.html#tailetrice-docch12.html" >prev-tail</a>] [<a
+<!--l. 136--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse51.html" >next</a>] [<a
+href="etrice-docse49.html" >prev</a>] [<a
+href="etrice-docse49.html#tailetrice-docse49.html" >prev-tail</a>] [<a
href="#tailetrice-docse50.html">tail</a>] [<a
href="etrice-docch12.html#etrice-docse50.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">12.1 </span> <a
- id="x64-11300012.1"></a>Codegenerators</h3>
-<!--l. 5--><p class="noindent" >
+<h3 class="sectionHead"><span class="titlemark">12.3 </span> <a
+ id="x64-9000012.3"></a>Ports</h3>
+<!--l. 138--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">12.1.1 </span> <a
- id="x64-11400012.1.1"></a>Java Generator</h4>
-<!--l. 7--><p class="noindent" >
+<h4 class="subsectionHead"><span class="titlemark">12.3.1 </span> <a
+ id="x64-9100012.3.1"></a>Description</h4>
+<!--l. 140--><p class="noindent" >Ports 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. 143--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">12.1.2 </span> <a
- id="x64-11500012.1.2"></a>C++ Generator</h4>
-<!--l. 9--><p class="noindent" >
+<h4 class="subsectionHead"><span class="titlemark">12.3.2 </span> <a
+ id="x64-9200012.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. 150--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">12.1.3 </span> <a
- id="x64-11600012.1.3"></a>C Generator</h4>
-
-
-
-
-
-
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch13.html" >next</a>] [<a
-href="etrice-docch12.html" >prev</a>] [<a
-href="etrice-docch12.html#tailetrice-docch12.html" >prev-tail</a>] [<a
+<h4 class="subsectionHead"><span class="titlemark">12.3.3 </span> <a
+ id="x64-9300012.3.3"></a>Notation</h4>
+<!--l. 152--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x64-9400012.3.3"></a>Class Ports</h5>
+<!--l. 154--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
+</p><!--l. 156--><p class="noindent" >Ports that define an external interface of the ActorClass, are defined in the <span
+class="ecti-1000">Interface</span>. Ports that define an
+internal interface are defined in the <span
+class="ecti-1000">Structure </span>(e.g. internal ports). </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ecbx-1000">External End Ports </span>are defined in the Interface and the Structure
+ </li>
+ <li class="itemize"><span
+class="ecbx-1000">Internal End Ports </span>are only defined in the Structure
+
+
+ </li>
+ <li class="itemize"><span
+class="ecbx-1000">Relay Ports </span>are only defined in the Interface
+ </li>
+ <li class="itemize"><span
+class="ecbx-1000">End Ports </span>are always connected to the internal behavior of the ActorClass
+ </li>
+ <li class="itemize"><span
+class="ecbx-1000">Replicated Ports </span>can be defined with a fixed replication factor ( e.g. <span
+class="ecti-1000">Port port18 [ 5 ]:</span>
+ <span
+class="ecti-1000">ProtocolClass1 </span>) or a variable replication factor (e.g. <span
+class="ecti-1000">Port port18[ * ]: ProtocolClass1 </span>)</li></ul>
+<div class="table">
+<!--l. 165--><p class="noindent" ><a
+ id="x64-940013"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.3: </span><span
+class="content">Class Port Notation</span></div><!--tex4ht:label?: x64-940013 -->
+<a
+ id="x64-94002r4"></a><!--l. 168--><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
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-1-1"
+class="td11"> <!--l. 168--><p class="noindent" ><span
+class="ecbx-1000">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-1-3"
+class="td11"> <!--l. 168--><p class="noindent" ><span
+class="ecbx-1000">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-5-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-2-1"
+class="td11"> <!--l. 169--><p class="noindent" >Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-2-2"
+class="td11"> <img
+src="images/040-ClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-2-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:center;" id="TBL-6-1-1"
+class="td11"><span
+class="ecbx-1000">External Class End Port:</span></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-2-1"
+class="td11"> <img
+src="images/040-ClassEndPortTextual.png" alt="PIC"
+ /></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-3-1"
+class="td11"> <span
+class="ecbx-1000">Internal Class End Port: </span></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-6-4-1"
+class="td11"> <img
+src="images/040-ClassEndPortInternalTextual.png" alt="PIC"
+ /></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-6-5-"><td style="white-space:nowrap; text-align:center;" 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-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-3-1"
+class="td11"> <!--l. 170--><p class="noindent" >Conjugated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-3-2"
+class="td11"> <img
+src="images/040-ConjugatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-3-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; vertical-align:baseline;" id="TBL-7-1-1"
+class="td11"><!--l. 170--><p class="noindent" ><span
+class="ecbx-1000">External Conjugated Class End</span>
+<span
+class="ecbx-1000">Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-2-1"
+class="td11"><!--l. 170--><p class="noindent" ><img
+src="images/040-ConjugatedClassEndPortTextual.png" alt="PIC"
+ /> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-3-1"
+class="td11"><!--l. 170--><p class="noindent" ><span
+class="ecbx-1000">Internal Conjugated Class End</span>
+<span
+class="ecbx-1000">Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-7-4-1"
+class="td11"><!--l. 170--><p class="noindent" ><img
+src="images/040-ConjugatedClassEndPortInternalTextual.png" alt="PIC"
+ /> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-7-5-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" 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-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-4-1"
+class="td11"> <!--l. 171--><p class="noindent" >Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-4-2"
+class="td11"> <img
+src="images/040-ClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-4-3"
+class="td11"> <!--l. 171--><p class="noindent" ><img
+src="images/040-ClassRelayPortTextual.png" alt="PIC"
+ /> </p></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:baseline;" id="TBL-5-5-1"
+class="td11"> <!--l. 172--><p class="noindent" >Conjugated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-5-2"
+class="td11"> <img
+src="images/040-ConjugatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-5-3"
+class="td11"> <!--l. 172--><p class="noindent" ><img
+src="images/040-ConjugatedClassRelayPortTextual.png" alt="PIC"
+ /> </p></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:baseline;" id="TBL-5-6-1"
+class="td11"> <!--l. 173--><p class="noindent" >Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-6-2"
+class="td11"> <img
+src="images/040-ReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-6-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. 173--><p class="noindent" ><span
+class="ecbx-1000">External Replicated Class End</span>
+<span
+class="ecbx-1000">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. 173--><p class="noindent" ><img
+src="images/040-ReplicatedClassEndPortTextual.png" alt="PIC"
+ /> </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. 173--><p class="noindent" ><span
+class="ecbx-1000">Internal Replicated Class End</span>
+<span
+class="ecbx-1000">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. 173--><p class="noindent" ><img
+src="images/040-ReplicatedClassEndPortInternalTextual.png" alt="PIC"
+ /> </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-7-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-7-1"
+class="td11"> <!--l. 174--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ End
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-7-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassEndPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-7-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. 174--><p class="noindent" ><span
+class="ecbx-1000">External Conjugated</span>
+<span
+class="ecbx-1000">Replicated Class 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. 174--><p class="noindent" ><img
+src="images/040-ConjugatedReplicatedClassEndPortTextual.png" alt="PIC"
+ /> </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. 174--><p class="noindent" ><span
+class="ecbx-1000">Internal Conjugated Replicated</span>
+<span
+class="ecbx-1000">Class 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. 174--><p class="noindent" ><img
+src="images/040-ConjugatedReplicatedClassEndPortInternalTextual.png" alt="PIC"
+ /> </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-8-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-8-1"
+class="td11"> <!--l. 175--><p class="noindent" >Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-8-2"
+class="td11"> <img
+src="images/040-ReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-8-3"
+class="td11"> <!--l. 175--><p class="noindent" ><img
+src="images/040-ReplicatedClassRelayPortTextual.png" alt="PIC"
+ /> </p></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:baseline;" id="TBL-5-9-1"
+class="td11"> <!--l. 176--><p class="noindent" >Conjugated
+ Replicated
+ Class
+ Relay
+ Port </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-9-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedClassRelayPort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-9-3"
+class="td11"> <!--l. 176--><p class="noindent" ><img
+src="images/040-ConjugatedReplicatedClassRelayPortTextual.png" alt="PIC"
+ /> </p></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:baseline;" id="TBL-5-10-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-11-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-11-1"
+class="td11"> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-12-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-12-1"
+class="td11"> <!--l. 177--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-13-1"
+class="td11"> <!--l. 177--><p class="noindent" > </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-5-14-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-14-1"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-5-14-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-5-14-3"
+class="td11"></td></tr>
+</table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h5 class="subsubsectionHead"><a
+ id="x64-9500012.3.3"></a>Reference Ports</h5>
+<!--l. 258--><p class="noindent" >These symbols can only appear on the border of an ActorReference symbol. Since the type of port is
+defined in the ActorClass, no textual notation for the Reference Ports exists.
+</p>
+<div class="table">
+
+
+<!--l. 261--><p class="noindent" ><a
+ id="x64-950015"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.5: </span><span
+class="content">Title</span></div><!--tex4ht:label?: x64-950015 -->
+<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="ecbx-1000">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
+class="td11"> <span
+class="ecbx-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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. 301--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse51.html" >next</a>] [<a
+href="etrice-docse49.html" >prev</a>] [<a
+href="etrice-docse49.html#tailetrice-docse49.html" >prev-tail</a>] [<a
href="etrice-docse50.html" >front</a>] [<a
href="etrice-docch12.html#etrice-docse50.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
- id="tailetrice-docse50.html"></a> </p>
+<!--l. 301--><p class="noindent" ><a
+ id="tailetrice-docse50.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse51.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse51.html
index 13e14f500..7d5aa8eba 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse51.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse51.html
@@ -4,63 +4,53 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>The ROOM Model</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 301--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse52.html" >next</a>] [<a
-href="etrice-docch15.html" >prev</a>] [<a
-href="etrice-docch15.html#tailetrice-docch15.html" >prev-tail</a>] [<a
+href="etrice-docse50.html" >prev</a>] [<a
+href="etrice-docse50.html#tailetrice-docse50.html" >prev-tail</a>] [<a
href="#tailetrice-docse51.html">tail</a>] [<a
-href="etrice-docch15.html#etrice-docse51.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">15.1 </span> <a
- id="x68-12000015.1"></a>The ROOM Model</h3>
-<!--l. 21--><p class="noindent" >The ROOM model defines classes for Data, Protocols, Actors, SubSystems and
-LogicalSystems. Thereby the three latter form a hierarchy. The @LogicalSystem@ is
-the top level element of the structure. It contains references to <span
-class="ectt-1000">SubSystemClass</span>
-elements. The <span
-class="ectt-1000">SubSystemClass </span>in turn contain references to <span
-class="ectt-1000">ActorClass </span>elements
-which again contain (recursively) references to <span
-class="ectt-1000">ActorClass </span>elements. The
-complete structural hierarchy implies a tree which has the <span
-class="ectt-1000">LogicalSystem </span>as
-root and where each reference stands for a new node with possibly further
-branches.
-
-
-
-</p><!--l. 24--><p class="noindent" >Let&#8217;s consider a simple example. It doesn&#8217;t implement any meaningful and completely
-omits behavioral and other aspects.
-</p><!--l. 26--><p class="noindent" ><img
-src="images/080-room.jpg" alt="PIC"
+href="etrice-docch12.html#etrice-docse51.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">12.4 </span> <a
+ id="x65-9600012.4"></a>DataClass</h3>
+<!--l. 303--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.4.1 </span> <a
+ id="x65-9700012.4.1"></a>Description</h4>
+<!--l. 305--><p class="noindent" >The DataClass enables the modeling of hierarchical complex datatypes and operations on them. The
+DataClass is the equivalent to a Class in languages like Java or C++, but has less features. The content
+of a DataClass can always be sent via message between actors (defined as message data in
+ProtocolClass).
+</p><!--l. 307--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.4.2 </span> <a
+ id="x65-9800012.4.2"></a>Notation</h4>
+<!--l. 309--><p class="noindent" >Example: DataClass using PrimitiveTypes
+</p><!--l. 311--><p class="noindent" ><img
+src="images/040-DataClass1.png" alt="PIC"
/>
-</p><!--l. 29--><p class="noindent" >When a <span
-class="ectt-1000">LogicalSstem </span>is instantiated then recursively all of the contained referenced
-elements are instantiated as instances of the corresponding class. Thus the instance
-tree of above example looks like this (the third line in the white boxes shows some
-mapping information, s.b.):
-</p><!--l. 31--><p class="noindent" ><img
-src="images/080-instances.jpg" alt="PIC"
+</p><!--l. 314--><p class="noindent" >Example: DataClass using other DataClasses:
+</p><!--l. 316--><p class="noindent" ><img
+src="images/040-DataClass2.png" alt="PIC"
/>
-
-
-
+
+
</p>
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 319--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse52.html" >next</a>] [<a
-href="etrice-docch15.html" >prev</a>] [<a
-href="etrice-docch15.html#tailetrice-docch15.html" >prev-tail</a>] [<a
+href="etrice-docse50.html" >prev</a>] [<a
+href="etrice-docse50.html#tailetrice-docse50.html" >prev-tail</a>] [<a
href="etrice-docse51.html" >front</a>] [<a
-href="etrice-docch15.html#etrice-docse51.html" >up</a>] </p></div>
-<!--l. 35--><p class="noindent" ><a
+href="etrice-docch12.html#etrice-docse51.html" >up</a>] </p></div>
+<!--l. 319--><p class="noindent" ><a
id="tailetrice-docse51.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse52.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse52.html
index c62f75652..d4a94920f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse52.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse52.html
@@ -4,41 +4,164 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>The Config Model</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 319--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse53.html" >next</a>] [<a
href="etrice-docse51.html" >prev</a>] [<a
href="etrice-docse51.html#tailetrice-docse51.html" >prev-tail</a>] [<a
href="#tailetrice-docse52.html">tail</a>] [<a
-href="etrice-docch15.html#etrice-docse52.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">15.2 </span> <a
- id="x69-12100015.2"></a>The Config Model</h3>
-<!--l. 37--><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. 39--><p class="noindent" ><img
-src="images/080-config.jpg" alt="PIC"
- />
-
-
-
+href="etrice-docch12.html#etrice-docse52.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">12.5 </span> <a
+ id="x66-9900012.5"></a>Layering</h3>
+<!--l. 321--><p class="noindent" >
</p>
-<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
+<h4 class="subsectionHead"><span class="titlemark">12.5.1 </span> <a
+ id="x66-10000012.5.1"></a>Description</h4>
+<!--l. 323--><p class="noindent" >In addition to the Actor containment hierarchies, Layering provides another method to hierarchically
+structure a software system. Layering and actor hierarchies with port to port connections can be mixed
+on every level of granularity.
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x66-100002x1">an ActorClass can define a Service Provision Point (SPP) to publish a specific service, defined
+ by a ProtocolClass
+ </li>
+ <li
+ class="enumerate" id="x66-100004x2">an ActorClass can define a Service Access Point (SAP) if it needs a service, defined by a
+ ProtocolClass
+ </li>
+ <li
+ class="enumerate" id="x66-100006x3">for a given Actor hierarchy, a LayerConnection defines which SAP will be satisfied by
+ (connected to) which SPP</li></ol>
+<!--l. 330--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.5.2 </span> <a
+ id="x66-10100012.5.2"></a>Notation</h4>
+<div class="table">
+
+
+<!--l. 333--><p class="noindent" ></p><hr class="float" /><div class="float"
+>
+
+
+<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. 335--><p class="noindent" ><span
+class="ecbx-1000">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-3"
+class="td11"> <span
+class="ecbx-1000">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-11-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-2-1"
+class="td11">
+ <div class="flushleft"
+>
+ <!--l. 336--><p class="noindent" >
+ The Layer
+ Connections in this
+ model define which
+ services are
+ provided by the
+ <span
+class="ecti-1000">ServiceLayer</span>
+ (<span
+class="ecti-1000">digitalIO </span>and
+ <span
+class="ecti-1000">timer</span>)</p></div>
+ <!--l. 336--><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:center;" id="TBL-11-2-3"
+class="td11"> <img
+src="images/040-LayeringModelTextual.png" alt="PIC"
+ /> </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. 337--><p class="noindent" >
+ The
+ implementation of
+ the services (SPPs)
+ can be delegated to
+ sub actors. In this
+ case the actor
+ <span
+class="ecti-1000">ServiceLayer </span>relays
+ (delegates) the
+ implementation
+ services <span
+class="ecti-1000">digitalIO</span>
+ and <span
+class="ecti-1000">timer </span>to sub
+ actors</p></div>
+ <!--l. 337--><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:center;" id="TBL-11-3-3"
+class="td11"> <img
+src="images/040-LayeringServiceLayerTextual.png" alt="PIC"
+ /> </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. 338--><p class="noindent" >
+ Every Actor inside
+ the
+ <span
+class="ecti-1000">ApplicationLayer</span>
+ that contains an
+ SAP with the same
+ Protocol as <span
+class="ecti-1000">timer</span>
+ or <span
+class="ecti-1000">digitalIO </span>will be
+ connected to the
+ specified SPP</p></div>
+ <!--l. 338--><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:center;" id="TBL-11-4-3"
+class="td11"> <img
+src="images/040-LayeringApplicationLayerTextual.png" alt="PIC"
+ /> </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. 365--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse53.html" >next</a>] [<a
href="etrice-docse51.html" >prev</a>] [<a
href="etrice-docse51.html#tailetrice-docse51.html" >prev-tail</a>] [<a
href="etrice-docse52.html" >front</a>] [<a
-href="etrice-docch15.html#etrice-docse52.html" >up</a>] </p></div>
-<!--l. 42--><p class="noindent" ><a
+href="etrice-docch12.html#etrice-docse52.html" >up</a>] </p></div>
+<!--l. 365--><p class="noindent" ><a
id="tailetrice-docse52.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse53.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse53.html
index bef640c42..7a31b6b2b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse53.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse53.html
@@ -4,45 +4,287 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>The Physical Model</title>
+<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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse54.html" >next</a>] [<a
+<!--l. 365--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch13.html" >next</a>] [<a
href="etrice-docse52.html" >prev</a>] [<a
href="etrice-docse52.html#tailetrice-docse52.html" >prev-tail</a>] [<a
href="#tailetrice-docse53.html">tail</a>] [<a
-href="etrice-docch15.html#etrice-docse53.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">15.3 </span> <a
- id="x70-12200015.3"></a>The Physical Model</h3>
-<!--l. 44--><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 defines the
-overall execution model of the platform.
-</p><!--l. 46--><p class="noindent" ><img
-src="images/080-runtimes.jpg" alt="PIC"
+href="etrice-docch12.html#etrice-docse53.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">12.6 </span> <a
+ id="x67-10200012.6"></a>Finite State Machines</h3>
+<!--l. 367--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.6.1 </span> <a
+ id="x67-10300012.6.1"></a>Description</h4>
+<!--l. 369--><p class="noindent" >Definition from <a
+href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
+</p><!--l. 371--><p class="noindent" >
+ </p><div class="quote">
+ <!--l. 372--><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. 374--><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. 377--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.6.2 </span> <a
+ id="x67-10400012.6.2"></a>Motivation</h4>
+<!--l. 379--><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. 381--><p class="noindent" >We distinguish flat and hierarchical state machines.
+</p><!--l. 383--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">12.6.3 </span> <a
+ id="x67-10500012.6.3"></a>Notation</h4>
+
+
+<!--l. 385--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x67-10600012.6.3"></a>Flat Finite State Machine</h5>
+<!--l. 387--><p class="noindent" >The simpler flat finite state machines are composed of the following elements:
+</p>
+<div class="table">
+
+
+<!--l. 390--><p class="noindent" ><a
+ id="x67-1060016"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.6: </span><span
+class="content">Title</span></div><!--tex4ht:label?: x67-1060016 -->
+<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:center;" id="TBL-12-1-1"
+class="td11"> <span
+class="ecbx-1000">Description </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-3"
+class="td11"> <span
+class="ecbx-1000">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-12-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-1"
+class="td11"> State </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:center;" id="TBL-12-2-3"
+class="td11"> <img
+src="images/040-StateTextual.jpg" alt="PIC"
+ /> </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:center;" id="TBL-12-3-1"
+class="td11"> InitialPoint </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:center;" id="TBL-12-3-3"
+class="td11"> <span
+class="ecti-1000">implicit</span></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:center;" id="TBL-12-4-1"
+class="td11"> TransitionPoint </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:center;" id="TBL-12-4-3"
+class="td11"> <img
+src="images/040-TransitionPointTextual.jpg" alt="PIC"
+ /> </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:center;" id="TBL-12-5-1"
+class="td11"> ChoicePoint </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:center;" id="TBL-12-5-3"
+class="td11"> <img
+src="images/040-ChoicePointTextual.jpg" alt="PIC"
+ /> </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:center;" id="TBL-12-6-1"
+class="td11"> Initial Transition </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:center;" id="TBL-12-6-3"
+class="td11"> <img
+src="images/040-InitialTransitionTextual.jpg" alt="PIC"
+ /> </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:center;" id="TBL-12-7-1"
+class="td11"> Triggered Transition </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:center;" id="TBL-12-7-3"
+class="td11"> <img
+src="images/040-TriggeredTransitionTextual.jpg" alt="PIC"
+ /> </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:center;" id="TBL-12-8-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h5 class="subsubsectionHead"><a
+ id="x67-10700012.6.3"></a>Hierarchical Finite State Machine</h5>
+<!--l. 443--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few
+modeling elements are added to the set listed above:
+</p>
+<div class="table">
+
+
+<!--l. 447--><p class="noindent" ><a
+ id="x67-1070017"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;12.7: </span><span
+class="content">Title</span></div><!--tex4ht:label?: x67-1070017 -->
+<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:baseline;" id="TBL-13-1-1"
+class="td11"> <!--l. 450--><p class="noindent" ><span
+class="ecbx-1000">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-2"
+class="td11"> <span
+class="ecbx-1000">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-3"
+class="td11"> <span
+class="ecbx-1000">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-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-2-1"
+class="td11"> <!--l. 451--><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:center;" id="TBL-13-2-3"
+class="td11"> <!--tex4ht:inline--><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:center;" id="TBL-15-1-1"
+class="td00">Sub state machine</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-15-2-1"
+class="td00"> <img
+src="images/040-StateWithSubFSMTextual.jpg" alt="PIC"
+ /></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-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-3-1"
+class="td11"> <!--l. 452--><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:center;" id="TBL-13-3-3"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-17" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-17-1g"><col
+id="TBL-17-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-17-1-1"
+class="td00"> </td></tr><tr
+ style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-17-2-1"
+class="td00"><img
+src="images/040-EntryPointTextual.jpg" alt="PIC"
+ /></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-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-4-1"
+class="td11"> <!--l. 453--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
+class="td11"> </td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-3"
+class="td11"> <img
+src="images/040-ExitPointTextual.jpg" alt="PIC"
+ /> </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:baseline;" id="TBL-13-5-1"
+class="td11"> </td></tr></table>
+</div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h4 class="subsectionHead"><span class="titlemark">12.6.4 </span> <a
+ id="x67-10800012.6.4"></a>Examples</h4>
+<!--l. 492--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x67-10900012.6.4"></a>Example of a flat finite state machine:</h5>
+<!--l. 495--><p class="noindent" ><img
+src="images/040-FlatFSM.jpg" alt="PIC"
+ />
+</p><!--l. 497--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x67-11000012.6.4"></a>Example of a hierarchical finite state machine:</h5>
+<!--l. 499--><p class="noindent" >Top level
+</p><!--l. 502--><p class="noindent" ><img
+src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
+ />
+</p><!--l. 504--><p class="noindent" >Sub state machine of Initializing
+</p><!--l. 507--><p class="noindent" ><img
+src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
/>
-</p><!--l. 49--><p class="noindent" >The physical system is composed of @Node@ references where each @Node@ is
-defined as a class referencing a @RuntimeClass@ and defining @Threads@.
-</p><!--l. 51--><p class="noindent" ><img
-src="images/080-phys.jpg" alt="PIC"
+</p><!--l. 509--><p class="noindent" >Sub state machine of Running
+</p><!--l. 512--><p class="noindent" ><img
+src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
/>
-
-
-
+
+
+
+
+
+
</p>
-<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse54.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch13.html" >next</a>] [<a
href="etrice-docse52.html" >prev</a>] [<a
href="etrice-docse52.html#tailetrice-docse52.html" >prev-tail</a>] [<a
href="etrice-docse53.html" >front</a>] [<a
-href="etrice-docch15.html#etrice-docse53.html" >up</a>] </p></div>
-<!--l. 54--><p class="noindent" ><a
- id="tailetrice-docse53.html"></a> </p>
+href="etrice-docch12.html#etrice-docse53.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse53.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse54.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse54.html
index 8e12c7004..383c464d4 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse54.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse54.html
@@ -4,50 +4,52 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>The Mapping Model</title>
+<head><title>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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch16.html" >next</a>] [<a
-href="etrice-docse53.html" >prev</a>] [<a
-href="etrice-docse53.html#tailetrice-docse53.html" >prev-tail</a>] [<a
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse55.html" >next</a>] [<a
+href="etrice-docch13.html" >prev</a>] [<a
+href="etrice-docch13.html#tailetrice-docch13.html" >prev-tail</a>] [<a
href="#tailetrice-docse54.html">tail</a>] [<a
-href="etrice-docch15.html#etrice-docse54.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">15.4 </span> <a
- id="x71-12300015.4"></a>The Mapping Model</h3>
-<!--l. 56--><p class="noindent" >The last model finally combines all this information by mapping logical to physical
-entities.
-</p><!--l. 58--><p class="noindent" ><img
-src="images/080-map.jpg" alt="PIC"
- />
-</p><!--l. 61--><p class="noindent" >The result of the mapping is also depicted in above tree diagram 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="ecti-1000">node </span>: <span
-class="ecti-1000">thread</span>).
-
-
-
-
-
-
-
-
-
+href="etrice-docch13.html#etrice-docse54.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.1 </span> <a
+ id="x69-11200013.1"></a>Overview</h3>
+<!--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. 7--><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. 9--><p class="noindent" >This chapter will answer the following questions </p>
+ <ul class="itemize1">
+ <li class="itemize"><a
+href="etrice-docse55.html#x70-11300013.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="etrice-docse56.html#x71-11400013.3">&#8221;What are layout options?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="etrice-docse57.html#x72-11500013.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
+<!--l. 16--><p class="noindent" >Moreover, some <a
+href="etrice-docse58.html#x73-12000013.5">&#8221;special layout options&#8221;</a> will also be discussed.
+
+
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch16.html" >next</a>] [<a
-href="etrice-docse53.html" >prev</a>] [<a
-href="etrice-docse53.html#tailetrice-docse53.html" >prev-tail</a>] [<a
+<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse55.html" >next</a>] [<a
+href="etrice-docch13.html" >prev</a>] [<a
+href="etrice-docch13.html#tailetrice-docch13.html" >prev-tail</a>] [<a
href="etrice-docse54.html" >front</a>] [<a
-href="etrice-docch15.html#etrice-docse54.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch13.html#etrice-docse54.html" >up</a>] </p></div>
+<!--l. 18--><p class="noindent" ><a
id="tailetrice-docse54.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse55.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse55.html
index 64c450e34..1a54f392a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse55.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse55.html
@@ -4,135 +4,42 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Architecture</title>
+<head><title>Performing Automatic Layout</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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse56.html" >next</a>] [<a
-href="etrice-docch16.html" >prev</a>] [<a
-href="etrice-docch16.html#tailetrice-docch16.html" >prev-tail</a>] [<a
+href="etrice-docse54.html" >prev</a>] [<a
+href="etrice-docse54.html#tailetrice-docse54.html" >prev-tail</a>] [<a
href="#tailetrice-docse55.html">tail</a>] [<a
-href="etrice-docch16.html#etrice-docse55.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">16.1 </span> <a
- id="x73-12500016.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. 10--><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">16.1.1 </span> <a
- id="x73-12600016.1.1"></a>Editor and Generator Components</h4>
+href="etrice-docch13.html#etrice-docse55.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.2 </span> <a
+ id="x70-11300013.2"></a>Performing Automatic Layout</h3>
+<!--l. 21--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
+diagram.
+</p><!--l. 23--><p class="noindent" >This command is available in </p>
<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-in <span
-class="ecti-1000">org.eclipse.etrice.core.room</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-in <span
-class="ecti-1000">org.eclipse.etrice.core.config</span>. Config is a language designed
- for the data configuration of model elements. E.g. class and instance
- attributes can be specified.
- </li>
- <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models.
- It consists of the plugin <span
-class="ecti-1000">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="ecti-1000">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="ecti-1000">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></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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">org.eclipse.etrice.ui.behavior</span>.</li></ul>
- </li></ul>
+ <li class="itemize">The context menu of the diagrams
</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="ecti-1000">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="ecti-1000">org.eclipse.etrice.generator.c</span>.
- </li>
- <li class="itemize">generator.java is the generator for the Java target language. It
- consists of the plug-in <span
-class="ecti-1000">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="ecti-1000">org.eclipse.etrice.generator.doc</span>.</li></ul>
- </li></ul>
-<!--l. 50--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.1.2 </span> <a
- id="x73-12700016.1.2"></a>Runtimes</h4>
-<!--l. 52--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The runtimes are libraries
-written in the target language against which the generated code is compiled.
-</p><!--l. 54--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.1.3 </span> <a
- id="x73-12800016.1.3"></a>Unit Tests</h4>
-<!--l. 56--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
-
-
-
+ <li class="itemize">Using the <span
+class="ecti-1000">Ctrl+R L </span>shortcut.</li></ul>
+<!--l. 29--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
+
+
</p>
-<!--l. 58--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 31--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse56.html" >next</a>] [<a
-href="etrice-docch16.html" >prev</a>] [<a
-href="etrice-docch16.html#tailetrice-docch16.html" >prev-tail</a>] [<a
+href="etrice-docse54.html" >prev</a>] [<a
+href="etrice-docse54.html#tailetrice-docse54.html" >prev-tail</a>] [<a
href="etrice-docse55.html" >front</a>] [<a
-href="etrice-docch16.html#etrice-docse55.html" >up</a>] </p></div>
-<!--l. 58--><p class="noindent" ><a
+href="etrice-docch13.html#etrice-docse55.html" >up</a>] </p></div>
+<!--l. 31--><p class="noindent" ><a
id="tailetrice-docse55.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse56.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse56.html
index 466849177..8c3d0dccc 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse56.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse56.html
@@ -4,440 +4,45 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Component Overview</title>
+<head><title>Layout Options</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-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 58--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 31--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse57.html" >next</a>] [<a
href="etrice-docse55.html" >prev</a>] [<a
href="etrice-docse55.html#tailetrice-docse55.html" >prev-tail</a>] [<a
href="#tailetrice-docse56.html">tail</a>] [<a
-href="etrice-docch16.html#etrice-docse56.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">16.2 </span> <a
- id="x74-12900016.2"></a>Component Overview</h3>
-<!--l. 60--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.2.1 </span> <a
- id="x74-13000016.2.1"></a>Room Language Overview</h4>
-<!--l. 62--><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. 64--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13100016.2.1"></a>Model Tweaks</h5>
-<!--l. 66--><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="ecti-1000">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
-which is written in the legacy Xtend language.
-</p><!--l. 69--><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. 71--><p class="nopar" > of the <span
-class="ectt-1000">Port </span>is set to 1
- </p></li>
- <li class="itemize">the operation <span
-class="ectt-1000">isReplicated </span>is added to the <span
-class="ectt-1000">Port</span>
- </li>
- <li class="itemize">the default <span
-class="ectt-1000">size </span>of the <span
-class="ectt-1000">ActorRef </span>is set to 1
- </li>
- <li class="itemize">an operation <span
-class="ectt-1000">getName </span>is add to the <span
-class="ectt-1000">State </span>class
- </li>
- <li class="itemize">an operation <span
-class="ectt-1000">getName </span>is add to the <span
-class="ectt-1000">StateGraphItem </span>class
- </li>
- <li class="itemize">an operation <span
-class="ectt-1000">getGeneralProtocol </span>is added to the <span
-class="ectt-1000">InterfaceItem</span></li></ul>
-<!--l. 79--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13200016.2.1"></a>Imports by URI Using Namespaces</h5>
-<!--l. 81--><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="ectt-1000">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="ectt-1000">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope
- provider which is aware of namespaces
- </li>
- <li class="itemize"><span
-class="ectt-1000">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="ectt-1000">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a
- navigatable hyper link</li></ul>
-
-
-
-<!--l. 89--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13300016.2.1"></a>Naming</h5>
-<!--l. 91--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The
-<span
-class="ectt-1000">RoomNameProvider </span>provides frequently used name strings, some of them are
-hierarchical like State paths. The <span
-class="ectt-1000">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. 95--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13400016.2.1"></a>Helpers</h5>
-<!--l. 97--><p class="noindent" >The <span
-class="ectt-1000">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="ectt-1000">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor
- class including inherited ones
- </li>
- <li class="itemize"><span
-class="ectt-1000">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited
- part of a transition&#8217;s action code
- </li>
- <li class="itemize"><span
-class="ectt-1000">getSignature(Operation) </span>- returns a string representing the operation
- signature suited for a label</li></ul>
-<!--l. 105--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13500016.2.1"></a>Validation</h5>
-<!--l. 107--><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. 109--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.2.2 </span> <a
- id="x74-13600016.2.2"></a>Config Language Overview</h4>
-
-
-
-<!--l. 111--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13700016.2.2"></a>Model Tweaks</h5>
-<!--l. 113--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ectt-1000">getActorClassConfigs</span>
- </li>
- <li class="itemize"><span
-class="ectt-1000">getActorInstanceConfigs</span>
- </li>
- <li class="itemize"><span
-class="ectt-1000">getProtocolClassConfigs</span>
- </li>
- <li class="itemize"><span
-class="ectt-1000">getSubSystemConfigs</span></li></ul>
-<!--l. 121--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13800016.2.2"></a>Imports by URI Using Namespaces</h5>
-<!--l. 123--><p class="noindent" >Imports are treated like in Room language, section <span
-class="ecti-1000">Imports by URI Using</span>
-<span
-class="ecti-1000">Namespaces</span>.
-</p><!--l. 125--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-13900016.2.2"></a>Util</h5>
-<!--l. 127--><p class="noindent" >A set of static utility methods can be found in the <span
-class="ectt-1000">ConfigUtil </span>class.
-</p><!--l. 129--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.2.3 </span> <a
- id="x74-14000016.2.3"></a>Aggregation Layer Overview</h4>
-<!--l. 131--><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. 134--><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. 136--><p class="nopar" >
-</p><!--l. 138--><p class="noindent" >method of the <span
-class="ectt-1000">GeneratorModelBuilder </span>class.
-</p><!--l. 140--><p class="noindent" >The <span
-class="ectt-1000">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="ectt-1000">SubSystem </span>with representations of each
- <span
-class="ectt-1000">ActorInstance </span>and <span
-class="ectt-1000">PortInstance</span>
- </li>
- <li class="itemize">for each <span
-class="ectt-1000">ActorClass </span>a corresponding <span
-class="ectt-1000">ExpandedActorClass </span>with an
- explicit state machine containing all inherited state graph items</li></ul>
-<!--l. 146--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-14100016.2.3"></a>The Instance Model</h5>
-<!--l. 148--><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. 150--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-14200016.2.3"></a>The Expanded Actor Class</h5>
-<!--l. 152--><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="ectt-1000">ExpandedActorClass </span>gives access to
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ectt-1000">getIncomingTransitions(StateGraphNode) </span>&#8211; the
- set of incoming transition of a <span
-class="ectt-1000">StateGraphNode </span>(<span
-class="ectt-1000">State</span>, <span
-class="ectt-1000">ChoicePoint </span>or
- <span
-class="ectt-1000">TransitionPoint</span>)
- </li>
- <li class="itemize"><span
-class="ectt-1000">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing
- transition of a <span
-class="ectt-1000">StateGraphNode</span>
-
-
-
- </li>
- <li class="itemize"><span
-class="ectt-1000">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
-class="ectt-1000">State</span>
- in the order they are evaluated</li></ul>
-<!--l. 160--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-14300016.2.3"></a>Transition Chains</h5>
-<!--l. 162--><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="ectt-1000">TransitionChain </span>of a transition is
-retrieved by a call of <span
-class="ectt-1000">getChain(Transition) </span>of the <span
-class="ectt-1000">ExpandedActorClass</span>. The
-<span
-class="ectt-1000">TransitionChain </span>accepts an <span
-class="ectt-1000">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. 166--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">16.2.4 </span> <a
- id="x74-14400016.2.4"></a>Generator Overview</h4>
-<!--l. 168--><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. 170--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-14500016.2.4"></a>Base Classes and Interfaces</h5>
-<!--l. 172--><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. 175--><p class="noindent" >
-<span
-class="ectt-1000">ITranslationProvider </span>&#8212; this interface is used by the
-<span
-class="ectt-1000">DetailCodeTranslator </span>for the language dependent translation of e.g.
-port.message() notation in detail code</p></div>
- </li>
- <li class="itemize"><span
-class="ectt-1000">AbstractGenerator </span>&#8212; concrete language generators should derive from this
- base class
-
-
-
- </li>
- <li class="itemize">
- <div class="flushleft"
->
-<!--l. 177--><p class="noindent" >
-<span
-class="ectt-1000">DefaultTranslationProvider </span>&#8212; a stub implementation of
-<span
-class="ectt-1000">ITranslationProvider </span>from which clients may derive</p></div>
- </li>
- <li class="itemize"><span
-class="ectt-1000">Indexed </span>&#8212; provides an indexed iterable of a given iterable
- </li>
- <li class="itemize"><span
-class="ectt-1000">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. 182--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-14600016.2.4"></a>Generic Generator Parts</h5>
-<!--l. 184--><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="ectt-1000">ILanguageExtension</span>. This extension and other parts of the generator be configured
-using Google Guice dependency injection.
-</p>
-<!--l. 186--><p class="noindent" ><span class="paragraphHead"><a
- id="x74-14700016.2.4"></a><span
-class="ecbx-1000">GenericActorClassGenerator</span></span>
-The <span
-class="ectt-1000">GenericActorClassGenerator </span>generates constants for the interface items of a
-actor. Those constants are used by the generated state machine.
-</p>
-<!--l. 190--><p class="noindent" ><span class="paragraphHead"><a
- id="x74-14800016.2.4"></a><span
-class="ecbx-1000">GenericProtocolClassGenerator</span></span>
-The <span
-class="ectt-1000">GenericProtocolClassGenerator </span>generates message ID constants for a
-protocol.
-</p>
-<!--l. 194--><p class="noindent" ><span class="paragraphHead"><a
- id="x74-14900016.2.4"></a><span
-class="ecbx-1000">GenericStateMachineGenerator</span></span>
-</p>
-
-
-
-<div class="flushleft"
->
-<!--l. 196--><p class="noindent" >
-The <span
-class="ectt-1000">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="ectt-1000">exitTo </span>method
- </li>
- <li class="itemize">the <span
-class="ectt-1000">executeTransitionChain </span>method
- </li>
- <li class="itemize">the <span
-class="ectt-1000">enterHistory </span>method
- </li>
- <li class="itemize">the <span
-class="ectt-1000">executeInitTransition </span>method
- </li>
- <li class="itemize">the <span
-class="ectt-1000">receiveEvent </span>method</li></ul>
-<!--l. 210--><p class="noindent" >The state machine works as follows. The main entry method is the <br
-class="newline" /><span
-class="ectt-1000">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="ectt-1000">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="ectt-1000">executeTransitionChain </span>method. Finally the history of the
-state where the chain ends is entered and all entry codes are executed by
-<span
-class="ectt-1000">enterHistory</span>.
-</p><!--l. 212--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-15000016.2.4"></a>The Java Generator</h5>
-<!--l. 214--><p class="noindent" >The Java generator employs the generic parts of the generator. The
-<span
-class="ectt-1000">JavaTranslationProvider </span>is very simple and only handles the case of sending a
-message from a distinct replicated port: <span
-class="ectt-1000">replPort[2].message()</span>. Other cases are
-handled by the base class by returning the original text.
-
-
-
-</p><!--l. 216--><p class="noindent" >The <span
-class="ectt-1000">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it
-is pretty much straight forward.
-</p><!--l. 218--><p class="noindent" >The <span
-class="ectt-1000">ProtocolClassGen </span>generates a class for the protocol with nested static classes
-for regular and conjugated ports and similar for replicated ports.
-</p><!--l. 220--><p class="noindent" >The <span
-class="ectt-1000">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. 222--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-15100016.2.4"></a>The ANSI-C Generator</h5>
-<!--l. 224--><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="ectt-1000">self </span>in analogy to the implicit C++ <span
-class="ectt-1000">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. 228--><p class="noindent" >
-</p>
-<h5 class="subsubsectionHead"><a
- id="x74-15200016.2.4"></a>The Documentation Generator</h5>
-<!--l. 230--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be
-converted into PDF and many other formats.
-
-
-
-</p>
-<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch13.html#etrice-docse56.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.3 </span> <a
+ id="x71-11400013.3"></a>Layout Options</h3>
+<!--l. 34--><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. 36--><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="ecti-1000">Show Layout View </span>entry.
+</p><!--l. 38--><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 below:
+</p><!--l. 40--><p class="noindent" ><img
+src="images/043-LayoutOptionDescription.png" alt="PIC"
+ />
+
+
+</p>
+<!--l. 43--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse57.html" >next</a>] [<a
href="etrice-docse55.html" >prev</a>] [<a
href="etrice-docse55.html#tailetrice-docse55.html" >prev-tail</a>] [<a
href="etrice-docse56.html" >front</a>] [<a
-href="etrice-docch16.html#etrice-docse56.html" >up</a>] </p></div>
-<!--l. 42--><p class="noindent" ><a
- id="tailetrice-docse56.html"></a> </p>
+href="etrice-docch13.html#etrice-docse56.html" >up</a>] </p></div>
+<!--l. 43--><p class="noindent" ><a
+ id="tailetrice-docse56.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse57.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse57.html
new file mode 100644
index 000000000..7fa133db9
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse57.html
@@ -0,0 +1,173 @@
+<?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>Configuring Layout Options</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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 43--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse58.html" >next</a>] [<a
+href="etrice-docse56.html" >prev</a>] [<a
+href="etrice-docse56.html#tailetrice-docse56.html" >prev-tail</a>] [<a
+href="#tailetrice-docse57.html">tail</a>] [<a
+href="etrice-docch13.html#etrice-docse57.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.4 </span> <a
+ id="x72-11500013.4"></a>Configuring Layout Options</h3>
+<!--l. 46--><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 *default* 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. 48--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">13.4.1 </span> <a
+ id="x72-11600013.4.1"></a>The Layout View</h4>
+<!--l. 51--><p class="noindent" ><img
+src="images/043-LayoutView.png" alt="PIC"
+ />
+</p><!--l. 54--><p class="noindent" >The Layout view 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 (*.structure file / *.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. 56--><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="ecti-1000">Show Advanced Properties </span>button
+in the view toolbar is activated. The group types can be hidden using the Show Categories
+button.
+</p><!--l. 58--><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. 60--><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. 62--><p class="noindent" >Selecting Restore Default Value in the context menu or the view toolbar 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><!--l. 64--><p class="noindent" ><img
+src="images/043-ContextMenu.png" alt="PIC"
+ />
+</p><!--l. 67--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
+<span
+class="ecbx-1000">default </span>value: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ecti-1000">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="ecti-1000">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="ecti-1000">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. 76--><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. 78--><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>
+<!--l. 84--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">13.4.2 </span> <a
+ id="x72-11700013.4.2"></a>Preference Page</h4>
+<!--l. 87--><p class="noindent" >The user-defined *default* 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="ecti-1000">Layout</span>: for general preferences regarding layout
+ </li>
+ <li class="itemize"><span
+class="ecti-1000">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
+ </li>
+ <li class="itemize"><span
+class="ecti-1000">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
+<!--l. 94--><p class="noindent" >These preference pages can be accessed via <span
+class="ecti-1000">Windows &#x003E; Preferences &#x003E; eTrice &#x003E; Layout</span>.
+</p><!--l. 96--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
+class="ecti-1000">KIELER &#x003E; Layout </span>preference page
+provided by the KIELER. Relevant entries in the <span
+class="ecti-1000">KIELER &#x003E; Layout </span>page are shown in the above
+preference pages.
+</p><!--l. 98--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x72-11800013.4.2"></a><span
+class="ecti-1000">Layout </span>Preference Page</h5>
+<!--l. 101--><p class="noindent" >The <span
+class="ecti-1000">Layout </span>preference page is meant to configure general options regarding the layout.
+</p><!--l. 103--><p class="noindent" >If <span
+class="ecti-1000">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. 105--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x72-11900013.4.2"></a><span
+class="ecti-1000">Behavior </span>and <span
+class="ecti-1000">Structure </span>Preference Page</h5>
+<!--l. 108--><p class="noindent" >The <span
+class="ecti-1000">Behavior </span>and <span
+class="ecti-1000">Structure </span>sub-preference pages help in setting up the default values of layout options
+in behavior and structure diagrams respectively.
+</p><!--l. 110--><p class="noindent" >The <span
+class="ecti-1000">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. 112--><p class="noindent" >Creating a new entry requires the selection of the type of related element 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><!--l. 114--><p class="noindent" ><img
+src="images/043-PreferencePage.png" alt="PIC"
+ />
+</p><!--l. 117--><p class="noindent" >Note that the <span
+class="ecti-1000">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="ecti-1000">Structure </span>preference page.
+
+
+</p>
+<!--l. 119--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse58.html" >next</a>] [<a
+href="etrice-docse56.html" >prev</a>] [<a
+href="etrice-docse56.html#tailetrice-docse56.html" >prev-tail</a>] [<a
+href="etrice-docse57.html" >front</a>] [<a
+href="etrice-docch13.html#etrice-docse57.html" >up</a>] </p></div>
+<!--l. 119--><p class="noindent" ><a
+ id="tailetrice-docse57.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse58.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse58.html
new file mode 100644
index 000000000..8ff881806
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse58.html
@@ -0,0 +1,80 @@
+<?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>Special Layout Options</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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 119--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse59.html" >next</a>] [<a
+href="etrice-docse57.html" >prev</a>] [<a
+href="etrice-docse57.html#tailetrice-docse57.html" >prev-tail</a>] [<a
+href="#tailetrice-docse58.html">tail</a>] [<a
+href="etrice-docch13.html#etrice-docse58.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.5 </span> <a
+ id="x73-12000013.5"></a>Special Layout Options</h3>
+<!--l. 122--><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. 124--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">13.5.1 </span> <a
+ id="x73-12100013.5.1"></a>Layout Algorithm</h4>
+<!--l. 127--><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. 129--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
+class="ecti-1000">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="ecti-1000">Graphviz Dot </span>algorithm whereas for the structure
+diagrams we have used the <span
+class="ecti-1000">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. 131--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">13.5.2 </span> <a
+ id="x73-12200013.5.2"></a>Diagram Type</h4>
+<!--l. 134--><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
+de.cau.cs.kieler.diagramType. Thus, these help in
+</p><!--l. 136--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ecti-1000">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="ecti-1000">eTrice Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice
+ Behavior Diagrams.
+ </li>
+ <li class="itemize"><span
+class="ecti-1000">eTrice Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice
+ Structurer Diagrams.</li></ul>
+<!--l. 142--><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. 144--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse59.html" >next</a>] [<a
+href="etrice-docse57.html" >prev</a>] [<a
+href="etrice-docse57.html#tailetrice-docse57.html" >prev-tail</a>] [<a
+href="etrice-docse58.html" >front</a>] [<a
+href="etrice-docch13.html#etrice-docse58.html" >up</a>] </p></div>
+<!--l. 144--><p class="noindent" ><a
+ id="tailetrice-docse58.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse59.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse59.html
new file mode 100644
index 000000000..5f6ee7cb6
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse59.html
@@ -0,0 +1,46 @@
+<?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>Further References</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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 144--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch14.html" >next</a>] [<a
+href="etrice-docse58.html" >prev</a>] [<a
+href="etrice-docse58.html#tailetrice-docse58.html" >prev-tail</a>] [<a
+href="#tailetrice-docse59.html">tail</a>] [<a
+href="etrice-docch13.html#etrice-docse59.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">13.6 </span> <a
+ id="x74-12300013.6"></a>Further References</h3>
+<!--l. 147--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML
+wiki":http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078 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
+at the "KIML wiki":http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078
+.
+
+
+
+
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch14.html" >next</a>] [<a
+href="etrice-docse58.html" >prev</a>] [<a
+href="etrice-docse58.html#tailetrice-docse58.html" >prev-tail</a>] [<a
+href="etrice-docse59.html" >front</a>] [<a
+href="etrice-docch13.html#etrice-docse59.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse59.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 ab82acc51..65be77e7b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse6.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,9 +22,9 @@ href="#tailetrice-docse6.html">tail</a>] [<a
href="etrice-docch5.html#etrice-docse6.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
id="x13-270005.1"></a>Scope</h3>
-<!--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:
+<!--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. 7--><p class="noindent" >
</p><ol class="enumerate1" >
<li
@@ -42,12 +42,9 @@ perform the following steps:
<li
class="enumerate" id="x13-27010x5">open the message sequence chart</li></ol>
<!--l. 15--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ecti-1000">Setting up the</span>
-<span
-class="ecti-1000">workspace</span>.
-
-
-
+class="ecti-1000">Setting up the workspace</span>.
+
+
</p>
<!--l. 17--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse7.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse60.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse60.html
new file mode 100644
index 000000000..cc07dd79f
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse60.html
@@ -0,0 +1,51 @@
+<?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>Codegenerators</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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch15.html" >next</a>] [<a
+href="etrice-docch14.html" >prev</a>] [<a
+href="etrice-docch14.html#tailetrice-docch14.html" >prev-tail</a>] [<a
+href="#tailetrice-docse60.html">tail</a>] [<a
+href="etrice-docch14.html#etrice-docse60.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">14.1 </span> <a
+ id="x76-12500014.1"></a>Codegenerators</h3>
+<!--l. 5--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">14.1.1 </span> <a
+ id="x76-12600014.1.1"></a>Java Generator</h4>
+<!--l. 7--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">14.1.2 </span> <a
+ id="x76-12700014.1.2"></a>C++ Generator</h4>
+<!--l. 9--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">14.1.3 </span> <a
+ id="x76-12800014.1.3"></a>C Generator</h4>
+
+
+
+
+
+
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch15.html" >next</a>] [<a
+href="etrice-docch14.html" >prev</a>] [<a
+href="etrice-docch14.html#tailetrice-docch14.html" >prev-tail</a>] [<a
+href="etrice-docse60.html" >front</a>] [<a
+href="etrice-docch14.html#etrice-docse60.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse60.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse61.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse61.html
new file mode 100644
index 000000000..9b97e8a66
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse61.html
@@ -0,0 +1,60 @@
+<?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>The ROOM 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse62.html" >next</a>] [<a
+href="etrice-docch17.html" >prev</a>] [<a
+href="etrice-docch17.html#tailetrice-docch17.html" >prev-tail</a>] [<a
+href="#tailetrice-docse61.html">tail</a>] [<a
+href="etrice-docch17.html#etrice-docse61.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">17.1 </span> <a
+ id="x80-13200017.1"></a>The ROOM Model</h3>
+<!--l. 21--><p class="noindent" >The ROOM model defines classes for Data, Protocols, Actors, SubSystems and LogicalSystems.
+Thereby the three latter form a hierarchy. The @LogicalSystem@ is the top level element of
+the structure. It contains references to <span
+class="ectt-1000">SubSystemClass </span>elements. The <span
+class="ectt-1000">SubSystemClass </span>in
+turn contain references to <span
+class="ectt-1000">ActorClass </span>elements which again contain (recursively) references
+to <span
+class="ectt-1000">ActorClass </span>elements. The complete structural hierarchy implies a tree which has the
+<span
+class="ectt-1000">LogicalSystem </span>as root and where each reference stands for a new node with possibly further
+branches.
+</p><!--l. 24--><p class="noindent" >Let&#8217;s consider a simple example. It doesn&#8217;t implement any meaningful and completely omits behavioral
+and other aspects.
+</p><!--l. 26--><p class="noindent" ><img
+src="images/080-room.jpg" alt="PIC"
+ />
+</p><!--l. 29--><p class="noindent" >When a <span
+class="ectt-1000">LogicalSstem </span>is instantiated then recursively all of the contained referenced elements are
+instantiated as instances of the corresponding class. Thus the instance tree of above example looks like
+this (the third line in the white boxes shows some mapping information, s.b.):
+</p><!--l. 31--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
+ />
+
+
+</p>
+<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse62.html" >next</a>] [<a
+href="etrice-docch17.html" >prev</a>] [<a
+href="etrice-docch17.html#tailetrice-docch17.html" >prev-tail</a>] [<a
+href="etrice-docse61.html" >front</a>] [<a
+href="etrice-docch17.html#etrice-docse61.html" >up</a>] </p></div>
+<!--l. 35--><p class="noindent" ><a
+ id="tailetrice-docse61.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse62.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse62.html
new file mode 100644
index 000000000..b9a255bdb
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse62.html
@@ -0,0 +1,42 @@
+<?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>The Config 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse63.html" >next</a>] [<a
+href="etrice-docse61.html" >prev</a>] [<a
+href="etrice-docse61.html#tailetrice-docse61.html" >prev-tail</a>] [<a
+href="#tailetrice-docse62.html">tail</a>] [<a
+href="etrice-docch17.html#etrice-docse62.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">17.2 </span> <a
+ id="x81-13300017.2"></a>The Config Model</h3>
+<!--l. 37--><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. 39--><p class="noindent" ><img
+src="images/080-config.jpg" alt="PIC"
+ />
+
+
+</p>
+<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse63.html" >next</a>] [<a
+href="etrice-docse61.html" >prev</a>] [<a
+href="etrice-docse61.html#tailetrice-docse61.html" >prev-tail</a>] [<a
+href="etrice-docse62.html" >front</a>] [<a
+href="etrice-docch17.html#etrice-docse62.html" >up</a>] </p></div>
+<!--l. 42--><p class="noindent" ><a
+ id="tailetrice-docse62.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse63.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse63.html
new file mode 100644
index 000000000..dd08a02d8
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse63.html
@@ -0,0 +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>The Physical 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 42--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse64.html" >next</a>] [<a
+href="etrice-docse62.html" >prev</a>] [<a
+href="etrice-docse62.html#tailetrice-docse62.html" >prev-tail</a>] [<a
+href="#tailetrice-docse63.html">tail</a>] [<a
+href="etrice-docch17.html#etrice-docse63.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">17.3 </span> <a
+ id="x82-13400017.3"></a>The Physical Model</h3>
+<!--l. 44--><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 defines the overall execution model of the
+platform.
+</p><!--l. 46--><p class="noindent" ><img
+src="images/080-runtimes.jpg" alt="PIC"
+ />
+</p><!--l. 49--><p class="noindent" >The physical system is composed of @Node@ references where each @Node@ is defined as a class
+referencing a @RuntimeClass@ and defining @Threads@.
+</p><!--l. 51--><p class="noindent" ><img
+src="images/080-phys.jpg" alt="PIC"
+ />
+
+
+</p>
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse64.html" >next</a>] [<a
+href="etrice-docse62.html" >prev</a>] [<a
+href="etrice-docse62.html#tailetrice-docse62.html" >prev-tail</a>] [<a
+href="etrice-docse63.html" >front</a>] [<a
+href="etrice-docch17.html#etrice-docse63.html" >up</a>] </p></div>
+<!--l. 54--><p class="noindent" ><a
+ id="tailetrice-docse63.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse64.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse64.html
new file mode 100644
index 000000000..66dc64a3a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse64.html
@@ -0,0 +1,49 @@
+<?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>The Mapping 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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 54--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch18.html" >next</a>] [<a
+href="etrice-docse63.html" >prev</a>] [<a
+href="etrice-docse63.html#tailetrice-docse63.html" >prev-tail</a>] [<a
+href="#tailetrice-docse64.html">tail</a>] [<a
+href="etrice-docch17.html#etrice-docse64.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">17.4 </span> <a
+ id="x83-13500017.4"></a>The Mapping Model</h3>
+<!--l. 56--><p class="noindent" >The last model finally combines all this information by mapping logical to physical entities.
+</p><!--l. 58--><p class="noindent" ><img
+src="images/080-map.jpg" alt="PIC"
+ />
+</p><!--l. 61--><p class="noindent" >The result of the mapping is also depicted in above tree diagram 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="ecti-1000">node </span>:
+<span
+class="ecti-1000">thread</span>).
+
+
+
+
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch18.html" >next</a>] [<a
+href="etrice-docse63.html" >prev</a>] [<a
+href="etrice-docse63.html#tailetrice-docse63.html" >prev-tail</a>] [<a
+href="etrice-docse64.html" >front</a>] [<a
+href="etrice-docch17.html#etrice-docse64.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
+ id="tailetrice-docse64.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse65.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse65.html
new file mode 100644
index 000000000..9af957636
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse65.html
@@ -0,0 +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>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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse66.html" >next</a>] [<a
+href="etrice-docch18.html" >prev</a>] [<a
+href="etrice-docch18.html#tailetrice-docch18.html" >prev-tail</a>] [<a
+href="#tailetrice-docse65.html">tail</a>] [<a
+href="etrice-docch18.html#etrice-docse65.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">18.1 </span> <a
+ id="x85-13700018.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. 10--><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">18.1.1 </span> <a
+ id="x85-13800018.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-in
+ <span
+class="ecti-1000">org.eclipse.etrice.core.room</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-in
+ <span
+class="ecti-1000">org.eclipse.etrice.core.config</span>. Config is a language designed for the data configuration of
+ model elements. E.g. class and instance attributes can be specified.
+ </li>
+ <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of
+ the plugin <span
+class="ecti-1000">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="ecti-1000">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="ecti-1000">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></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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">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="ecti-1000">org.eclipse.etrice.generator.c</span>.
+ </li>
+ <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
+ <span
+class="ecti-1000">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="ecti-1000">org.eclipse.etrice.generator.doc</span>.</li></ul>
+ </li></ul>
+<!--l. 50--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.1.2 </span> <a
+ id="x85-13900018.1.2"></a>Runtimes</h4>
+<!--l. 52--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The runtimes are libraries written in the target
+language against which the generated code is compiled.
+
+
+</p><!--l. 54--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.1.3 </span> <a
+ id="x85-14000018.1.3"></a>Unit Tests</h4>
+<!--l. 56--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
+
+
+</p>
+<!--l. 58--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse66.html" >next</a>] [<a
+href="etrice-docch18.html" >prev</a>] [<a
+href="etrice-docch18.html#tailetrice-docch18.html" >prev-tail</a>] [<a
+href="etrice-docse65.html" >front</a>] [<a
+href="etrice-docch18.html#etrice-docse65.html" >up</a>] </p></div>
+<!--l. 58--><p class="noindent" ><a
+ id="tailetrice-docse65.html"></a> </p>
+</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse66.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse66.html
new file mode 100644
index 000000000..36dd66119
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse66.html
@@ -0,0 +1,413 @@
+<?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-03-26 21:41:00" />
+<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
+</head><body
+>
+<!--l. 58--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse65.html" >prev</a>] [<a
+href="etrice-docse65.html#tailetrice-docse65.html" >prev-tail</a>] [<a
+href="#tailetrice-docse66.html">tail</a>] [<a
+href="etrice-docch18.html#etrice-docse66.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">18.2 </span> <a
+ id="x86-14100018.2"></a>Component Overview</h3>
+<!--l. 60--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.2.1 </span> <a
+ id="x86-14200018.2.1"></a>Room Language Overview</h4>
+<!--l. 62--><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. 64--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14300018.2.1"></a>Model Tweaks</h5>
+<!--l. 66--><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="ecti-1000">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
+which is written in the legacy Xtend language.
+</p><!--l. 69--><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-22">
+ multiplicity
+</div>
+ <!--l. 71--><p class="nopar" > of the <span
+class="ectt-1000">Port </span>is set to 1
+ </p></li>
+ <li class="itemize">the operation <span
+class="ectt-1000">isReplicated </span>is added to the <span
+class="ectt-1000">Port</span>
+ </li>
+ <li class="itemize">the default <span
+class="ectt-1000">size </span>of the <span
+class="ectt-1000">ActorRef </span>is set to 1
+ </li>
+ <li class="itemize">an operation <span
+class="ectt-1000">getName </span>is add to the <span
+class="ectt-1000">State </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ectt-1000">getName </span>is add to the <span
+class="ectt-1000">StateGraphItem </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ectt-1000">getGeneralProtocol </span>is added to the <span
+class="ectt-1000">InterfaceItem</span></li></ul>
+<!--l. 79--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14400018.2.1"></a>Imports by URI Using Namespaces</h5>
+<!--l. 81--><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="ectt-1000">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="ectt-1000">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
+ aware of namespaces
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">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="ectt-1000">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper
+ link</li></ul>
+<!--l. 89--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14500018.2.1"></a>Naming</h5>
+<!--l. 91--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
+class="ectt-1000">RoomNameProvider </span>provides
+frequently used name strings, some of them are hierarchical like State paths. The <span
+class="ectt-1000">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. 95--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14600018.2.1"></a>Helpers</h5>
+<!--l. 97--><p class="noindent" >The <span
+class="ectt-1000">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="ectt-1000">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
+ inherited ones
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a
+ transition&#8217;s action code
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getSignature(Operation) </span>- returns a string representing the operation signature suited for
+ a label</li></ul>
+<!--l. 105--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14700018.2.1"></a>Validation</h5>
+<!--l. 107--><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. 109--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.2.2 </span> <a
+ id="x86-14800018.2.2"></a>Config Language Overview</h4>
+<!--l. 111--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-14900018.2.2"></a>Model Tweaks</h5>
+<!--l. 113--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ectt-1000">getActorClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getActorInstanceConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getProtocolClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getSubSystemConfigs</span></li></ul>
+
+
+<!--l. 121--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15000018.2.2"></a>Imports by URI Using Namespaces</h5>
+<!--l. 123--><p class="noindent" >Imports are treated like in Room language, section <span
+class="ecti-1000">Imports by URI Using Namespaces</span>.
+</p><!--l. 125--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15100018.2.2"></a>Util</h5>
+<!--l. 127--><p class="noindent" >A set of static utility methods can be found in the <span
+class="ectt-1000">ConfigUtil </span>class.
+</p><!--l. 129--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.2.3 </span> <a
+ id="x86-15200018.2.3"></a>Aggregation Layer Overview</h4>
+<!--l. 131--><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. 134--><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-23">
+createGeneratorModel(List&#x003C;RoomModel&#x003E;,&#x00A0;boolean)
+</div>
+<!--l. 136--><p class="nopar" >
+</p><!--l. 138--><p class="noindent" >method of the <span
+class="ectt-1000">GeneratorModelBuilder </span>class.
+</p><!--l. 140--><p class="noindent" >The <span
+class="ectt-1000">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="ectt-1000">SubSystem </span>with representations of each <span
+class="ectt-1000">ActorInstance</span>
+ and <span
+class="ectt-1000">PortInstance</span>
+ </li>
+ <li class="itemize">for each <span
+class="ectt-1000">ActorClass </span>a corresponding <span
+class="ectt-1000">ExpandedActorClass </span>with an explicit state machine
+ containing all inherited state graph items</li></ul>
+<!--l. 146--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15300018.2.3"></a>The Instance Model</h5>
+<!--l. 148--><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. 150--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15400018.2.3"></a>The Expanded Actor Class</h5>
+<!--l. 152--><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="ectt-1000">ExpandedActorClass </span>gives access to
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ectt-1000">getIncomingTransitions(StateGraphNode) </span>&#8211; the set of incoming transition of a
+ <span
+class="ectt-1000">StateGraphNode </span>(<span
+class="ectt-1000">State</span>, <span
+class="ectt-1000">ChoicePoint </span>or <span
+class="ectt-1000">TransitionPoint</span>)
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing transition of a
+ <span
+class="ectt-1000">StateGraphNode</span>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
+class="ectt-1000">State </span>in the order they
+ are evaluated</li></ul>
+
+
+<!--l. 160--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15500018.2.3"></a>Transition Chains</h5>
+<!--l. 162--><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="ectt-1000">TransitionChain </span>of a
+transition is retrieved by a call of <span
+class="ectt-1000">getChain(Transition) </span>of the <span
+class="ectt-1000">ExpandedActorClass</span>. The
+<span
+class="ectt-1000">TransitionChain </span>accepts an <span
+class="ectt-1000">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. 166--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">18.2.4 </span> <a
+ id="x86-15600018.2.4"></a>Generator Overview</h4>
+<!--l. 168--><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. 170--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15700018.2.4"></a>Base Classes and Interfaces</h5>
+<!--l. 172--><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. 175--><p class="noindent" >
+<span
+class="ectt-1000">ITranslationProvider </span>&#8212; this interface is used by the <span
+class="ectt-1000">DetailCodeTranslator </span>for the language
+dependent translation of e.g. port.message() notation in detail code</p></div>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">AbstractGenerator </span>&#8212; concrete language generators should derive from this base class
+ </li>
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 177--><p class="noindent" >
+<span
+class="ectt-1000">DefaultTranslationProvider </span>&#8212; a stub implementation of <span
+class="ectt-1000">ITranslationProvider </span>from which
+clients may derive</p></div>
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">Indexed </span>&#8212; provides an indexed iterable of a given iterable
+ </li>
+ <li class="itemize"><span
+class="ectt-1000">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. 182--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-15800018.2.4"></a>Generic Generator Parts</h5>
+<!--l. 184--><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="ectt-1000">ILanguageExtension</span>. This
+extension and other parts of the generator be configured using Google Guice dependency
+injection.
+</p>
+<!--l. 186--><p class="noindent" ><span class="paragraphHead"><a
+ id="x86-15900018.2.4"></a><span
+class="ecbx-1000">GenericActorClassGenerator</span></span>
+The <span
+class="ectt-1000">GenericActorClassGenerator </span>generates constants for the interface items of a actor. Those
+constants are used by the generated state machine.
+</p>
+<!--l. 190--><p class="noindent" ><span class="paragraphHead"><a
+ id="x86-16000018.2.4"></a><span
+class="ecbx-1000">GenericProtocolClassGenerator</span></span>
+The <span
+class="ectt-1000">GenericProtocolClassGenerator </span>generates message ID constants for a protocol.
+</p>
+<!--l. 194--><p class="noindent" ><span class="paragraphHead"><a
+ id="x86-16100018.2.4"></a><span
+class="ecbx-1000">GenericStateMachineGenerator</span></span>
+</p>
+<div class="flushleft"
+>
+<!--l. 196--><p class="noindent" >
+The <span
+class="ectt-1000">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="ectt-1000">exitTo </span>method
+ </li>
+ <li class="itemize">the <span
+class="ectt-1000">executeTransitionChain </span>method
+ </li>
+ <li class="itemize">the <span
+class="ectt-1000">enterHistory </span>method
+
+
+ </li>
+ <li class="itemize">the <span
+class="ectt-1000">executeInitTransition </span>method
+ </li>
+ <li class="itemize">the <span
+class="ectt-1000">receiveEvent </span>method</li></ul>
+<!--l. 210--><p class="noindent" >The state machine works as follows. The main entry method is the <br
+class="newline" /><span
+class="ectt-1000">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="ectt-1000">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="ectt-1000">executeTransitionChain </span>method. Finally
+the history of the state where the chain ends is entered and all entry codes are executed by
+<span
+class="ectt-1000">enterHistory</span>.
+</p><!--l. 212--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-16200018.2.4"></a>The Java Generator</h5>
+<!--l. 214--><p class="noindent" >The Java generator employs the generic parts of the generator. The <span
+class="ectt-1000">JavaTranslationProvider </span>is
+very simple and only handles the case of sending a message from a distinct replicated port:
+<span
+class="ectt-1000">replPort[2].message()</span>. Other cases are handled by the base class by returning the original
+text.
+</p><!--l. 216--><p class="noindent" >The <span
+class="ectt-1000">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it is pretty much
+straight forward.
+</p><!--l. 218--><p class="noindent" >The <span
+class="ectt-1000">ProtocolClassGen </span>generates a class for the protocol with nested static classes for regular and
+conjugated ports and similar for replicated ports.
+</p><!--l. 220--><p class="noindent" >The <span
+class="ectt-1000">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. 222--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-16300018.2.4"></a>The ANSI-C Generator</h5>
+<!--l. 224--><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="ectt-1000">self </span>in analogy to the implicit C++
+<span
+class="ectt-1000">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. 228--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x86-16400018.2.4"></a>The Documentation Generator</h5>
+<!--l. 230--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be converted into PDF
+and many other formats.
+
+
+</p>
+<!--l. 44--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse65.html" >prev</a>] [<a
+href="etrice-docse65.html#tailetrice-docse65.html" >prev-tail</a>] [<a
+href="etrice-docse66.html" >front</a>] [<a
+href="etrice-docch18.html#etrice-docse66.html" >up</a>] </p></div>
+<!--l. 44--><p class="noindent" ><a
+ id="tailetrice-docse66.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 23c1b6c91..b94e49ff6 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse7.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,34 +22,34 @@ href="#tailetrice-docse7.html">tail</a>] [<a
href="etrice-docch5.html#etrice-docse7.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
id="x14-280005.2"></a>Create a new model from scratch</h3>
-<!--l. 19--><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="ecbx-1000">File-&#x003E;New-&#x003E;Project </span>and create a new eTrice
-project and name it <span
+<!--l. 19--><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="ecbx-1000">File-&#x003E;New-&#x003E;Project </span>and create a new eTrice project and name it
+<span
class="ecbx-1000">HelloWorld</span>.
</p><!--l. 21--><p class="noindent" ><img
src="images/015-HelloWorld10.png" alt="PIC"
/>
-</p><!--l. 24--><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. 24--><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. 26--><p class="noindent" ><img
src="images/015-HelloWorld11.png" alt="PIC"
/>
</p><!--l. 29--><p class="noindent" >Within the model directory the model file <span
-class="ecti-1000">HelloWorld.room </span>was created. Open the
+class="ecti-1000">HelloWorld.room </span>was created. Open the <span
+class="ecti-1000">HelloWorld.room </span>file
+and delete the contents of the file. Open the content assist with Ctrl+Space and select <span
+class="ecti-1000">model</span>
<span
-class="ecti-1000">HelloWorld.room </span>file and delete the contents of the file. Open the content assist with
-Ctrl+Space and select <span
-class="ecti-1000">model skeleton</span>.
+class="ecti-1000">skeleton</span>.
</p><!--l. 31--><p class="noindent" ><img
src="images/015-HelloWorld12.png" alt="PIC"
/>
-</p><!--l. 34--><p class="noindent" >Edit the template variables by typing the new names and jumping with Tab from
-name to name.
+</p><!--l. 34--><p class="noindent" >Edit the template variables by typing the new names and jumping with Tab from name to
+name.
</p><!--l. 36--><p class="noindent" >The resulting model code should look like this:
-
-
-
+
+
</p>
<div class="verbatim" id="verbatim-1">
RoomModel&#x00A0;HelloWorld&#x00A0;{
@@ -67,9 +67,9 @@ RoomModel&#x00A0;HelloWorld&#x00A0;{
&#x00A0;<br />}
</div>
<!--l. 52--><p class="nopar" >
-</p><!--l. 54--><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>
+</p><!--l. 54--><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="ecti-1000">LogicalSystem </span>(currently optional)
@@ -80,23 +80,21 @@ class="ecti-1000">SubSystemClass </span>(mandatory)
<li class="itemize">at least one <span
class="ecti-1000">ActorClass </span>(mandatory)</li></ul>
<!--l. 61--><p class="noindent" >The <span
-class="ecti-1000">LogicalSystem </span>represents the complete distributed system and contains at least
-one <span
-class="ecti-1000">SubSystemRef</span>. The <span
-class="ecti-1000">SubSystemClass </span>represents an address space and contains at
-least one <span
+class="ecti-1000">LogicalSystem </span>represents the complete distributed system and contains at least one <span
+class="ecti-1000">SubSystemRef</span>.
+The <span
+class="ecti-1000">SubSystemClass </span>represents an address space and contains at least one <span
class="ecti-1000">ActorRef</span>. The <span
-class="ecti-1000">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. 63--><p class="noindent" >The outline view of the textual ROOM editor shows the main modeling elements in
-an easy to navigate tree.
+class="ecti-1000">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. 63--><p class="noindent" >The outline view of the textual ROOM editor shows the main modeling elements in an easy to navigate
+tree.
</p><!--l. 65--><p class="noindent" ><img
src="images/015-HelloWorld02.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 69--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse8.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
index 6310c2e7a..c5ff023ef 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse8.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,29 +22,27 @@ href="#tailetrice-docse8.html">tail</a>] [<a
href="etrice-docch5.html#etrice-docse8.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.3 </span> <a
id="x15-290005.3"></a>Create a state machine</h3>
-<!--l. 71--><p class="noindent" >We will implement the Hello World code on the initial transition of the
+<!--l. 71--><p class="noindent" >We will implement the Hello World code on the initial transition of the <span
+class="ecti-1000">HelloWorldTop </span>actor. Therefore
+open the state machine editor by right clicking the <span
+class="ecti-1000">HelloWorldTop </span>actor in the outline view and select
<span
-class="ecti-1000">HelloWorldTop </span>actor. Therefore open the state machine editor by right clicking the
-<span
-class="ecti-1000">HelloWorldTop </span>actor in the outline view and select <span
class="ecti-1000">Edit Behavior</span>.
</p><!--l. 73--><p class="noindent" ><img
src="images/015-HelloWorld03.png" alt="PIC"
/>
</p><!--l. 76--><p class="noindent" >The state machine editor will be opened. Drag and drop an <span
-class="ecti-1000">Initial Point </span>from the
-tool box to the diagram into the top level state. Drag and drop a <span
-class="ecti-1000">State </span>from the tool
-box to the diagram. Confirm the dialogue with <span
+class="ecti-1000">Initial Point </span>from the tool box to the
+diagram into the top level state. Drag and drop a <span
+class="ecti-1000">State </span>from the tool box to the diagram. Confirm the
+dialogue with <span
class="ecti-1000">ok</span>. Select the <span
-class="ecti-1000">Transition </span>in the tool
-box and draw the transition from the <span
-class="ecti-1000">Initial Point </span>to the State. Open the
-transition dialogue by double clicking the transition arrow and fill in the action
+class="ecti-1000">Transition </span>in the tool box and draw the transition from the <span
+class="ecti-1000">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-2">
System.out.println("Hello&#x00A0;World&#x00A0;!");
@@ -54,14 +52,13 @@ System.out.println("Hello&#x00A0;World&#x00A0;!");
</p><!--l. 84--><p class="noindent" ><img
src="images/015-HelloWorld04.png" alt="PIC"
/>
-</p><!--l. 87--><p class="noindent" >Save the diagram and inspect the model file. Note that the textual representation
-was created after saving the diagram.
+</p><!--l. 87--><p class="noindent" >Save the diagram and inspect the model file. Note that the textual representation was created after saving
+the diagram.
</p><!--l. 89--><p class="noindent" ><img
src="images/015-HelloWorld05.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 93--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse9.html" >next</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
index 5c0d3b80f..cf28091da 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse9.html
@@ -10,7 +10,7 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-03-25 22:23:00" />
+<meta name="date" content="2013-03-26 21:41:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -22,33 +22,30 @@ href="#tailetrice-docse9.html">tail</a>] [<a
href="etrice-docch5.html#etrice-docse9.html" >up</a>] </p></div>
<h3 class="sectionHead"><span class="titlemark">5.4 </span> <a
id="x16-300005.4"></a>Build and run the model</h3>
-<!--l. 95--><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="ecti-1000">HelloWorld/ </span>right click <span
-class="ecbx-1000">gen_HelloWorld.launch </span>and
-run it as gen_HelloWorld. All model files in the model directory will be
+<!--l. 95--><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="ecti-1000">HelloWorld/ </span>right click
+<span
+class="ecbx-1000">gen_HelloWorld.launch </span>and run it as gen_HelloWorld. All model files in the model directory will be
generated.
</p><!--l. 97--><p class="noindent" ><img
src="images/015-HelloWorld06.png" alt="PIC"
/>
-</p><!--l. 100--><p class="noindent" >The code will be generated to the src-gen directory. The main function will be
-contained in <span
-class="ecbx-1000">SubSystem_HelloWorldRunner.java</span>. Select this file and run it as
-Java application.
+</p><!--l. 100--><p class="noindent" >The code will be generated to the src-gen directory. The main function will be contained in
+<span
+class="ecbx-1000">SubSystem_HelloWorldRunner.java</span>. Select this file and run it as Java application.
+
</p><!--l. 102--><p class="noindent" ><img
src="images/015-HelloWorld07.png" alt="PIC"
/>
-</p><!--l. 106--><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="ecbx-1000">quit </span>in the console
-window.
+</p><!--l. 106--><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="ecbx-1000">quit </span>in the console window.
</p><!--l. 108--><p class="noindent" ><img
src="images/015-HelloWorld08.png" alt="PIC"
/>
-
-
-
+
+
</p>
<!--l. 111--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse10.html" >next</a>] [<a

Back to the top