summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2013-06-13 18:21:58 (EDT)
committerThomas Schuetz2013-06-13 18:21:58 (EDT)
commitcbd2c20fe29b3b88fe14f2d41c23c1759810a515 (patch)
treea0d096aae8cf8e4ff09ab40bdd51eefc5af43bd8
parent701725a531a0e1f1546ffa40664db20a1e1a3a20 (diff)
downloadorg.eclipse.etrice-cbd2c20fe29b3b88fe14f2d41c23c1759810a515.zip
org.eclipse.etrice-cbd2c20fe29b3b88fe14f2d41c23c1759810a515.tar.gz
org.eclipse.etrice-cbd2c20fe29b3b88fe14f2d41c23c1759810a515.tar.bz2
[doc] first update of tutorials for 0.3
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/tmp/log/.gitignore2
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room38
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/012-working-with-tutorials.tex32
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace-for-java.tex (renamed from plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace.tex)36
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/015-getting-started.tex14
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.tex18
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.tex20
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/etrice-doc.tex2
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace01.pngbin83406 -> 65263 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace02.pngbin121532 -> 61483 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace03.pngbin81707 -> 40146 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace04.pngbin80867 -> 47876 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace05.pngbin96270 -> 118913 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace051.pngbin0 -> 17377 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace06.pngbin120492 -> 116843 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace07.pngbin99024 -> 24117 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-doc.html175
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch1.html2
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch10.html82
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch11.html58
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch12.html82
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch2.html72
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch3.html40
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch4.html112
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch5.html36
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch6.html36
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch7.html85
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch8.html49
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docch9.html63
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docli1.html352
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse1.html2
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse10.html73
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse11.html73
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse12.html84
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse13.html119
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse14.html102
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse15.html220
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse16.html71
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse17.html60
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse18.html53
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse19.html46
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse2.html6
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse20.html47
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse21.html109
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse22.html135
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse23.html64
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse24.html116
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse25.html68
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse26.html75
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse27.html307
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse28.html75
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse29.html438
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse3.html70
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse30.html88
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse31.html183
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse32.html366
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse33.html397
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse34.html1554
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse35.html158
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse36.html408
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse37.html363
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse38.html1513
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse39.html169
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse4.html145
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse40.html413
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse41.html88
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse42.html89
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse43.html66
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse44.html75
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse45.html258
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse46.html56
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse47.html524
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse48.html60
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse49.html476
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse5.html170
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse50.html341
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse51.html486
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse52.html1766
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse53.html481
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse54.html1832
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse55.html155
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse56.html413
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse6.html468
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse7.html401
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse8.html76
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice-docse9.html142
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace01.pngbin83406 -> 65263 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace02.pngbin121532 -> 61483 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace03.pngbin81707 -> 40146 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace04.pngbin80867 -> 47876 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace05.pngbin96270 -> 118913 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace051.pngbin0 -> 17377 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace06.pngbin120492 -> 116843 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/html/images/013-SetupWorkspace07.pngbin99024 -> 24117 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/manual/etrice.pdf12843
-rw-r--r--plugins/org.eclipse.etrice.doc/toc.xml136
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zipbin151491 -> 159287 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zipbin18428 -> 18444 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zipbin41068 -> 271303 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zipbin102674 -> 6208030 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zipbin48302 -> 48306 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zipbin41142 -> 41464 bytes
-rw-r--r--plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zipbin98395 -> 98555 bytes
103 files changed, 17917 insertions, 13061 deletions
diff --git a/examples/org.eclipse.etrice.tutorials.c/tmp/log/.gitignore b/examples/org.eclipse.etrice.tutorials.c/tmp/log/.gitignore
new file mode 100644
index 0000000..005717e
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/tmp/log/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
index fb025c9..7e8d208 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
+++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
@@ -1,22 +1,26 @@
RoomModel HelloWorld {
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem:SubSystem_HelloWorld
- }
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application:HelloWorldTop
- }
- ActorClass HelloWorldTop {
- Structure {}
- Behavior {
- StateMachine{
- Transition init: initial -> state0{
- action{
- "System.out.println(\"HelloWorld !\");"
- }
+
+ LogicalSystem System_HelloWorld {
+ SubSystemRef subsystem: SubSystem_HelloWorld
+ }
+
+ SubSystemClass SubSystem_HelloWorld {
+ ActorRef application: HelloWorldTop
+ LogicalThread defaultThread
+ }
+
+ ActorClass HelloWorldTop {
+ Structure { }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> state0 {
+ action {
+ "System.out.println(\"HelloWorld !\");"
}
- State state0
}
+ State state0
}
}
-
- } \ No newline at end of file
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.doc/doc/012-working-with-tutorials.tex b/plugins/org.eclipse.etrice.doc/doc/012-working-with-tutorials.tex
index fe2bbc6..0d46e55 100644
--- a/plugins/org.eclipse.etrice.doc/doc/012-working-with-tutorials.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/012-working-with-tutorials.tex
@@ -1,11 +1,27 @@
-\chapter{Working with the \eTrice{} Tutorials}
+\section{Working with the tutorials}
-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.
+The \eTrice{} tutorials will help you to learn and understand the \eTrice{} tool and concepts. \eTrice{} supports
+several target languages.
+The chapter setting up the workspace exists for each target language. Those are currently Java and C. The C++ generator
+and runtime are currently prototypes with no tutorials.
-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.
+The other tutorials work for all target languages. Target language specific aspects are explained for all languages.
-Therefore the best way to start with \eTrice{} is to follow the Java Tutorials and after that switch to your
-target language.
+\eTrice{} generates code out of ROOM models. The generated code relies on the services of a runtime
+framework:
+\begin{itemize}
+\item execution
+\item communication (e.g. messaging)
+\item logging
+\item operating system abstraction (osal)
+\end{itemize}
+
+Additional functionality is provided as model library:
+\begin{itemize}
+\item socket server and client
+\item timing service
+\item standard types
+\end{itemize}
+
+Additionally the tutorial models are be provided to make it easy to start with \eTrice{}. All those projects
+should be available in our workspace before you start working with the tutorials.
diff --git a/plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace.tex b/plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace-for-java.tex
index 2b945d5..4cb7d3c 100644
--- a/plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/013-setting-up-the-workspace-for-java.tex
@@ -1,23 +1,13 @@
-\chapter{Setting up the Workspace for Java Projects}
+\section{Setting up the Workspace for Java Projects}
-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:
-
-\begin{itemize}
-\item messaging
-\item logging
-\item timing
-\end{itemize}
-
-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:
+After installation of eclipse and the \eTrice{} plug in, your workspace should look like this:
\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace01.png}
% !images/013-SetupWorkspace01.png!
-Just the \textit{\eTrice{}} menu item is visible from the \eTrice{} tool.
-From the \textit{File} menu select \textbf{File->New->Project}
+Just the \textit{\eTrice{}} menu item is visible of the installed \eTrice{} plugins.
+
+Select the menu \textbf{File->New->Other}
\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace02.png}
% !images/013-SetupWorkspace02.png!
@@ -38,15 +28,21 @@ this:
Now workspace is set up and you can perform the tutorials or start with your work.
-The tutorial models are available in the \textit{org.eclipse.etrice.tutorials} project. All tutorials are
+The tutorial models are available in the \textit{org.eclipse.etrice.tutorials.java} project. All tutorials are
ready to generate and run without any changes. To start the code generator simply run
-\textbf{gen\_org.eclipse.etrice.tutorials.launch} as \textbf{gen\_org.eclipse.etrice.tutorials.launch}:
+\textbf{gen\_org.eclipse.etrice.tutorials.java.launch} as \textbf{gen\_org.eclipse.etrice.tutorials.java}:
\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace05.png}
% !images/013-SetupWorkspace05.png!
-After generation for each tutorial a java file called \textbf{SubSystem\_ModelnameRunner.java} is
-generated. To run the model simply run this file as a java application:
+The successful generation ends with \emph{Info: -- finished code generation} in the Console.
+
+\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace051.png}
+% !images/013-SetupWorkspace051.png!
+
+
+For each tutorial in the folder src-gen a java package is generated including a java file called
+\textbf{SubSystem\_<Modelname>Runner.java} . To run the a generated application simply run this file as a java application:
\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace06.png}
% !images/013-SetupWorkspace06.png!
@@ -56,6 +52,6 @@ To stop the application type \textit{quit} in the console window.
\includegraphics[width=0.8\textwidth]{images/013-SetupWorkspace07.png}
% !images/013-SetupWorkspace07.png!
-Performing the tutorials will setup an dedicated project for each tutorial. Therefore there are some
+Performing the tutorials will setup a dedicated project for each tutorial. Therefore there are some
slight changes especially whenever a path must be set (e.g. to the model library) within your own
projects. All this is described in the tutorials.
diff --git a/plugins/org.eclipse.etrice.doc/doc/015-getting-started.tex b/plugins/org.eclipse.etrice.doc/doc/015-getting-started.tex
index d34d05d..91b18a3 100644
--- a/plugins/org.eclipse.etrice.doc/doc/015-getting-started.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/015-getting-started.tex
@@ -1,6 +1,6 @@
-\chapter{Tutorial HelloWorld for Java}
+\section{Tutorial HelloWorld for Java}
-\section{Scope}
+\subsection{Scope}
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:
@@ -15,7 +15,7 @@ In this tutorial you will build your first very simple \eTrice{} model. The goal
Make sure that you have set up the workspace as described in \textit{Setting up the workspace}.
-\section{Create a new model from scratch}
+\subsection{Create a new model from scratch}
The easiest way to create a new \eTrice{} Project is to use the eclipse project wizard. From the eclipse file
menu select \textbf{File->New->Project} and create a new \eTrice{} project and name it \textbf{HelloWorld}.
@@ -75,7 +75,7 @@ The outline view of the textual ROOM editor shows the main modeling elements in
% !images/015-HelloWorld02.png!
-\section{Create a state machine}
+\subsection{Create a state machine}
We will implement the Hello World code on the initial transition of the \textit{HelloWorldTop} actor.
Therefore open the state machine editor by right clicking the \textit{HelloWorldTop} actor in the outline
@@ -106,7 +106,7 @@ the diagram.
% !images/015-HelloWorld05.png!
-\section{Build and run the model}
+\subsection{Build and run the model}
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 \textit{HelloWorld/} right click
@@ -129,7 +129,7 @@ application the user must type \textbf{quit} in the console window.
\includegraphics[width=0.8\textwidth]{images/015-HelloWorld08.png}
% !images/015-HelloWorld08.png!
-\section{Open the Message Sequence Chart}
+\subsection{Open the Message Sequence Chart}
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
@@ -139,7 +139,7 @@ from http://trace2uml.tigris.org/). You should see something like this:
% !images/015-HelloWorld09.png!
-\section{Summary}
+\subsection{Summary}
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.
diff --git a/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.tex b/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.tex
index ee413ca..41a44c1 100644
--- a/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.tex
@@ -1,6 +1,6 @@
-\chapter{Tutorial Blinky (Java)}
+\section{Tutorial Blinky (Java)}
-\section{Scope}
+\subsection{Scope}
This tutorial describes how to use the \textit{TimingService}, 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
@@ -36,7 +36,7 @@ You will perform the following steps:
\item open the message sequence chart
\end{enumerate}
-\section{Create a new model from scratch}
+\subsection{Create a new model from scratch}
Remember the exercise \textit{HelloWorld}.
Create a new \eTrice{} project and name it \textit{Blinky}.
@@ -65,7 +65,7 @@ RoomModel Blinky {
}
\end{verbatim}
-\section{Add two additional actor classes}
+\subsection{Add two additional actor classes}
Position the cursor outside any class definition and right click the mouse within the editor window. From
the context menu select \textit{Content Assist}
@@ -84,7 +84,7 @@ With Ctrl+Shift+F you can beautify the model code.
Save the model and visit the outline view.
-\section{Create a new protocol}
+\subsection{Create a new protocol}
With the help of \textit{Content Assist} create a \textit{ProtocolClass} and name it
\textit{BlinkyControlProtocol}.
@@ -99,7 +99,7 @@ The resulting code should look like this:
With Ctrl-Shift+F or selecting \textit{Format} from the context menu you can format the text. Note that
all elements are displayed in the outline view.
-\section{Import the Timing Service}
+\subsection{Import the Timing Service}
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.
@@ -158,7 +158,7 @@ The resulting code should look like this:
% !images/020-Blinky07.png!
-\section{Finish the model structure}
+\subsection{Finish the model structure}
From the outline view right click to \textit{Blinky} and select \textit{Edit Structure}. Drag and Drop an
\textit{Interface Port} to the boarder of the \textit{Blinky} actor. Note that an interface port is not
@@ -185,7 +185,7 @@ via the binding tool. The resulting structure should look like this:
\includegraphics[width=0.8\textwidth]{images/020-Blinky05.png}
% !images/020-Blinky05.png!
-\section{Implement the Behavior}
+\subsection{Implement the Behavior}
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
@@ -314,7 +314,7 @@ The model is complete now. You can run and debug the model as described in getti
The complete model can be found in /org.eclipse.etrice.tutorials/model/Blinky.
-\section{Summary}
+\subsection{Summary}
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
diff --git a/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.tex b/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.tex
index 2a80eda..f0790f1 100644
--- a/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.tex
@@ -1,6 +1,6 @@
-\chapter{Tutorial Sending Data (Java)}
+\section{Tutorial Sending Data (Java)}
-\section{Scope}
+\subsection{Scope}
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.
@@ -17,7 +17,7 @@ You will perform the following steps:
\item build and run the model
\end{enumerate}
-\section{Create a new model from scratch}
+\subsection{Create a new model from scratch}
Remember exercise \textit{HelloWorld}.
Create a new \eTrice{} project and name it \textit{SendingData}.
@@ -38,7 +38,7 @@ RoomModel SendingData {
}
\end{verbatim}
-\section{Add a data class}
+\subsection{Add a data class}
Position the cursor outside any class definition and right click the mouse within the editor window. From
the context menu select \textit{Content Assist} (or Ctrl+Space).
@@ -61,7 +61,7 @@ DataClass DemoData {
Save the model and visit the outline view.
Note that the outline view contains all data elements as defined in the model.
-\section{Create a new protocol}
+\subsection{Create a new protocol}
With the help of \textit{Content Assist} create a \textit{ProtocolClass} and name it
\textit{PingPongProtocol}. Create the following messages:
@@ -79,7 +79,7 @@ ProtocolClass PingPongProtocol {
}
\end{verbatim}
-\section{Create MrPing and MrPong Actors}
+\subsection{Create MrPing and MrPong Actors}
With the help of \textit{Content Assist} create two new actor classes and name them \textit{MrPing} and
\textit{MrPong}. The resulting model should look like this:
@@ -135,7 +135,7 @@ The outline view should look like this:
\includegraphics{images/025-SendingData03.png}
% !images/025-SendingData03.png!
-\section{Define Actor Structure and Behavior}
+\subsection{Define Actor Structure and Behavior}
Save the model and visit the outline view. Within the outline view, right click on the \textit{MrPong}
actor and select \textit{Edit Structure}. Select an \textit{Interface Port} from the toolbox and add it to
@@ -219,7 +219,7 @@ For \textit{wait2}:
\includegraphics[width=0.8\textwidth]{images/025-SendingData12.png}
% !images/025-SendingData12.png!
-\section{Define the top level}
+\subsection{Define the top level}
Open the Structure from SendingDataTop and add MrPing and MrPong as a reference. Connect the ports.
@@ -229,7 +229,7 @@ Open the Structure from SendingDataTop and add MrPing and MrPong as a reference.
\begin{flushleft}The model is finished now and can be found in
/org.eclipse.etrice.tutorials/model/SendingData.\end{flushleft}
-\section{Generate and run the model}
+\subsection{Generate and run the model}
Generate the code by right click to \textbf{gen\_SendingData.launch} and run it as
\textbf{gen\_SendingData}. Run the model.
@@ -285,7 +285,7 @@ quit
echo: quit
\end{verbatim}
-\section{Summary}
+\subsection{Summary}
Within the first loop an integer value will be incremented by \textit{MrPong} and sent back to
\textit{MrPing}. As long as the guard is true \textit{MrPing} sends back the value.
diff --git a/plugins/org.eclipse.etrice.doc/doc/etrice-doc.tex b/plugins/org.eclipse.etrice.doc/doc/etrice-doc.tex
index 43077c0..2b84f6f 100644
--- a/plugins/org.eclipse.etrice.doc/doc/etrice-doc.tex
+++ b/plugins/org.eclipse.etrice.doc/doc/etrice-doc.tex
@@ -44,7 +44,7 @@
\chapter{Tutorials}
\include{012-working-with-tutorials}
-\include{013-setting-up-the-workspace}
+\include{013-setting-up-the-workspace-for-java}
\include{015-getting-started}
\include{020-tutorial-blinky}
\include{025-tutorial-sending-data}
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace01.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace01.png
index a83864b..894aa4b 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace01.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace01.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace02.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace02.png
index 55946ad..ce36739 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace02.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace02.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace03.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace03.png
index 4e9d6c9..c680043 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace03.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace03.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace04.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace04.png
index 448774f..e4f7fd3 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace04.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace04.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace05.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace05.png
index 91a0ced..126ac19 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace05.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace05.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace051.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace051.png
new file mode 100644
index 0000000..34428c1
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace051.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace06.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace06.png
index aeb02ef..072b477 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace06.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace06.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace07.png b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace07.png
index 01f62dc..6dc9a87 100644
--- a/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace07.png
+++ b/plugins/org.eclipse.etrice.doc/doc/images/013-SetupWorkspace07.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html b/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
index 4327c09..31e8e21 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-doc.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-doc.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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -27,7 +27,7 @@ class="ec-lmss-12">Trice</span> <span
class="ec-lmss-12">committers and contributors</span></div>
<br />
<div class="date" ><span
-class="ec-lmss-12">June 13, 2013</span></div>
+class="ec-lmss-12">June 14, 2013</span></div>
</div>
@@ -44,136 +44,90 @@ href="etrice-docse1.html#x4-30001.1" id="QQ2-4-3">eTrice Overview</a></span>
href="etrice-docse2.html#x5-60001.2" id="QQ2-5-6">Introduction to the ROOM Language</a></span>
<br /><span class="chapterToc" >2 <a
href="etrice-docch2.html#x6-250002" id="QQ2-6-26">Tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1" id="QQ2-7-27">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2" id="QQ2-8-28">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3" id="QQ2-9-29">Tutorial HelloWorld for Java</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-350002.4" id="QQ2-10-36">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-440002.5" id="QQ2-11-45">Tutorial Sending Data (Java)</a></span>
<br /><span class="chapterToc" >3 <a
-href="etrice-docch3.html#x7-260003" id="QQ2-7-27">Working with the eTrice Tutorials</a></span>
+href="etrice-docch3.html#x12-560003" id="QQ2-12-57">Tutorial Pedestrian Lights (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse8.html#x13-570003.1" id="QQ2-13-58">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse9.html#x14-580003.2" id="QQ2-14-59">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse10.html#x15-590003.3" id="QQ2-15-60">Why does it work and why is it safe?</a></span>
<br /><span class="chapterToc" >4 <a
-href="etrice-docch4.html#x8-270004" id="QQ2-8-28">Setting up the Workspace for Java Projects</a></span>
+href="etrice-docch4.html#x16-600004" id="QQ2-16-61">Setting up the Workspace for C Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse11.html#x17-610004.1" id="QQ2-17-62">Testing the environment</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse12.html#x18-620004.2" id="QQ2-18-63">Building the C runtime system</a></span>
<br /><span class="chapterToc" >5 <a
-href="etrice-docch5.html#x9-280005" id="QQ2-9-29">Tutorial HelloWorld for Java</a></span>
+href="etrice-docch5.html#x19-630005" id="QQ2-19-64">Tutorial HelloWorld for C</a></span>
<br />&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse3.html#x10-290005.1" id="QQ2-10-30">Scope</a></span>
+href="etrice-docse13.html#x20-640005.1" id="QQ2-20-65">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse4.html#x11-300005.2" id="QQ2-11-31">Create a new model from scratch</a></span>
+href="etrice-docse14.html#x21-650005.2" id="QQ2-21-66">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse5.html#x12-310005.3" id="QQ2-12-32">Create a state machine</a></span>
+href="etrice-docse15.html#x22-660005.3" id="QQ2-22-67">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse6.html#x13-320005.4" id="QQ2-13-33">Build and run the model</a></span>
+href="etrice-docse16.html#x23-670005.4" id="QQ2-23-68">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse7.html#x14-330005.5" id="QQ2-14-34">Open the Message Sequence Chart</a></span>
+href="etrice-docse17.html#x24-680005.5" id="QQ2-24-69">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse8.html#x15-340005.6" id="QQ2-15-35">Summary</a></span>
+href="etrice-docse18.html#x25-690005.6" id="QQ2-25-70">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.7 <a
+href="etrice-docse19.html#x26-700005.7" id="QQ2-26-71">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.8 <a
+href="etrice-docse20.html#x27-710005.8" id="QQ2-27-72">Summary</a></span>
<br /><span class="chapterToc" >6 <a
-href="etrice-docch6.html#x16-350006" id="QQ2-16-36">Tutorial Blinky (Java)</a></span>
+href="etrice-docch6.html#x28-720006" id="QQ2-28-73">Tutorial Remove C-Comment ( C )</a></span>
<br />&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse9.html#x17-360006.1" id="QQ2-17-37">Scope</a></span>
+href="etrice-docse21.html#x29-730006.1" id="QQ2-29-74">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse10.html#x18-370006.2" id="QQ2-18-38">Create a new model from scratch</a></span>
+href="etrice-docse22.html#x30-740006.2" id="QQ2-30-75">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse11.html#x19-380006.3" id="QQ2-19-39">Add two additional actor classes</a></span>
+href="etrice-docse23.html#x31-750006.3" id="QQ2-31-76">Create your own data type</a></span>
<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse12.html#x20-390006.4" id="QQ2-20-40">Create a new protocol</a></span>
+href="etrice-docse24.html#x32-760006.4" id="QQ2-32-77">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse13.html#x21-400006.5" id="QQ2-21-41">Import the Timing Service</a></span>
+href="etrice-docse25.html#x33-770006.5" id="QQ2-33-78">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse14.html#x22-410006.6" id="QQ2-22-42">Finish the model structure</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.7 <a
-href="etrice-docse15.html#x23-420006.7" id="QQ2-23-43">Implement the Behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.8 <a
-href="etrice-docse16.html#x24-430006.8" id="QQ2-24-44">Summary</a></span>
+href="etrice-docse26.html#x34-780006.6" id="QQ2-34-79">Summary</a></span>
<br /><span class="chapterToc" >7 <a
-href="etrice-docch7.html#x25-440007" id="QQ2-25-45">Tutorial Sending Data (Java)</a></span>
+href="etrice-docch7.html#x35-790007" id="QQ2-35-80">ROOM Concepts</a></span>
+
+
<br />&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse17.html#x26-450007.1" id="QQ2-26-46">Scope</a></span>
+href="etrice-docse27.html#x36-800007.1" id="QQ2-36-81">Actors</a></span>
<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse18.html#x27-460007.2" id="QQ2-27-47">Create a new model from scratch</a></span>
+href="etrice-docse28.html#x37-880007.2" id="QQ2-37-91">Protocols</a></span>
<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse19.html#x28-470007.3" id="QQ2-28-48">Add a data class</a></span>
+href="etrice-docse29.html#x38-920007.3" id="QQ2-38-95">Ports</a></span>
<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse20.html#x29-480007.4" id="QQ2-29-49">Create a new protocol</a></span>
+href="etrice-docse30.html#x39-980007.4" id="QQ2-39-103">DataClass</a></span>
<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse21.html#x30-490007.5" id="QQ2-30-50">Create MrPing and MrPong Actors</a></span>
+href="etrice-docse31.html#x40-1010007.5" id="QQ2-40-106">Layering</a></span>
<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse22.html#x31-500007.6" id="QQ2-31-51">Define Actor Structure and Behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.7 <a
-href="etrice-docse23.html#x32-530007.7" id="QQ2-32-54">Define the top level</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.8 <a
-href="etrice-docse24.html#x33-540007.8" id="QQ2-33-55">Generate and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.9 <a
-href="etrice-docse25.html#x34-550007.9" id="QQ2-34-56">Summary</a></span>
+href="etrice-docse32.html#x41-1040007.6" id="QQ2-41-110">Finite State Machines</a></span>
<br /><span class="chapterToc" >8 <a
-href="etrice-docch8.html#x35-560008" id="QQ2-35-57">Tutorial Pedestrian Lights (Java)</a></span>
-
-
+href="etrice-docch8.html#x42-1110008" id="QQ2-42-123">eTrice Features</a></span>
<br />&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse26.html#x36-570008.1" id="QQ2-36-58">Scope</a></span>
+href="etrice-docse33.html#x43-1120008.1" id="QQ2-43-124">Automatic Diagram Layout with KIELER</a></span>
<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse27.html#x37-580008.2" id="QQ2-37-59">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.3 <a
-href="etrice-docse28.html#x38-590008.3" id="QQ2-38-60">Why does it work and why is it safe?</a></span>
+href="etrice-docse34.html#x44-1250008.2" id="QQ2-44-141">eTrice Models and Their Relations</a></span>
<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x39-600009" id="QQ2-39-61">Setting up the Workspace for C Projects</a></span>
+href="etrice-docch9.html#x45-1300009" id="QQ2-45-152">eTrice Tool Developer&#8217;s Reference</a></span>
<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse29.html#x40-610009.1" id="QQ2-40-62">Testing the environment</a></span>
+href="etrice-docse35.html#x46-1310009.1" id="QQ2-46-153">Architecture</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse30.html#x41-620009.2" id="QQ2-41-63">Building the C runtime system</a></span>
-<br /><span class="chapterToc" >10 <a
-href="etrice-docch10.html#x42-6300010" id="QQ2-42-64">Tutorial HelloWorld for C</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse31.html#x43-6400010.1" id="QQ2-43-65">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse32.html#x44-6500010.2" id="QQ2-44-66">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse33.html#x45-6600010.3" id="QQ2-45-67">Create the HelloWorld model</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse34.html#x46-6700010.4" id="QQ2-46-68">Create a launch configuration to start the C code generator</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse35.html#x47-6800010.5" id="QQ2-47-69">Generate the code</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse36.html#x48-6900010.6" id="QQ2-48-70">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.7 <a
-href="etrice-docse37.html#x49-7000010.7" id="QQ2-49-71">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.8 <a
-href="etrice-docse38.html#x50-7100010.8" id="QQ2-50-72">Summary</a></span>
-<br /><span class="chapterToc" >11 <a
-href="etrice-docch11.html#x51-7200011" id="QQ2-51-73">Tutorial Remove C-Comment ( C )</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse39.html#x52-7300011.1" id="QQ2-52-74">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse40.html#x53-7400011.2" id="QQ2-53-75">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse41.html#x54-7500011.3" id="QQ2-54-76">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse42.html#x55-7600011.4" id="QQ2-55-77">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse43.html#x56-7700011.5" id="QQ2-56-78">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse44.html#x57-7800011.6" id="QQ2-57-79">Summary</a></span>
-<br /><span class="chapterToc" >12 <a
-href="etrice-docch12.html#x58-7900012" id="QQ2-58-80">ROOM Concepts</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse45.html#x59-8000012.1" id="QQ2-59-81">Actors</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.2 <a
-href="etrice-docse46.html#x60-8800012.2" id="QQ2-60-91">Protocols</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.3 <a
-href="etrice-docse47.html#x61-9200012.3" id="QQ2-61-95">Ports</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.4 <a
-href="etrice-docse48.html#x62-9800012.4" id="QQ2-62-103">DataClass</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.5 <a
-href="etrice-docse49.html#x63-10100012.5" id="QQ2-63-106">Layering</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.6 <a
-href="etrice-docse50.html#x64-10400012.6" id="QQ2-64-110">Finite State Machines</a></span>
-<br /><span class="chapterToc" >13 <a
-href="etrice-docch13.html#x65-11100013" id="QQ2-65-123">eTrice Features</a></span>
-<br />&#x00A0;<span class="sectionToc" >13.1 <a
-href="etrice-docse51.html#x66-11200013.1" id="QQ2-66-124">Automatic Diagram Layout with KIELER</a></span>
-<br />&#x00A0;<span class="sectionToc" >13.2 <a
-href="etrice-docse52.html#x67-12500013.2" id="QQ2-67-141">eTrice Models and Their Relations</a></span>
-<br /><span class="chapterToc" >14 <a
-href="etrice-docch14.html#x68-13000014" id="QQ2-68-152">eTrice Tool Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >14.1 <a
-href="etrice-docse53.html#x69-13100014.1" id="QQ2-69-153">Architecture</a></span>
-<br />&#x00A0;<span class="sectionToc" >14.2 <a
-href="etrice-docse54.html#x70-13500014.2" id="QQ2-70-157">Component Overview</a></span>
+href="etrice-docse36.html#x47-1350009.2" id="QQ2-47-157">Component Overview</a></span>
</div>
@@ -202,21 +156,6 @@ href="etrice-docse54.html#x70-13500014.2" id="QQ2-70-157">Component Overview</a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
<!--l. 67--><p class="noindent" ><span class="next">[<a
href="etrice-docli1.html" id="tailetrice-doc" >next</a>]</span></p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch1.html
index 0df832a..9cf42a8 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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19: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 5ce83ea..4749c85 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch10.html
@@ -4,57 +4,93 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>10 Tutorial HelloWorld for C</title>
+<head><title>10 ROOM Concepts</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:07:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse31.html" >next</a>] [<a
-href="etrice-docse30.html" >prev</a>] [<a
-href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
+href="etrice-docse47.html" >next</a>] [<a
+href="etrice-docse46.html" >prev</a>] [<a
+href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
href="#tailetrice-docch10.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch10.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;10</span><br /><a
- id="x42-6300010"></a>Tutorial HelloWorld for C</h2>
+ id="x58-8000010"></a>ROOM Concepts</h2>
+<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
+notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
+<a
+href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
+class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
+</p>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse31.html#x43-6400010.1">Scope</a></span>
+href="etrice-docse47.html#x59-8100010.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.1 <a
+href="etrice-docse47.html#x59-8200010.1.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.2 <a
+href="etrice-docse47.html#x59-8300010.1.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.3 <a
+href="etrice-docse47.html#x59-8400010.1.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.1.4 <a
+href="etrice-docse47.html#x59-8500010.1.4">Details</a></span>
<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse32.html#x44-6500010.2">Create a new model from scratch</a></span>
+href="etrice-docse48.html#x60-8900010.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.1 <a
+href="etrice-docse48.html#x60-9000010.2.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.2 <a
+href="etrice-docse48.html#x60-9100010.2.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.2.3 <a
+href="etrice-docse48.html#x60-9200010.2.3">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse33.html#x45-6600010.3">Create the HelloWorld model</a></span>
+href="etrice-docse49.html#x61-9300010.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.1 <a
+href="etrice-docse49.html#x61-9400010.3.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.2 <a
+href="etrice-docse49.html#x61-9500010.3.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.3.3 <a
+href="etrice-docse49.html#x61-9600010.3.3">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse34.html#x46-6700010.4">Create a launch configuration to start the C code generator</a></span>
+href="etrice-docse50.html#x62-9900010.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.1 <a
+href="etrice-docse50.html#x62-10000010.4.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.4.2 <a
+href="etrice-docse50.html#x62-10100010.4.2">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse35.html#x47-6800010.5">Generate the code</a></span>
+href="etrice-docse51.html#x63-10200010.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.1 <a
+href="etrice-docse51.html#x63-10300010.5.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.5.2 <a
+href="etrice-docse51.html#x63-10400010.5.2">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse36.html#x48-6900010.6">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.7 <a
-href="etrice-docse37.html#x49-7000010.7">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.8 <a
-href="etrice-docse38.html#x50-7100010.8">Summary</a></span>
+href="etrice-docse52.html#x64-10500010.6">Finite State Machines</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.1 <a
+href="etrice-docse52.html#x64-10600010.6.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.2 <a
+href="etrice-docse52.html#x64-10700010.6.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.3 <a
+href="etrice-docse52.html#x64-10800010.6.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >10.6.4 <a
+href="etrice-docse52.html#x64-11100010.6.4">Examples</a></span>
</div>
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse31.html" >next</a>] [<a
-href="etrice-docse30.html" >prev</a>] [<a
-href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse47.html" >next</a>] [<a
+href="etrice-docse46.html" >prev</a>] [<a
+href="etrice-docse46.html#tailetrice-docse46.html" >prev-tail</a>] [<a
href="etrice-docch10.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch10.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+<!--l. 57--><p class="noindent" ><a
id="tailetrice-docch10.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
index dcef3d3..905c3df 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch11.html
@@ -4,49 +4,59 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>11 Tutorial Remove C-Comment ( C )</title>
+<head><title>11 eTrice Features</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:07:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse39.html" >next</a>] [<a
-href="etrice-docse38.html" >prev</a>] [<a
-href="etrice-docse38.html#tailetrice-docse38.html" >prev-tail</a>] [<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse53.html" >next</a>] [<a
+href="etrice-docse52.html" >prev</a>] [<a
+href="etrice-docse52.html#tailetrice-docse52.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="x51-7200011"></a>Tutorial Remove C-Comment ( C )</h2>
+ id="x65-11200011"></a>eTrice Features</h2>
+
+
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse39.html#x52-7300011.1">Scope</a></span>
+href="etrice-docse53.html#x66-11300011.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.1 <a
+href="etrice-docse53.html#x66-11400011.1.1">Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.2 <a
+href="etrice-docse53.html#x66-11500011.1.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.3 <a
+href="etrice-docse53.html#x66-11600011.1.3">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.4 <a
+href="etrice-docse53.html#x66-11700011.1.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.5 <a
+href="etrice-docse53.html#x66-12200011.1.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.6 <a
+href="etrice-docse53.html#x66-12500011.1.6">Further References</a></span>
<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse40.html#x53-7400011.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse41.html#x54-7500011.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse42.html#x55-7600011.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse43.html#x56-7700011.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse44.html#x57-7800011.6">Summary</a></span>
+href="etrice-docse54.html#x67-12600011.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.2.1 <a
+href="etrice-docse54.html#x67-12700011.2.1">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.2.2 <a
+href="etrice-docse54.html#x67-12800011.2.2">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.2.3 <a
+href="etrice-docse54.html#x67-12900011.2.3">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.2.4 <a
+href="etrice-docse54.html#x67-13000011.2.4">The Mapping Model</a></span>
</div>
-
-
-
-
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse39.html" >next</a>] [<a
-href="etrice-docse38.html" >prev</a>] [<a
-href="etrice-docse38.html#tailetrice-docse38.html" >prev-tail</a>] [<a
+href="etrice-docse53.html" >next</a>] [<a
+href="etrice-docse52.html" >prev</a>] [<a
+href="etrice-docse52.html#tailetrice-docse52.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 eb85fcb..33b8def 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch12.html
@@ -4,93 +4,53 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>12 ROOM Concepts</title>
+<head><title>12 eTrice Tool Developer&#8217;s Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:07:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse45.html" >next</a>] [<a
-href="etrice-docse44.html" >prev</a>] [<a
-href="etrice-docse44.html#tailetrice-docse44.html" >prev-tail</a>] [<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="#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="x58-7900012"></a>ROOM Concepts</h2>
-<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
-notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
-<a
-href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
-class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
-</p>
+ id="x68-13100012"></a>eTrice Tool Developer&#8217;s Reference</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse45.html#x59-8000012.1">Actors</a></span>
+href="etrice-docse55.html#x69-13200012.1">Architecture</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.1 <a
-href="etrice-docse45.html#x59-8100012.1.1">Description</a></span>
+href="etrice-docse55.html#x69-13300012.1.1">Editor and Generator Components</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.2 <a
-href="etrice-docse45.html#x59-8200012.1.2">Motivation</a></span>
+href="etrice-docse55.html#x69-13400012.1.2">Runtimes</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.3 <a
-href="etrice-docse45.html#x59-8300012.1.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.4 <a
-href="etrice-docse45.html#x59-8400012.1.4">Details</a></span>
+href="etrice-docse55.html#x69-13500012.1.3">Unit Tests</a></span>
<br />&#x00A0;<span class="sectionToc" >12.2 <a
-href="etrice-docse46.html#x60-8800012.2">Protocols</a></span>
+href="etrice-docse56.html#x70-13600012.2">Component Overview</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.1 <a
-href="etrice-docse46.html#x60-8900012.2.1">Description</a></span>
+href="etrice-docse56.html#x70-13700012.2.1">Room Language Overview</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.2 <a
-href="etrice-docse46.html#x60-9000012.2.2">Motivation</a></span>
+href="etrice-docse56.html#x70-14300012.2.2">Config Language Overview</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.3 <a
-href="etrice-docse46.html#x60-9100012.2.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.3 <a
-href="etrice-docse47.html#x61-9200012.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.1 <a
-href="etrice-docse47.html#x61-9300012.3.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.2 <a
-href="etrice-docse47.html#x61-9400012.3.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.3 <a
-href="etrice-docse47.html#x61-9500012.3.3">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.4 <a
-href="etrice-docse48.html#x62-9800012.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.1 <a
-href="etrice-docse48.html#x62-9900012.4.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.2 <a
-href="etrice-docse48.html#x62-10000012.4.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.5 <a
-href="etrice-docse49.html#x63-10100012.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.1 <a
-href="etrice-docse49.html#x63-10200012.5.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.2 <a
-href="etrice-docse49.html#x63-10300012.5.2">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.6 <a
-href="etrice-docse50.html#x64-10400012.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.1 <a
-href="etrice-docse50.html#x64-10500012.6.1">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.2 <a
-href="etrice-docse50.html#x64-10600012.6.2">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.3 <a
-href="etrice-docse50.html#x64-10700012.6.3">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.4 <a
-href="etrice-docse50.html#x64-11000012.6.4">Examples</a></span>
+href="etrice-docse56.html#x70-14700012.2.3">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.4 <a
+href="etrice-docse56.html#x70-15100012.2.4">Generator Overview</a></span>
</div>
-
-
-
-
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse45.html" >next</a>] [<a
-href="etrice-docse44.html" >prev</a>] [<a
-href="etrice-docse44.html#tailetrice-docse44.html" >prev-tail</a>] [<a
+<!--l. 67--><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-docch12.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch12.html" >up</a>] </p></div>
-<!--l. 57--><p class="noindent" ><a
+<!--l. 67--><p class="noindent" ><a
id="tailetrice-docch12.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 7cc8f3c..46488d5 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch2.html
@@ -10,12 +10,12 @@
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 44--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch3.html" >next</a>] [<a
+href="etrice-docse3.html" >next</a>] [<a
href="etrice-docse2.html" >prev</a>] [<a
href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
href="#tailetrice-docch2.html">tail</a>] [<a
@@ -24,10 +24,76 @@ href="etrice-doc.html#etrice-docch2.html" >up</a>] </p></div>
id="x6-250002"></a>Tutorials</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3">Tutorial HelloWorld for Java</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
+href="etrice-docse5.html#x9-290002.3.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
+href="etrice-docse5.html#x9-300002.3.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.3 <a
+href="etrice-docse5.html#x9-310002.3.3">Create a state machine</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.4 <a
+href="etrice-docse5.html#x9-320002.3.4">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.5 <a
+href="etrice-docse5.html#x9-330002.3.5">Open the Message Sequence Chart</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.6 <a
+href="etrice-docse5.html#x9-340002.3.6">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-350002.4">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
+href="etrice-docse6.html#x10-360002.4.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
+href="etrice-docse6.html#x10-370002.4.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
+href="etrice-docse6.html#x10-380002.4.3">Add two additional actor classes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
+href="etrice-docse6.html#x10-390002.4.4">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
+href="etrice-docse6.html#x10-400002.4.5">Import the Timing Service</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
+href="etrice-docse6.html#x10-410002.4.6">Finish the model structure</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.7 <a
+href="etrice-docse6.html#x10-420002.4.7">Implement the Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.8 <a
+href="etrice-docse6.html#x10-430002.4.8">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-440002.5">Tutorial Sending Data (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
+href="etrice-docse7.html#x11-450002.5.1">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
+href="etrice-docse7.html#x11-460002.5.2">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
+href="etrice-docse7.html#x11-470002.5.3">Add a data class</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
+href="etrice-docse7.html#x11-480002.5.4">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
+href="etrice-docse7.html#x11-490002.5.5">Create MrPing and MrPong Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
+href="etrice-docse7.html#x11-500002.5.6">Define Actor Structure and Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
+href="etrice-docse7.html#x11-510002.5.7">Define MrPongs behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
+href="etrice-docse7.html#x11-520002.5.8">Define MrPing behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.9 <a
+href="etrice-docse7.html#x11-530002.5.9">Define the top level</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.10 <a
+href="etrice-docse7.html#x11-540002.5.10">Generate and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.11 <a
+href="etrice-docse7.html#x11-550002.5.11">Summary</a></span>
+</div>
+
+
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch3.html" >next</a>] [<a
+href="etrice-docse3.html" >next</a>] [<a
href="etrice-docse2.html" >prev</a>] [<a
href="etrice-docse2.html#tailetrice-docse2.html" >prev-tail</a>] [<a
href="etrice-docch2.html" >front</a>] [<a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
index 7661875..fb44d97 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch3.html
@@ -4,42 +4,40 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>3 Working with the eTrice Tutorials</title>
+<head><title>3 Tutorial Pedestrian Lights (Java)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch4.html" >next</a>] [<a
-href="etrice-docch2.html" >prev</a>] [<a
-href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
+href="etrice-docse8.html" >next</a>] [<a
+href="etrice-docse7.html" >prev</a>] [<a
+href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
href="#tailetrice-docch3.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
- id="x7-260003"></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. 6--><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. 10--><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.
+ id="x12-560003"></a>Tutorial Pedestrian Lights (Java)</h2>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse8.html#x13-570003.1">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse9.html#x14-580003.2">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse10.html#x15-590003.3">Why does it work and why is it safe?</a></span>
+</div>
+
+
-
-
-
-
-</p>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch4.html" >next</a>] [<a
-href="etrice-docch2.html" >prev</a>] [<a
-href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
+href="etrice-docse8.html" >next</a>] [<a
+href="etrice-docse7.html" >prev</a>] [<a
+href="etrice-docse7.html#tailetrice-docse7.html" >prev-tail</a>] [<a
href="etrice-docch3.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch3.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
index 21f5618..79823b4 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch4.html
@@ -4,106 +4,60 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>4 Setting up the Workspace for Java Projects</title>
+<head><title>4 Setting up the Workspace for C Projects</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch5.html" >next</a>] [<a
-href="etrice-docch3.html" >prev</a>] [<a
-href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
+href="etrice-docse11.html" >next</a>] [<a
+href="etrice-docse10.html" >prev</a>] [<a
+href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
href="#tailetrice-docch4.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;4</span><br /><a
- id="x8-270004"></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:
-</p>
- <ul class="itemize1">
- <li class="itemize">messaging
- </li>
- <li class="itemize">logging
- </li>
- <li class="itemize">timing</li></ul>
-<!--l. 12--><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. 16--><p class="noindent" ><img
-src="images/013-SetupWorkspace01.png" alt="PIC"
- />
-</p><!--l. 19--><p class="noindent" >Just the <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> menu item is visible from the eTrice tool. From the <span
-class="ec-lmsso-10">File </span>menu select <span
-class="ec-lmssbx-10">File-&#x003E;New-&#x003E;Project</span>
-</p><!--l. 22--><p class="noindent" ><img
-src="images/013-SetupWorkspace02.png" alt="PIC"
- />
-</p><!--l. 25--><p class="noindent" >Open the <span
+ id="x16-600004"></a>Setting up the Workspace for C Projects</h2>
+<!--l. 3--><p class="noindent" >Before you can start with C, some preconditions must be fulfilled:
+ </p><dl class="description"><dt class="description">
+ </dt><dd
+class="description">A C compiler must be installed on your machine (all tests and tutorials are based on MinGW)
+ </dd><dt class="description">
+ </dt><dd
+class="description">The CDT-Eclipse plugin must be installed as the C development environment.</dd></dl>
+<!--l. 10--><p class="noindent" >Once the CDT is installed, the C runtime and model library must be imported. (<span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;Project-&#x003E;</span><span
class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> tab and select <span
+class="ec-lmsso-10">Trice</span>
+select <span
class="ec-lmsso-10">e</span><span
class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Runtime</span>
-</p><!--l. 27--><p class="noindent" >Press <span
-class="ec-lmsso-10">Next </span>and <span
-class="ec-lmsso-10">Finish </span>to install the Runtime into your workspace.
-</p><!--l. 29--><p class="noindent" ><img
-src="images/013-SetupWorkspace03.png" alt="PIC"
- />
-</p><!--l. 32--><p class="noindent" >Do the same steps for <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Modellib </span>and <span
+class="ec-lmsso-10">C runtime </span>/ <span
class="ec-lmsso-10">e</span><span
class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">Java Tutorials</span>. To avoid temporary error
-markers you should keep the proposed order of installation. The resulting workspace should look like
-this:
-</p><!--l. 36--><p class="noindent" ><img
-src="images/013-SetupWorkspace04.png" alt="PIC"
- />
-</p><!--l. 39--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your work.
-</p><!--l. 41--><p class="noindent" >The tutorial models are available in the <span
-class="ec-lmsso-10">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="ec-lmssbx-10">gen_org.eclipse.etrice.tutorials.launch</span>
-as <span
-class="ec-lmssbx-10">gen_org.eclipse.etrice.tutorials.launch</span>:
-</p><!--l. 45--><p class="noindent" ><img
-src="images/013-SetupWorkspace05.png" alt="PIC"
+class="ec-lmsso-10">C modellib</span>)
+</p><!--l. 13--><p class="noindent" >The resulting workspace should look like this:
+</p><!--l. 15--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC01.png" alt="PIC"
/>
-</p><!--l. 48--><p class="noindent" >After generation for each tutorial a java file called <span
-class="ec-lmssbx-10">SubSystem_ModelnameRunner.java </span>is generated. To run
-the model simply run this file as a java application:
-</p><!--l. 51--><p class="noindent" ><img
-src="images/013-SetupWorkspace06.png" alt="PIC"
- />
-</p><!--l. 54--><p class="noindent" >To stop the application type <span
-class="ec-lmsso-10">quit </span>in the console window.
-</p><!--l. 56--><p class="noindent" ><img
-src="images/013-SetupWorkspace07.png" alt="PIC"
- />
-</p><!--l. 59--><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>
+<div class="sectionTOCS">
+&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse11.html#x17-610004.1">Testing the environment</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse12.html#x18-620004.2">Building the C runtime system</a></span>
+</div>
+
-</p>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch5.html" >next</a>] [<a
-href="etrice-docch3.html" >prev</a>] [<a
-href="etrice-docch3.html#tailetrice-docch3.html" >prev-tail</a>] [<a
+href="etrice-docse11.html" >next</a>] [<a
+href="etrice-docse10.html" >prev</a>] [<a
+href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
href="etrice-docch4.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch4.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
index 36a9201..6051329 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch5.html
@@ -4,49 +4,55 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>5 Tutorial HelloWorld for Java</title>
+<head><title>5 Tutorial HelloWorld for C</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse3.html" >next</a>] [<a
-href="etrice-docch4.html" >prev</a>] [<a
-href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
+href="etrice-docse13.html" >next</a>] [<a
+href="etrice-docse12.html" >prev</a>] [<a
+href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
href="#tailetrice-docch5.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
- id="x9-280005"></a>Tutorial HelloWorld for Java</h2>
+ id="x19-630005"></a>Tutorial HelloWorld for C</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse3.html#x10-290005.1">Scope</a></span>
+href="etrice-docse13.html#x20-640005.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse4.html#x11-300005.2">Create a new model from scratch</a></span>
+href="etrice-docse14.html#x21-650005.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse5.html#x12-310005.3">Create a state machine</a></span>
+href="etrice-docse15.html#x22-660005.3">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse6.html#x13-320005.4">Build and run the model</a></span>
+href="etrice-docse16.html#x23-670005.4">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse7.html#x14-330005.5">Open the Message Sequence Chart</a></span>
+href="etrice-docse17.html#x24-680005.5">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse8.html#x15-340005.6">Summary</a></span>
+href="etrice-docse18.html#x25-690005.6">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.7 <a
+href="etrice-docse19.html#x26-700005.7">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.8 <a
+href="etrice-docse20.html#x27-710005.8">Summary</a></span>
</div>
+
+
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse3.html" >next</a>] [<a
-href="etrice-docch4.html" >prev</a>] [<a
-href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
+href="etrice-docse13.html" >next</a>] [<a
+href="etrice-docse12.html" >prev</a>] [<a
+href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
href="etrice-docch5.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch5.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
index c99b4ce..43cd41f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch6.html
@@ -4,55 +4,49 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>6 Tutorial Blinky (Java)</title>
+<head><title>6 Tutorial Remove C-Comment ( C )</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse9.html" >next</a>] [<a
-href="etrice-docse8.html" >prev</a>] [<a
-href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
+href="etrice-docse21.html" >next</a>] [<a
+href="etrice-docse20.html" >prev</a>] [<a
+href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
href="#tailetrice-docch6.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
- id="x16-350006"></a>Tutorial Blinky (Java)</h2>
+ id="x28-720006"></a>Tutorial Remove C-Comment ( C )</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse9.html#x17-360006.1">Scope</a></span>
+href="etrice-docse21.html#x29-730006.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse10.html#x18-370006.2">Create a new model from scratch</a></span>
+href="etrice-docse22.html#x30-740006.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse11.html#x19-380006.3">Add two additional actor classes</a></span>
+href="etrice-docse23.html#x31-750006.3">Create your own data type</a></span>
<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse12.html#x20-390006.4">Create a new protocol</a></span>
+href="etrice-docse24.html#x32-760006.4">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse13.html#x21-400006.5">Import the Timing Service</a></span>
+href="etrice-docse25.html#x33-770006.5">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse14.html#x22-410006.6">Finish the model structure</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.7 <a
-href="etrice-docse15.html#x23-420006.7">Implement the Behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.8 <a
-href="etrice-docse16.html#x24-430006.8">Summary</a></span>
+href="etrice-docse26.html#x34-780006.6">Summary</a></span>
</div>
-
-
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse9.html" >next</a>] [<a
-href="etrice-docse8.html" >prev</a>] [<a
-href="etrice-docse8.html#tailetrice-docse8.html" >prev-tail</a>] [<a
+href="etrice-docse21.html" >next</a>] [<a
+href="etrice-docse20.html" >prev</a>] [<a
+href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
href="etrice-docch6.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch6.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
index 31cc02f..a26ba03 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch7.html
@@ -4,64 +4,93 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>7 Tutorial Sending Data (Java)</title>
+<head><title>7 ROOM Concepts</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse17.html" >next</a>] [<a
-href="etrice-docse16.html" >prev</a>] [<a
-href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
+href="etrice-docse27.html" >next</a>] [<a
+href="etrice-docse26.html" >prev</a>] [<a
+href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
href="#tailetrice-docch7.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
- id="x25-440007"></a>Tutorial Sending Data (Java)</h2>
+ id="x35-790007"></a>ROOM Concepts</h2>
+<!--l. 4--><p class="noindent" >This chapter gives an overview over the ROOM language elements and their textual and graphical
+notation. The formal ROOM grammar based on Xtext (EBNF) you can find in the eTrice repository:
+<a
+href="http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext" class="url" ><span
+class="ec-lmtt-10">http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/plain/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/Room.xtext</span></a>
+</p>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse17.html#x26-450007.1">Scope</a></span>
+href="etrice-docse27.html#x36-800007.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
+href="etrice-docse27.html#x36-810007.1.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
+href="etrice-docse27.html#x36-820007.1.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
+href="etrice-docse27.html#x36-830007.1.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
+href="etrice-docse27.html#x36-840007.1.4">Details</a></span>
<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse18.html#x27-460007.2">Create a new model from scratch</a></span>
+href="etrice-docse28.html#x37-880007.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
+href="etrice-docse28.html#x37-890007.2.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
+href="etrice-docse28.html#x37-900007.2.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
+href="etrice-docse28.html#x37-910007.2.3">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse19.html#x28-470007.3">Add a data class</a></span>
+href="etrice-docse29.html#x38-920007.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
+href="etrice-docse29.html#x38-930007.3.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
+href="etrice-docse29.html#x38-940007.3.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
+href="etrice-docse29.html#x38-950007.3.3">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse20.html#x29-480007.4">Create a new protocol</a></span>
+href="etrice-docse30.html#x39-980007.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.1 <a
+href="etrice-docse30.html#x39-990007.4.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.2 <a
+href="etrice-docse30.html#x39-1000007.4.2">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse21.html#x30-490007.5">Create MrPing and MrPong Actors</a></span>
+href="etrice-docse31.html#x40-1010007.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.1 <a
+href="etrice-docse31.html#x40-1020007.5.1">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.2 <a
+href="etrice-docse31.html#x40-1030007.5.2">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse22.html#x31-500007.6">Define Actor Structure and Behavior</a></span>
+href="etrice-docse32.html#x41-1040007.6">Finite State Machines</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.1 <a
-href="etrice-docse22.html#x31-510007.6.1">Define MrPongs behavior</a></span>
+href="etrice-docse32.html#x41-1050007.6.1">Description</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.2 <a
-href="etrice-docse22.html#x31-520007.6.2">Define MrPing behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.7 <a
-href="etrice-docse23.html#x32-530007.7">Define the top level</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.8 <a
-href="etrice-docse24.html#x33-540007.8">Generate and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.9 <a
-href="etrice-docse25.html#x34-550007.9">Summary</a></span>
+href="etrice-docse32.html#x41-1060007.6.2">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.3 <a
+href="etrice-docse32.html#x41-1070007.6.3">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.4 <a
+href="etrice-docse32.html#x41-1100007.6.4">Examples</a></span>
</div>
-
-
-
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse17.html" >next</a>] [<a
-href="etrice-docse16.html" >prev</a>] [<a
-href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse27.html" >next</a>] [<a
+href="etrice-docse26.html" >prev</a>] [<a
+href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
href="etrice-docch7.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch7.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+<!--l. 57--><p class="noindent" ><a
id="tailetrice-docch7.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
index 431b45b..515996e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch8.html
@@ -4,40 +4,59 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>8 Tutorial Pedestrian Lights (Java)</title>
+<head><title>8 eTrice Features</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse26.html" >next</a>] [<a
-href="etrice-docse25.html" >prev</a>] [<a
-href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse33.html" >next</a>] [<a
+href="etrice-docse32.html" >prev</a>] [<a
+href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
href="#tailetrice-docch8.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
- id="x35-560008"></a>Tutorial Pedestrian Lights (Java)</h2>
+ id="x42-1110008"></a>eTrice Features</h2>
+
+
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse26.html#x36-570008.1">Scope</a></span>
+href="etrice-docse33.html#x43-1120008.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.1 <a
+href="etrice-docse33.html#x43-1130008.1.1">Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.2 <a
+href="etrice-docse33.html#x43-1140008.1.2">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.3 <a
+href="etrice-docse33.html#x43-1150008.1.3">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.4 <a
+href="etrice-docse33.html#x43-1160008.1.4">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.5 <a
+href="etrice-docse33.html#x43-1210008.1.5">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.6 <a
+href="etrice-docse33.html#x43-1240008.1.6">Further References</a></span>
<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse27.html#x37-580008.2">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.3 <a
-href="etrice-docse28.html#x38-590008.3">Why does it work and why is it safe?</a></span>
+href="etrice-docse34.html#x44-1250008.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
+href="etrice-docse34.html#x44-1260008.2.1">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
+href="etrice-docse34.html#x44-1270008.2.2">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
+href="etrice-docse34.html#x44-1280008.2.3">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
+href="etrice-docse34.html#x44-1290008.2.4">The Mapping Model</a></span>
</div>
-
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse26.html" >next</a>] [<a
-href="etrice-docse25.html" >prev</a>] [<a
-href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
+href="etrice-docse33.html" >next</a>] [<a
+href="etrice-docse32.html" >prev</a>] [<a
+href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
href="etrice-docch8.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch8.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
index c444c0b..4d4f164 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docch9.html
@@ -4,62 +4,53 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>9 Setting up the Workspace for C Projects</title>
+<head><title>9 eTrice Tool Developer&#8217;s Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse29.html" >next</a>] [<a
-href="etrice-docse28.html" >prev</a>] [<a
-href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
+href="etrice-docse35.html" >next</a>] [<a
+href="etrice-docse34.html" >prev</a>] [<a
+href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
href="#tailetrice-docch9.html">tail</a>] [<a
href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
- id="x39-600009"></a>Setting up the Workspace for C Projects</h2>
-<!--l. 3--><p class="noindent" >Before you can start with C, some preconditions must be fulfilled:
- </p><dl class="description"><dt class="description">
- </dt><dd
-class="description">A C compiler must be installed on your machine (all tests and tutorials are based on MinGW)
- </dd><dt class="description">
- </dt><dd
-class="description">The CDT-Eclipse plugin must be installed as the C development environment.</dd></dl>
-<!--l. 10--><p class="noindent" >Once the CDT is installed, the C runtime and model library must be imported. (<span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;Project-&#x003E;</span><span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span>
-select <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C runtime </span>/ <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C modellib</span>)
-</p><!--l. 13--><p class="noindent" >The resulting workspace should look like this:
-</p><!--l. 15--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC01.png" alt="PIC"
- />
-</p>
+ id="x45-1300009"></a>eTrice Tool Developer&#8217;s Reference</h2>
<div class="sectionTOCS">
&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse29.html#x40-610009.1">Testing the environment</a></span>
+href="etrice-docse35.html#x46-1310009.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
+href="etrice-docse35.html#x46-1320009.1.1">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
+href="etrice-docse35.html#x46-1330009.1.2">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
+href="etrice-docse35.html#x46-1340009.1.3">Unit Tests</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse30.html#x41-620009.2">Building the C runtime system</a></span>
+href="etrice-docse36.html#x47-1350009.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.1 <a
+href="etrice-docse36.html#x47-1360009.2.1">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.2 <a
+href="etrice-docse36.html#x47-1420009.2.2">Config Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.3 <a
+href="etrice-docse36.html#x47-1460009.2.3">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.4 <a
+href="etrice-docse36.html#x47-1500009.2.4">Generator Overview</a></span>
</div>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse29.html" >next</a>] [<a
-href="etrice-docse28.html" >prev</a>] [<a
-href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
+<!--l. 67--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse35.html" >next</a>] [<a
+href="etrice-docse34.html" >prev</a>] [<a
+href="etrice-docse34.html#tailetrice-docse34.html" >prev-tail</a>] [<a
href="etrice-docch9.html" >front</a>] [<a
href="etrice-doc.html#etrice-docch9.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+<!--l. 67--><p class="noindent" ><a
id="tailetrice-docch9.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
index 915a31e..8e50f12 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docli1.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docli1.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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -25,8 +25,6 @@ href="etrice-doc.html#etrice-docli1.html" >up</a>] </p></div>
<div class="tableofcontents">
<span class="chapterToc" >1 <a
href="etrice-docch1.html#x3-20001">Introduction</a></span>
-
-
<br />&#x00A0;<span class="sectionToc" >1.1 <a
href="etrice-docse1.html#x4-30001.1">eTrice Overview</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >1.1.1 <a
@@ -43,212 +41,214 @@ href="etrice-docse2.html#x5-130001.2.2" id="QQ2-5-13">Basic Concepts</a></span>
href="etrice-docse2.html#x5-180001.2.3" id="QQ2-5-19">Execution Models</a></span>
<br /><span class="chapterToc" >2 <a
href="etrice-docch2.html#x6-250002">Tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.1 <a
+href="etrice-docse3.html#x7-260002.1">Working with the tutorials</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.2 <a
+href="etrice-docse4.html#x8-270002.2">Setting up the Workspace for Java Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.3 <a
+href="etrice-docse5.html#x9-280002.3">Tutorial HelloWorld for Java</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.1 <a
+href="etrice-docse5.html#x9-290002.3.1" id="QQ2-9-30">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.2 <a
+href="etrice-docse5.html#x9-300002.3.2" id="QQ2-9-31">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.3 <a
+href="etrice-docse5.html#x9-310002.3.3" id="QQ2-9-32">Create a state machine</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.4 <a
+href="etrice-docse5.html#x9-320002.3.4" id="QQ2-9-33">Build and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.5 <a
+href="etrice-docse5.html#x9-330002.3.5" id="QQ2-9-34">Open the Message Sequence Chart</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.3.6 <a
+href="etrice-docse5.html#x9-340002.3.6" id="QQ2-9-35">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.4 <a
+href="etrice-docse6.html#x10-350002.4">Tutorial Blinky (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.1 <a
+href="etrice-docse6.html#x10-360002.4.1" id="QQ2-10-37">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.2 <a
+href="etrice-docse6.html#x10-370002.4.2" id="QQ2-10-38">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.3 <a
+href="etrice-docse6.html#x10-380002.4.3" id="QQ2-10-39">Add two additional actor classes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.4 <a
+href="etrice-docse6.html#x10-390002.4.4" id="QQ2-10-40">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.5 <a
+href="etrice-docse6.html#x10-400002.4.5" id="QQ2-10-41">Import the Timing Service</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.6 <a
+href="etrice-docse6.html#x10-410002.4.6" id="QQ2-10-42">Finish the model structure</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.7 <a
+href="etrice-docse6.html#x10-420002.4.7" id="QQ2-10-43">Implement the Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.4.8 <a
+href="etrice-docse6.html#x10-430002.4.8" id="QQ2-10-44">Summary</a></span>
+<br />&#x00A0;<span class="sectionToc" >2.5 <a
+href="etrice-docse7.html#x11-440002.5">Tutorial Sending Data (Java)</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.1 <a
+href="etrice-docse7.html#x11-450002.5.1" id="QQ2-11-46">Scope</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.2 <a
+href="etrice-docse7.html#x11-460002.5.2" id="QQ2-11-47">Create a new model from scratch</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.3 <a
+href="etrice-docse7.html#x11-470002.5.3" id="QQ2-11-48">Add a data class</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.4 <a
+href="etrice-docse7.html#x11-480002.5.4" id="QQ2-11-49">Create a new protocol</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.5 <a
+href="etrice-docse7.html#x11-490002.5.5" id="QQ2-11-50">Create MrPing and MrPong Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.6 <a
+href="etrice-docse7.html#x11-500002.5.6" id="QQ2-11-51">Define Actor Structure and Behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.7 <a
+href="etrice-docse7.html#x11-510002.5.7" id="QQ2-11-52">Define MrPongs behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.8 <a
+href="etrice-docse7.html#x11-520002.5.8" id="QQ2-11-53">Define MrPing behavior</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.9 <a
+href="etrice-docse7.html#x11-530002.5.9" id="QQ2-11-54">Define the top level</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.10 <a
+href="etrice-docse7.html#x11-540002.5.10" id="QQ2-11-55">Generate and run the model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >2.5.11 <a
+href="etrice-docse7.html#x11-550002.5.11" id="QQ2-11-56">Summary</a></span>
<br /><span class="chapterToc" >3 <a
-href="etrice-docch3.html#x7-260003">Working with the eTrice Tutorials</a></span>
+href="etrice-docch3.html#x12-560003">Tutorial Pedestrian Lights (Java)</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.1 <a
+href="etrice-docse8.html#x13-570003.1">Scope</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.2 <a
+href="etrice-docse9.html#x14-580003.2">Setup the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >3.3 <a
+href="etrice-docse10.html#x15-590003.3">Why does it work and why is it safe?</a></span>
<br /><span class="chapterToc" >4 <a
-href="etrice-docch4.html#x8-270004">Setting up the Workspace for Java Projects</a></span>
+href="etrice-docch4.html#x16-600004">Setting up the Workspace for C Projects</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.1 <a
+href="etrice-docse11.html#x17-610004.1">Testing the environment</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.2 <a
+href="etrice-docse12.html#x18-620004.2">Building the C runtime system</a></span>
<br /><span class="chapterToc" >5 <a
-href="etrice-docch5.html#x9-280005">Tutorial HelloWorld for Java</a></span>
+href="etrice-docch5.html#x19-630005">Tutorial HelloWorld for C</a></span>
<br />&#x00A0;<span class="sectionToc" >5.1 <a
-href="etrice-docse3.html#x10-290005.1">Scope</a></span>
+href="etrice-docse13.html#x20-640005.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="etrice-docse4.html#x11-300005.2">Create a new model from scratch</a></span>
+href="etrice-docse14.html#x21-650005.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="etrice-docse5.html#x12-310005.3">Create a state machine</a></span>
+href="etrice-docse15.html#x22-660005.3">Create the HelloWorld model</a></span>
<br />&#x00A0;<span class="sectionToc" >5.4 <a
-href="etrice-docse6.html#x13-320005.4">Build and run the model</a></span>
+href="etrice-docse16.html#x23-670005.4">Create a launch configuration to start the C code generator</a></span>
<br />&#x00A0;<span class="sectionToc" >5.5 <a
-href="etrice-docse7.html#x14-330005.5">Open the Message Sequence Chart</a></span>
+href="etrice-docse17.html#x24-680005.5">Generate the code</a></span>
<br />&#x00A0;<span class="sectionToc" >5.6 <a
-href="etrice-docse8.html#x15-340005.6">Summary</a></span>
+href="etrice-docse18.html#x25-690005.6">Setup the include path</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.7 <a
+href="etrice-docse19.html#x26-700005.7">Build and run the model</a></span>
+<br />&#x00A0;<span class="sectionToc" >5.8 <a
+href="etrice-docse20.html#x27-710005.8">Summary</a></span>
<br /><span class="chapterToc" >6 <a
-href="etrice-docch6.html#x16-350006">Tutorial Blinky (Java)</a></span>
+href="etrice-docch6.html#x28-720006">Tutorial Remove C-Comment ( C )</a></span>
<br />&#x00A0;<span class="sectionToc" >6.1 <a
-href="etrice-docse9.html#x17-360006.1">Scope</a></span>
+href="etrice-docse21.html#x29-730006.1">Scope</a></span>
<br />&#x00A0;<span class="sectionToc" >6.2 <a
-href="etrice-docse10.html#x18-370006.2">Create a new model from scratch</a></span>
+href="etrice-docse22.html#x30-740006.2">Create a new model from scratch</a></span>
<br />&#x00A0;<span class="sectionToc" >6.3 <a
-href="etrice-docse11.html#x19-380006.3">Add two additional actor classes</a></span>
+href="etrice-docse23.html#x31-750006.3">Create your own data type</a></span>
<br />&#x00A0;<span class="sectionToc" >6.4 <a
-href="etrice-docse12.html#x20-390006.4">Create a new protocol</a></span>
+href="etrice-docse24.html#x32-760006.4">Create the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.5 <a
-href="etrice-docse13.html#x21-400006.5">Import the Timing Service</a></span>
+href="etrice-docse25.html#x33-770006.5">Generate, build and run the model</a></span>
<br />&#x00A0;<span class="sectionToc" >6.6 <a
-href="etrice-docse14.html#x22-410006.6">Finish the model structure</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.7 <a
-href="etrice-docse15.html#x23-420006.7">Implement the Behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >6.8 <a
-href="etrice-docse16.html#x24-430006.8">Summary</a></span>
+href="etrice-docse26.html#x34-780006.6">Summary</a></span>
<br /><span class="chapterToc" >7 <a
-href="etrice-docch7.html#x25-440007">Tutorial Sending Data (Java)</a></span>
+href="etrice-docch7.html#x35-790007">ROOM Concepts</a></span>
<br />&#x00A0;<span class="sectionToc" >7.1 <a
-href="etrice-docse17.html#x26-450007.1">Scope</a></span>
+href="etrice-docse27.html#x36-800007.1">Actors</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.1 <a
+href="etrice-docse27.html#x36-810007.1.1" id="QQ2-36-82">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.2 <a
+href="etrice-docse27.html#x36-820007.1.2" id="QQ2-36-83">Motivation</a></span>
+
+
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.3 <a
+href="etrice-docse27.html#x36-830007.1.3" id="QQ2-36-84">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.1.4 <a
+href="etrice-docse27.html#x36-840007.1.4" id="QQ2-36-86">Details</a></span>
<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="etrice-docse18.html#x27-460007.2">Create a new model from scratch</a></span>
+href="etrice-docse28.html#x37-880007.2">Protocols</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.1 <a
+href="etrice-docse28.html#x37-890007.2.1" id="QQ2-37-92">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.2 <a
+href="etrice-docse28.html#x37-900007.2.2" id="QQ2-37-93">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.2.3 <a
+href="etrice-docse28.html#x37-910007.2.3" id="QQ2-37-94">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="etrice-docse19.html#x28-470007.3">Add a data class</a></span>
+href="etrice-docse29.html#x38-920007.3">Ports</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
+href="etrice-docse29.html#x38-930007.3.1" id="QQ2-38-96">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
+href="etrice-docse29.html#x38-940007.3.2" id="QQ2-38-97">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
+href="etrice-docse29.html#x38-950007.3.3" id="QQ2-38-98">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="etrice-docse20.html#x29-480007.4">Create a new protocol</a></span>
+href="etrice-docse30.html#x39-980007.4">DataClass</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.1 <a
+href="etrice-docse30.html#x39-990007.4.1" id="QQ2-39-104">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.4.2 <a
+href="etrice-docse30.html#x39-1000007.4.2" id="QQ2-39-105">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.5 <a
-href="etrice-docse21.html#x30-490007.5">Create MrPing and MrPong Actors</a></span>
+href="etrice-docse31.html#x40-1010007.5">Layering</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.1 <a
+href="etrice-docse31.html#x40-1020007.5.1" id="QQ2-40-107">Description</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.5.2 <a
+href="etrice-docse31.html#x40-1030007.5.2" id="QQ2-40-108">Notation</a></span>
<br />&#x00A0;<span class="sectionToc" >7.6 <a
-href="etrice-docse22.html#x31-500007.6">Define Actor Structure and Behavior</a></span>
+href="etrice-docse32.html#x41-1040007.6">Finite State Machines</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.1 <a
-href="etrice-docse22.html#x31-510007.6.1" id="QQ2-31-52">Define MrPongs behavior</a></span>
+href="etrice-docse32.html#x41-1050007.6.1" id="QQ2-41-111">Description</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.2 <a
-href="etrice-docse22.html#x31-520007.6.2" id="QQ2-31-53">Define MrPing behavior</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.7 <a
-href="etrice-docse23.html#x32-530007.7">Define the top level</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.8 <a
-href="etrice-docse24.html#x33-540007.8">Generate and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >7.9 <a
-href="etrice-docse25.html#x34-550007.9">Summary</a></span>
+href="etrice-docse32.html#x41-1060007.6.2" id="QQ2-41-112">Motivation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.3 <a
+href="etrice-docse32.html#x41-1070007.6.3" id="QQ2-41-113">Notation</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.6.4 <a
+href="etrice-docse32.html#x41-1100007.6.4" id="QQ2-41-118">Examples</a></span>
<br /><span class="chapterToc" >8 <a
-href="etrice-docch8.html#x35-560008">Tutorial Pedestrian Lights (Java)</a></span>
+href="etrice-docch8.html#x42-1110008">eTrice Features</a></span>
<br />&#x00A0;<span class="sectionToc" >8.1 <a
-href="etrice-docse26.html#x36-570008.1">Scope</a></span>
+href="etrice-docse33.html#x43-1120008.1">Automatic Diagram Layout with KIELER</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.1 <a
+href="etrice-docse33.html#x43-1130008.1.1" id="QQ2-43-125">Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.2 <a
+href="etrice-docse33.html#x43-1140008.1.2" id="QQ2-43-126">Performing Automatic Layout</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.3 <a
+href="etrice-docse33.html#x43-1150008.1.3" id="QQ2-43-127">Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.4 <a
+href="etrice-docse33.html#x43-1160008.1.4" id="QQ2-43-129">Configuring Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.5 <a
+href="etrice-docse33.html#x43-1210008.1.5" id="QQ2-43-137">Special Layout Options</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.1.6 <a
+href="etrice-docse33.html#x43-1240008.1.6" id="QQ2-43-140">Further References</a></span>
<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="etrice-docse27.html#x37-580008.2">Setup the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >8.3 <a
-href="etrice-docse28.html#x38-590008.3">Why does it work and why is it safe?</a></span>
-
-
+href="etrice-docse34.html#x44-1250008.2">eTrice Models and Their Relations</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
+href="etrice-docse34.html#x44-1260008.2.1" id="QQ2-44-142">The ROOM Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
+href="etrice-docse34.html#x44-1270008.2.2" id="QQ2-44-145">The Config Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
+href="etrice-docse34.html#x44-1280008.2.3" id="QQ2-44-147">The Physical Model</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
+href="etrice-docse34.html#x44-1290008.2.4" id="QQ2-44-150">The Mapping Model</a></span>
<br /><span class="chapterToc" >9 <a
-href="etrice-docch9.html#x39-600009">Setting up the Workspace for C Projects</a></span>
+href="etrice-docch9.html#x45-1300009">eTrice Tool Developer&#8217;s Reference</a></span>
<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="etrice-docse29.html#x40-610009.1">Testing the environment</a></span>
+href="etrice-docse35.html#x46-1310009.1">Architecture</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
+href="etrice-docse35.html#x46-1320009.1.1" id="QQ2-46-154">Editor and Generator Components</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
+href="etrice-docse35.html#x46-1330009.1.2" id="QQ2-46-155">Runtimes</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
+href="etrice-docse35.html#x46-1340009.1.3" id="QQ2-46-156">Unit Tests</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="etrice-docse30.html#x41-620009.2">Building the C runtime system</a></span>
-<br /><span class="chapterToc" >10 <a
-href="etrice-docch10.html#x42-6300010">Tutorial HelloWorld for C</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.1 <a
-href="etrice-docse31.html#x43-6400010.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="etrice-docse32.html#x44-6500010.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="etrice-docse33.html#x45-6600010.3">Create the HelloWorld model</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.4 <a
-href="etrice-docse34.html#x46-6700010.4">Create a launch configuration to start the C code generator</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.5 <a
-href="etrice-docse35.html#x47-6800010.5">Generate the code</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.6 <a
-href="etrice-docse36.html#x48-6900010.6">Setup the include path</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.7 <a
-href="etrice-docse37.html#x49-7000010.7">Build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >10.8 <a
-href="etrice-docse38.html#x50-7100010.8">Summary</a></span>
-<br /><span class="chapterToc" >11 <a
-href="etrice-docch11.html#x51-7200011">Tutorial Remove C-Comment ( C )</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.1 <a
-href="etrice-docse39.html#x52-7300011.1">Scope</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="etrice-docse40.html#x53-7400011.2">Create a new model from scratch</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="etrice-docse41.html#x54-7500011.3">Create your own data type</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="etrice-docse42.html#x55-7600011.4">Create the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.5 <a
-href="etrice-docse43.html#x56-7700011.5">Generate, build and run the model</a></span>
-<br />&#x00A0;<span class="sectionToc" >11.6 <a
-href="etrice-docse44.html#x57-7800011.6">Summary</a></span>
-<br /><span class="chapterToc" >12 <a
-href="etrice-docch12.html#x58-7900012">ROOM Concepts</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.1 <a
-href="etrice-docse45.html#x59-8000012.1">Actors</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.1 <a
-href="etrice-docse45.html#x59-8100012.1.1" id="QQ2-59-82">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.2 <a
-href="etrice-docse45.html#x59-8200012.1.2" id="QQ2-59-83">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.3 <a
-href="etrice-docse45.html#x59-8300012.1.3" id="QQ2-59-84">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.1.4 <a
-href="etrice-docse45.html#x59-8400012.1.4" id="QQ2-59-86">Details</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.2 <a
-href="etrice-docse46.html#x60-8800012.2">Protocols</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.1 <a
-href="etrice-docse46.html#x60-8900012.2.1" id="QQ2-60-92">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.2 <a
-href="etrice-docse46.html#x60-9000012.2.2" id="QQ2-60-93">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.3 <a
-href="etrice-docse46.html#x60-9100012.2.3" id="QQ2-60-94">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.3 <a
-href="etrice-docse47.html#x61-9200012.3">Ports</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.1 <a
-href="etrice-docse47.html#x61-9300012.3.1" id="QQ2-61-96">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.2 <a
-href="etrice-docse47.html#x61-9400012.3.2" id="QQ2-61-97">Motivation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.3 <a
-href="etrice-docse47.html#x61-9500012.3.3" id="QQ2-61-98">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.4 <a
-href="etrice-docse48.html#x62-9800012.4">DataClass</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.1 <a
-href="etrice-docse48.html#x62-9900012.4.1" id="QQ2-62-104">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.2 <a
-href="etrice-docse48.html#x62-10000012.4.2" id="QQ2-62-105">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.5 <a
-href="etrice-docse49.html#x63-10100012.5">Layering</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.1 <a
-href="etrice-docse49.html#x63-10200012.5.1" id="QQ2-63-107">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.5.2 <a
-href="etrice-docse49.html#x63-10300012.5.2" id="QQ2-63-108">Notation</a></span>
-<br />&#x00A0;<span class="sectionToc" >12.6 <a
-href="etrice-docse50.html#x64-10400012.6">Finite State Machines</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.1 <a
-href="etrice-docse50.html#x64-10500012.6.1" id="QQ2-64-111">Description</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.2 <a
-href="etrice-docse50.html#x64-10600012.6.2" id="QQ2-64-112">Motivation</a></span>
+href="etrice-docse36.html#x47-1350009.2">Component Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.1 <a
+href="etrice-docse36.html#x47-1360009.2.1" id="QQ2-47-158">Room Language Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.2 <a
+href="etrice-docse36.html#x47-1420009.2.2" id="QQ2-47-164">Config Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.3 <a
-href="etrice-docse50.html#x64-10700012.6.3" id="QQ2-64-113">Notation</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.6.4 <a
-href="etrice-docse50.html#x64-11000012.6.4" id="QQ2-64-118">Examples</a></span>
-<br /><span class="chapterToc" >13 <a
-href="etrice-docch13.html#x65-11100013">eTrice Features</a></span>
-<br />&#x00A0;<span class="sectionToc" >13.1 <a
-href="etrice-docse51.html#x66-11200013.1">Automatic Diagram Layout with KIELER</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.1 <a
-href="etrice-docse51.html#x66-11300013.1.1" id="QQ2-66-125">Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.2 <a
-href="etrice-docse51.html#x66-11400013.1.2" id="QQ2-66-126">Performing Automatic Layout</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.3 <a
-href="etrice-docse51.html#x66-11500013.1.3" id="QQ2-66-127">Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.4 <a
-href="etrice-docse51.html#x66-11600013.1.4" id="QQ2-66-129">Configuring Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.5 <a
-href="etrice-docse51.html#x66-12100013.1.5" id="QQ2-66-137">Special Layout Options</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.1.6 <a
-href="etrice-docse51.html#x66-12400013.1.6" id="QQ2-66-140">Further References</a></span>
-<br />&#x00A0;<span class="sectionToc" >13.2 <a
-href="etrice-docse52.html#x67-12500013.2">eTrice Models and Their Relations</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.2.1 <a
-href="etrice-docse52.html#x67-12600013.2.1" id="QQ2-67-142">The ROOM Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.2.2 <a
-href="etrice-docse52.html#x67-12700013.2.2" id="QQ2-67-145">The Config Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.2.3 <a
-href="etrice-docse52.html#x67-12800013.2.3" id="QQ2-67-147">The Physical Model</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >13.2.4 <a
-href="etrice-docse52.html#x67-12900013.2.4" id="QQ2-67-150">The Mapping Model</a></span>
-<br /><span class="chapterToc" >14 <a
-href="etrice-docch14.html#x68-13000014">eTrice Tool Developer&#8217;s Reference</a></span>
-<br />&#x00A0;<span class="sectionToc" >14.1 <a
-href="etrice-docse53.html#x69-13100014.1">Architecture</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.1 <a
-href="etrice-docse53.html#x69-13200014.1.1" id="QQ2-69-154">Editor and Generator Components</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.2 <a
-href="etrice-docse53.html#x69-13300014.1.2" id="QQ2-69-155">Runtimes</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.1.3 <a
-href="etrice-docse53.html#x69-13400014.1.3" id="QQ2-69-156">Unit Tests</a></span>
-<br />&#x00A0;<span class="sectionToc" >14.2 <a
-href="etrice-docse54.html#x70-13500014.2">Component Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.2.1 <a
-href="etrice-docse54.html#x70-13600014.2.1" id="QQ2-70-158">Room Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.2.2 <a
-href="etrice-docse54.html#x70-14200014.2.2" id="QQ2-70-164">Config Language Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.2.3 <a
-href="etrice-docse54.html#x70-14600014.2.3" id="QQ2-70-168">Aggregation Layer Overview</a></span>
-<br />&#x00A0;&#x00A0;<span class="subsectionToc" >14.2.4 <a
-href="etrice-docse54.html#x70-15000014.2.4" id="QQ2-70-172">Generator Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.3 <a
+href="etrice-docse36.html#x47-1460009.2.3" id="QQ2-47-168">Aggregation Layer Overview</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.2.4 <a
+href="etrice-docse36.html#x47-1500009.2.4" id="QQ2-47-172">Generator Overview</a></span>
</div>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse1.html
index 364ca47..b88f2a9 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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
index 5c03dad..a478cf3 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse10.html
@@ -4,67 +4,62 @@
<!--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>Why does it work and why is it safe?</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 39--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse11.html" >next</a>] [<a
+<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch4.html" >next</a>] [<a
href="etrice-docse9.html" >prev</a>] [<a
href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
href="#tailetrice-docse10.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse10.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
- id="x18-370006.2"></a>Create a new model from scratch</h3>
-<!--l. 41--><p class="noindent" >Remember the exercise <span
-class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
-class="ec-lmsso-10">Blinky</span>.
-</p><!--l. 44--><p class="noindent" >To use the GUI please copy the package <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>from <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials/src</span>
-to your <span
-class="ec-lmsso-10">src </span>directory <span
-class="ec-lmsso-10">Blinky/src</span>. For this tutorial you must remove the error markers by editing the file
+href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">3.3 </span> <a
+ id="x15-590003.3"></a>Why does it work and why is it safe?</h3>
+<!--l. 99--><p class="noindent" >The tutorial shows that it is generally possible to use every port from outside the model as long as the port
+knows its peer. This is guaranteed by describing protocol and the complete structure (especially the bindings)
+within the model. The only remaining question is: Why is it safe and does not violate the <span
+class="ec-lmssbx-10">run to</span>
<span
-class="ec-lmsso-10">PedestrianLightWndNoTcp.java</span>. Appropriate comments are provided to remove the error markers for this
-turorial.
-</p><!--l. 49--><p class="noindent" >Open the <span
-class="ec-lmsso-10">Blinky.room </span>file and copy the following code into the file or use content assist to create the
-model.
+class="ec-lmssbx-10">completion </span>semantic. To answer this question, take a look at the <span
+class="ec-lmsso-10">MessageService.java </span>from the
+runtime environment. There you will find the receive method which puts each message into the
+queue.
</p>
-<div class="verbatim" id="verbatim-3">
-RoomModel&#x00A0;Blinky&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem&#x00A0;:&#x00A0;SubSystem_Blinky
+<div class="verbatim" id="verbatim-18">
+&#x00A0;&#x00A0;&#x00A0;&#x00A0;@Override
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;public&#x00A0;synchronized&#x00A0;void&#x00A0;receive(Message&#x00A0;msg)&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;if&#x00A0;(msg!=null)&#x00A0;{
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;messageQueue.push(msg);
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;notifyAll();&#x00A0;//&#x00A0;wake&#x00A0;up&#x00A0;thread&#x00A0;to&#x00A0;compute&#x00A0;message
+&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SubSystem_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;application&#x00A0;:&#x00A0;BlinkyTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;BlinkyTop&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
</div>
-<!--l. 66--><p class="nopar" >
+<!--l. 114--><p class="nopar" >
+</p><!--l. 116--><p class="noindent" >This method is synchronized. That means, regardless who sends the message, the queue is secured. If we later
+on (e.g. for performance reasons in C/C++) distinguish between internal and external senders (same thread or
+not), care must be taken to use the external (secure) queue.
+
+
+
+
</p>
-<!--l. 68--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse11.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch4.html" >next</a>] [<a
href="etrice-docse9.html" >prev</a>] [<a
href="etrice-docse9.html#tailetrice-docse9.html" >prev-tail</a>] [<a
href="etrice-docse10.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse10.html" >up</a>] </p></div>
-<!--l. 68--><p class="noindent" ><a
+href="etrice-docch3.html#etrice-docse10.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse10.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
index 5c71c66..e930824 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse11.html
@@ -4,49 +4,68 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Add two additional actor classes</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 68--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse12.html" >next</a>] [<a
-href="etrice-docse10.html" >prev</a>] [<a
-href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
+href="etrice-docch4.html" >prev</a>] [<a
+href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
href="#tailetrice-docse11.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse11.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
- id="x19-380006.3"></a>Add two additional actor classes</h3>
-<!--l. 70--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
-context menu select <span
-class="ec-lmsso-10">Content Assist</span>
-</p><!--l. 73--><p class="noindent" ><img
-src="images/020-Blinky02.png" alt="PIC"
+href="etrice-docch4.html#etrice-docse11.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.1 </span> <a
+ id="x17-610004.1"></a>Testing the environment</h3>
+<!--l. 21--><p class="noindent" >To verify the C tool chain you should generate and run the Hello World example program of the CDT. Activate
+the <span
+class="ec-lmsso-10">C/C++ </span>perspective.
+</p><!--l. 24--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC03.png" alt="PIC"
/>
-</p><!--l. 76--><p class="noindent" >Select <span
-class="ec-lmsso-10">ActorClass - actor class skeleton </span>and name it <span
-class="ec-lmsso-10">Blinky</span>.
-</p><!--l. 78--><p class="noindent" ><img
-src="images/020-Blinky01.png" alt="PIC"
+</p><!--l. 27--><p class="noindent" >From the main menu select <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>.
+</p><!--l. 29--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC02.png" alt="PIC"
/>
-</p><!--l. 81--><p class="noindent" >Repeat the described procedure and name the new actor <span
-class="ec-lmsso-10">BlinkyController</span>.
-</p><!--l. 83--><p class="noindent" >With Ctrl+Shift+F you can beautify the model code.
-</p><!--l. 85--><p class="noindent" >Save the model and visit the outline view.
+</p><!--l. 32--><p class="noindent" >Name the project. Select an <span
+class="ec-lmsso-10">Executable-&#x003E;Hello World ANSI C </span>as project type, <span
+class="ec-lmsso-10">MinGW GCC </span>as tool chain and
+click <span
+class="ec-lmsso-10">Finish</span>.
+</p><!--l. 35--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC04.png" alt="PIC"
+ />
+</p><!--l. 38--><p class="noindent" >Select the new project and click the build button (or right click the project and select <span
+class="ec-lmsso-10">Build Project</span>)
+</p><!--l. 41--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC05.png" alt="PIC"
+ />
+</p><!--l. 44--><p class="noindent" >The binary should be generated. Run the binary as <span
+class="ec-lmsso-10">Local C/C++ Application</span>.
+</p><!--l. 46--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC06.png" alt="PIC"
+ />
+</p><!--l. 49--><p class="noindent" >Verify the output.
+</p><!--l. 51--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC07.png" alt="PIC"
+ />
+</p><!--l. 54--><p class="noindent" >Remember these steps. In the following Tutorials these steps will be referenced as <span
+class="ec-lmsso-10">build and run</span>.
</p>
-<!--l. 87--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse12.html" >next</a>] [<a
-href="etrice-docse10.html" >prev</a>] [<a
-href="etrice-docse10.html#tailetrice-docse10.html" >prev-tail</a>] [<a
+href="etrice-docch4.html" >prev</a>] [<a
+href="etrice-docch4.html#tailetrice-docch4.html" >prev-tail</a>] [<a
href="etrice-docse11.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse11.html" >up</a>] </p></div>
-<!--l. 87--><p class="noindent" ><a
+href="etrice-docch4.html#etrice-docse11.html" >up</a>] </p></div>
+<!--l. 57--><p class="noindent" ><a
id="tailetrice-docse11.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
index 2ea5234..b6eb879 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse12.html
@@ -4,49 +4,83 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Create a new protocol</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 87--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse13.html" >next</a>] [<a
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch5.html" >next</a>] [<a
href="etrice-docse11.html" >prev</a>] [<a
href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
href="#tailetrice-docse12.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse12.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.4 </span> <a
- id="x20-390006.4"></a>Create a new protocol</h3>
-<!--l. 89--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create a <span
-class="ec-lmsso-10">ProtocolClass </span>and name it <span
-class="ec-lmsso-10">BlinkyControlProtocol</span>. Inside the
-brackets use the <span
-class="ec-lmsso-10">Content Assist </span>(CTRL+Space) to create two incoming messages called <span
-class="ec-lmsso-10">start </span>and
+href="etrice-docch4.html#etrice-docse12.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">4.2 </span> <a
+ id="x18-620004.2"></a>Building the C runtime system</h3>
+<!--l. 59--><p class="noindent" >The C runtime system contains some basic functionalities to run the generated models. The so called runtime
+is common for all C projects. The requirements for several projects may differ depending on the functionality of
+the model or the resources of the different platforms. Therefore the runtime is configurable in terms of
+message queue size, frequency and memory alignment. The configuration file <span
+class="ec-lmsso-10">etRuntimeConfig.h </span>is located in
<span
-class="ec-lmsso-10">stop</span>.
-</p><!--l. 94--><p class="noindent" >The resulting code should look like this:
-</p><!--l. 96--><p class="noindent" ><img
-src="images/020-Blinky03.png" alt="PIC"
+class="ec-lmsso-10">src/config</span>.
+</p><!--l. 65--><p class="noindent" >After changing the configuration, the runtime must be built.
+</p><!--l. 67--><p class="noindent" >Open the properties of the <span
+class="ec-lmsso-10">org.eclipse.runtime.c </span>project and select <span
+class="ec-lmsso-10">C/C++ Build-&#x003E;Settings-&#x003E;Tool Settings</span>
+and select <span
+class="ec-lmsso-10">Includes</span>.
+</p><!--l. 70--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC08.png" alt="PIC"
/>
-</p><!--l. 99--><p class="noindent" >With Ctrl-Shift+F or selecting <span
-class="ec-lmsso-10">Format </span>from the context menu you can format the text. Note that all elements
-are displayed in the outline view.
+</p><!--l. 73--><p class="noindent" >Verify the include paths
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">src/config</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">src/common</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">src/platforms/generic</span></li></ul>
+<!--l. 81--><p class="noindent" >Within the Setting dialog select the tab <span
+class="ec-lmsso-10">Build Artefact </span>and select <span
+class="ec-lmsso-10">Static Library</span>
+</p><!--l. 83--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC09.png" alt="PIC"
+ />
+</p><!--l. 86--><p class="noindent" >Build the runtime by clicking
+</p><!--l. 88--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC10.png" alt="PIC"
+ />
+</p><!--l. 91--><p class="noindent" >The runtime library should be created.
+</p><!--l. 93--><p class="noindent" ><img
+src="images/032-SetupWorkspaceC11.png" alt="PIC"
+ />
+</p><!--l. 96--><p class="noindent" >For the tutorials one runtime library should be sufficient. For embedded projects it might be necessary to build
+project specific runtime libraries. In this case a separate project for the runtime should be created. Symbolic
+links to the sources might be used to avoid duplicate files. Just the configuration file must be duplicated. A
+specific library file must exist within the project. Such specific runtime libraries might be referenced from
+several applications.
+
+
+
+
</p>
-<!--l. 102--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse13.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch5.html" >next</a>] [<a
href="etrice-docse11.html" >prev</a>] [<a
href="etrice-docse11.html#tailetrice-docse11.html" >prev-tail</a>] [<a
href="etrice-docse12.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse12.html" >up</a>] </p></div>
-<!--l. 102--><p class="noindent" ><a
+href="etrice-docch4.html#etrice-docse12.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse12.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
index f728292..035db83 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse13.html
@@ -4,102 +4,59 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Import the Timing Service</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 102--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse14.html" >next</a>] [<a
-href="etrice-docse12.html" >prev</a>] [<a
-href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
+href="etrice-docch5.html" >prev</a>] [<a
+href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
href="#tailetrice-docse13.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse13.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
- id="x21-400006.5"></a>Import the Timing Service</h3>
-<!--l. 104--><p class="noindent" >Switching on and off the LED is timing controlled. The timing service is provided from the model library and
-must be imported before it can be used from the model.
-</p><!--l. 107--><p class="noindent" >This is the first time you use an element from the modellib. Make sure that your Java Build Path has the
-appropriate entry to the modellib. Otherwise the jave code, which will be generated from the modellib,
-can not be referenced. (right click to <span
-class="ec-lmsso-10">Blinky </span>and select properties. Select the <span
-class="ec-lmsso-10">Java Build Path</span>
-tab)
-</p><!--l. 112--><p class="noindent" ><img
-src="images/020-Blinky16.png" alt="PIC"
- />
-</p><!--l. 115--><p class="noindent" >After the build path is set up return to the model and navigate the cursor at the beginning of the model and
-import the timing service:
-
-
-</p>
-<div class="verbatim" id="verbatim-4">
-RoomModel&#x00A0;Blinky&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;import&#x00A0;room.basic.service.timing.*&#x00A0;from
-&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_Blinky&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem:&#x00A0;SubSystem\_Blinky
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-&#x00A0;<br />...
-</div>
-<!--l. 130--><p class="nopar" >
-</p><!--l. 133--><p class="noindent" >Make sure that the path fits to your folder structure. The original tutorial code is different due to the folder
-structure.
-</p><!--l. 136--><p class="noindent" >Now it can be used within the model. Right click to <span
-class="ec-lmssbx-10">SubSystem_Blinky </span>within the outline view.
-Select <span
-class="ec-lmsso-10">Edit Structure</span>. The <span
-class="ec-lmsso-10">application </span>is already referenced in the subsystem. Drag and Drop an
-<span
-class="ec-lmsso-10">ActorRef </span>to the <span
-class="ec-lmssbx-10">SubSystem_Blinky </span>and name it <span
-class="ec-lmsso-10">timingService</span>. From the actor class drop down list
-select <span
-class="ec-lmsso-10">room.basic.service.timing.ATimingService</span>. Draw a <span
-class="ec-lmsso-10">LayerConnection </span>from <span
-class="ec-lmsso-10">application </span>to
-each service provision point (SPP) of the <span
-class="ec-lmsso-10">timingService</span>. The resulting structure should look like
-this:
-</p><!--l. 143--><p class="noindent" ><img
-src="images/020-Blinky06.png" alt="PIC"
- />
-</p><!--l. 146--><p class="noindent" >The current version of eTrice does not provide a graphical element for a service access point
-(SAP). Therefore the SAPs to access the timing service must be added in the .room file. Open the
+href="etrice-docch5.html#etrice-docse13.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
+ id="x20-640005.1"></a>Scope</h3>
+<!--l. 5--><p class="noindent" >In this tutorial you will learn how to create a model for C from scratch. There are some more steps to do in C
+compared to Java. The goal is to get familiar with the additional steps. The Java tutorial is a prerequisite for
+the following explanations. You will perform the following steps:
+</p><!--l. 10--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x20-64002x1">create a new model from scratch for C
+ </li>
+ <li
+ class="enumerate" id="x20-64004x2">create structure and behavior similar to Java
+ </li>
+ <li
+ class="enumerate" id="x20-64006x3">create a launch configuration for the C code generator
+ </li>
+ <li
+ class="enumerate" id="x20-64008x4">setup the C environment
+ </li>
+ <li
+ class="enumerate" id="x20-64010x5">generate the source code
+ </li>
+ <li
+ class="enumerate" id="x20-64012x6">run the model</li></ol>
+<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ec-lmsso-10">Setting up the Workspace for C</span>
<span
-class="ec-lmsso-10">Blinky.room </span>file and navigate to the <span
-class="ec-lmsso-10">Blinky </span>actor. Add the following line to the structure of the
-actor:
-
-
-</p>
-<div class="verbatim" id="verbatim-5">
-SAP&#x00A0;timer:&#x00A0;room.basic.service.timing.PTimeout&#x00A0;
-</div>
-<!--l. 151--><p class="nopar" >
-</p><!--l. 153--><p class="noindent" >Do the same thing for <span
-class="ec-lmsso-10">BlinkyController</span>.
-</p><!--l. 155--><p class="noindent" >The resulting code should look like this:
-</p><!--l. 157--><p class="noindent" ><img
-src="images/020-Blinky07.png" alt="PIC"
- />
+class="ec-lmsso-10">Projects</span>.
</p>
-<!--l. 161--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse14.html" >next</a>] [<a
-href="etrice-docse12.html" >prev</a>] [<a
-href="etrice-docse12.html#tailetrice-docse12.html" >prev-tail</a>] [<a
+href="etrice-docch5.html" >prev</a>] [<a
+href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
href="etrice-docse13.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse13.html" >up</a>] </p></div>
-<!--l. 161--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse13.html" >up</a>] </p></div>
+<!--l. 23--><p class="noindent" ><a
id="tailetrice-docse13.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
index 68d6b4c..9f09d20 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse14.html
@@ -4,76 +4,80 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Finish the model structure</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 161--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse15.html" >next</a>] [<a
href="etrice-docse13.html" >prev</a>] [<a
href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
href="#tailetrice-docse14.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse14.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
- id="x22-410006.6"></a>Finish the model structure</h3>
-<!--l. 163--><p class="noindent" >From the outline view right click to <span
-class="ec-lmsso-10">Blinky </span>and select <span
-class="ec-lmsso-10">Edit Structure</span>. Drag and Drop an <span
-class="ec-lmsso-10">Interface Port </span>to the
-boarder of the <span
-class="ec-lmsso-10">Blinky </span>actor. Note that an interface port is not possible inside the actor. Name the port
+href="etrice-docch5.html#etrice-docse14.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
+ id="x21-650005.2"></a>Create a new model from scratch</h3>
+<!--l. 25--><p class="noindent" >Before you can create a new C-model, you have to create a new C project as described in <span
+class="ec-lmsso-10">Setting up the</span>
<span
-class="ec-lmsso-10">ControlPort </span>and select <span
-class="ec-lmsso-10">BlinkyControlProtocol </span>from the drop down list. Uncheck <span
-class="ec-lmsso-10">Conjugated </span>and <span
-class="ec-lmsso-10">Is Relay Port</span>.
-Click <span
-class="ec-lmsso-10">ok</span>. The resulting structure should look like this:
-</p><!--l. 169--><p class="noindent" ><img
-src="images/020-Blinky04.png" alt="PIC"
+class="ec-lmsso-10">Workspace for C Projects</span>. Remember: </p>
+ <ul class="itemize1">
+ <li class="itemize">select the <span
+class="ec-lmsso-10">C/C++ </span>perspective
+ </li>
+ <li class="itemize">From the main menue select <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
+ </li>
+ <li class="itemize">Name the project <span
+class="ec-lmsso-10">HelloWorldC</span>
+ </li>
+ <li class="itemize">Project type is <span
+class="ec-lmsso-10">Executable / Empty C Project</span>
+ </li>
+ <li class="itemize">Toolchain is <span
+class="ec-lmsso-10">MinGW</span></li></ul>
+<!--l. 36--><p class="noindent" >The workspace should look like this:
+</p><!--l. 38--><p class="noindent" ><img
+src="images/034-HelloWorldC01.png" alt="PIC"
/>
-</p><!--l. 172--><p class="noindent" >Repeat the above steps for the <span
-class="ec-lmsso-10">BlinkyController</span>. Make the port <span
-class="ec-lmsso-10">Conjugated</span>
-</p><!--l. 174--><p class="noindent" >Keep in mind that the protocol defines <span
-class="ec-lmsso-10">start </span>and <span
-class="ec-lmsso-10">stop </span>as incoming messages. <span
-class="ec-lmsso-10">Blinky </span>receives this messages and
-therefore <span
-class="ec-lmsso-10">Blinky</span>&#8217;s <span
-class="ec-lmsso-10">ControlPort </span>must be a regular port and <span
-class="ec-lmsso-10">BlinkyController</span>&#8217;s <span
-class="ec-lmsso-10">ControlPort </span>must be a
-conjugated port.
-</p><!--l. 179--><p class="noindent" >From the outline view right click <span
-class="ec-lmsso-10">BlinkyTop </span>and select <span
-class="ec-lmsso-10">Edit Structure</span>.
-</p><!--l. 181--><p class="noindent" >Drag and Drop an <span
-class="ec-lmsso-10">ActorRef </span>inside the <span
-class="ec-lmsso-10">BlinkyTop </span>actor. Name it <span
-class="ec-lmsso-10">blinky</span>. From the actor class drop down list
-select <span
-class="ec-lmsso-10">Blinky</span>. Do the same for <span
-class="ec-lmsso-10">controller</span>. Connect the ports via the binding tool. The resulting structure
-should look like this:
-</p><!--l. 185--><p class="noindent" ><img
-src="images/020-Blinky05.png" alt="PIC"
+</p><!--l. 41--><p class="noindent" >The next step is to add the model folder: Right click on the new project. Select <span
+class="ec-lmsso-10">New-&#x003E;Folder </span>and name it
+<span
+class="ec-lmsso-10">model</span>.
+</p><!--l. 44--><p class="noindent" ><img
+src="images/034-HelloWorldC02.png" alt="PIC"
+ />
+</p><!--l. 47--><p class="noindent" >Add the model file to the folder. Right click on the new folder. Select <span
+class="ec-lmsso-10">New-&#x003E;file </span>and name it
+<span
+class="ec-lmsso-10">HelloWorldC.room</span>.
+</p><!--l. 50--><p class="noindent" ><img
+src="images/034-HelloWorldC03.png" alt="PIC"
+ />
+</p><!--l. 53--><p class="noindent" >Due to the file ending <span
+class="ec-lmsso-10">.room</span>, the tool will ask you to add the Xtext nature. Answer with <span
+class="ec-lmsso-10">Yes</span>.
+</p><!--l. 56--><p class="noindent" ><img
+src="images/034-HelloWorldC04.png" alt="PIC"
+ />
+</p><!--l. 59--><p class="noindent" >The workspace should look like this:
+</p><!--l. 61--><p class="noindent" ><img
+src="images/034-HelloWorldC05.png" alt="PIC"
/>
</p>
-<!--l. 188--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse15.html" >next</a>] [<a
href="etrice-docse13.html" >prev</a>] [<a
href="etrice-docse13.html#tailetrice-docse13.html" >prev-tail</a>] [<a
href="etrice-docse14.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse14.html" >up</a>] </p></div>
-<!--l. 188--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse14.html" >up</a>] </p></div>
+<!--l. 66--><p class="noindent" ><a
id="tailetrice-docse14.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
index 967c697..6e861c3 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse15.html
@@ -4,207 +4,69 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Implement the Behavior</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 188--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse16.html" >next</a>] [<a
href="etrice-docse14.html" >prev</a>] [<a
href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
href="#tailetrice-docse15.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse15.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.7 </span> <a
- id="x23-420006.7"></a>Implement the Behavior</h3>
-<!--l. 190--><p class="noindent" >The application should switch on and off the LED for 5 seconds in a 1 second interval, then stop blinking for 5
-seconds and start again. To implement this behavior we will implement two FSMs. One for the 1
-second interval and one for the 5 second interval. The 1 second blinking should be implemented in
-<span
-class="ec-lmsso-10">Blinky</span>. The 5 second interval should be implemented in <span
-class="ec-lmsso-10">BlinkyController</span>. First implement the
-Controller.
-</p><!--l. 196--><p class="noindent" >Right click to <span
-class="ec-lmsso-10">BlinkyController </span>and select <span
-class="ec-lmsso-10">Edit Behavior</span>. Drag and Drop the <span
-class="ec-lmsso-10">Initial Point </span>and two <span
-class="ec-lmsso-10">States </span>into
-the top state. Name the states <span
-class="ec-lmsso-10">on </span>and <span
-class="ec-lmsso-10">off</span>. Use the <span
-class="ec-lmsso-10">Transition </span>tool to draw transitions from <span
-class="ec-lmsso-10">init </span>to <span
-class="ec-lmsso-10">on </span>from <span
-class="ec-lmsso-10">on</span>
-to <span
-class="ec-lmsso-10">off </span>and from <span
-class="ec-lmsso-10">off </span>to <span
-class="ec-lmsso-10">on</span>.
-</p><!--l. 202--><p class="noindent" >Open the transition dialog by double click the arrow to specify the trigger event and the action code of each
-transition. Note that the initial transition does not have a trigger event.
-</p><!--l. 205--><p class="noindent" >The transition dialog should look like this:
-</p><!--l. 207--><p class="noindent" ><img
-src="images/020-Blinky09.png" alt="PIC"
- />
-</p><!--l. 210--><p class="noindent" >The defined ports will be generated as a member attribute of the actor class from type of the attached
-protocol. So, to send e message you must state <span
-class="ec-lmsso-10">port.message(param);</span>. In this example <span
-class="ec-lmsso-10">ControlPort.start()</span>
-sends the <span
-class="ec-lmsso-10">start </span>message via the <span
-class="ec-lmsso-10">ControlPort </span>to the outside world. Assuming that <span
-class="ec-lmsso-10">Blinky </span>is connected to this
-port, the message will start the one second blinking FSM. It is the same thing with the <span
-class="ec-lmsso-10">timer</span>. The SAP is
-also a port and follows the same rules. So it is clear that <span
-class="ec-lmsso-10">timer.Start(5000); </span>will send the <span
-class="ec-lmsso-10">Start</span>
-message to the timing service. The timing service will send a <span
-class="ec-lmsso-10">timeoutTick </span>message back after
-5000ms.
-</p><!--l. 218--><p class="noindent" >Within each transition the timer will be restarted and the appropriate message will be sent via the
-<span
-class="ec-lmsso-10">ControlPort</span>.
-</p><!--l. 221--><p class="noindent" >The resulting state machine should look like this: (Note that the arrows peak changes if the transition contains
-action code.)
-</p><!--l. 224--><p class="noindent" ><img
-src="images/020-Blinky10.png" alt="PIC"
- />
-</p><!--l. 227--><p class="noindent" >Save the diagram and inspect the <span
-class="ec-lmsso-10">Blinky.room </span>file. The <span
-class="ec-lmsso-10">BlinkyController </span>should look like this:
-</p><!--l. 230--><p class="noindent" ><img
-src="images/020-Blinky11.png" alt="PIC"
- />
-</p><!--l. 233--><p class="noindent" >Now we will implement <span
-class="ec-lmsso-10">Blinky</span>. Due to the fact that <span
-class="ec-lmsso-10">Blinky </span>interacts with the GUI class a view things must to
-be done in the model file.
-</p><!--l. 236--><p class="noindent" >Double click <span
-class="ec-lmsso-10">Blinky </span>in the outline view to navigate to <span
-class="ec-lmsso-10">Blinky </span>within the model file. Add the following code:
-(type it or simply copy it from the tutorial project)
-</p><!--l. 240--><p class="noindent" ><img
-src="images/020-Blinky12.png" alt="PIC"
- />
-</p><!--l. 243--><p class="noindent" ><span
-class="ec-lmsso-10">usercode1 </span>will be generated at the beginning of the file, outside the class definition. <span
-class="ec-lmsso-10">usercode2 </span>will
-be generated within the class definition. The code imports the GUI class and instantiates the
-window class. Attributes for the carLights and pedLights will be declared to easily access the lights
-in the state machine. The Operation <span
-class="ec-lmsso-10">destroyUser() </span>is a predefined operation that will be called
-during shutdown of the application. Within this operation, cleanup of manual coded classes can be
-done.
-</p><!--l. 250--><p class="noindent" >Now design the FSM of <span
-class="ec-lmsso-10">Blinky</span>. Remember, as the name suggested <span
-class="ec-lmsso-10">blinking </span>is a state in which the LED must
-be switched on and off. We will realize that by an hierarchical FSM in which the <span
-class="ec-lmsso-10">blinking </span>state has two sub
-states.
-
-
-</p><!--l. 254--><p class="noindent" >Open the behavior diagram of <span
-class="ec-lmsso-10">Blinky </span>by right clicking the <span
-class="ec-lmsso-10">Blinky </span>actor in the outline view. Create two states
-named <span
-class="ec-lmsso-10">blinking </span>and <span
-class="ec-lmsso-10">off</span>. Right click to <span
-class="ec-lmsso-10">blinking </span>and create a subgraph.
-</p><!--l. 258--><p class="noindent" ><img
-src="images/020-Blinky13.png" alt="PIC"
- />
-</p><!--l. 261--><p class="noindent" >Create the following state machine. The trigger events between <span
-class="ec-lmsso-10">on </span>and <span
-class="ec-lmsso-10">off </span>are the <span
-class="ec-lmsso-10">timeoutTick </span>from the <span
-class="ec-lmsso-10">timer</span>
-port.
-</p><!--l. 264--><p class="noindent" ><img
-src="images/020-Blinky14.png" alt="PIC"
- />
-</p><!--l. 267--><p class="noindent" >Create entry code for both states by right clicking the state and select <span
-class="ec-lmsso-10">Edit State...</span>
-</p><!--l. 269--><p class="noindent" >Entry code of <span
-class="ec-lmsso-10">on </span>is:
-
-
-</p>
-<div class="verbatim" id="verbatim-6">
-timer.Start(1000);
-&#x00A0;<br />carLights.setState(TrafficLight3.YELLOW);
-</div>
-<!--l. 274--><p class="nopar" >
-</p><!--l. 277--><p class="noindent" >Entry code of <span
-class="ec-lmsso-10">off </span>is:
-
-
+href="etrice-docch5.html#etrice-docse15.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.3 </span> <a
+ id="x22-660005.3"></a>Create the HelloWorld model</h3>
+<!--l. 68--><p class="noindent" >Once the model file is created and the Xtext nature is added, you can create the model as you did it for Java.
+Creating the model is not the focus of this tutorial. Therefore copy and paste the following code into your
+model file. Optionally you can open and layout the diagrams. Recognize the C specific parts:
</p>
-<div class="verbatim" id="verbatim-7">
-timer.Start(1000);
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
-</div>
-<!--l. 282--><p class="nopar" >
-</p><!--l. 284--><p class="noindent" >Navigate to the Top level state by double clicking the <span
-class="ec-lmsso-10">/blinking </span>state. Create the following state
-machine:
-</p><!--l. 287--><p class="noindent" ><img
-src="images/020-Blinky15.png" alt="PIC"
- />
-</p><!--l. 290--><p class="noindent" >The trigger event from <span
-class="ec-lmsso-10">off </span>to <span
-class="ec-lmsso-10">blinking </span>is the <span
-class="ec-lmsso-10">start </span>event from the <span
-class="ec-lmsso-10">ControlPort</span>.The trigger event from <span
-class="ec-lmsso-10">blinking</span>
-to <span
-class="ec-lmsso-10">off </span>is the <span
-class="ec-lmsso-10">stop </span>event from the <span
-class="ec-lmsso-10">ControlPort</span>. Note: The transition from <span
-class="ec-lmsso-10">blinking </span>to <span
-class="ec-lmsso-10">off </span>is a so called group
-transition. This is a outgoing transition from a super state (state with sub states) without specifying the
-concrete leave state (state without sub states). An incoming transition to a super state is called history
-transition.
-</p><!--l. 297--><p class="noindent" >Action code of the init transition is:
+ <ul class="itemize1">
+ <li class="itemize">The action code contains C instead of Java. Later versions will contain a common action language,
+ but for the moment the action language is target specific.
+ </li>
+ <li class="itemize">The application must be shutdown on model level (see also <span
+class="ec-lmsso-10">etRuntimeConfig.h</span>).</li></ul>
-</p>
-<div class="verbatim" id="verbatim-8">
-carLights&#x00A0;=&#x00A0;light.getCarLights();
-&#x00A0;<br />pedLights&#x00A0;=&#x00A0;light.getPedLights();
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
-&#x00A0;<br />pedLights.setState(TrafficLight2.OFF);
-</div>
-<!--l. 304--><p class="nopar" >
-</p><!--l. 306--><p class="noindent" >Action code from <span
-class="ec-lmsso-10">blinking </span>to <span
-class="ec-lmsso-10">off </span>is:
-
-
-</p>
-<div class="verbatim" id="verbatim-9">
-timer.Kill();
-&#x00A0;<br />carLights.setState(TrafficLight3.OFF);
+<div 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. 311--><p class="nopar" >
-</p><!--l. 313--><p class="noindent" >The model is complete now. You can run and debug the model as described in getting started. Have
-fun.
-</p><!--l. 315--><p class="noindent" >The complete model can be found in /org.eclipse.etrice.tutorials/model/Blinky.
+<!--l. 101--><p class="nopar" >
</p>
-<!--l. 317--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse16.html" >next</a>] [<a
href="etrice-docse14.html" >prev</a>] [<a
href="etrice-docse14.html#tailetrice-docse14.html" >prev-tail</a>] [<a
href="etrice-docse15.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse15.html" >up</a>] </p></div>
-<!--l. 317--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse15.html" >up</a>] </p></div>
+<!--l. 103--><p class="noindent" ><a
id="tailetrice-docse15.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
index d3b22b6..2d48af3 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse16.html
@@ -4,41 +4,74 @@
<!--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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 317--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch7.html" >next</a>] [<a
+<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse17.html" >next</a>] [<a
href="etrice-docse15.html" >prev</a>] [<a
href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
href="#tailetrice-docse16.html">tail</a>] [<a
-href="etrice-docch6.html#etrice-docse16.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">6.8 </span> <a
- id="x24-430006.8"></a>Summary</h3>
-<!--l. 319--><p class="noindent" >Run the model and take a look at the generated MSCs. Inspect the generated code to understand the runtime
-model of eTrice. Within this tutorial you have learned how to create a hierarchical FSM with group transitions
-and history transitions and you have used entry code. You are now familiar with the basic features of eTrice.
-The further tutorials will take this knowledge as a precondition.
-
-
-
-
+href="etrice-docch5.html#etrice-docse16.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.4 </span> <a
+ id="x23-670005.4"></a>Create a launch configuration to start the C code generator</h3>
+<!--l. 105--><p class="noindent" >Other than in Java a launch configuration for the C code generator must be created.
+</p><!--l. 107--><p class="noindent" >From the <span
+class="ec-lmsso-10">Run </span>menu select <span
+class="ec-lmsso-10">Run Configurations</span>
+</p><!--l. 109--><p class="noindent" ><img
+src="images/034-HelloWorldC06.png" alt="PIC"
+ />
+</p><!--l. 112--><p class="noindent" >Within the dialog select <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">C Generator </span>and click the <span
+class="ec-lmsso-10">New </span>button to create a new launch
+configuration.
+</p><!--l. 115--><p class="noindent" ><img
+src="images/034-HelloWorldC07.png" alt="PIC"
+ />
+</p><!--l. 118--><p class="noindent" >A new configuration should be created. Name it <span
+class="ec-lmsso-10">gen_HelloWorldC </span>and add the model via one of the <span
+class="ec-lmsso-10">add</span>
+buttons.
+</p><!--l. 121--><p class="noindent" ><img
+src="images/034-HelloWorldC08.png" alt="PIC"
+ />
+</p><!--l. 124--><p class="noindent" >In the <span
+class="ec-lmsso-10">Refresh </span>tab select <span
+class="ec-lmsso-10">The entire workspace</span>
+</p><!--l. 126--><p class="noindent" ><img
+src="images/034-HelloWorldC09.png" alt="PIC"
+ />
+</p><!--l. 129--><p class="noindent" >In the <span
+class="ec-lmsso-10">Common </span>tab select <span
+class="ec-lmsso-10">Shared file </span>and add the <span
+class="ec-lmsso-10">HelloWorldC </span>project via the <span
+class="ec-lmsso-10">Browse </span>button.
+</p><!--l. 132--><p class="noindent" ><img
+src="images/034-HelloWorldC10.png" alt="PIC"
+ />
+</p><!--l. 135--><p class="noindent" >Apply your changes. The new configuration should now exist in your workspace.
+</p><!--l. 137--><p class="noindent" ><img
+src="images/034-HelloWorldC11.png" alt="PIC"
+ />
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch7.html" >next</a>] [<a
+<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse17.html" >next</a>] [<a
href="etrice-docse15.html" >prev</a>] [<a
href="etrice-docse15.html#tailetrice-docse15.html" >prev-tail</a>] [<a
href="etrice-docse16.html" >front</a>] [<a
-href="etrice-docch6.html#etrice-docse16.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse16.html" >up</a>] </p></div>
+<!--l. 141--><p class="noindent" ><a
id="tailetrice-docse16.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
index fc7ca34..a14bb4a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html
@@ -4,55 +4,43 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse18.html" >next</a>] [<a
-href="etrice-docch7.html" >prev</a>] [<a
-href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
+href="etrice-docse16.html" >prev</a>] [<a
+href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
href="#tailetrice-docse17.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse17.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
- id="x26-450007.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.
-</p><!--l. 9--><p class="noindent" >You will perform the following steps:
-</p><!--l. 11--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x26-45002x1">create a new model from scratch
- </li>
- <li
- class="enumerate" id="x26-45004x2">create a data class
- </li>
- <li
- class="enumerate" id="x26-45006x3">define a protocol with attached data
- </li>
- <li
- class="enumerate" id="x26-45008x4">create an actor structure
- </li>
- <li
- class="enumerate" id="x26-45010x5">create two simple state machines
- </li>
- <li
- class="enumerate" id="x26-45012x6">build and run the model</li></ol>
+href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.5 </span> <a
+ id="x24-680005.5"></a>Generate the code</h3>
+<!--l. 143--><p class="noindent" >Now you can generate the code as you know it from Java. Right click on the launch configuration and run it as
+<span
+class="ec-lmsso-10">gen_HelloWorldC</span>.
+</p><!--l. 146--><p class="noindent" ><img
+src="images/034-HelloWorldC12.png" alt="PIC"
+ />
+</p><!--l. 149--><p class="noindent" >The code should be generated.
+</p><!--l. 151--><p class="noindent" ><img
+src="images/034-HelloWorldC13.png" alt="PIC"
+ />
-<!--l. 20--><div class="crosslinks"><p class="noindent">[<a
+</p>
+<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse18.html" >next</a>] [<a
-href="etrice-docch7.html" >prev</a>] [<a
-href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
+href="etrice-docse16.html" >prev</a>] [<a
+href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a
href="etrice-docse17.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse17.html" >up</a>] </p></div>
-<!--l. 20--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div>
+<!--l. 154--><p class="noindent" ><a
id="tailetrice-docse17.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
index 6e06077..789381d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse18.html
@@ -4,55 +4,48 @@
<!--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>Setup the include path</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 20--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse19.html" >next</a>] [<a
href="etrice-docse17.html" >prev</a>] [<a
href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
href="#tailetrice-docse18.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse18.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
- id="x27-460007.2"></a>Create a new model from scratch</h3>
-<!--l. 22--><p class="noindent" >Remember exercise <span
-class="ec-lmsso-10">HelloWorld</span>. Create a new eTrice project and name it <span
-class="ec-lmsso-10">SendingData</span>. Open the
+href="etrice-docch5.html#etrice-docse18.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.6 </span> <a
+ id="x25-690005.6"></a>Setup the include path</h3>
+<!--l. 156--><p class="noindent" >Before you can build the application you must setup the include path for the runtime system.
+Right click the project and select <span
+class="ec-lmsso-10">Properties</span>. Add the include path as described in <span
+class="ec-lmsso-10">setting up the</span>
<span
-class="ec-lmsso-10">SendingData.room </span>file and copy the following code into the file or use content assist to create the
-model.
+class="ec-lmsso-10">workspace</span>.
+</p><!--l. 160--><p class="noindent" ><img
+src="images/034-HelloWorldC14.png" alt="PIC"
+ />
+</p><!--l. 163--><p class="noindent" >Add the runtime library.
+</p><!--l. 165--><p class="noindent" ><img
+src="images/034-HelloWorldC15.png" alt="PIC"
+ />
+</p><!--l. 168--><p class="noindent" >Recognize the name of the library ("org.eclipse.etrice.runtime.c"). The library file on your disk is
+"liborg.eclipse.etrice.runtime.c.a".
</p>
-<div class="verbatim" id="verbatim-10">
-RoomModel&#x00A0;SendingData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:SendingData_SubSystem
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:SendingDataTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 39--><p class="nopar" >
-
-
-</p>
-<!--l. 41--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse19.html" >next</a>] [<a
href="etrice-docse17.html" >prev</a>] [<a
href="etrice-docse17.html#tailetrice-docse17.html" >prev-tail</a>] [<a
href="etrice-docse18.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse18.html" >up</a>] </p></div>
-<!--l. 41--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse18.html" >up</a>] </p></div>
+<!--l. 171--><p class="noindent" ><a
id="tailetrice-docse18.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
index 668ad18..2fdee5d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse19.html
@@ -4,57 +4,39 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Add a data class</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 41--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse20.html" >next</a>] [<a
href="etrice-docse18.html" >prev</a>] [<a
href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
href="#tailetrice-docse19.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse19.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
- id="x28-470007.3"></a>Add a data class</h3>
-<!--l. 43--><p class="noindent" >Position the cursor outside any class definition and right click the mouse within the editor window. From the
-context menu select <span
-class="ec-lmsso-10">Content Assist </span>(or Ctrl+Space).
-</p><!--l. 46--><p class="noindent" ><img
-src="images/025-SendingData01.png" alt="PIC"
+href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.7 </span> <a
+ id="x26-700005.7"></a>Build and run the model</h3>
+<!--l. 173--><p class="noindent" >Now you can build the application. Click the build button to build the application. Run the application as
+<span
+class="ec-lmsso-10">Local C/C++ Application</span>. Verify the output.
+</p><!--l. 177--><p class="noindent" ><img
+src="images/034-HelloWorldC16.png" alt="PIC"
/>
-</p><!--l. 49--><p class="noindent" >Select <span
-class="ec-lmsso-10">DataClass - data class skeleton </span>and name it <span
-class="ec-lmsso-10">DemoData</span>. Remove the operations and add the following
-Attributes:
</p>
-<div class="verbatim" id="verbatim-11">
-DataClass&#x00A0;DemoData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
-&#x00A0;<br />}
-</div>
-<!--l. 59--><p class="nopar" >
-</p><!--l. 61--><p class="noindent" >Save the model and visit the outline view. Note that the outline view contains all data elements as defined in
-the model.
-
-
-</p>
-<!--l. 64--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse20.html" >next</a>] [<a
href="etrice-docse18.html" >prev</a>] [<a
href="etrice-docse18.html#tailetrice-docse18.html" >prev-tail</a>] [<a
href="etrice-docse19.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse19.html" >up</a>] </p></div>
-<!--l. 64--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse19.html" >up</a>] </p></div>
+<!--l. 180--><p class="noindent" ><a
id="tailetrice-docse19.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse2.html
index e1eb045..1ffbf93 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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
@@ -273,8 +273,8 @@ is not of interest how the blinking is realized. This will be done in the next l
hierarchy.
</p><!--l. 179--><p class="noindent" >This simple example might give an idea how powerful this mechanisms is.
</p><!--l. 181--><p class="noindent" >The hierarchical FSM provides a rich tool box to describe real world problems (see chapter <a
-href="etrice-docch12.html#x58-7900012">12<!--tex4ht:ref: sec:room_concepts --></a> <a
-href="etrice-docch12.html#x58-7900012">ROOM
+href="etrice-docch7.html#x35-790007">7<!--tex4ht:ref: sec:room_concepts --></a> <a
+href="etrice-docch7.html#x35-790007">ROOM
Concepts<!--tex4ht:ref: sec:room_concepts --></a>).
</p><!--l. 183--><p class="noindent" >
</p>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
index 66e2935..ddd3772 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse20.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse20.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>Create a new protocol</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 64--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse21.html" >next</a>] [<a
+<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch6.html" >next</a>] [<a
href="etrice-docse19.html" >prev</a>] [<a
href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
href="#tailetrice-docse20.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse20.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.4 </span> <a
- id="x29-480007.4"></a>Create a new protocol</h3>
-<!--l. 66--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create a <span
-class="ec-lmsso-10">ProtocolClass </span>and name it <span
-class="ec-lmsso-10">PingPongProtocol</span>. Create the following
-messages:
+href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">5.8 </span> <a
+ id="x27-710005.8"></a>Summary</h3>
+<!--l. 182--><p class="noindent" >You are now familiar with all necessary steps to create, build and run an eTrice C model from scratch. You are
+able to create a launch configuration to start the code generator and to perform all necessary settings to
+compile and link the application.
+</p><!--l. 186--><p class="noindent" >The next tutorial provides an exercise to get more familiar with these working steps.
+
+
-</p>
-<div class="verbatim" id="verbatim-12">
-ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 80--><p class="nopar" >
</p>
-<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse21.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch6.html" >next</a>] [<a
href="etrice-docse19.html" >prev</a>] [<a
href="etrice-docse19.html#tailetrice-docse19.html" >prev-tail</a>] [<a
href="etrice-docse20.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse20.html" >up</a>] </p></div>
-<!--l. 82--><p class="noindent" ><a
+href="etrice-docch5.html#etrice-docse20.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse20.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
index 49a5aab..269462a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse21.html
@@ -4,91 +4,58 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Create MrPing and MrPong Actors</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 82--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse22.html" >next</a>] [<a
-href="etrice-docse20.html" >prev</a>] [<a
-href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
+href="etrice-docch6.html" >prev</a>] [<a
+href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
href="#tailetrice-docse21.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse21.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.5 </span> <a
- id="x30-490007.5"></a>Create MrPing and MrPong Actors</h3>
-<!--l. 84--><p class="noindent" >With the help of <span
-class="ec-lmsso-10">Content Assist </span>create two new actor classes and name them <span
-class="ec-lmsso-10">MrPing </span>and <span
-class="ec-lmsso-10">MrPong</span>. The
-resulting model should look like this:
+href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.1 </span> <a
+ id="x29-730006.1"></a>Scope</h3>
+<!--l. 5--><p class="noindent" >In this tutorial you will create a more complex model. The model implements a simple parser that removes
+comments (block comments and line comments) from a C source file. Therefore we will create two actors.
+One actor is responsible to perform the file operations, while the second actor implements the
+parser.
+</p><!--l. 9--><p class="noindent" >You will perform the following steps:
+</p><!--l. 11--><p class="noindent" >
+ </p><ol class="enumerate1" >
+ <li
+ class="enumerate" id="x29-73002x1">create a new model from scratch for C
+ </li>
+ <li
+ class="enumerate" id="x29-73004x2">define a protocol
+ </li>
+ <li
+ class="enumerate" id="x29-73006x3">define your own data type
+ </li>
+ <li
+ class="enumerate" id="x29-73008x4">create the structure and the behavior by yourself
+ </li>
+ <li
+ class="enumerate" id="x29-73010x5">generate, build and run the model</li></ol>
+<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
+class="ec-lmsso-10">Setting up the Workspace for C</span>
+<span
+class="ec-lmsso-10">Projects</span>.
</p>
-<div class="verbatim" id="verbatim-13">
-RoomModel&#x00A0;SendingData&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;SendingData_LogSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;SendingDataAppl:&#x00A0;SendingData_SubSystem
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SendingData_SubSystem&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;SendigDataTopRef:&#x00A0;SendingDataTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;SendingDataTop&#x00A0;{&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;DataClass&#x00A0;DemoData&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int32Val:&#x00A0;int32&#x00A0;=&#x00A0;"4711"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;int8Array&#x00A0;[&#x00A0;10&#x00A0;]:&#x00A0;int8&#x00A0;=&#x00A0;"{1,2,3,4,5,6,7,8,9,10}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;float64Val:&#x00A0;float64&#x00A0;=&#x00A0;"0.0"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Attribute&#x00A0;stringVal:&#x00A0;string&#x00A0;=&#x00A0;"\"empty\""
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ProtocolClass&#x00A0;PingPongProtocol&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;incoming&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;ping(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pingSimple(data:&#x00A0;int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;outgoing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pong(data:&#x00A0;DemoData)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Message&#x00A0;pongSimple(data:&#x00A0;int32)
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPing&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;MrPong&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Interface&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Structure&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;Behavior&#x00A0;{&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-&#x00A0;<br />
-</div>
-<!--l. 131--><p class="nopar" >
-</p><!--l. 133--><p class="noindent" >The outline view should look like this:
-</p><!--l. 135--><p class="noindent" ><img
-src="images/025-SendingData03.png" alt="PIC"
- />
-
-
-</p>
-<!--l. 138--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse22.html" >next</a>] [<a
-href="etrice-docse20.html" >prev</a>] [<a
-href="etrice-docse20.html#tailetrice-docse20.html" >prev-tail</a>] [<a
+href="etrice-docch6.html" >prev</a>] [<a
+href="etrice-docch6.html#tailetrice-docch6.html" >prev-tail</a>] [<a
href="etrice-docse21.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse21.html" >up</a>] </p></div>
-<!--l. 138--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse21.html" >up</a>] </p></div>
+<!--l. 22--><p class="noindent" ><a
id="tailetrice-docse21.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
index 854edf5..d6af518 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse22.html
@@ -4,118 +4,69 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Define Actor Structure and Behavior</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 138--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse23.html" >next</a>] [<a
href="etrice-docse21.html" >prev</a>] [<a
href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
href="#tailetrice-docse22.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse22.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.6 </span> <a
- id="x31-500007.6"></a>Define Actor Structure and Behavior</h3>
-<!--l. 140--><p class="noindent" >Save the model and visit the outline view. Within the outline view, right click on the <span
-class="ec-lmsso-10">MrPong </span>actor and select
-<span
-class="ec-lmsso-10">Edit Structure</span>. Select an <span
-class="ec-lmsso-10">Interface Port </span>from the toolbox and add it to MrPong. Name the Port <span
-class="ec-lmsso-10">PingPongPort</span>
-and select the <span
-class="ec-lmsso-10">PingPongProtocol</span>.
-</p><!--l. 144--><p class="noindent" ><img
-src="images/025-SendingData02.png" alt="PIC"
- />
-</p><!--l. 147--><p class="noindent" >Do the same with MrPing but mark the port as <span
-class="ec-lmsso-10">conjugated</span>
-</p><!--l. 149--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.6.1 </span> <a
- id="x31-510007.6.1"></a>Define MrPongs behavior</h4>
-<!--l. 151--><p class="noindent" >Within the outline view, right click MrPong and select <span
-class="ec-lmsso-10">Edit Behavior</span>. Create the following state
-machine:
-</p><!--l. 154--><p class="noindent" ><img
-src="images/025-SendingData04.png" alt="PIC"
- />
-</p><!--l. 157--><p class="noindent" >The transition dialogues should look like this: For <span
-class="ec-lmsso-10">ping</span>:
-</p><!--l. 160--><p class="noindent" ><img
-src="images/025-SendingData05.png" alt="PIC"
+href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.2 </span> <a
+ id="x30-740006.2"></a>Create a new model from scratch</h3>
+<!--l. 24--><p class="noindent" >Remember the following steps from the previous tutorials: </p>
+ <ul class="itemize1">
+ <li class="itemize">select the <span
+class="ec-lmsso-10">C/C++ </span>perspective
+ </li>
+ <li class="itemize">From the main menue select <span
+class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
+ </li>
+ <li class="itemize">Name the project <span
+class="ec-lmsso-10">RemoveComment</span>
+ </li>
+ <li class="itemize">Project type is <span
+class="ec-lmsso-10">Executable / Empty C Project</span>
+ </li>
+ <li class="itemize">Toolchain is <span
+class="ec-lmsso-10">MinGW</span>
+ </li>
+ <li class="itemize">Add the folder <span
+class="ec-lmsso-10">model</span>
+ </li>
+ <li class="itemize">Add the model file and name it <span
+class="ec-lmsso-10">RemoveComment.room</span>
+ </li>
+ <li class="itemize">Add the Xtext nature.</li></ul>
+<!--l. 36--><p class="noindent" >The workspace should look like this:
+</p><!--l. 38--><p class="noindent" ><img
+src="images/036-RemoveCommentC01.png" alt="PIC"
/>
-</p><!--l. 163--><p class="noindent" >For <span
-class="ec-lmsso-10">pingSimple</span>:
-</p><!--l. 165--><p class="noindent" ><img
-src="images/025-SendingData06.png" alt="PIC"
- />
-</p><!--l. 169--><p class="noindent" >
-</p>
-<h4 class="subsectionHead"><span class="titlemark">7.6.2 </span> <a
- id="x31-520007.6.2"></a>Define MrPing behavior</h4>
-<!--l. 171--><p class="noindent" >Within the outline view double click MrPing. Navigate the cursor to the behavior of MrPing. With the help of
-content assist create a new operation.
-</p><!--l. 174--><p class="noindent" ><img
-src="images/025-SendingData07.png" alt="PIC"
- />
-</p><!--l. 177--><p class="noindent" >Name the operation <span
-class="ec-lmsso-10">printData </span>and define the DemoData as a parameter.
-</p><!--l. 179--><p class="noindent" >Fill in the following code:
-
-
-</p>
-<div class="verbatim" id="verbatim-14">
-Operation&#x00A0;printData(d:&#x00A0;DemoData)&#x00A0;:&#x00A0;void&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int32Val:&#x00A0;%d\\n\",d.int32Val);"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.float64Val:&#x00A0;%f\\n\",d.float64Val);"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"d.int8Array:&#x00A0;\");"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"for(int&#x00A0;i&#x00A0;=&#x00A0;0;&#x00A0;i&#x003C;d.int8Array.length;&#x00A0;i++)&#x00A0;{"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"%d&#x00A0;\",d.int8Array[i]);}"
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;"System.out.printf(\"\\nd.stringVal:&#x00A0;%s\\n\",d.stringVal);"
-&#x00A0;<br />}
-</div>
-<!--l. 191--><p class="nopar" >
-</p><!--l. 194--><p class="noindent" >For MrPing create the following state machine: (Remember that you can copy and paste the action code from
-the tutorial directory.)
-</p><!--l. 197--><p class="noindent" ><img
-src="images/025-SendingData08.png" alt="PIC"
- />
-</p><!--l. 200--><p class="noindent" >The transition dialogues should look like this:
-</p><!--l. 202--><p class="noindent" >For <span
-class="ec-lmsso-10">init</span>:
-</p><!--l. 204--><p class="noindent" ><img
-src="images/025-SendingData09.png" alt="PIC"
- />
-</p><!--l. 207--><p class="noindent" >For <span
-class="ec-lmsso-10">wait1</span>:
-</p><!--l. 209--><p class="noindent" ><img
-src="images/025-SendingData10.png" alt="PIC"
- />
-</p><!--l. 212--><p class="noindent" >For <span
-class="ec-lmsso-10">next</span>:
-</p><!--l. 214--><p class="noindent" ><img
-src="images/025-SendingData11.png" alt="PIC"
- />
-</p><!--l. 217--><p class="noindent" >For <span
-class="ec-lmsso-10">wait2</span>:
-</p><!--l. 219--><p class="noindent" ><img
-src="images/025-SendingData12.png" alt="PIC"
+</p><!--l. 41--><p class="noindent" >Create a launch configuration for the C generator and add the include path and library as described in
+<span
+class="ec-lmsso-10">HelloWorldC</span>.
+</p><!--l. 44--><p class="noindent" >The workspace should look like this:
+</p><!--l. 46--><p class="noindent" ><img
+src="images/036-RemoveCommentC02.png" alt="PIC"
/>
+</p><!--l. 49--><p class="noindent" >Now the model is created and all settings for the code generator, compiler and linker are done.
</p>
-<!--l. 222--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse23.html" >next</a>] [<a
href="etrice-docse21.html" >prev</a>] [<a
href="etrice-docse21.html#tailetrice-docse21.html" >prev-tail</a>] [<a
href="etrice-docse22.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse22.html" >up</a>] </p></div>
-<!--l. 222--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse22.html" >up</a>] </p></div>
+<!--l. 52--><p class="noindent" ><a
id="tailetrice-docse22.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
index 5287c2e..3ff36e7 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse23.html
@@ -4,42 +4,70 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Define the top level</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 222--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 52--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse24.html" >next</a>] [<a
href="etrice-docse22.html" >prev</a>] [<a
href="etrice-docse22.html#tailetrice-docse22.html" >prev-tail</a>] [<a
href="#tailetrice-docse23.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse23.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.7 </span> <a
- id="x32-530007.7"></a>Define the top level</h3>
-<!--l. 224--><p class="noindent" >Open the Structure from SendingDataTop and add MrPing and MrPong as a reference. Connect the
-ports.
-</p><!--l. 226--><p class="noindent" ><img
-src="images/025-SendingData13.png" alt="PIC"
- />
+href="etrice-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.3 </span> <a
+ id="x31-750006.3"></a>Create your own data type</h3>
+<!--l. 54--><p class="noindent" >The planed application should read a C source file and remove the comments. Therefore we need a file
+descriptor which is not part of the basic C types. The type for the file descriptor for MinGW is <span
+class="ec-lmsso-10">FILE</span>. To make
+this type available on the model level, you have to declare the type.
+</p><!--l. 58--><p class="noindent" >Open the file <span
+class="ec-lmsso-10">Types.room </span>from <span
+class="ec-lmsso-10">org.eclipse.modellib.c </span>and take a look at the declaration of <span
+class="ec-lmsso-10">string </span>(last line)
+which is not a basic C type.
+</p><!--l. 61--><p class="noindent" ><span
+class="ec-lmsso-10">PrimitiveType string:ptCharacter -&#x003E; charPtr default "0"</span>
+</p><!--l. 63--><p class="noindent" >With this declaration, you make the <span
+class="ec-lmsso-10">string </span>keyword available on model level as a primitive type. This type will
+be translated to <span
+class="ec-lmsso-10">charPtr </span>in your C sources. <span
+class="ec-lmsso-10">charPtr </span>is defined in <span
+class="ec-lmsso-10">etDatatypes.h</span>. This header file is platform
+specific (<span
+class="ec-lmsso-10">generic</span>). With this mechanism you can define your own type system on model level and map the
+model types to specific target/platform types.
+</p><!--l. 68--><p class="noindent" >To not interfere with other models, we will declare the type direct in the model. Add the following line to your
+model:
+
+
</p>
-<div class="flushleft"
->
-<!--l. 229--><p class="noindent" >
-The model is finished now and can be found in /org.eclipse.etrice.tutorials/model/SendingData.</p></div>
+<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. 78--><p class="nopar" >
+</p><!--l. 81--><p class="noindent" ><span
+class="ec-lmsso-10">FILE </span>is the native type for MinGW. Therefore you don&#8217;t need a mapping within <span
+class="ec-lmsso-10">etDatatypes.h</span>. If your model
+should be portable across different platforms you should not take this shortcut.
-<!--l. 232--><div class="crosslinks"><p class="noindent">[<a
+</p>
+<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse24.html" >next</a>] [<a
href="etrice-docse22.html" >prev</a>] [<a
href="etrice-docse22.html#tailetrice-docse22.html" >prev-tail</a>] [<a
href="etrice-docse23.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse23.html" >up</a>] </p></div>
-<!--l. 232--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse23.html" >up</a>] </p></div>
+<!--l. 85--><p class="noindent" ><a
id="tailetrice-docse23.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
index 1ab40f1..957e2b7 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse24.html
@@ -4,90 +4,82 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Generate and run the model</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 232--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 85--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse25.html" >next</a>] [<a
href="etrice-docse23.html" >prev</a>] [<a
href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
href="#tailetrice-docse24.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse24.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.8 </span> <a
- id="x33-540007.8"></a>Generate and run the model</h3>
-<!--l. 234--><p class="noindent" >Generate the code by right click to <span
-class="ec-lmssbx-10">gen_SendingData.launch </span>and run it as <span
-class="ec-lmssbx-10">gen_SendingData</span>. Run the
-model. The output should look like this:
+href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.4 </span> <a
+ id="x32-760006.4"></a>Create the model</h3>
+<!--l. 87--><p class="noindent" >Due to the former tutorials you should be familiar with the steps to create the model with protocols, actors
+and state machines.
+</p><!--l. 90--><p class="noindent" >The basic idea of the exercise is to create a file reader actor, which is responsible to open, close and read
+characters from the source file. Another actor receives the characters and filters the comments (parser). The
+remaining characters (pure source code) should be print out.
+</p><!--l. 94--><p class="noindent" >Remember the logical steps: </p>
+ <ul class="itemize1">
+ <li class="itemize">create the model by the help of content assist (CTRL Space)
+ </li>
+ <li class="itemize">name the model, subsystem and top level actor
+ </li>
+ <li class="itemize">define the protocol (in this case it should be able to send a char, and to request the next char
+ from the file reader)
+ </li>
+ <li class="itemize">create the structure (file reader and parser with an appropriate port, create the references and
+ connect the ports)
+ </li>
+ <li class="itemize">create the state machines</li></ul>
+<!--l. 105--><p class="noindent" >Try to create the model by yourself and take the following solution as an example.
+</p><!--l. 107--><p class="noindent" >Structure:
+</p><!--l. 109--><p class="noindent" ><img
+src="images/036-RemoveCommentC04.png" alt="PIC"
+ />
+</p><!--l. 112--><p class="noindent" >File reader FSM:
+</p><!--l. 114--><p class="noindent" ><img
+src="images/036-RemoveCommentC05.png" alt="PIC"
+ />
+</p><!--l. 117--><p class="noindent" >Parser FSM:
+</p><!--l. 119--><p class="noindent" ><img
+src="images/036-RemoveCommentC06.png" alt="PIC"
+ />
+</p><!--l. 122--><p class="noindent" >The complete model can be found in <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.c</span>
+</p><!--l. 124--><p class="noindent" >Take a look at the file attribute of the file reader.
</p>
-<div class="verbatim" id="verbatim-15">
-type&#x00A0;&#8217;quit&#8217;&#x00A0;to&#x00A0;exit
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;1
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;2
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;3
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;4
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;5
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;6
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;7
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;8
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;9
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPongSimple
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />data:&#x00A0;10
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref1&#x00A0;-&#x003E;&#x00A0;looping
-&#x00A0;<br />d.int32Val:&#x00A0;4711
-&#x00A0;<br />d.float64Val:&#x00A0;0,000000
-&#x00A0;<br />d.int8Array:&#x00A0;1&#x00A0;2&#x00A0;3&#x00A0;4&#x00A0;5&#x00A0;6&#x00A0;7&#x00A0;8&#x00A0;9&#x00A0;10
-&#x00A0;<br />d.stringVal:&#x00A0;empty
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />d.int32Val:&#x00A0;815
-&#x00A0;<br />d.float64Val:&#x00A0;3,141234
-&#x00A0;<br />d.int8Array:&#x00A0;100&#x00A0;101&#x00A0;102&#x00A0;103&#x00A0;104&#x00A0;105&#x00A0;106&#x00A0;107&#x00A0;108&#x00A0;109
-&#x00A0;<br />d.stringVal:&#x00A0;some&#x00A0;contents
-&#x00A0;<br />/SendingData_SubSystem/SendigDataTopRef/ref0&#x00A0;-&#x003E;&#x00A0;waitForPong
-&#x00A0;<br />quit
-&#x00A0;<br />echo:&#x00A0;quit
+<div class="verbatim" id="verbatim-21">
+Attribute&#x00A0;f:file&#x00A0;ref
</div>
-<!--l. 286--><p class="nopar" >
+<!--l. 128--><p class="nopar" >
+</p><!--l. 130--><p class="noindent" ><span
+class="ec-lmsso-10">fopen </span>expects a <span
+class="ec-lmsso-10">FILE *</span>. <span
+class="ec-lmsso-10">f:file ref </span>declares a variable <span
+class="ec-lmsso-10">f </span>from type reference to <span
+class="ec-lmsso-10">file</span>, which is a pointer to
+<span
+class="ec-lmsso-10">FILE</span>.
</p>
-<!--l. 288--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse25.html" >next</a>] [<a
href="etrice-docse23.html" >prev</a>] [<a
href="etrice-docse23.html#tailetrice-docse23.html" >prev-tail</a>] [<a
href="etrice-docse24.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse24.html" >up</a>] </p></div>
-<!--l. 288--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse24.html" >up</a>] </p></div>
+<!--l. 134--><p class="noindent" ><a
id="tailetrice-docse24.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
index 95977bc..16680ca 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse25.html
@@ -4,68 +4,44 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Summary</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 288--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch8.html" >next</a>] [<a
+<!--l. 134--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse26.html" >next</a>] [<a
href="etrice-docse24.html" >prev</a>] [<a
href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
href="#tailetrice-docse25.html">tail</a>] [<a
-href="etrice-docch7.html#etrice-docse25.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">7.9 </span> <a
- id="x34-550007.9"></a>Summary</h3>
-<!--l. 290--><p class="noindent" >Within the first loop an integer value will be incremented by <span
-class="ec-lmsso-10">MrPong </span>and sent back to <span
-class="ec-lmsso-10">MrPing</span>. As long as the
-guard is true <span
-class="ec-lmsso-10">MrPing </span>sends back the value.
-</p><!--l. 293--><p class="noindent" >Within the <span
-class="ec-lmsso-10">next </span>transition, <span
-class="ec-lmsso-10">MrPing </span>creates a data class and sends the default values. Then <span
-class="ec-lmsso-10">MrPing </span>changes
-the values and sends the class again. At this point you should note that during the send operation, a copy of
-the data class will be created and sent. Otherwise it would not be possible to send the same object two times,
-even more it would not be possible to send a stack object at all. This type of data passing is called <span
-class="ec-lmsso-10">sending</span>
-<span
-class="ec-lmsso-10">data by value</span>. However, for performance reasons some applications requires <span
-class="ec-lmsso-10">sending data by reference</span>.
-In this case the user is responsible for the life cycle of the object. In Java the VM takes care
-of the life cycle of an object. This is not the case for C/C++. Consider that a object which is
-created within a transition of a state machine will be destroyed when the transition is finished. The
-receiving FSM would receive an invalid reference. Therefore care must be taken when sending
-references.
-</p><!--l. 304--><p class="noindent" >For sending data by reference you simply have to add the keyword <span
-class="ec-lmsso-10">ref </span>to the protocol definition.
+href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.5 </span> <a
+ id="x33-770006.5"></a>Generate, build and run the model</h3>
+<!--l. 136--><p class="noindent" >Before you can run the model you should copy one of the generated C source files into the project folder and
+name it <span
+class="ec-lmsso-10">test.txt</span>.
+</p><!--l. 139--><p class="noindent" ><img
+src="images/036-RemoveCommentC07.png" alt="PIC"
+ />
+</p><!--l. 142--><p class="noindent" >Generate, build and run the model.
+</p><!--l. 144--><p class="noindent" >Your output should start like this:
+</p><!--l. 146--><p class="noindent" ><img
+src="images/036-RemoveCommentC08.png" alt="PIC"
+ />
</p>
-<div class="verbatim" id="verbatim-16">
-Message&#x00A0;ping(data:&#x00A0;DemoData&#x00A0;ref)
-</div>
-<!--l. 306--><p class="nopar" >
-</p><!--l. 308--><p class="noindent" >Make the test and inspect the console output.
-
-
-
-
-
-
-</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch8.html" >next</a>] [<a
+<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse26.html" >next</a>] [<a
href="etrice-docse24.html" >prev</a>] [<a
href="etrice-docse24.html#tailetrice-docse24.html" >prev-tail</a>] [<a
href="etrice-docse25.html" >front</a>] [<a
-href="etrice-docch7.html#etrice-docse25.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse25.html" >up</a>] </p></div>
+<!--l. 150--><p class="noindent" ><a
id="tailetrice-docse25.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
index 54bb40a..f992726 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse26.html
@@ -4,68 +4,41 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse27.html" >next</a>] [<a
-href="etrice-docch8.html" >prev</a>] [<a
-href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
+<!--l. 150--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
+href="etrice-docse25.html" >prev</a>] [<a
+href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
href="#tailetrice-docse26.html">tail</a>] [<a
-href="etrice-docch8.html#etrice-docse26.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
- id="x36-570008.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >The scope of this tutorial is to demonstrate how to receive model messages from outside the
-model. Calling methods which are not part of the model is simple and you have already done
-this within the blinky tutorial (this is the other way round: model =&#x003E; external code). Receiving
-events from outside the model is a very common problem and a very frequently asked question.
-Therefore this tutorial shows how an external event (outside the model) can be received by the
-model.
-</p><!--l. 11--><p class="noindent" >This tutorial is not like hello world or blinky. Being familiar with the basic tool features is mandatory for this
-tutorial. The goal is to understand the mechanism not to learn the tool features.
-</p><!--l. 14--><p class="noindent" >The idea behind the exercise is, to control a Pedestrian crossing light. We will use the same GUI as for the
-blinky tutorial but now we will use the <span
-class="ec-lmsso-10">REQUEST </span>button to start a FSM, which controls the traffic
-lights.
-</p><!--l. 18--><p class="noindent" ><img
-src="images/020-Blinky08.png" alt="PIC"
- />
-</p><!--l. 21--><p class="noindent" >The <span
-class="ec-lmsso-10">REQUEST </span>must lead to a model message which starts the activity of the lights.
-</p><!--l. 23--><p class="noindent" >There are several possibilities to receive external events (e.g. TCP/UDP Socket, using OS messaging
-mechanism), but the easiest way is, to make a port usable from outside the model. To do that a few steps are
-necessary:
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x36-57002x1">specify the messages (within a protocol) which should be sent into the model
- </li>
- <li
- class="enumerate" id="x36-57004x2">model an actor with a port (which uses the specified protocol) and connect the port to the receiver
- </li>
- <li
- class="enumerate" id="x36-57006x3">the external code should know the port (import of the port class)
- </li>
- <li
- class="enumerate" id="x36-57008x4">the external code should provide a registration method, so that the actor is able to allow access
- to this port
- </li>
- <li
- class="enumerate" id="x36-57010x5">the port can be used from the external code</li></ol>
+href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">6.6 </span> <a
+ id="x34-780006.6"></a>Summary</h3>
+<!--l. 152--><p class="noindent" >This tutorial should help you to train the necessary steps to create a C model. By the way you have seen how
+to create your own type system for a real embedded project. An additional aspect was to show how simple it is
+to separate different aspects of the required functionality by the use of actors and protocols and make them
+reusable.
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse27.html" >next</a>] [<a
-href="etrice-docch8.html" >prev</a>] [<a
-href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
+
+
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch7.html" >next</a>] [<a
+href="etrice-docse25.html" >prev</a>] [<a
+href="etrice-docse25.html#tailetrice-docse25.html" >prev-tail</a>] [<a
href="etrice-docse26.html" >front</a>] [<a
-href="etrice-docch8.html#etrice-docse26.html" >up</a>] </p></div>
-<!--l. 35--><p class="noindent" ><a
+href="etrice-docch6.html#etrice-docse26.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse26.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
index 7c67319..69137f7 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse27.html
@@ -4,121 +4,256 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Setup the model</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 35--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 8--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse28.html" >next</a>] [<a
-href="etrice-docse26.html" >prev</a>] [<a
-href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
+href="etrice-docch7.html" >prev</a>] [<a
+href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
href="#tailetrice-docse27.html">tail</a>] [<a
-href="etrice-docch8.html#etrice-docse27.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
- id="x37-580008.2"></a>Setup the model</h3>
+href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
+ id="x36-800007.1"></a>Actors</h3>
+<!--l. 10--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.1 </span> <a
+ id="x36-810007.1.1"></a>Description</h4>
+
+
+<!--l. 12--><p class="noindent" >The actor is the basic structural building block for building systems with ROOM. An actor can be refined
+hierarchically and thus can be of arbitrarily large scope. Ports define the interface of an actor. An actor can
+also have a behavior usually defined by a finite state machine.
+</p><!--l. 16--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.2 </span> <a
+ id="x36-820007.1.2"></a>Motivation</h4>
<ul class="itemize1">
- <li class="itemize">Use the <span
-class="ec-lmsso-10">New Model Wizzard </span>to create a new eTrice project and name it <span
-class="ec-lmsso-10">PedLightsController</span>.
+ <li class="itemize">Actors enable the construction of hierarchical structures by composition and layering
</li>
- <li class="itemize">Copy the package <span
-class="ec-lmsso-10">org.eclipse.etrice.tutorials.PedLightGUI </span>to your <span
-class="ec-lmsso-10">src </span>directory (see blinky
- tutorial).
+ <li class="itemize">Actors have their own logical thread of execution
</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">Actors can be freely deployed
</li>
- <li class="itemize">
- <div class="flushleft"
+ <li class="itemize">Actors define potentially re-usable blocks</li></ul>
+<!--l. 25--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.1.3 </span> <a
+ id="x36-830007.1.3"></a>Notation</h4>
+<div class="table">
+
+
+<!--l. 28--><p class="noindent" ><a
+ id="x36-830011"></a></p><hr class="float" /><div class="float"
>
-<!--l. 44--><p class="noindent" >
-Copy the model from /org.eclipse.etrice.tutorials/model/PedLightsController to your model file, or run
-the model directly in the tutorial directory.</p></div>
- </li>
- <li class="itemize">Adapt the import statement to your path.</li></ul>
-<div class="verbatim" id="verbatim-17">
-import&#x00A0;room.basic.service.timing.*&#x00A0;from
-&#x00A0;<br />"../../org.eclipse.etrice.modellib/models/TimingService.room"
+ <div class="caption"
+><span class="id">Table&#x00A0;7.1: </span><span
+class="content">Actor Class Notation</span></div><!--tex4ht:label?: x36-830011 -->
+<div class="tabular"> <table id="TBL-3" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-3-1g"><col
+id="TBL-3-1" /></colgroup><colgroup id="TBL-3-2g"><col
+id="TBL-3-2" /></colgroup><colgroup id="TBL-3-3g"><col
+id="TBL-3-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"
+class="td11"> ActorClass </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"
+class="td11"> <img
+src="images/040-ActorClassNotation.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"
+class="td11"> <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>
-<!--l. 53--><p class="nopar" >
+<h4 class="subsectionHead"><span class="titlemark">7.1.4 </span> <a
+ id="x36-840007.1.4"></a>Details</h4>
+<!--l. 42--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x36-850007.1.4"></a>Actor Classes, Actor References, Ports and Bindings</h5>
+<!--l. 44--><p class="noindent" >An <span id="textcolor1"><span
+class="ec-lmssbx-10">ActorClass</span></span> defines the type (or blueprint) of an actor. Hierarchies are built by <span id="textcolor2"><span
+class="ec-lmssbx-10">ActorClass</span></span>es that contain
+<span id="textcolor3"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences which have another <span id="textcolor4"><span
+class="ec-lmssbx-10">ActorClass</span></span> as type. The interface of an <span id="textcolor5"><span
+class="ec-lmssbx-10">ActorClass</span></span> is
+always defined by <span id="textcolor6"><span
+class="ec-lmssbx-10">Port</span></span>s. The <span id="textcolor7"><span
+class="ec-lmssbx-10">ActorClass</span></span> can also contain <span id="textcolor8"><span
+class="ec-lmssbx-10">Attribute</span></span>s, <span id="textcolor9"><span
+class="ec-lmssbx-10">Operation</span></span>s and a finite
+<span id="textcolor10"><span
+class="ec-lmssbx-10">StateMachine</span></span>.
+</p><!--l. 50--><p class="noindent" >External <span id="textcolor11"><span
+class="ec-lmssbx-10">Port</span></span>s define the external interface of an actor and are defined in the <span id="textcolor12"><span
+class="ec-lmssbx-10">Interface</span></span> section of the
+<span id="textcolor13"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 53--><p class="noindent" >Internal <span id="textcolor14"><span
+class="ec-lmssbx-10">Port</span></span>s define the internal interface of an actor and are defined in the <span id="textcolor15"><span
+class="ec-lmssbx-10">Structure</span></span> section of the
+<span id="textcolor16"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 56--><p class="noindent" ><span id="textcolor17"><span
+class="ec-lmssbx-10">Binding</span></span>s connect <span id="textcolor18"><span
+class="ec-lmssbx-10">Port</span></span>s inside an <span id="textcolor19"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
+</p><!--l. 58--><p class="noindent" >Let us have a look at example <a
+href="#x36-850012">7.2<!--tex4ht:ref: tab:actor_class_example --></a>:
</p>
+<div class="table">
+
+
+<!--l. 61--><p class="noindent" ><a
+ id="x36-850012"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.2: </span><span
+class="content">Actor Class Example</span></div><!--tex4ht:label?: x36-850012 -->
+<div class="tabular"> <table id="TBL-4" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-4-1g"><col
+id="TBL-4-1" /></colgroup><colgroup id="TBL-4-2g"><col
+id="TBL-4-2" /></colgroup><colgroup id="TBL-4-3g"><col
+id="TBL-4-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"
+class="td11"> <img
+src="images/040-ActorClass.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
+class="td11"> <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">Generate the code from the model.
+ <li class="itemize"><span
+class="ec-lmsso-10">ActorClass1 </span>contains two <span id="textcolor20"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences (of ActorClass2 and ActorClass3)
</li>
- <li class="itemize">Add the org.eclipse.etrice.modellib to the Java Class Path of your project.
+ <li class="itemize"><span
+class="ec-lmsso-10">port1 </span>is an <span
+class="ec-lmsso-10">external end port</span>. Since it connects external actors with the behavior of the
+ <span id="textcolor21"><span
+class="ec-lmssbx-10">ActorClass</span></span>, it is defined in the <span id="textcolor22"><span
+class="ec-lmssbx-10">Interface</span></span> section and the <span id="textcolor23"><span
+class="ec-lmssbx-10">Structure</span></span> section of the <span id="textcolor24"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
</li>
- <li class="itemize">All error markers should be disappeared and the model should be operable.
+ <li class="itemize"><span
+class="ec-lmsso-10">port2 </span>and <span
+class="ec-lmsso-10">port3 </span>are <span
+class="ec-lmsso-10">internal end ports </span>and can only be connected to the ports of contained
+ <span id="textcolor25"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. Internal end ports connect the behavior of an <span id="textcolor26"><span
+class="ec-lmssbx-10">ActorClass</span></span> with its contained
+ <span id="textcolor27"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences.
</li>
- <li class="itemize">Arrange the Structure and the Statemachines to understand the model</li></ul>
-
-<!--l. 63--><p class="noindent" ><img
-src="images/030-PedLights01.png" alt="PIC"
- /> The <span
-class="ec-lmsso-10">GuiAdapter </span>represents the interface to the external code. It registers its <span
-class="ec-lmsso-10">ControlPort </span>by the external
-code.
-</p><!--l. 68--><p class="noindent" ><img
-src="images/030-PedLights02.png" alt="PIC"
- /> Visit the initial transition to understand the registration. The actor handles the incoming messages as
-usual and controls the traffic lights as known from blinky.
-</p><!--l. 73--><p class="noindent" ><img
-src="images/030-PedLights03.png" alt="PIC"
- /> The <span
-class="ec-lmsso-10">Controller </span>receives the <span
-class="ec-lmsso-10">start </span>message and controls the timing of the lights. Note that the <span
-class="ec-lmsso-10">start</span>
-message will be sent from the external code whenever the <span
-class="ec-lmsso-10">REQUEST </span>button is pressed.
-</p>
- <ul class="itemize1">
- <li class="itemize">Visit the model and take a closer look to the following elements:
- <ol class="enumerate1" >
- <li
- class="enumerate" id="x37-58002x1">PedControlProtocol =&#x003E; notice that the start message is defined as usual
- </li>
- <li
- class="enumerate" id="x37-58004x2">Initial transition of the <span
-class="ec-lmsso-10">GuiAdapter </span>=&#x003E; see the registration
- </li>
- <li
- class="enumerate" id="x37-58006x3">The <span
-class="ec-lmsso-10">Controller </span>=&#x003E; notice that the <span
-class="ec-lmsso-10">Controller </span>receives the external message (not the
- <span
-class="ec-lmsso-10">GuiAdapter</span>). The <span
-class="ec-lmsso-10">GuiAdapter </span>just provides its port and handles the incoming messages.
- </li>
- <li
- class="enumerate" id="x37-58008x4">Visit the hand written code =&#x003E; see the import statement of the protocol class and the
- usage of the port.</li></ol>
+ <li class="itemize"><span
+class="ec-lmsso-10">port4 </span>is a relay port and connects external Actors to contained <span id="textcolor28"><span
+class="ec-lmssbx-10">ActorRef</span></span>erences. This port can
+ not be accessed by the behavior of the <span id="textcolor29"><span
+class="ec-lmssbx-10">ActorClass</span></span>.
</li>
- <li class="itemize">Generate and test the model
+ <li class="itemize"><span
+class="ec-lmsso-10">port5 </span>through <span
+class="ec-lmsso-10">port9 </span>are ports of contained actor references. <span
+class="ec-lmsso-10">port8 </span>and <span
+class="ec-lmsso-10">port9 </span>can communicate
+ without interference with the containing actor class.
</li>
- <li class="itemize">Take a look at the generated MSC =&#x003E; notice that the start message will shown as if the <span
-class="ec-lmsso-10">GuiAdapter</span>
- had sent it.</li></ul>
-
-<!--l. 94--><p class="noindent" ><img
-src="images/030-PedLights04.png" alt="PIC"
+ <li class="itemize"><span id="textcolor30"><span
+class="ec-lmssbx-10">Binding</span></span>s can connect ports of the actor class and its contained actor references.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x36-860007.1.4"></a>Attributes</h5>
+<!--l. 88--><p class="noindent" ><span id="textcolor31"><span
+class="ec-lmssbx-10">Attribute</span></span>s are part of the <span id="textcolor32"><span
+class="ec-lmssbx-10">Structure</span></span> of an actor class. They can be of a <span id="textcolor33"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a
+<span id="textcolor34"><span
+class="ec-lmssbx-10">DataClass</span></span>.
+</p><!--l. 91--><p class="noindent" >Example:
+</p><!--l. 93--><p class="noindent" ><img
+src="images/040-ActorClassAttributes.png" alt="PIC"
+ />
+</p><!--l. 95--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x36-870007.1.4"></a>Operations</h5>
+<!--l. 97--><p class="noindent" ><span id="textcolor35"><span
+class="ec-lmssbx-10">Operation</span></span>s are part of the <span id="textcolor36"><span
+class="ec-lmssbx-10">Behavior</span></span> of an actor class. Arguments and return values can be of a
+<span id="textcolor37"><span
+class="ec-lmssbx-10">PrimitiveType</span></span> or a <span id="textcolor38"><span
+class="ec-lmssbx-10">DataClass</span></span>. Data classes can be passed by value (implicit) or by reference
+(<span id="textcolor39"><span
+class="ec-lmssbx-10">ref</span></span>).
+</p><!--l. 100--><p class="noindent" >Example:
+</p><!--l. 102--><p class="noindent" ><img
+src="images/040-ActorClassOperations.png" alt="PIC"
/>
</p>
-<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 104--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse28.html" >next</a>] [<a
-href="etrice-docse26.html" >prev</a>] [<a
-href="etrice-docse26.html#tailetrice-docse26.html" >prev-tail</a>] [<a
+href="etrice-docch7.html" >prev</a>] [<a
+href="etrice-docch7.html#tailetrice-docch7.html" >prev-tail</a>] [<a
href="etrice-docse27.html" >front</a>] [<a
-href="etrice-docch8.html#etrice-docse27.html" >up</a>] </p></div>
-<!--l. 97--><p class="noindent" ><a
- id="tailetrice-docse27.html"></a> </p>
+href="etrice-docch7.html#etrice-docse27.html" >up</a>] </p></div>
+<!--l. 104--><p class="noindent" ><a
+ id="tailetrice-docse27.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
index ab08cab..beeb0b1 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse28.html
@@ -4,62 +4,59 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Why does it work and why is it safe?</title>
+<head><title>Protocols</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 97--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch9.html" >next</a>] [<a
+<!--l. 104--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse29.html" >next</a>] [<a
href="etrice-docse27.html" >prev</a>] [<a
href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
href="#tailetrice-docse28.html">tail</a>] [<a
-href="etrice-docch8.html#etrice-docse28.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">8.3 </span> <a
- id="x38-590008.3"></a>Why does it work and why is it safe?</h3>
-<!--l. 99--><p class="noindent" >The tutorial shows that it is generally possible to use every port from outside the model as long as the port
-knows its peer. This is guaranteed by describing protocol and the complete structure (especially the bindings)
-within the model. The only remaining question is: Why is it safe and does not violate the <span
-class="ec-lmssbx-10">run to</span>
-<span
-class="ec-lmssbx-10">completion </span>semantic. To answer this question, take a look at the <span
-class="ec-lmsso-10">MessageService.java </span>from the
-runtime environment. There you will find the receive method which puts each message into the
-queue.
-
-
+href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
+ id="x37-880007.2"></a>Protocols</h3>
+<!--l. 106--><p class="noindent" >
</p>
-<div class="verbatim" id="verbatim-18">
-&#x00A0;&#x00A0;&#x00A0;&#x00A0;@Override
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;public&#x00A0;synchronized&#x00A0;void&#x00A0;receive(Message&#x00A0;msg)&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;if&#x00A0;(msg!=null)&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;messageQueue.push(msg);
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;notifyAll();&#x00A0;//&#x00A0;wake&#x00A0;up&#x00A0;thread&#x00A0;to&#x00A0;compute&#x00A0;message
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-</div>
-<!--l. 114--><p class="nopar" >
-</p><!--l. 116--><p class="noindent" >This method is synchronized. That means, regardless who sends the message, the queue is secured. If we later
-on (e.g. for performance reasons in C/C++) distinguish between internal and external senders (same thread or
-not), care must be taken to use the external (secure) queue.
-
-
-
-
+<h4 class="subsectionHead"><span class="titlemark">7.2.1 </span> <a
+ id="x37-890007.2.1"></a>Description</h4>
+<!--l. 108--><p class="noindent" >A <span id="textcolor40"><span
+class="ec-lmssbx-10">ProtocolClass</span></span> defines a set of incoming and outgoing <span id="textcolor41"><span
+class="ec-lmssbx-10">Message</span></span>s that can be exchanged between two ports.
+The exact semantics of a message is defined by the execution model.
+</p><!--l. 111--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.2.2 </span> <a
+ id="x37-900007.2.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Protocol classes provide a reusable interface specification for ports
+ </li>
+ <li class="itemize">Protocol classes can optionally specify valid message exchange sequences</li></ul>
+<!--l. 118--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.2.3 </span> <a
+ id="x37-910007.2.3"></a>Notation</h4>
+<!--l. 120--><p class="noindent" >Protocol classes have only textual notation. The example defines a protocol class with 2 incoming and two
+outgoing messages. Messages can have data attached. The data can be of a primitive type (e.g. int32, float64,
+...) or a data class.
+</p><!--l. 124--><p class="noindent" ><img
+src="images/040-ProtocolClassTextualNotation.png" alt="PIC"
+ />
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch9.html" >next</a>] [<a
+<!--l. 126--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse29.html" >next</a>] [<a
href="etrice-docse27.html" >prev</a>] [<a
href="etrice-docse27.html#tailetrice-docse27.html" >prev-tail</a>] [<a
href="etrice-docse28.html" >front</a>] [<a
-href="etrice-docch8.html#etrice-docse28.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch7.html#etrice-docse28.html" >up</a>] </p></div>
+<!--l. 126--><p class="noindent" ><a
id="tailetrice-docse28.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
index c972eb9..a3a5313 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse29.html
@@ -4,68 +4,408 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Testing the environment</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 19--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 126--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse30.html" >next</a>] [<a
-href="etrice-docch9.html" >prev</a>] [<a
-href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
+href="etrice-docse28.html" >prev</a>] [<a
+href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
href="#tailetrice-docse29.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse29.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
- id="x40-610009.1"></a>Testing the environment</h3>
-<!--l. 21--><p class="noindent" >To verify the C tool chain you should generate and run the Hello World example program of the CDT. Activate
-the <span
-class="ec-lmsso-10">C/C++ </span>perspective.
-</p><!--l. 24--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC03.png" alt="PIC"
- />
-</p><!--l. 27--><p class="noindent" >From the main menu select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>.
-</p><!--l. 29--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC02.png" alt="PIC"
- />
-</p><!--l. 32--><p class="noindent" >Name the project. Select an <span
-class="ec-lmsso-10">Executable-&#x003E;Hello World ANSI C </span>as project type, <span
-class="ec-lmsso-10">MinGW GCC </span>as tool chain and
-click <span
-class="ec-lmsso-10">Finish</span>.
-</p><!--l. 35--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC04.png" alt="PIC"
- />
-</p><!--l. 38--><p class="noindent" >Select the new project and click the build button (or right click the project and select <span
-class="ec-lmsso-10">Build Project</span>)
-</p><!--l. 41--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC05.png" alt="PIC"
- />
-</p><!--l. 44--><p class="noindent" >The binary should be generated. Run the binary as <span
-class="ec-lmsso-10">Local C/C++ Application</span>.
-</p><!--l. 46--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC06.png" alt="PIC"
- />
-</p><!--l. 49--><p class="noindent" >Verify the output.
-</p><!--l. 51--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC07.png" alt="PIC"
- />
-</p><!--l. 54--><p class="noindent" >Remember these steps. In the following Tutorials these steps will be referenced as <span
-class="ec-lmsso-10">build and run</span>.
+href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
+ id="x38-920007.3"></a>Ports</h3>
+<!--l. 128--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.1 </span> <a
+ id="x38-930007.3.1"></a>Description</h4>
+<!--l. 130--><p class="noindent" ><span id="textcolor42"><span
+class="ec-lmssbx-10">Port</span></span>s are the only interfaces of actors. A port has always a protocol assigned. Service Access
+Points (SAP) and Service Provision Points (SPP) are specialized ports that are used to define
+layering.
+</p><!--l. 134--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.2 </span> <a
+ id="x38-940007.3.2"></a>Motivation</h4>
+ <ul class="itemize1">
+ <li class="itemize">Ports decouple interface definition (protocols) from interface usage
+ </li>
+ <li class="itemize">Ports decouple the logical interface from the transport</li></ul>
+<!--l. 141--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.3.3 </span> <a
+ id="x38-950007.3.3"></a>Notation</h4>
+<!--l. 143--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x38-960007.3.3"></a>Class Ports</h5>
+<!--l. 145--><p class="noindent" >These symbols can only appear on the border of an actor class symbol.
+</p><!--l. 147--><p class="noindent" >Ports that define an external interface of the actor class, are defined in the <span id="textcolor43"><span
+class="ec-lmssbx-10">Interface</span></span>. Ports that define an
+internal interface are defined in the <span id="textcolor44"><span
+class="ec-lmssbx-10">Structure</span></span> (e.g. internal ports).
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">External end ports </span>are defined in the Interface and the Structure
+
+
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Internal end ports </span>are only defined in the Structure
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Relay ports </span>are only defined in the Interface
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">End ports </span>are always connected to the internal behavior of the ActorClass
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Replicated ports </span>can be defined with a fixed replication factor, e.g.<br
+class="newline" /><span id="textcolor45"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18 [5]: ProtocolClass1</span><br
+class="newline" />or a variable replication factor, e.g.<br
+class="newline" /><span id="textcolor46"><span
+class="ec-lmtk-10">Port</span></span> <span
+class="ec-lmtt-10">port18[*]: ProtocolClass1</span></li></ul>
+<!--l. 161--><p class="noindent" >The table <a
+href="#x38-960013">7.3<!--tex4ht:ref: tab:class_port_notation --></a> shows all kinds of class ports with textual and graphical notation.
+</p>
+<div class="table">
+
+
+<!--l. 164--><p class="noindent" ><a
+ id="x38-960013"></a></p><hr class="float" /><div class="float"
+>
+ <div class="caption"
+><span class="id">Table&#x00A0;7.3: </span><span
+class="content">Class Port Notation</span></div><!--tex4ht:label?: x38-960013 -->
+<a
+ id="x38-96002r4"></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="ec-lmssbx-10">Element</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-5-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">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="ec-lmssbx-10">Textual Notation</span> </p></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-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="ec-lmsso-10">External Class End Port:</span></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:nowrap; text-align: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="ec-lmsso-10">Internal Class End Port: </span></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:nowrap; text-align: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. 173--><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. 175--><p class="noindent" ><span
+class="ec-lmsso-10">External Conjugated Class End 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. 176--><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. 177--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Conjugated Class End 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. 177--><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. 179--><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. 180--><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. 181--><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. 183--><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. 184--><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. 186--><p class="noindent" ><span
+class="ec-lmsso-10">External Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-2-1"
+class="td11"><!--l. 187--><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. 188--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Replicated Class End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-8-4-1"
+class="td11"><!--l. 188--><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. 190--><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. 192--><p class="noindent" ><span
+class="ec-lmsso-10">External Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-2-1"
+class="td11"><!--l. 193--><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. 194--><p class="noindent" ><span
+class="ec-lmsso-10">Internal Conjugated Replicated Class</span>
+<span
+class="ec-lmsso-10">End Port:</span> </p></td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-9-4-1"
+class="td11"><!--l. 195--><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. 197--><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. 199--><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. 200--><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. 202--><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. 203--><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. 203--><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="x38-970007.3.3"></a>Reference Ports</h5>
+<!--l. 208--><p class="noindent" >These symbols can only appear on the border of an actor class. Since the type of port is defined in the actor
+class, no textual notation for the Reference Ports exists.
+</p><!--l. 211--><p class="noindent" >The table <a
+href="#x38-970015">7.5<!--tex4ht:ref: tab:reference_port_notation --></a> shows all kinds of reference ports with textual and graphical notation.
</p>
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+<div class="table">
+
+
+<!--l. 214--><p class="noindent" ><a
+ id="x38-970015"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.5: </span><span
+class="content">Reference Port Notation</span></div><!--tex4ht:label?: x38-970015 -->
+<div class="tabular"> <table id="TBL-10" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-10-1g"><col
+id="TBL-10-1" /></colgroup><colgroup id="TBL-10-2g"><col
+id="TBL-10-2" /></colgroup><colgroup id="TBL-10-3g"><col
+id="TBL-10-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Element </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-10-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-2"
+class="td11"> <img
+src="images/040-ReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-2-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-1"
+class="td11"> Conjugated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-2"
+class="td11"> <img
+src="images/040-ConjugatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-3-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-1"
+class="td11"> Replicated Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-2"
+class="td11"> <img
+src="images/040-ReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-4-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-5-1"
+class="td11"> Conjugated Replicated </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-1"
+class="td11"> Reference Port </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-2"
+class="td11"> <img
+src="images/040-ConjugatedReplicatedReferencePort.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:center;" id="TBL-10-6-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:nowrap; text-align:center;" id="TBL-10-7-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+
+
+<!--l. 229--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse30.html" >next</a>] [<a
-href="etrice-docch9.html" >prev</a>] [<a
-href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
+href="etrice-docse28.html" >prev</a>] [<a
+href="etrice-docse28.html#tailetrice-docse28.html" >prev-tail</a>] [<a
href="etrice-docse29.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse29.html" >up</a>] </p></div>
-<!--l. 57--><p class="noindent" ><a
- id="tailetrice-docse29.html"></a> </p>
+href="etrice-docch7.html#etrice-docse29.html" >up</a>] </p></div>
+<!--l. 229--><p class="noindent" ><a
+ id="tailetrice-docse29.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
index 747ec1a..2f0ff3f 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse3.html
@@ -4,54 +4,64 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</title>
+<head><title>Working with the tutorials</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse4.html" >next</a>] [<a
-href="etrice-docch5.html" >prev</a>] [<a
-href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
+href="etrice-docch2.html" >prev</a>] [<a
+href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
href="#tailetrice-docse3.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse3.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
- id="x10-290005.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:
-</p><!--l. 8--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x10-29002x1">create a new model from scratch
+href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
+ id="x7-260002.1"></a>Working with the tutorials</h3>
+<!--l. 3--><p class="noindent" >The eTrice tutorials will help you to learn and understand the eTrice tool and concepts. eTrice supports
+several target languages. The chapter setting up the workspace exists for each target language.
+Those are currently Java and C. The C++ generator and runtime are currently prototypes with no
+tutorials.
+</p><!--l. 8--><p class="noindent" >The other tutorials work for all target languages. Target language specific aspects are explained for all
+languages.
+
+
+</p><!--l. 10--><p class="noindent" >eTrice generates code out of ROOM models. The generated code relies on the services of a runtime
+framework: </p>
+ <ul class="itemize1">
+ <li class="itemize">execution
</li>
- <li
- class="enumerate" id="x10-29004x2">add a very simple state machine to an actor
+ <li class="itemize">communication (e.g. messaging)
</li>
- <li
- class="enumerate" id="x10-29006x3">generate the source code
+ <li class="itemize">logging
</li>
- <li
- class="enumerate" id="x10-29008x4">run the model
+ <li class="itemize">operating system abstraction (osal)</li></ul>
+<!--l. 19--><p class="noindent" >Additional functionality is provided as model library: </p>
+ <ul class="itemize1">
+ <li class="itemize">socket server and client
</li>
- <li
- class="enumerate" id="x10-29010x5">open the message sequence chart</li></ol>
-<!--l. 16--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the workspace</span>.
+ <li class="itemize">timing service
+ </li>
+ <li class="itemize">standard types</li></ul>
+<!--l. 26--><p class="noindent" >Additionally the tutorial models are be provided to make it easy to start with eTrice. All those projects should
+be available in our workspace before you start working with the tutorials.
+
+
+
+
</p>
-<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse4.html" >next</a>] [<a
-href="etrice-docch5.html" >prev</a>] [<a
-href="etrice-docch5.html#tailetrice-docch5.html" >prev-tail</a>] [<a
+href="etrice-docch2.html" >prev</a>] [<a
+href="etrice-docch2.html#tailetrice-docch2.html" >prev-tail</a>] [<a
href="etrice-docse3.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse3.html" >up</a>] </p></div>
-<!--l. 18--><p class="noindent" ><a
+href="etrice-docch2.html#etrice-docse3.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse3.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
index 38dc037..aa54382 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse30.html
@@ -4,83 +4,55 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Building the C runtime system</title>
+<head><title>DataClass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch10.html" >next</a>] [<a
+<!--l. 229--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse31.html" >next</a>] [<a
href="etrice-docse29.html" >prev</a>] [<a
href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
href="#tailetrice-docse30.html">tail</a>] [<a
-href="etrice-docch9.html#etrice-docse30.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
- id="x41-620009.2"></a>Building the C runtime system</h3>
-<!--l. 59--><p class="noindent" >The C runtime system contains some basic functionalities to run the generated models. The so called runtime
-is common for all C projects. The requirements for several projects may differ depending on the functionality of
-the model or the resources of the different platforms. Therefore the runtime is configurable in terms of
-message queue size, frequency and memory alignment. The configuration file <span
-class="ec-lmsso-10">etRuntimeConfig.h </span>is located in
-<span
-class="ec-lmsso-10">src/config</span>.
-</p><!--l. 65--><p class="noindent" >After changing the configuration, the runtime must be built.
-</p><!--l. 67--><p class="noindent" >Open the properties of the <span
-class="ec-lmsso-10">org.eclipse.runtime.c </span>project and select <span
-class="ec-lmsso-10">C/C++ Build-&#x003E;Settings-&#x003E;Tool Settings</span>
-and select <span
-class="ec-lmsso-10">Includes</span>.
-</p><!--l. 70--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC08.png" alt="PIC"
- />
-</p><!--l. 73--><p class="noindent" >Verify the include paths
+href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.4 </span> <a
+ id="x39-980007.4"></a>DataClass</h3>
+<!--l. 231--><p class="noindent" >
</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmsso-10">src/config</span>
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">src/common</span>
- </li>
- <li class="itemize"><span
-class="ec-lmsso-10">src/platforms/generic</span></li></ul>
-<!--l. 81--><p class="noindent" >Within the Setting dialog select the tab <span
-class="ec-lmsso-10">Build Artefact </span>and select <span
-class="ec-lmsso-10">Static Library</span>
-</p><!--l. 83--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC09.png" alt="PIC"
- />
-</p><!--l. 86--><p class="noindent" >Build the runtime by clicking
-</p><!--l. 88--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC10.png" alt="PIC"
+<h4 class="subsectionHead"><span class="titlemark">7.4.1 </span> <a
+ id="x39-990007.4.1"></a>Description</h4>
+<!--l. 233--><p class="noindent" >The <span id="textcolor47"><span
+class="ec-lmssbx-10">DataClass</span></span> enables the modeling of hierarchical complex data types and operations on them. The data
+class is the equivalent to a class in languages like Java or C++, but has less features. The content
+of a data class can always be sent via message between actors (defined as message data in a
+<span id="textcolor48"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>).
+</p><!--l. 237--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.4.2 </span> <a
+ id="x39-1000007.4.2"></a>Notation</h4>
+<!--l. 239--><p class="noindent" >Example: DataClass using PrimitiveTypes
+</p><!--l. 241--><p class="noindent" ><img
+src="images/040-DataClass1.png" alt="PIC"
/>
-</p><!--l. 91--><p class="noindent" >The runtime library should be created.
-</p><!--l. 93--><p class="noindent" ><img
-src="images/032-SetupWorkspaceC11.png" alt="PIC"
+</p><!--l. 243--><p class="noindent" >Example: DataClass using other DataClasses:
+</p><!--l. 245--><p class="noindent" ><img
+src="images/040-DataClass2.png" alt="PIC"
/>
-</p><!--l. 96--><p class="noindent" >For the tutorials one runtime library should be sufficient. For embedded projects it might be necessary to build
-project specific runtime libraries. In this case a separate project for the runtime should be created. Symbolic
-links to the sources might be used to avoid duplicate files. Just the configuration file must be duplicated. A
-specific library file must exist within the project. Such specific runtime libraries might be referenced from
-several applications.
-
-
-
-
</p>
-<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch10.html" >next</a>] [<a
+<!--l. 247--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docse31.html" >next</a>] [<a
href="etrice-docse29.html" >prev</a>] [<a
href="etrice-docse29.html#tailetrice-docse29.html" >prev-tail</a>] [<a
href="etrice-docse30.html" >front</a>] [<a
-href="etrice-docch9.html#etrice-docse30.html" >up</a>] </p></div>
-<!--l. 1--><p class="noindent" ><a
+href="etrice-docch7.html#etrice-docse30.html" >up</a>] </p></div>
+<!--l. 247--><p class="noindent" ><a
id="tailetrice-docse30.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
index 4f3daf5..217d625 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse31.html
@@ -4,59 +4,174 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</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-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 247--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse32.html" >next</a>] [<a
-href="etrice-docch10.html" >prev</a>] [<a
-href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
+href="etrice-docse30.html" >prev</a>] [<a
+href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
href="#tailetrice-docse31.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse31.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.1 </span> <a
- id="x43-6400010.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >In this tutorial you will learn how to create a model for C from scratch. There are some more steps to do in C
-compared to Java. The goal is to get familiar with the additional steps. The Java tutorial is a prerequisite for
-the following explanations. You will perform the following steps:
-</p><!--l. 10--><p class="noindent" >
+href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.5 </span> <a
+ id="x40-1010007.5"></a>Layering</h3>
+<!--l. 249--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.5.1 </span> <a
+ id="x40-1020007.5.1"></a>Description</h4>
+<!--l. 251--><p class="noindent" >In addition to the actor containment hierarchies, layering provides another method to hierarchically structure a
+software system. Layering and actor hierarchies with port to port connections can be mixed on every level of
+granularity.
+</p><!--l. 255--><p class="noindent" >
</p><ol class="enumerate1" >
<li
- class="enumerate" id="x43-64002x1">create a new model from scratch for C
- </li>
- <li
- class="enumerate" id="x43-64004x2">create structure and behavior similar to Java
- </li>
- <li
- class="enumerate" id="x43-64006x3">create a launch configuration for the C code generator
+ class="enumerate" id="x40-102002x1">an actor class can define a Service Provision Point (<span id="textcolor49"><span
+class="ec-lmssbx-10">SPPRef</span></span>) to publish a specific service, defined
+ by a protocol class
</li>
<li
- class="enumerate" id="x43-64008x4">setup the C environment
+ class="enumerate" id="x40-102004x2">an actor class can define a Service Access Point (<span id="textcolor50"><span
+class="ec-lmssbx-10">SAPRef</span></span>) if it needs a service, defined by a
+ protocol class
</li>
<li
- class="enumerate" id="x43-64010x5">generate the source code
- </li>
- <li
- class="enumerate" id="x43-64012x6">run the model</li></ol>
-<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the Workspace for C</span>
-<span
-class="ec-lmsso-10">Projects</span>.
+ class="enumerate" id="x40-102006x3">for a given actor hierarchy, a <span id="textcolor51"><span
+class="ec-lmssbx-10">LayerConnection</span></span> defines which SAP will be satisfied by (connected
+ to) which SPP</li></ol>
+<!--l. 264--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.5.2 </span> <a
+ id="x40-1030007.5.2"></a>Notation</h4>
+<!--l. 266--><p class="noindent" >For the graphical and textual notation refer to table <a
+href="#x40-1030016">7.6<!--tex4ht:ref: tab:layering_notation --></a>
+</p>
+<div class="table">
-</p>
-<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 269--><p class="noindent" ><a
+ id="x40-1030016"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.6: </span><span
+class="content">Layering Notation</span></div><!--tex4ht:label?: x40-1030016 -->
+<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. 273--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-11-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-11-2-1"
+class="td11">
+ <div class="flushleft"
+>
+ <!--l. 275--><p class="noindent" >
+ The layer
+ connections in this
+ model define which
+ services are provided
+ by the <span
+class="ec-lmsso-10">ServiceLayer</span>
+ (<span
+class="ec-lmsso-10">digitalIO </span>and
+ <span
+class="ec-lmsso-10">timer</span>)</p></div>
+ <!--l. 278--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-2-2"
+class="td11"> <img
+src="images/040-LayeringModel.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" 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. 283--><p class="noindent" >
+ The
+ implementation of
+ the services (SPPs)
+ can be delegated to
+ sub actors. In this
+ case the actor
+ <span
+class="ec-lmsso-10">ServiceLayer </span>relays
+ (delegates) the
+ implementation
+ services <span
+class="ec-lmsso-10">digitalIO</span>
+ and <span
+class="ec-lmsso-10">timer </span>to sub
+ actors</p></div>
+ <!--l. 287--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-3-2"
+class="td11"> <img
+src="images/040-LayeringServiceLayer.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" 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. 291--><p class="noindent" >
+ Every Actor inside
+ the
+ <span
+class="ec-lmsso-10">ApplicationLayer</span>
+ that contains an
+ SAP with the same
+ protocol as <span
+class="ec-lmsso-10">timer </span>or
+ <span
+class="ec-lmsso-10">digitalIO </span>will be
+ connected to the
+ specified SPP</p></div>
+ <!--l. 294--><p class="noindent" > </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-11-4-2"
+class="td11"> <img
+src="images/040-LayeringApplicationLayer.png" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" 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. 301--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse32.html" >next</a>] [<a
-href="etrice-docch10.html" >prev</a>] [<a
-href="etrice-docch10.html#tailetrice-docch10.html" >prev-tail</a>] [<a
+href="etrice-docse30.html" >prev</a>] [<a
+href="etrice-docse30.html#tailetrice-docse30.html" >prev-tail</a>] [<a
href="etrice-docse31.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse31.html" >up</a>] </p></div>
-<!--l. 23--><p class="noindent" ><a
+href="etrice-docch7.html#etrice-docse31.html" >up</a>] </p></div>
+<!--l. 301--><p class="noindent" ><a
id="tailetrice-docse31.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
index e65e4c9..027a442 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse32.html
@@ -4,80 +4,336 @@
<!--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>Finite State Machines</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 23--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse33.html" >next</a>] [<a
+<!--l. 301--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch8.html" >next</a>] [<a
href="etrice-docse31.html" >prev</a>] [<a
href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
href="#tailetrice-docse32.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse32.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.2 </span> <a
- id="x44-6500010.2"></a>Create a new model from scratch</h3>
-<!--l. 25--><p class="noindent" >Before you can create a new C-model, you have to create a new C project as described in <span
-class="ec-lmsso-10">Setting up the</span>
-<span
-class="ec-lmsso-10">Workspace for C Projects</span>. Remember: </p>
- <ul class="itemize1">
- <li class="itemize">select the <span
-class="ec-lmsso-10">C/C++ </span>perspective
- </li>
- <li class="itemize">From the main menue select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
- </li>
- <li class="itemize">Name the project <span
-class="ec-lmsso-10">HelloWorldC</span>
- </li>
- <li class="itemize">Project type is <span
-class="ec-lmsso-10">Executable / Empty C Project</span>
- </li>
- <li class="itemize">Toolchain is <span
-class="ec-lmsso-10">MinGW</span></li></ul>
-<!--l. 36--><p class="noindent" >The workspace should look like this:
-</p><!--l. 38--><p class="noindent" ><img
-src="images/034-HelloWorldC01.png" alt="PIC"
- />
-</p><!--l. 41--><p class="noindent" >The next step is to add the model folder: Right click on the new project. Select <span
-class="ec-lmsso-10">New-&#x003E;Folder </span>and name it
-<span
-class="ec-lmsso-10">model</span>.
-</p><!--l. 44--><p class="noindent" ><img
-src="images/034-HelloWorldC02.png" alt="PIC"
+href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">7.6 </span> <a
+ id="x41-1040007.6"></a>Finite State Machines</h3>
+<!--l. 303--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.1 </span> <a
+ id="x41-1050007.6.1"></a>Description</h4>
+<!--l. 305--><p class="noindent" >Definition from <a
+href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>:
+</p><!--l. 307--><p class="noindent" >
+ </p><div class="quote">
+ <!--l. 308--><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. 316--><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. 321--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.2 </span> <a
+ id="x41-1060007.6.2"></a>Motivation</h4>
+<!--l. 323--><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. 326--><p class="noindent" >We distinguish flat and hierarchical state machines.
+</p><!--l. 328--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">7.6.3 </span> <a
+ id="x41-1070007.6.3"></a>Notation</h4>
+<!--l. 330--><p class="noindent" >We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones.
+
+
+</p><!--l. 332--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x41-1080007.6.3"></a>Flat Finite State Machine</h5>
+<!--l. 334--><p class="noindent" >The simpler flat finite state machines are composed of the elements shown in table <a
+href="#x41-1080017">7.7<!--tex4ht:ref: tab:flat_fsm_notation --></a>.
+</p>
+<div class="table">
+
+
+<!--l. 337--><p class="noindent" ><a
+ id="x41-1080017"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.7: </span><span
+class="content">Flat finite state machine notation</span></div><!--tex4ht:label?: x41-1080017 -->
+<div class="tabular"> <table id="TBL-12" class="tabular"
+cellspacing="0" cellpadding="0" rules="groups"
+><colgroup id="TBL-12-1g"><col
+id="TBL-12-1" /></colgroup><colgroup id="TBL-12-2g"><col
+id="TBL-12-2" /></colgroup><colgroup id="TBL-12-3g"><col
+id="TBL-12-3" /></colgroup><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-1"
+class="td11"> <span
+class="ec-lmssbx-10">Description </span></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-12-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:nowrap; text-align:left;" 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:left;" 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:left;" 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:left;" id="TBL-12-3-3"
+class="td11"> <span
+class="ec-lmsso-10">implicit</span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left;" 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:left;" 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:left;" 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:left;" 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:left;" 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:left;" 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:left;" 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:left;" 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:left;" id="TBL-12-8-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
+<h5 class="subsubsectionHead"><a
+ id="x41-1090007.6.3"></a>Hierarchical Finite State Machine</h5>
+<!--l. 365--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few modeling
+elements listed in table <a
+href="#x41-1090018">7.8<!--tex4ht:ref: tab:hier_fsm_notation --></a> are added to the set listed above.
+</p>
+<div class="table">
+
+
+<!--l. 369--><p class="noindent" ><a
+ id="x41-1090018"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;7.8: </span><span
+class="content">Additional notation elements of hierarchical finite state machines</span></div><!--tex4ht:label?: x41-1090018 -->
+<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. 373--><p class="noindent" ><span
+class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-2"
+class="td11"> <span
+class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-13-1-3"
+class="td11"> <span
+class="ec-lmssbx-10">Textual Notation </span></td>
+</tr><tr
+class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr
+ style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:baseline;" id="TBL-13-2-1"
+class="td11"> <!--l. 375--><p class="noindent" >State with sub state
+ machine </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-2-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-14-1g"><col
+id="TBL-14-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-1-1"
+class="td00">Parent State</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-2-1"
+class="td00"> <img
+src="images/040-StateWithSubFSM.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left;" 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. 379--><p class="noindent" >Entry Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-3-2"
+class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-16-1g"><col
+id="TBL-16-1" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-1-1"
+class="td00">In sub state machine</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-2-1"
+class="td00"> <img
+src="images/040-EntryPoint.jpg" alt="PIC"
+ /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left;" 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. 383--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2"
+class="td11"> <img
+src="images/040-ExitPoint.jpg" alt="PIC"
+ /> </td><td style="white-space:nowrap; text-align:left;" 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">7.6.4 </span> <a
+ id="x41-1100007.6.4"></a>Examples</h4>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100011"></a>
+
+
+<!--l. 391--><p class="noindent" ><img
+src="images/040-FlatFSM.jpg" alt="PIC"
/>
-</p><!--l. 47--><p class="noindent" >Add the model file to the folder. Right click on the new folder. Select <span
-class="ec-lmsso-10">New-&#x003E;file </span>and name it
-<span
-class="ec-lmsso-10">HelloWorldC.room</span>.
-</p><!--l. 50--><p class="noindent" ><img
-src="images/034-HelloWorldC03.png" alt="PIC"
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.1: </span><span
+class="content">Example of a flat finite state machine</span></div><!--tex4ht:label?: x41-1100011 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100022"></a>
+
+
+<!--l. 396--><p class="noindent" ><img
+src="images/040-HierarchicalFSMTop.jpg" alt="PIC"
/>
-</p><!--l. 53--><p class="noindent" >Due to the file ending <span
-class="ec-lmsso-10">.room</span>, the tool will ask you to add the Xtext nature. Answer with <span
-class="ec-lmsso-10">Yes</span>.
-</p><!--l. 56--><p class="noindent" ><img
-src="images/034-HelloWorldC04.png" alt="PIC"
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.2: </span><span
+class="content">Example of a hierarchical finite state machine &#8211; top level</span></div><!--tex4ht:label?: x41-1100022 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100033"></a>
+
+
+<!--l. 401--><p class="noindent" ><img
+src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC"
/>
-</p><!--l. 59--><p class="noindent" >The workspace should look like this:
-</p><!--l. 61--><p class="noindent" ><img
-src="images/034-HelloWorldC05.png" alt="PIC"
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.3: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Initializing</span></span></div><!--tex4ht:label?: x41-1100033 -->
+
+
+</div><hr class="endfigure" />
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x41-1100044"></a>
+
+
+<!--l. 406--><p class="noindent" ><img
+src="images/040-HierarchicalFSMRunning.jpg" alt="PIC"
/>
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;7.4: </span><span
+class="content">Hierarchical finite state machine &#8211; sub state machine of <span
+class="ec-lmsso-10">Running</span></span></div><!--tex4ht:label?: x41-1100044 -->
-</p>
-<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse33.html" >next</a>] [<a
+</div><hr class="endfigure" />
+
+
+
+
+<!--l. 57--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch8.html" >next</a>] [<a
href="etrice-docse31.html" >prev</a>] [<a
href="etrice-docse31.html#tailetrice-docse31.html" >prev-tail</a>] [<a
href="etrice-docse32.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse32.html" >up</a>] </p></div>
-<!--l. 66--><p class="noindent" ><a
+href="etrice-docch7.html#etrice-docse32.html" >up</a>] </p></div>
+<!--l. 57--><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 ad84284..eff810a 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse33.html
@@ -4,69 +4,368 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Create the HelloWorld model</title>
+<head><title>Automatic Diagram Layout with KIELER</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 66--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse34.html" >next</a>] [<a
-href="etrice-docse32.html" >prev</a>] [<a
-href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
+href="etrice-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
href="#tailetrice-docse33.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse33.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.3 </span> <a
- id="x45-6600010.3"></a>Create the HelloWorld model</h3>
-<!--l. 68--><p class="noindent" >Once the model file is created and the Xtext nature is added, you can create the model as you did it for Java.
-Creating the model is not the focus of this tutorial. Therefore copy and paste the following code into your
-model file. Optionally you can open and layout the diagrams. Recognize the C specific parts:
+href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
+ id="x43-1120008.1"></a>Automatic Diagram Layout with KIELER</h3>
+<!--l. 3--><p class="noindent" >
</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.1 </span> <a
+ id="x43-1130008.1.1"></a>Overview</h4>
+<!--l. 5--><p class="noindent" >eTrice now provides a new feature of automatic layout of the ROOM diagrams in its graphical editors. This
+helps in improving the pragmatics of the diagrams and frees the user from the burden of manually lay-outing
+the diagrams on the canvas.
+</p><!--l. 9--><p class="noindent" >The automatic lay-outing has been provided with the help of the well known KIELER framework, which
+focuses on the pragmatics of model-based system design, which can improve comprehensibility
+of diagrams, improve development and maintenance time, and improve the analysis of dynamic
+behavior.
+</p><!--l. 13--><p class="noindent" >This chapter will answer the following questions </p>
<ul class="itemize1">
- <li class="itemize">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 class="itemize"><a
+href="#x43-1140008.1.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
</li>
- <li class="itemize">The application must be shutdown on model level (see also <span
-class="ec-lmsso-10">etRuntimeConfig.h</span>).</li></ul>
-
-
-<div class="verbatim" id="verbatim-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. 101--><p class="nopar" >
-
-
-</p>
-<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
+ <li class="itemize"><a
+href="#x43-1150008.1.3">&#8221;What are layout options?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x43-1160008.1.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
+<!--l. 21--><p class="noindent" >Moreover, some <a
+href="#x43-1210008.1.5">&#8221;special layout options&#8221;</a> will also be discussed.
+
+
+</p><!--l. 23--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.2 </span> <a
+ id="x43-1140008.1.2"></a>Performing Automatic Layout</h4>
+<!--l. 26--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
+diagram.
+</p><!--l. 29--><p class="noindent" >This command is available in
+</p>
+ <ul class="itemize1">
+ <li class="itemize">The context menu of the diagrams
+ </li>
+ <li class="itemize">Using the <span
+class="ec-lmsso-10">Ctrl+R L </span>shortcut.</li></ul>
+<!--l. 36--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
+</p><!--l. 38--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.3 </span> <a
+ id="x43-1150008.1.3"></a>Layout Options</h4>
+<!--l. 41--><p class="noindent" >A layout option is a customization point for the layout algorithms, with a specific data type and optionally a
+default value, used to affect how the active layout algorithm computes concrete coordinates for the graph
+elements.
+</p><!--l. 45--><p class="noindent" >User-configurable layout options for a particular diagram object can be viewed and configured through the
+Layout View.The Layout View can be opened from the context menu of a selected diagram object by clicking
+the <span
+class="ec-lmsso-10">Show Layout View </span>entry.
+</p><!--l. 49--><p class="noindent" >On opening the layout view, and selecting any layout option, a description of the layout option is available in
+the footer of eclipse SDK. This is shown in figure <a
+href="#x43-1150011">8.1<!--tex4ht:ref: fig:layout_options --></a>.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1150011"></a>
+
+
+
+<!--l. 53--><p class="noindent" ><img
+src="images/043-LayoutOptionDescription.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.1: </span><span
+class="content">Layout options</span></div><!--tex4ht:label?: x43-1150011 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.1.4 </span> <a
+ id="x43-1160008.1.4"></a>Configuring Layout Options</h4>
+<!--l. 61--><p class="noindent" >The values of the layout options for a particular diagram object (in the visible diagram) can be changed using
+the Layout View of that diagram object. The initial values are the predefined <span
+class="ec-lmsso-10">default </span>values. These defaults
+can be changed using the context menu in Layout View as well as the Layout preference pages provided by
+eTrice.
+</p><!--l. 66--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1170008.1.4"></a>The Layout View</h5>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1170012"></a>
+
+
+
+<!--l. 70--><p class="noindent" ><img
+src="images/043-LayoutView.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.2: </span><span
+class="content">Layout view</span></div><!--tex4ht:label?: x43-1170012 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 75--><p class="noindent" >The Layout view (figure <a
+href="#x43-1170012">8.2<!--tex4ht:ref: fig:layout_view --></a>) allows flexible customization of layout options for the selected objects in the
+eTrice diagram. If no object is selected, the view shows the options for the top-level container of the diagram.
+Options are stored persistently in diagram file (<span
+class="ec-lmsso-10">.structure file / </span>.behavior file) of the eTrice diagram, so that
+they are still available after the next Eclipse restart. Of course this requires the diagram to be saved after an
+option was changed.
+</p><!--l. 81--><p class="noindent" >The options are grouped according to the function of the selected objects. The group Nodes (respectively
+Edges, Ports, or Labels) contains options related to the object itself, such as its size or priority, while the group
+Parents contains options for the elements contained in the selected objects, such as the applied layout
+algorithm or the spacing between elements. Which layout options are displayed depends on the types of
+selected objects and the active layout algorithm, since each algorithm supports only a subset of the
+available options. Furthermore, some options are only visible if the <span
+class="ec-lmsso-10">Show Advanced Properties</span>
+button in the view toolbar is activated. The group types can be hidden using the Show Categories
+button.
+</p><!--l. 90--><p class="noindent" >An option can be changed by selecting or entering a new value in the corresponding cell of the Value
+column.
+</p><!--l. 92--><p class="noindent" >The most important option is Layout Algorithm, which is used to determine the layout algorithm for the
+contents of the selected element. Here either a specific layout algorithm or a layout type can be chosen; in the
+latter case, the most suitable layout algorithm of the given type is taken. By changing the active layout
+algorithm, the content of the layout view is updated to display only those options that are supported by the
+new layout algorithm.
+</p><!--l. 98--><p class="noindent" >Selecting <span
+class="ec-lmsso-10">Restore Default Value </span>in the context menu or the view toolbar (figure <a
+href="#x43-1170023">8.3<!--tex4ht:ref: fig:layout_context_menu --></a>) removes any value for the
+currently selected option that is stored in the current model file, thus resetting the option to its default value.
+The view menu has an entry Remove all Layout Options which resets all options of the current model by
+removing persistent data in the model file.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1170023"></a>
+
+
+
+<!--l. 105--><p class="noindent" ><img
+src="images/043-ContextMenu.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.3: </span><span
+class="content">Layout in context menu</span></div><!--tex4ht:label?: x43-1170023 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 110--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
+<span
+class="ec-lmsso-10">default </span>value:
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for this Diagram</span>: Changes the open diagram file so that the same value is applied
+ to all similar objects (edit parts) of that diagram.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for ... in this Context</span>: Applies the value to all similar objects that are displayed with
+ the any of the eTrice editors (the option is linked to the edit part class of the selected object).
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for all ...</span>: Links the option value with the domain model element or the diagram
+ type of the selected object (see the context menu depicted above).</li></ul>
+<!--l. 125--><p class="noindent" >These four alternatives have different priorities: if present, the default value for the current diagram is taken
+first, then the default value for the edit part is checked, then the default value for the domain model element,
+and then the default value for the diagram type.
+</p><!--l. 129--><p class="noindent" >Tips: </p>
+ <ul class="itemize1">
+ <li class="itemize">The information button of the view toolbar can be used to display some useful details on the
+ current selection, such as the edit part and domain model classes.
+ </li>
+ <li class="itemize">Default values for layout options can most easily be manipulated based on the eTrice domain
+ model elements.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x43-1180008.1.4"></a>Preference Page</h5>
+<!--l. 140--><p class="noindent" >The user-defined <span
+class="ec-lmsso-10">default </span>values for layout options can also be set using the preference pages provided in
+eTrice. Three preference pages have been provided for this purpose </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Layout</span>: for general preferences regarding layout
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
+<!--l. 148--><p class="noindent" >These preference pages can be accessed via <span
+class="ec-lmsso-10">Windows &#x003E; Preferences &#x003E; </span><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">&#x003E; Layout</span>.
+</p><!--l. 150--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>preference page
+provided by the KIELER. Relevant entries in the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>page are shown in the above preference
+pages.
+</p>
+<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
+ id="x43-1190008.1.4"></a><span
+class="ec-lmssbo-10">Layout </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+
+
+</p><!--l. 156--><p class="noindent" >The <span
+class="ec-lmsso-10">Layout </span>preference page is meant to configure general options regarding the layout.
+</p><!--l. 158--><p class="noindent" >If <span
+class="ec-lmsso-10">Set routing style of all edges to oblique </span>is active, all routing styles and smoothness settings of edges are
+removed when automatic layout is performed. Since most layouters compute the routing of edges as part of
+their algorithm, these styles usually do not yield the expected results.
+</p>
+<!--l. 162--><p class="noindent" ><span class="paragraphHead"><a
+ id="x43-1200008.1.4"></a><span
+class="ec-lmssbo-10">Behavior </span><span
+class="ec-lmssbx-10">and </span><span
+class="ec-lmssbo-10">Structure </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+</p><!--l. 165--><p class="noindent" >The <span
+class="ec-lmsso-10">Behavior </span>and <span
+class="ec-lmsso-10">Structure </span>sub-preference pages help in setting up the default values of layout options in
+behavior and structure diagrams respectively.
+</p><!--l. 168--><p class="noindent" >The <span
+class="ec-lmsso-10">Default Layout Option Values </span>table is used to manage the default setting for layout options, which can
+also be modified with the context menu of the layout view (see above). All user-defined settings
+are displayed here, and the buttons on the right of the table serve to create, edit, and remove
+entries. The Type column shows the type of element the option is linked with: either edit part,
+model element, or diagram type. The Element column shows the class name for options that relate
+to edit parts or domain model elements, and the diagram type name for options that relate to
+diagram types. Option is the name of the layout option, and Value is the currently set value of the
+option.
+</p><!--l. 176--><p class="noindent" >Creating a new entry requires the selection of the type of related element (figure <a
+href="#x43-1200014">8.4<!--tex4ht:ref: fig_layout_preference_page --></a>) and entering its class
+name or identifier. Class names of edit parts can be explored using the information button of the layout view,
+while the class names for the domain model elements and the diagram type identifiers for the diagram types
+can be selected with the Browse button. After that, a layout option has to be selected from the list using the
+corresponding Browse button. Hitting OK creates an entry, and its value can then be set using the Edit
+button.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x43-1200014"></a><a
+ id="x44-12600048"></a>
+
+
+
+<!--l. 185--><p class="noindent" ><img
+src="images/043-PreferencePage.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.4: </span><span
+class="content">Layout preference page</span></div><!--tex4ht:label?: x43-1200014 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 190--><p class="noindent" >Note that the <span
+class="ec-lmsso-10">Behavior </span>preference page will show only those entries which hold for the behavior diagrams.
+Moreover, it will allow setting default values of layout options for only those domain model elements and
+diagram types which could be present in the behavior editor diagrams. Similar thing holds for the <span
+class="ec-lmsso-10">Structure</span>
+preference page.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.5 </span> <a
+ id="x43-1210008.1.5"></a>Special Layout Options</h4>
+<!--l. 198--><p class="noindent" >While most layout options are used to affect how the active layout algorithm computes concrete coordinates
+for the graph elements, there are some layout options that have a special role.
+</p><!--l. 201--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1220008.1.5"></a>Layout Algorithm</h5>
+<!--l. 203--><p class="noindent" >The option with identifier de.cau.cs.kieler.algorithm specifies which layout algorithm to use for the
+content of a composite node. The value can be either the identifier of a layout algorithm or the
+identifier of a layout type. In the latter case the algorithm with highest priority of that type is
+applied.
+</p><!--l. 207--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
+class="ec-lmsso-10">Layered </span>algorithms which are meant for
+lay-outing hierarchical diagrams and are best suited for behavior and structure diagrams in eTrice. For the
+behavior diagrams we have used the <span
+class="ec-lmsso-10">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
+the <span
+class="ec-lmsso-10">KLay Layered </span>algorithm. Though the layout algorithm being used for performing layout can be changed at
+ones own will, it is recommended to use the defaults.
+</p><!--l. 213--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x43-1230008.1.5"></a>Diagram Type</h5>
+<!--l. 215--><p class="noindent" >Diagram types are used to classify graphical diagrams for setting default layout option values for
+a set of similar diagrams. The diagram type of an element is specified with the layout option
+<span
+class="ec-lmtt-10">de.cau.cs.kieler.diagramType</span>. Thus, these help in
+</p><!--l. 219--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">General </span>- This type is automatically assigned to all diagrams for which no specific type is declared.
+ (Predefined in KIELER)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice Behavior
+ Diagrams.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice Structure
+ Diagrams.</li></ul>
+<!--l. 228--><p class="noindent" >Note that not all diagrams objects in the behavior and structure diagrams are assigned the last two diagram
+types. Only the top-level container and the visible bounding box has been assigned these diagram types in
+respective editors.
+
+
+</p><!--l. 232--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.6 </span> <a
+ id="x43-1240008.1.6"></a>Further References</h4>
+<!--l. 234--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML wiki"
+(<a
+href="http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078" class="url" ><span
+class="ec-lmtt-10">http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078</span></a> and
+have been modified for automatic layout in eTrice. A more detailed description about the layout algorithms,
+predefined diagram types and the internal structure of KIELER Infrastructure for Meta-Layout (KIML) can be
+found there.
+
+
+
+
+
+
+</p>
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse34.html" >next</a>] [<a
-href="etrice-docse32.html" >prev</a>] [<a
-href="etrice-docse32.html#tailetrice-docse32.html" >prev-tail</a>] [<a
+href="etrice-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
href="etrice-docse33.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse33.html" >up</a>] </p></div>
-<!--l. 103--><p class="noindent" ><a
+href="etrice-docch8.html#etrice-docse33.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse33.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
index 1ca95e2..8ff5d0d 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse34.html
@@ -4,74 +4,1528 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Create a launch configuration to start the C code generator</title>
+<head><title>eTrice Models and Their Relations</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 103--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch9.html" >next</a>] [<a
href="etrice-docse33.html" >prev</a>] [<a
href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
href="#tailetrice-docse34.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse34.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.4 </span> <a
- id="x46-6700010.4"></a>Create a launch configuration to start the C code generator</h3>
-<!--l. 105--><p class="noindent" >Other than in Java a launch configuration for the C code generator must be created.
-</p><!--l. 107--><p class="noindent" >From the <span
-class="ec-lmsso-10">Run </span>menu select <span
-class="ec-lmsso-10">Run Configurations</span>
-</p><!--l. 109--><p class="noindent" ><img
-src="images/034-HelloWorldC06.png" alt="PIC"
- />
-</p><!--l. 112--><p class="noindent" >Within the dialog select <span
-class="ec-lmsso-10">e</span><span
-class="ec-lmsso-10">Trice</span> <span
-class="ec-lmsso-10">C Generator </span>and click the <span
-class="ec-lmsso-10">New </span>button to create a new launch
-configuration.
-</p><!--l. 115--><p class="noindent" ><img
-src="images/034-HelloWorldC07.png" alt="PIC"
- />
-</p><!--l. 118--><p class="noindent" >A new configuration should be created. Name it <span
-class="ec-lmsso-10">gen_HelloWorldC </span>and add the model via one of the <span
-class="ec-lmsso-10">add</span>
-buttons.
-</p><!--l. 121--><p class="noindent" ><img
-src="images/034-HelloWorldC08.png" alt="PIC"
- />
-</p><!--l. 124--><p class="noindent" >In the <span
-class="ec-lmsso-10">Refresh </span>tab select <span
-class="ec-lmsso-10">The entire workspace</span>
-</p><!--l. 126--><p class="noindent" ><img
-src="images/034-HelloWorldC09.png" alt="PIC"
- />
-</p><!--l. 129--><p class="noindent" >In the <span
-class="ec-lmsso-10">Common </span>tab select <span
-class="ec-lmsso-10">Shared file </span>and add the <span
-class="ec-lmsso-10">HelloWorldC </span>project via the <span
-class="ec-lmsso-10">Browse </span>button.
-</p><!--l. 132--><p class="noindent" ><img
-src="images/034-HelloWorldC10.png" alt="PIC"
+href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
+ id="x44-1250008.2"></a>eTrice Models and Their Relations</h3>
+<!--l. 3--><p class="noindent" >eTrice comprises several models:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">the ROOM model (*.room) &#8211; defines model classes and the logical structure of the model
+ </li>
+ <li class="itemize">the Config model (*.config) &#8211; defines configuration values for attributes
+ </li>
+ <li class="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
+ </li>
+ <li class="itemize">the Mapping model (*.etmap) &#8211; defines a mapping from logical elements to physical elements</li></ul>
+<!--l. 12--><p class="noindent" >In the following diagram the models and their relations are depicted. The meaning of the arrows is:
+uses/references.
+</p><!--l. 15--><p class="noindent" ><img
+src="images/080-models.jpg" alt="PIC"
/>
-</p><!--l. 135--><p class="noindent" >Apply your changes. The new configuration should now exist in your workspace.
-</p><!--l. 137--><p class="noindent" ><img
-src="images/034-HelloWorldC11.png" alt="PIC"
+</p><!--l. 17--><p class="noindent" >In the following sections we will describe those models with emphasis of their cross relations.
+</p><!--l. 19--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.1 </span> <a
+ id="x44-1260008.2.1"></a>The ROOM Model</h4>
+<!--l. 21--><p class="noindent" >The ROOM model defines <span id="textcolor52"><span
+class="ec-lmssbx-10">DataClass</span></span>es, <span id="textcolor53"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>es, <span id="textcolor54"><span
+class="ec-lmssbx-10">ActorClass</span></span>es, <span id="textcolor55"><span
+class="ec-lmssbx-10">SubSystemClass</span></span>es and
+<span id="textcolor56"><span
+class="ec-lmssbx-10">LogicalSystem</span></span>s. Thereby the three latter form a hierarchy. The <span id="textcolor57"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is the top level element of the
+structure. It contains references to <span id="textcolor58"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> elements. The <span id="textcolor59"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> in turn contains
+references to <span id="textcolor60"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements which again contain (recursively) references to <span id="textcolor61"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements. The
+complete structural hierarchy implies a tree which has the <span id="textcolor62"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> as root and where each reference
+stands for a new node with possibly further branches.
+</p><!--l. 29--><p class="noindent" >Let&#8217;s consider a simple example. It doesn&#8217;t implement anything meaningful and completely omits behavioral
+and other aspects.
+</p>
+<!--l. 32--><div class="lstinputlisting">
+<a
+ id="x44-126001r1"></a>
+<a
+ id="x44-126002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126019r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126020r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126021r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126022r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126023r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126024r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126025r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126026r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126027r25"></a><span
+class="ec-lmss-8x-x-62">25</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126028r26"></a><span
+class="ec-lmss-8x-x-62">26</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126029r27"></a><span
+class="ec-lmss-8x-x-62">27</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126030r28"></a><span
+class="ec-lmss-8x-x-62">28</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126031r29"></a><span
+class="ec-lmss-8x-x-62">29</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126032r30"></a><span
+class="ec-lmss-8x-x-62">30</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126033r31"></a><span
+class="ec-lmss-8x-x-62">31</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126034r32"></a><span
+class="ec-lmss-8x-x-62">32</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126035r33"></a><span
+class="ec-lmss-8x-x-62">33</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126036r34"></a><span
+class="ec-lmss-8x-x-62">34</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126037r35"></a><span
+class="ec-lmss-8x-x-62">35</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126038r36"></a><span
+class="ec-lmss-8x-x-62">36</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126039r37"></a><span
+class="ec-lmss-8x-x-62">37</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126040r38"></a><span
+class="ec-lmss-8x-x-62">38</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126041r39"></a><span
+class="ec-lmss-8x-x-62">39</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126042r40"></a><span
+class="ec-lmss-8x-x-62">40</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126043r41"></a><span
+class="ec-lmss-8x-x-62">41</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126044r42"></a><span
+class="ec-lmss-8x-x-62">42</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126045r43"></a><span
+class="ec-lmss-8x-x-62">43</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126046r44"></a><span
+class="ec-lmss-8x-x-62">44</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126047r45"></a><span
+class="ec-lmss-8x-x-62">45</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126048r46"></a><span
+class="ec-lmss-8x-x-62">46</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PrimitiveType</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ptInteger</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Integer</span><span
+class="ec-lmtt-9">)</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">default</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">0</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-126049r47"></a><span
+class="ec-lmss-8x-x-62">47</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.1:
+ </span><span
+class="content">ROOM
+ example
+
+
+ code</span></div><!--tex4ht:label?: x44-1260008.2 -->
+</div>
+<!--l. 34--><p class="noindent" >When a <span id="textcolor63"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is instantiated then recursively all of the contained referenced elements are
+instantiated as instances of the corresponding class. Thus the instance tree of the above example looks like in
+figure <a
+href="#x44-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white boxes shows some mapping information, see section <a
+href="#x44-1290008.2.4">8.2.4<!--tex4ht:ref: sec:mapping_model --></a> <a
+href="#x44-1290008.2.4">The Mapping
+Model<!--tex4ht:ref: sec:mapping_model --></a>):
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x44-1260505"></a><a
+ id="x44-12700025"></a><a
+ id="x44-12800011"></a><a
+ id="x44-12800046"></a><a
+ id="x44-12900017"></a>
+
+
+<!--l. 40--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
/>
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.5: </span><span
+class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x44-1260505 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.2.2 </span> <a
+ id="x44-1270008.2.2"></a>The Config Model</h4>
+<!--l. 47--><p class="noindent" >Once we have the ROOM class model we can configure values using the Config model. This can be done on
+the class level and/or on the instance level. Values defined for class attributes are used for all instances unless
+there is an instance value configured for the same attribute.
+</p>
+<!--l. 51--><div class="lstinputlisting">
+<a
+ id="x44-127001r2"></a>
+<a
+ id="x44-127002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">ConfigModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">12</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127019r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127020r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">13</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127021r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127022r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127023r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127024r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">14</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127025r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-127026r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.2:
+ </span><span
+class="content">Config
+ example
+ code</span></div><!--tex4ht:label?: x44-1270008.2 -->
+</div>
+<!--l. 53--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.3 </span> <a
+ id="x44-1280008.2.3"></a>The Physical Model</h4>
+<!--l. 55--><p class="noindent" >The physical model defines the physical resources onto which the logical system will be deployed. It is
+possible to define runtime classes which (currently) only define the overall execution model of the
+platform.
+</p>
+<!--l. 59--><div class="lstinputlisting">
+<a
+ id="x44-128001r3"></a>
+<a
+ id="x44-128002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PCRuntime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">multiThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">singleThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.3:
+ </span><span
+class="content">etPhys
+ runtime
+ definition</span></div><!--tex4ht:label?: x44-1280008.2 -->
+</div>
+<!--l. 61--><p class="noindent" >The <span id="textcolor64"><span
+class="ec-lmssbx-10">PhysicalSystem</span></span> is composed of <span id="textcolor65"><span
+class="ec-lmssbx-10">NodeRef</span></span>erences which are instances of <span id="textcolor66"><span
+class="ec-lmssbx-10">NodeClass</span></span>es. Each <span id="textcolor67"><span
+class="ec-lmssbx-10">NodeClass</span></span>
+is referencing a <span id="textcolor68"><span
+class="ec-lmssbx-10">RuntimeClass</span></span> and is defining <span id="textcolor69"><span
+class="ec-lmssbx-10">Threads</span></span>.
+</p>
+<!--l. 65--><div class="lstinputlisting">
+<a
+ id="x44-128013r4"></a>
+<a
+ id="x44-128014"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128015r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128016r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128017r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128018r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128019r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PhysicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128020r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128021r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128022r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">mc</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128023r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128024r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128025r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128026r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">PCRuntime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128027r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128028r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128029r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128030r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">blocked</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128031r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128032r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128033r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128034r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128035r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128036r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Thread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128037r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128038r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ms</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128039r25"></a><span
+class="ec-lmss-8x-x-62">25</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128040r26"></a><span
+class="ec-lmss-8x-x-62">26</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128041r27"></a><span
+class="ec-lmss-8x-x-62">27</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128042r28"></a><span
+class="ec-lmss-8x-x-62">28</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128043r29"></a><span
+class="ec-lmss-8x-x-62">29</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128044r30"></a><span
+class="ec-lmss-8x-x-62">30</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128045r31"></a><span
+class="ec-lmss-8x-x-62">31</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128046r32"></a><span
+class="ec-lmss-8x-x-62">32</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128047r33"></a><span
+class="ec-lmss-8x-x-62">33</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128048r34"></a><span
+class="ec-lmss-8x-x-62">34</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128049r35"></a><span
+class="ec-lmss-8x-x-62">35</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128050r36"></a><span
+class="ec-lmss-8x-x-62">36</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128051r37"></a><span
+class="ec-lmss-8x-x-62">37</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128052r38"></a><span
+class="ec-lmss-8x-x-62">38</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">us</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128053r39"></a><span
+class="ec-lmss-8x-x-62">39</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128054r40"></a><span
+class="ec-lmss-8x-x-62">40</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">256</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128055r41"></a><span
+class="ec-lmss-8x-x-62">41</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128056r42"></a><span
+class="ec-lmss-8x-x-62">42</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128057r43"></a><span
+class="ec-lmss-8x-x-62">43</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128058r44"></a><span
+class="ec-lmss-8x-x-62">44</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-128059r45"></a><span
+class="ec-lmss-8x-x-62">45</span></span><span
+class="ec-lmtt-9">}</span>
+
+
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.4:
+ </span><span
+class="content">etPhys
+ example
+ code</span></div><!--tex4ht:label?: x44-1280008.2 -->
+</div>
+<!--l. 67--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.4 </span> <a
+ id="x44-1290008.2.4"></a>The Mapping Model</h4>
+<!--l. 70--><p class="noindent" >The last model finally combines all this information by mapping logical to physical entities.
+</p>
+<!--l. 72--><div class="lstinputlisting">
+<a
+ id="x44-129001r5"></a>
+<a
+ id="x44-129002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">MappingModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Mapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">mc</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x44-129018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.5:
+ </span><span
+class="content">etMap
+ example
+ code</span></div><!--tex4ht:label?: x44-1290008.2 -->
+</div>
+<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
+href="#x44-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a>) of the instances. All actor
+instances (the white boxes) are mapped to a node and a thread running on this node (shown as @<span
+class="ec-lmsso-10">node </span>:
+<span
+class="ec-lmsso-10">thread</span>).
+
+
+
+
</p>
-<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse35.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch9.html" >next</a>] [<a
href="etrice-docse33.html" >prev</a>] [<a
href="etrice-docse33.html#tailetrice-docse33.html" >prev-tail</a>] [<a
href="etrice-docse34.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse34.html" >up</a>] </p></div>
-<!--l. 141--><p class="noindent" ><a
+href="etrice-docch8.html#etrice-docse34.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse34.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
index 857ae15..d682aaf 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse35.html
@@ -4,43 +4,157 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Generate the code</title>
+<head><title>Architecture</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 141--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 3--><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-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="#tailetrice-docse35.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse35.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.5 </span> <a
- id="x47-6800010.5"></a>Generate the code</h3>
-<!--l. 143--><p class="noindent" >Now you can generate the code as you know it from Java. Right click on the launch configuration and run it as
-<span
-class="ec-lmsso-10">gen_HelloWorldC</span>.
-</p><!--l. 146--><p class="noindent" ><img
-src="images/034-HelloWorldC12.png" alt="PIC"
- />
-</p><!--l. 149--><p class="noindent" >The code should be generated.
-</p><!--l. 151--><p class="noindent" ><img
-src="images/034-HelloWorldC13.png" alt="PIC"
+href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
+ id="x46-1310009.1"></a>Architecture</h3>
+<!--l. 5--><p class="noindent" >The basic components of eTrice are depicted in the following diagram.
+</p><!--l. 7--><p class="noindent" ><img
+src="images/200-components.jpg" alt="PIC"
/>
+</p><!--l. 9--><p class="noindent" >Additional to that the eTrice project comprises runtime libraries and unit tests which are treated in subsequent
+sections.
+</p><!--l. 12--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.1 </span> <a
+ id="x46-1320009.1.1"></a>Editor and Generator Components</h4>
+ <ul class="itemize1">
+ <li class="itemize">core
+ <ul class="itemize2">
+ <li class="itemize">core.room is an Xtext based language called ROOM. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. ROOM is
+ the basic modeling language of eTrice.
+ </li>
+ <li class="itemize">core.config is an Xtext based
+ language called Config. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config</span>
+ and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. Config is a language designed for the data
+ configuration of model
+ </li>
+ <li class="itemize">core.etphys is an Xtext based
+ language called etPhys. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys </span>and
+
+
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. etPhys is a language designed for the description
+ of physical systems onto which the logical ROOM systems are deployed.
+ </li>
+ <li class="itemize">core.etmap is an Xtext based language called etMap. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. etMap
+ is a language designed for the mapping of logical to physical systems.
+ </li>
+ <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of the
+ plugin <span
+class="ec-lmtt-10">org.eclipse.etrice.core.genmodel</span>. A Room model can be transformed into a
+ genmodel which allows easy access to implicit relations of the Room model.</li></ul>
+ </li>
+ <li class="itemize">ui
+ <ul class="itemize2">
+ <li class="itemize">textual
+ <ul class="itemize3">
+ <li class="itemize">room.ui is the ui counterpart of core.room. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the Room language.
+ </li>
+ <li class="itemize">config.ui is the ui counterpart of core.config. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the Config language.
+ </li>
+ <li class="itemize">etphys.ui is the ui counterpart of core.etphys. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the etPhys language.
+ </li>
+ <li class="itemize">etmap.ui is the ui counterpart of core.etmap. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the etPhys language.</li></ul>
+ </li>
+ <li class="itemize">graphical
+ <ul class="itemize3">
+ <li class="itemize">ui.common is a set of common code for the two diagram editors. It consists of the
+ plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.common</span>.
+ </li>
+ <li class="itemize">ui.commands encapsulates some commands related to the navigation between eTrice
+ editors. It consists of the plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.commands</span>.
+ </li>
+ <li class="itemize">ui.structure is the Graphiti based editor for the Actor structure. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.structure</span>.
+ </li>
+ <li class="itemize">ui.behavior is the Graphiti based editor for the Actor behavior. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.behavior</span>.</li></ul>
+ </li></ul>
+ </li>
+ <li class="itemize">generators
+ <ul class="itemize2">
+ <li class="itemize">generator is a set of general classes and language independent parts of all generators. It
+ consists of the plug-in <span
+class="ec-lmsso-10">org.eclipse.etrice.generator</span>.
+
+
+ </li>
+ <li class="itemize">generator.c is the generator for the ANSI-C target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.c</span>.
+ </li>
+ <li class="itemize">generator.cpp is the generator for the C++ target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.cpp</span>.
+ </li>
+ <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.java</span>.
+ </li>
+ <li class="itemize">generator.doc is the generator for the model documentation. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.doc</span>.</li></ul>
+ </li></ul>
+<!--l. 84--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.2 </span> <a
+ id="x46-1330009.1.2"></a>Runtimes</h4>
+<!--l. 86--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The C++ runtime is still a prototype. The runtimes are
+libraries written in the target language against which the generated code is compiled.
+</p><!--l. 90--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.3 </span> <a
+ id="x46-1340009.1.3"></a>Unit Tests</h4>
+<!--l. 92--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
</p>
-<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 94--><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-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="etrice-docse35.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse35.html" >up</a>] </p></div>
-<!--l. 154--><p class="noindent" ><a
+href="etrice-docch9.html#etrice-docse35.html" >up</a>] </p></div>
+<!--l. 94--><p class="noindent" ><a
id="tailetrice-docse35.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
index 4295c7b..c9472e5 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse36.html
@@ -4,48 +4,404 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Setup the include path</title>
+<head><title>Component Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 154--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse37.html" >next</a>] [<a
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse35.html" >prev</a>] [<a
href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
href="#tailetrice-docse36.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse36.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.6 </span> <a
- id="x48-6900010.6"></a>Setup the include path</h3>
-<!--l. 156--><p class="noindent" >Before you can build the application you must setup the include path for the runtime system.
-Right click the project and select <span
-class="ec-lmsso-10">Properties</span>. Add the include path as described in <span
-class="ec-lmsso-10">setting up the</span>
+href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
+ id="x47-1350009.2"></a>Component Overview</h3>
+<!--l. 96--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.1 </span> <a
+ id="x47-1360009.2.1"></a>Room Language Overview</h4>
+<!--l. 98--><p class="noindent" >We assume that the reader is familiar with the Xtext concepts. So we concentrate on the details of our
+implementation that are worth to be pointed out.
+</p><!--l. 101--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1370009.2.1"></a>Model Tweaks</h5>
+<!--l. 103--><p class="noindent" >The Room EMF model is inferred from the grammar. However, this powerful mechanism has to be tweaked at
+some places. This is done in the <span
+class="ec-lmsso-10">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
+which is written in the legacy Xtend language.
+</p><!--l. 109--><p class="noindent" >The following parts of the model are changed or added: </p>
+ <ul class="itemize1">
+ <li class="itemize">the default
+
+
+ <div class="verbatim" id="verbatim-22">
+ multiplicity
+</div>
+ <!--l. 111--><p class="nopar" > of the <span
+class="ec-lmtt-10">Port </span>is set to 1
+ </p></li>
+ <li class="itemize">the operation <span
+class="ec-lmtt-10">isReplicated </span>is added to the <span
+class="ec-lmtt-10">Port</span>
+ </li>
+ <li class="itemize">the default <span
+class="ec-lmtt-10">size </span>of the <span
+class="ec-lmtt-10">ActorRef </span>is set to 1
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">State </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">StateGraphItem </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getGeneralProtocol </span>is added to the <span
+class="ec-lmtt-10">InterfaceItem</span></li></ul>
+<!--l. 119--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1380009.2.1"></a>Imports by URI Using Namespaces</h5>
+<!--l. 121--><p class="noindent" >The import mechanism employed is based on URIs. This is configured for one part in the GenerateRoom.mwe2
+model workflow by setting the fragments ImportURIScopingFragment and ImportUriValidator). For the other
+part it is configured in the Guice modules by binding </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">PlatformRelativeUriResolver </span>&#8211; this class tries to convert the import URI into a platform
+ relative URI. It also replaces environment variables written in $ with their respective values.
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
+ aware of namespaces
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GlobalNonPlatformURIEditorOpener </span>&#8211; this editor opener tries to convert general URIs into
+ platform URIs because editors can only open platform URIs
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper link</li></ul>
+<!--l. 134--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1390009.2.1"></a>Naming</h5>
+<!--l. 136--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
+class="ec-lmtt-10">RoomNameProvider </span>provides
+frequently used name strings, some of them are hierarchical like State paths. The <span
+class="ec-lmtt-10">RoomFragmentProvider</span>
+serves a more formal purpose since it provides a link between EMF models (as used by the diagram editors)
+and the textual model representation used by Xtext.
+
+
+</p><!--l. 142--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1400009.2.1"></a>Helpers</h5>
+<!--l. 144--><p class="noindent" >The <span
+class="ec-lmtt-10">RoomHelpers </span>class provides a great deal of static methods that help retrieve frequently used information
+from the model. Among many, many others </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
+ inherited ones
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a transition&#8217;s
+ action code
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSignature(Operation) </span>- returns a string representing the operation signature suited for a
+ label</li></ul>
+<!--l. 156--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1410009.2.1"></a>Validation</h5>
+<!--l. 158--><p class="noindent" >Validation is used from various places. Therefore all validation code is accumulated in the @ValidationUtil@
+class. All methods are static and many of them return a Result object which contains information about the
+problem detected as well as object and feature as suited for most validation purposes.
+</p><!--l. 162--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.2 </span> <a
+ id="x47-1420009.2.2"></a>Config Language Overview</h4>
+<!--l. 164--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1430009.2.2"></a>Model Tweaks</h5>
+<!--l. 166--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorInstanceConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getProtocolClassConfigs</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSubSystemConfigs</span></li></ul>
+
+
+<!--l. 174--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1440009.2.2"></a>Imports by URI Using Namespaces</h5>
+<!--l. 176--><p class="noindent" >Imports are treated like in Room language, section <span
+class="ec-lmsso-10">Imports by URI Using Namespaces</span>.
+</p><!--l. 178--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1450009.2.2"></a>Util</h5>
+<!--l. 180--><p class="noindent" >A set of static utility methods can be found in the <span
+class="ec-lmtt-10">ConfigUtil </span>class.
+</p><!--l. 182--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.3 </span> <a
+ id="x47-1460009.2.3"></a>Aggregation Layer Overview</h4>
+<!--l. 184--><p class="noindent" >The eTrice Generator Model (genmodel) serves as an aggregation layer. Its purpose is to allow easy access to
+information which is implicitly contained in the Room model but not simple to retrieve. Examples of this are
+the state machine with inherited items or a list of all triggers active at a state in the order in which
+they will be evaluated or the actual peer port of an end port (following bindings through relay
+ports).
+</p><!--l. 190--><p class="noindent" >The Generator Model is created from a list of Room models by a call of the
+
+
+</p>
+<div class="verbatim" id="verbatim-23">
+createGeneratorModel(List&#x003C;RoomModel&#x003E;,&#x00A0;boolean)
+</div>
+<!--l. 192--><p class="nopar" >
+</p><!--l. 194--><p class="noindent" >method of the <span
+class="ec-lmtt-10">GeneratorModelBuilder </span>class.
+</p><!--l. 196--><p class="noindent" >The <span
+class="ec-lmtt-10">Root </span>object of the resulting Generator Model provides chiefly two things: </p>
+ <ul class="itemize1">
+ <li class="itemize">a tree of instances starting at each <span
+class="ec-lmtt-10">SubSystem </span>with representations of each <span
+class="ec-lmtt-10">ActorInstance </span>and
+ <span
+class="ec-lmtt-10">PortInstance</span>
+ </li>
+ <li class="itemize">for each <span
+class="ec-lmtt-10">ActorClass </span>a corresponding <span
+class="ec-lmtt-10">ExpandedActorClass </span>with an explicit state machine
+ containing all inherited state graph items</li></ul>
+<!--l. 204--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1470009.2.3"></a>The Instance Model</h5>
+<!--l. 206--><p class="noindent" >The instance model allows easy access to instances including their unique paths and object IDs. Also it is
+possible to get a list of all peer port instances for each port instance without having to bother about port and
+actor replication.
+</p><!--l. 210--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1480009.2.3"></a>The Expanded Actor Class</h5>
+<!--l. 212--><p class="noindent" >The expanded actor class contains, as already mentioned, the complete state machine of the actor class. This
+considerably simplifies the task of state machine generation. Note that the generated code always
+contains the complete state machine of an actor. I.e. no target language inheritance is used to
+implement the state machine inheritance. Furthermore the <span
+class="ec-lmtt-10">ExpandedActorClass </span>gives access to
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getIncomingTransitions(StateGraphNode) </span>&#8211; the set of incoming transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode </span>(<span
+class="ec-lmtt-10">State</span>, <span
+class="ec-lmtt-10">ChoicePoint </span>or <span
+class="ec-lmtt-10">TransitionPoint</span>)
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getOutgoingTransitions(StateGraphNode) </span>&#8211; the set of outgoing transition of a
+ <span
+class="ec-lmtt-10">StateGraphNode</span>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActiveTriggers(State) </span>&#8211; the triggers that are active in this <span
+class="ec-lmtt-10">State </span>in the order they are
+ evaluated</li></ul>
+
+
+<!--l. 226--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1490009.2.3"></a>Transition Chains</h5>
+<!--l. 228--><p class="noindent" >By transition chains we denote a connected subset of the (hierarchical) state machine that starts with a
+transition starting at a state and continues over transitional state graph nodes (choice points and transition
+points) and continuation transitions until a state is reached. In general a transition chain starts at one state
+and ends in several states (the chain may branch in choice points). A <span
+class="ec-lmtt-10">TransitionChain </span>of a
+transition is retrieved by a call of <span
+class="ec-lmtt-10">getChain(Transition) </span>of the <span
+class="ec-lmtt-10">ExpandedActorClass</span>. The
+<span
+class="ec-lmtt-10">TransitionChain </span>accepts an <span
+class="ec-lmtt-10">ITransitionChainVisitor </span>which is called along the chain to generate the
+action codes of involved transitions and the conditional statements arising from the involved choice
+points.
+</p><!--l. 238--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.4 </span> <a
+ id="x47-1500009.2.4"></a>Generator Overview</h4>
+<!--l. 240--><p class="noindent" >There is one plug-in that consists of base classes and some generic generator parts which are re-used by all
+language specific generators
+</p><!--l. 243--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1510009.2.4"></a>Base Classes and Interfaces</h5>
+<!--l. 245--><p class="noindent" >We just want to mention the most important classes and interfaces.
+</p>
+ <ul class="itemize1">
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 248--><p class="noindent" >
+<span
+class="ec-lmtt-10">ITranslationProvider </span>&#8212; this interface is used by the <span
+class="ec-lmtt-10">DetailCodeTranslator </span>for the language
+dependent translation of e.g. port.message() notation in detail code</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">AbstractGenerator </span>&#8212; concrete language generators should derive from this base class
+ </li>
+ <li class="itemize">
+ <div class="flushleft"
+>
+<!--l. 252--><p class="noindent" >
+<span
+class="ec-lmtt-10">DefaultTranslationProvider </span>&#8212; a stub implementation of <span
+class="ec-lmtt-10">ITranslationProvider </span>from which
+clients may derive</p></div>
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">Indexed </span>&#8212; provides an indexed iterable of a given iterable
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GeneratorBaseModule </span>&#8212; a Google Guice module that binds a couple of basic services. Concrete
+ language generators should use a module that derives from this</li></ul>
+
+
+<!--l. 259--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1520009.2.4"></a>Generic Generator Parts</h5>
+<!--l. 261--><p class="noindent" >The generic generator parts provide code generation blocks on a medium granularity. The language dependent
+top level generators embed those blocks in a larger context (file, class, ...). Language dependent low level
+constructs are provided by means of an <span
+class="ec-lmtt-10">ILanguageExtension</span>. This extension and other parts of the generator
+be configured using Google Guice dependency injection.
+</p>
+<!--l. 266--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1530009.2.4"></a><span
+class="ec-lmssbx-10">GenericActorClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericActorClassGenerator </span>generates constants for the interface items of a actor. Those constants
+are used by the generated state machine.
+</p>
+<!--l. 271--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1540009.2.4"></a><span
+class="ec-lmssbx-10">GenericProtocolClassGenerator</span></span>
+The <span
+class="ec-lmtt-10">GenericProtocolClassGenerator </span>generates message ID constants for a protocol.
+</p>
+<!--l. 275--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1550009.2.4"></a><span
+class="ec-lmssbx-10">GenericStateMachineGenerator</span></span>
+</p>
+<div class="flushleft"
+>
+<!--l. 277--><p class="noindent" >
+The <span
+class="ec-lmtt-10">GenericStateMachineGenerator </span>generates the complete state machine implementation. The
+skeleton of the generated code is</p></div>
+ <ul class="itemize1">
+ <li class="itemize">definition state ID constants
+ </li>
+ <li class="itemize">definition of transition chain constants
+ </li>
+ <li class="itemize">definition of trigger constants
+ </li>
+ <li class="itemize">entry, exit and action code methods
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">exitTo </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeTransitionChain </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">enterHistory </span>method
+
+
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">executeInitTransition </span>method
+ </li>
+ <li class="itemize">the <span
+class="ec-lmtt-10">receiveEvent </span>method</li></ul>
+<!--l. 292--><p class="noindent" >The state machine works as follows. The main entry method is the <br
+class="newline" /><span
+class="ec-lmtt-10">receiveEvent </span>method. This is the case for both, data driven (polled) and event driven state machines. Then
+a number of nested switch/case statements evaluates trigger conditions and derives the transition chain that is
+executed. If a trigger fires then the <span
+class="ec-lmtt-10">exitTo </span>method is called to execute all exit codes involved. Then the
+transition chain action codes are executed and the choice point conditions are evaluated in the
+<span
+class="ec-lmtt-10">executeTransitionChain </span>method. Finally the history of the state where the chain ends is entered and all
+entry codes are executed by <span
+class="ec-lmtt-10">enterHistory</span>.
+</p><!--l. 300--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1560009.2.4"></a>The Java Generator</h5>
+<!--l. 302--><p class="noindent" >The Java generator employs the generic parts of the generator. The <span
+class="ec-lmtt-10">JavaTranslationProvider</span>
+is very simple and only handles the case of sending a message from a distinct replicated port:
<span
-class="ec-lmsso-10">workspace</span>.
-</p><!--l. 160--><p class="noindent" ><img
-src="images/034-HelloWorldC14.png" alt="PIC"
- />
-</p><!--l. 163--><p class="noindent" >Add the runtime library.
-</p><!--l. 165--><p class="noindent" ><img
-src="images/034-HelloWorldC15.png" alt="PIC"
- />
-</p><!--l. 168--><p class="noindent" >Recognize the name of the library ("org.eclipse.etrice.runtime.c"). The library file on your disk is
-"liborg.eclipse.etrice.runtime.c.a".
+class="ec-lmtt-10">replPort[2].message()</span>. Other cases are handled by the base class by returning the original
+text.
+</p><!--l. 306--><p class="noindent" >The <span
+class="ec-lmtt-10">DataClassGen </span>uses Java inheritance for the generated data classes. Otherwise it is pretty much straight
+forward.
+</p><!--l. 309--><p class="noindent" >The <span
+class="ec-lmtt-10">ProtocolClassGen </span>generates a class for the protocol with nested static classes for regular and
+conjugated ports and similar for replicated ports.
+</p><!--l. 312--><p class="noindent" >The <span
+class="ec-lmtt-10">ActorClassGen </span>uses Java inheritance for the generated actor classes. So ports, SAPs and attributes and
+detail code methods are inherited. Not inherited is the state machine implementation.
+</p><!--l. 315--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1570009.2.4"></a>The ANSI-C Generator</h5>
+<!--l. 317--><p class="noindent" >The C generator translates data, protocol and actor classes into structs together with a set of methods
+that operate on them and receive a pointer to those data (called <span
+class="ec-lmtt-10">self </span>in analogy to the implicit
+C++ <span
+class="ec-lmtt-10">this </span>pointer). No dynamic memory allocation is employed. All actor instances are statically
+initialized. One of the design goals for the generated C code was an optimized footprint in terms of
+memory and performance to be able to utilize modeling with ROOM also for tiny low end micro
+controllers.
+</p><!--l. 324--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1580009.2.4"></a>The Documentation Generator</h5>
+<!--l. 326--><p class="noindent" >The documentation generator creates documentation in LaTex format which can be converted into PDF and
+many other formats.
</p>
-<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse37.html" >next</a>] [<a
+<!--l. 67--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse35.html" >prev</a>] [<a
href="etrice-docse35.html#tailetrice-docse35.html" >prev-tail</a>] [<a
href="etrice-docse36.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse36.html" >up</a>] </p></div>
-<!--l. 171--><p class="noindent" ><a
- id="tailetrice-docse36.html"></a> </p>
+href="etrice-docch9.html#etrice-docse36.html" >up</a>] </p></div>
+<!--l. 67--><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 af84415..972a64b 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse37.html
@@ -4,39 +4,368 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Build and run the model</title>
+<head><title>Automatic Diagram Layout with KIELER</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:16:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 171--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><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-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
href="#tailetrice-docse37.html">tail</a>] [<a
-href="etrice-docch10.html#etrice-docse37.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">10.7 </span> <a
- id="x49-7000010.7"></a>Build and run the model</h3>
-<!--l. 173--><p class="noindent" >Now you can build the application. Click the build button to build the application. Run the application as
+href="etrice-docch8.html#etrice-docse37.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
+ id="x47-1120008.1"></a>Automatic Diagram Layout with KIELER</h3>
+<!--l. 3--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.1 </span> <a
+ id="x47-1130008.1.1"></a>Overview</h4>
+<!--l. 5--><p class="noindent" >eTrice now provides a new feature of automatic layout of the ROOM diagrams in its graphical editors. This
+helps in improving the pragmatics of the diagrams and frees the user from the burden of manually lay-outing
+the diagrams on the canvas.
+</p><!--l. 9--><p class="noindent" >The automatic lay-outing has been provided with the help of the well known KIELER framework, which
+focuses on the pragmatics of model-based system design, which can improve comprehensibility
+of diagrams, improve development and maintenance time, and improve the analysis of dynamic
+behavior.
+</p><!--l. 13--><p class="noindent" >This chapter will answer the following questions </p>
+ <ul class="itemize1">
+ <li class="itemize"><a
+href="#x47-1140008.1.2">&#8221;How to perform automatic layout in the graphical editors of eTrice?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x47-1150008.1.3">&#8221;What are layout options?&#8221;</a>
+ </li>
+ <li class="itemize"><a
+href="#x47-1160008.1.4">&#8221;How to configure the layout options to alter the diagram layout as desired?&#8221;</a></li></ul>
+<!--l. 21--><p class="noindent" >Moreover, some <a
+href="#x47-1210008.1.5">&#8221;special layout options&#8221;</a> will also be discussed.
+
+
+</p><!--l. 23--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.2 </span> <a
+ id="x47-1140008.1.2"></a>Performing Automatic Layout</h4>
+<!--l. 26--><p class="noindent" >Automatic layout could be performed in eTrice graphical editors using the command to layout the current
+diagram.
+</p><!--l. 29--><p class="noindent" >This command is available in
+</p>
+ <ul class="itemize1">
+ <li class="itemize">The context menu of the diagrams
+ </li>
+ <li class="itemize">Using the <span
+class="ec-lmsso-10">Ctrl+R L </span>shortcut.</li></ul>
+<!--l. 36--><p class="noindent" >Additionally, an entry in the context menu allows to layout only a selected part of the diagram.
+</p><!--l. 38--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.3 </span> <a
+ id="x47-1150008.1.3"></a>Layout Options</h4>
+<!--l. 41--><p class="noindent" >A layout option is a customization point for the layout algorithms, with a specific data type and optionally a
+default value, used to affect how the active layout algorithm computes concrete coordinates for the graph
+elements.
+</p><!--l. 45--><p class="noindent" >User-configurable layout options for a particular diagram object can be viewed and configured through the
+Layout View.The Layout View can be opened from the context menu of a selected diagram object by clicking
+the <span
+class="ec-lmsso-10">Show Layout View </span>entry.
+</p><!--l. 49--><p class="noindent" >On opening the layout view, and selecting any layout option, a description of the layout option is available in
+the footer of eclipse SDK. This is shown in figure <a
+href="#x47-1150011">8.1<!--tex4ht:ref: fig:layout_options --></a>.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x47-1150011"></a>
+
+
+
+<!--l. 53--><p class="noindent" ><img
+src="images/043-LayoutOptionDescription.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.1: </span><span
+class="content">Layout options</span></div><!--tex4ht:label?: x47-1150011 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.1.4 </span> <a
+ id="x47-1160008.1.4"></a>Configuring Layout Options</h4>
+<!--l. 61--><p class="noindent" >The values of the layout options for a particular diagram object (in the visible diagram) can be changed using
+the Layout View of that diagram object. The initial values are the predefined <span
+class="ec-lmsso-10">default </span>values. These defaults
+can be changed using the context menu in Layout View as well as the Layout preference pages provided by
+eTrice.
+</p><!--l. 66--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1170008.1.4"></a>The Layout View</h5>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x47-1170012"></a>
+
+
+
+<!--l. 70--><p class="noindent" ><img
+src="images/043-LayoutView.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.2: </span><span
+class="content">Layout view</span></div><!--tex4ht:label?: x47-1170012 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 75--><p class="noindent" >The Layout view (figure <a
+href="#x47-1170012">8.2<!--tex4ht:ref: fig:layout_view --></a>) allows flexible customization of layout options for the selected objects in the
+eTrice diagram. If no object is selected, the view shows the options for the top-level container of the diagram.
+Options are stored persistently in diagram file (<span
+class="ec-lmsso-10">.structure file / </span>.behavior file) of the eTrice diagram, so that
+they are still available after the next Eclipse restart. Of course this requires the diagram to be saved after an
+option was changed.
+</p><!--l. 81--><p class="noindent" >The options are grouped according to the function of the selected objects. The group Nodes (respectively
+Edges, Ports, or Labels) contains options related to the object itself, such as its size or priority, while the group
+Parents contains options for the elements contained in the selected objects, such as the applied layout
+algorithm or the spacing between elements. Which layout options are displayed depends on the types of
+selected objects and the active layout algorithm, since each algorithm supports only a subset of the
+available options. Furthermore, some options are only visible if the <span
+class="ec-lmsso-10">Show Advanced Properties</span>
+button in the view toolbar is activated. The group types can be hidden using the Show Categories
+button.
+</p><!--l. 90--><p class="noindent" >An option can be changed by selecting or entering a new value in the corresponding cell of the Value
+column.
+</p><!--l. 92--><p class="noindent" >The most important option is Layout Algorithm, which is used to determine the layout algorithm for the
+contents of the selected element. Here either a specific layout algorithm or a layout type can be chosen; in the
+latter case, the most suitable layout algorithm of the given type is taken. By changing the active layout
+algorithm, the content of the layout view is updated to display only those options that are supported by the
+new layout algorithm.
+</p><!--l. 98--><p class="noindent" >Selecting <span
+class="ec-lmsso-10">Restore Default Value </span>in the context menu or the view toolbar (figure <a
+href="#x47-1170023">8.3<!--tex4ht:ref: fig:layout_context_menu --></a>) removes any value for the
+currently selected option that is stored in the current model file, thus resetting the option to its default value.
+The view menu has an entry Remove all Layout Options which resets all options of the current model by
+removing persistent data in the model file.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x47-1170023"></a>
+
+
+
+<!--l. 105--><p class="noindent" ><img
+src="images/043-ContextMenu.png" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.3: </span><span
+class="content">Layout in context menu</span></div><!--tex4ht:label?: x47-1170023 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 110--><p class="noindent" >The context menu for a specific layout option has different alternatives to set the currently active value as
<span
-class="ec-lmsso-10">Local C/C++ Application</span>. Verify the output.
-</p><!--l. 177--><p class="noindent" ><img
-src="images/034-HelloWorldC16.png" alt="PIC"
+class="ec-lmsso-10">default </span>value:
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for this Diagram</span>: Changes the open diagram file so that the same value is applied
+ to all similar objects (edit parts) of that diagram.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for ... in this Context</span>: Applies the value to all similar objects that are displayed with
+ the any of the eTrice editors (the option is linked to the edit part class of the selected object).
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Set as Default for all ...</span>: Links the option value with the domain model element or the diagram
+ type of the selected object (see the context menu depicted above).</li></ul>
+<!--l. 125--><p class="noindent" >These four alternatives have different priorities: if present, the default value for the current diagram is taken
+first, then the default value for the edit part is checked, then the default value for the domain model element,
+and then the default value for the diagram type.
+</p><!--l. 129--><p class="noindent" >Tips: </p>
+ <ul class="itemize1">
+ <li class="itemize">The information button of the view toolbar can be used to display some useful details on the
+ current selection, such as the edit part and domain model classes.
+ </li>
+ <li class="itemize">Default values for layout options can most easily be manipulated based on the eTrice domain
+ model elements.</li></ul>
+<h5 class="subsubsectionHead"><a
+ id="x47-1180008.1.4"></a>Preference Page</h5>
+<!--l. 140--><p class="noindent" >The user-defined <span
+class="ec-lmsso-10">default </span>values for layout options can also be set using the preference pages provided in
+eTrice. Three preference pages have been provided for this purpose </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">Layout</span>: for general preferences regarding layout
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Behavior</span>: for setting default values of layout options for eTrice behavior diagrams
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">Structure</span>: for setting default values of layout options for eTrice structure diagrams</li></ul>
+<!--l. 148--><p class="noindent" >These preference pages can be accessed via <span
+class="ec-lmsso-10">Windows &#x003E; Preferences &#x003E; </span><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">&#x003E; Layout</span>.
+</p><!--l. 150--><p class="noindent" >Note that the contents of these preference pages are in sync with the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>preference page
+provided by the KIELER. Relevant entries in the <span
+class="ec-lmsso-10">KIELER &#x003E; Layout </span>page are shown in the above preference
+pages.
+</p>
+<!--l. 154--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1190008.1.4"></a><span
+class="ec-lmssbo-10">Layout </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+
+
+</p><!--l. 156--><p class="noindent" >The <span
+class="ec-lmsso-10">Layout </span>preference page is meant to configure general options regarding the layout.
+</p><!--l. 158--><p class="noindent" >If <span
+class="ec-lmsso-10">Set routing style of all edges to oblique </span>is active, all routing styles and smoothness settings of edges are
+removed when automatic layout is performed. Since most layouters compute the routing of edges as part of
+their algorithm, these styles usually do not yield the expected results.
+</p>
+<!--l. 162--><p class="noindent" ><span class="paragraphHead"><a
+ id="x47-1200008.1.4"></a><span
+class="ec-lmssbo-10">Behavior </span><span
+class="ec-lmssbx-10">and </span><span
+class="ec-lmssbo-10">Structure </span><span
+class="ec-lmssbx-10">Preference Page</span></span>
+<br
+class="newline" />
+</p><!--l. 165--><p class="noindent" >The <span
+class="ec-lmsso-10">Behavior </span>and <span
+class="ec-lmsso-10">Structure </span>sub-preference pages help in setting up the default values of layout options in
+behavior and structure diagrams respectively.
+</p><!--l. 168--><p class="noindent" >The <span
+class="ec-lmsso-10">Default Layout Option Values </span>table is used to manage the default setting for layout options, which can
+also be modified with the context menu of the layout view (see above). All user-defined settings
+are displayed here, and the buttons on the right of the table serve to create, edit, and remove
+entries. The Type column shows the type of element the option is linked with: either edit part,
+model element, or diagram type. The Element column shows the class name for options that relate
+to edit parts or domain model elements, and the diagram type name for options that relate to
+diagram types. Option is the name of the layout option, and Value is the currently set value of the
+option.
+</p><!--l. 176--><p class="noindent" >Creating a new entry requires the selection of the type of related element (figure <a
+href="#x47-1200014">8.4<!--tex4ht:ref: fig_layout_preference_page --></a>) and entering its class
+name or identifier. Class names of edit parts can be explored using the information button of the layout view,
+while the class names for the domain model elements and the diagram type identifiers for the diagram types
+can be selected with the Browse button. After that, a layout option has to be selected from the list using the
+corresponding Browse button. Hitting OK creates an entry, and its value can then be set using the Edit
+button.
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x47-1200014"></a><a
+ id="x48-12600048"></a>
+
+
+
+<!--l. 185--><p class="noindent" ><img
+src="images/043-PreferencePage.png" alt="PIC"
/>
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.4: </span><span
+class="content">Layout preference page</span></div><!--tex4ht:label?: x47-1200014 -->
+
+
+</div><hr class="endfigure" />
+<!--l. 190--><p class="noindent" >Note that the <span
+class="ec-lmsso-10">Behavior </span>preference page will show only those entries which hold for the behavior diagrams.
+Moreover, it will allow setting default values of layout options for only those domain model elements and
+diagram types which could be present in the behavior editor diagrams. Similar thing holds for the <span
+class="ec-lmsso-10">Structure</span>
+preference page.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.5 </span> <a
+ id="x47-1210008.1.5"></a>Special Layout Options</h4>
+<!--l. 198--><p class="noindent" >While most layout options are used to affect how the active layout algorithm computes concrete coordinates
+for the graph elements, there are some layout options that have a special role.
+</p><!--l. 201--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1220008.1.5"></a>Layout Algorithm</h5>
+<!--l. 203--><p class="noindent" >The option with identifier de.cau.cs.kieler.algorithm specifies which layout algorithm to use for the
+content of a composite node. The value can be either the identifier of a layout algorithm or the
+identifier of a layout type. In the latter case the algorithm with highest priority of that type is
+applied.
+</p><!--l. 207--><p class="noindent" >For the purpose of automatic diagram layout in eTrice, we use the <span
+class="ec-lmsso-10">Layered </span>algorithms which are meant for
+lay-outing hierarchical diagrams and are best suited for behavior and structure diagrams in eTrice. For the
+behavior diagrams we have used the <span
+class="ec-lmsso-10">Graphviz Dot </span>algorithm whereas for the structure diagrams we have used
+the <span
+class="ec-lmsso-10">KLay Layered </span>algorithm. Though the layout algorithm being used for performing layout can be changed at
+ones own will, it is recommended to use the defaults.
+</p><!--l. 213--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x47-1230008.1.5"></a>Diagram Type</h5>
+<!--l. 215--><p class="noindent" >Diagram types are used to classify graphical diagrams for setting default layout option values for
+a set of similar diagrams. The diagram type of an element is specified with the layout option
+<span
+class="ec-lmtt-10">de.cau.cs.kieler.diagramType</span>. Thus, these help in
+</p><!--l. 219--><p class="noindent" >The following diagram types have been defined and used in eTrice: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmsso-10">General </span>- This type is automatically assigned to all diagrams for which no specific type is declared.
+ (Predefined in KIELER)
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Behavior Diagrams </span>- This type has been assigned to the diagram objects in eTrice Behavior
+ Diagrams.
+ </li>
+ <li class="itemize"><span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Structure Diagrams </span>- This type has been assigned to the diagram objects in eTrice Structure
+ Diagrams.</li></ul>
+<!--l. 228--><p class="noindent" >Note that not all diagrams objects in the behavior and structure diagrams are assigned the last two diagram
+types. Only the top-level container and the visible bounding box has been assigned these diagram types in
+respective editors.
+
+
+</p><!--l. 232--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.1.6 </span> <a
+ id="x47-1240008.1.6"></a>Further References</h4>
+<!--l. 234--><p class="noindent" >Most parts of the above documentation have been taken from the "KIML wiki"
+(<a
+href="http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078" class="url" ><span
+class="ec-lmtt-10">http://rtsys.informatik.uni-kiel.de/confluence/pages/viewpage.action?pageId=328078</span></a> and
+have been modified for automatic layout in eTrice. A more detailed description about the layout algorithms,
+predefined diagram types and the internal structure of KIELER Infrastructure for Meta-Layout (KIML) can be
+found there.
+
+
+
+
</p>
-<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><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-docch8.html" >prev</a>] [<a
+href="etrice-docch8.html#tailetrice-docch8.html" >prev-tail</a>] [<a
href="etrice-docse37.html" >front</a>] [<a
-href="etrice-docch10.html#etrice-docse37.html" >up</a>] </p></div>
-<!--l. 180--><p class="noindent" ><a
+href="etrice-docch8.html#etrice-docse37.html" >up</a>] </p></div>
+<!--l. 1--><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 3050f5b..e3a4754 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse38.html
@@ -4,28 +4,1515 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Summary</title>
+<head><title>eTrice Models and Their Relations</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:16:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 180--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch11.html" >next</a>] [<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
+href="etrice-docch9.html" >next</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.8 </span> <a
- id="x50-7100010.8"></a>Summary</h3>
-<!--l. 182--><p class="noindent" >You are now familiar with all necessary steps to create, build and run an eTrice C model from scratch. You are
-able to create a launch configuration to start the code generator and to perform all necessary settings to
-compile and link the application.
-</p><!--l. 186--><p class="noindent" >The next tutorial provides an exercise to get more familiar with these working steps.
+href="etrice-docch8.html#etrice-docse38.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
+ id="x48-1250008.2"></a>eTrice Models and Their Relations</h3>
+<!--l. 3--><p class="noindent" >eTrice comprises several models:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">the ROOM model (*.room) &#8211; defines model classes and the logical structure of the model
+ </li>
+ <li class="itemize">the Config model (*.config) &#8211; defines configuration values for attributes
+ </li>
+ <li class="itemize">the Physical model (*.etphys) &#8211; defines the structure and properties of the physical system
+ </li>
+ <li class="itemize">the Mapping model (*.etmap) &#8211; defines a mapping from logical elements to physical elements</li></ul>
+<!--l. 12--><p class="noindent" >In the following diagram the models and their relations are depicted. The meaning of the arrows is:
+uses/references.
+</p><!--l. 15--><p class="noindent" ><img
+src="images/080-models.jpg" alt="PIC"
+ />
+</p><!--l. 17--><p class="noindent" >In the following sections we will describe those models with emphasis of their cross relations.
+</p><!--l. 19--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.1 </span> <a
+ id="x48-1260008.2.1"></a>The ROOM Model</h4>
+<!--l. 21--><p class="noindent" >The ROOM model defines <span id="textcolor52"><span
+class="ec-lmssbx-10">DataClass</span></span>es, <span id="textcolor53"><span
+class="ec-lmssbx-10">ProtocolClass</span></span>es, <span id="textcolor54"><span
+class="ec-lmssbx-10">ActorClass</span></span>es, <span id="textcolor55"><span
+class="ec-lmssbx-10">SubSystemClass</span></span>es and
+<span id="textcolor56"><span
+class="ec-lmssbx-10">LogicalSystem</span></span>s. Thereby the three latter form a hierarchy. The <span id="textcolor57"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is the top level element of the
+structure. It contains references to <span id="textcolor58"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> elements. The <span id="textcolor59"><span
+class="ec-lmssbx-10">SubSystemClass</span></span> in turn contains
+references to <span id="textcolor60"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements which again contain (recursively) references to <span id="textcolor61"><span
+class="ec-lmssbx-10">ActorClass</span></span> elements. The
+complete structural hierarchy implies a tree which has the <span id="textcolor62"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> as root and where each reference
+stands for a new node with possibly further branches.
+</p><!--l. 29--><p class="noindent" >Let&#8217;s consider a simple example. It doesn&#8217;t implement anything meaningful and completely omits behavioral
+and other aspects.
+</p>
+<!--l. 32--><div class="lstinputlisting">
+<a
+ id="x48-126001r1"></a>
+<a
+ id="x48-126002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">RoomModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126019r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126020r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126021r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">SubB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126022r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126023r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126024r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126025r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126026r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">LogicalThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126027r25"></a><span
+class="ec-lmss-8x-x-62">25</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126028r26"></a><span
+class="ec-lmss-8x-x-62">26</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126029r27"></a><span
+class="ec-lmss-8x-x-62">27</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126030r28"></a><span
+class="ec-lmss-8x-x-62">28</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126031r29"></a><span
+class="ec-lmss-8x-x-62">29</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126032r30"></a><span
+class="ec-lmss-8x-x-62">30</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126033r31"></a><span
+class="ec-lmss-8x-x-62">31</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126034r32"></a><span
+class="ec-lmss-8x-x-62">32</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126035r33"></a><span
+class="ec-lmss-8x-x-62">33</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126036r34"></a><span
+class="ec-lmss-8x-x-62">34</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126037r35"></a><span
+class="ec-lmss-8x-x-62">35</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126038r36"></a><span
+class="ec-lmss-8x-x-62">36</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126039r37"></a><span
+class="ec-lmss-8x-x-62">37</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Structure</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126040r38"></a><span
+class="ec-lmss-8x-x-62">38</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attribute</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126041r39"></a><span
+class="ec-lmss-8x-x-62">39</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126042r40"></a><span
+class="ec-lmss-8x-x-62">40</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">actC2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126043r41"></a><span
+class="ec-lmss-8x-x-62">41</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126044r42"></a><span
+class="ec-lmss-8x-x-62">42</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126045r43"></a><span
+class="ec-lmss-8x-x-62">43</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126046r44"></a><span
+class="ec-lmss-8x-x-62">44</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActC</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126047r45"></a><span
+class="ec-lmss-8x-x-62">45</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126048r46"></a><span
+class="ec-lmss-8x-x-62">46</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PrimitiveType</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ptInteger</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">int</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">(</span><span
+class="ec-lmtt-9">Integer</span><span
+class="ec-lmtt-9">)</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">default</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">0</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-126049r47"></a><span
+class="ec-lmss-8x-x-62">47</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.1:
+ </span><span
+class="content">ROOM
+ example
+
+
+ code</span></div><!--tex4ht:label?: x48-1260008.2 -->
+</div>
+<!--l. 34--><p class="noindent" >When a <span id="textcolor63"><span
+class="ec-lmssbx-10">LogicalSystem</span></span> is instantiated then recursively all of the contained referenced elements are
+instantiated as instances of the corresponding class. Thus the instance tree of the above example looks like in
+figure <a
+href="#x48-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a> (the third line in the white boxes shows some mapping information, see section <a
+href="#x48-1290008.2.4">8.2.4<!--tex4ht:ref: sec:mapping_model --></a> <a
+href="#x48-1290008.2.4">The Mapping
+Model<!--tex4ht:ref: sec:mapping_model --></a>):
+</p>
+<hr class="figure" /><div class="figure"
+>
+
+
+<a
+ id="x48-1260505"></a><a
+ id="x48-12700025"></a><a
+ id="x48-12800011"></a><a
+ id="x48-12800046"></a><a
+ id="x48-12900017"></a>
+
+
+<!--l. 40--><p class="noindent" ><img
+src="images/080-instances.jpg" alt="PIC"
+ />
+<br /> </p><div class="caption"
+><span class="id">Figure&#x00A0;8.5: </span><span
+class="content">Instances of a ROOM system</span></div><!--tex4ht:label?: x48-1260505 -->
+
+
+</div><hr class="endfigure" />
+<h4 class="subsectionHead"><span class="titlemark">8.2.2 </span> <a
+ id="x48-1270008.2.2"></a>The Config Model</h4>
+<!--l. 47--><p class="noindent" >Once we have the ROOM class model we can configure values using the Config model. This can be done on
+the class level and/or on the instance level. Values defined for class attributes are used for all instances unless
+there is an instance value configured for the same attribute.
+</p>
+<!--l. 51--><div class="lstinputlisting">
+<a
+ id="x48-127001r2"></a>
+<a
+ id="x48-127002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">ConfigModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorClassConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ActB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">12</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127019r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127020r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">13</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127021r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127022r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127023r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ActorInstanceConfig</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actA</span><span
+class="ec-lmtt-9">/</span><span
+class="ec-lmtt-9">actB2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127024r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Attr</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">val</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">14</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127025r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-127026r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.2:
+ </span><span
+class="content">Config
+ example
+ code</span></div><!--tex4ht:label?: x48-1270008.2 -->
+</div>
+<!--l. 53--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.3 </span> <a
+ id="x48-1280008.2.3"></a>The Physical Model</h4>
+<!--l. 55--><p class="noindent" >The physical model defines the physical resources onto which the logical system will be deployed. It is
+possible to define runtime classes which (currently) only define the overall execution model of the
+platform.
+</p>
+<!--l. 59--><div class="lstinputlisting">
+<a
+ id="x48-128001r3"></a>
+<a
+ id="x48-128002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PCRuntime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">multiThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">RuntimeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">model</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">singleThreaded</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.3:
+ </span><span
+class="content">etPhys
+ runtime
+ definition</span></div><!--tex4ht:label?: x48-1280008.2 -->
+</div>
+<!--l. 61--><p class="noindent" >The <span id="textcolor64"><span
+class="ec-lmssbx-10">PhysicalSystem</span></span> is composed of <span id="textcolor65"><span
+class="ec-lmssbx-10">NodeRef</span></span>erences which are instances of <span id="textcolor66"><span
+class="ec-lmssbx-10">NodeClass</span></span>es. Each <span id="textcolor67"><span
+class="ec-lmssbx-10">NodeClass</span></span>
+is referencing a <span id="textcolor68"><span
+class="ec-lmssbx-10">RuntimeClass</span></span> and is defining <span id="textcolor69"><span
+class="ec-lmssbx-10">Threads</span></span>.
+</p>
+<!--l. 65--><div class="lstinputlisting">
+<a
+ id="x48-128013r4"></a>
+<a
+ id="x48-128014"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128015r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">PhysicalModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128016r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128017r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128018r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128019r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">PhysicalSystem</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128020r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128021r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc2</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128022r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeRef</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">mc</span><span
+class="ec-lmtt-9">:</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128023r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128024r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128025r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">PC_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128026r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">PCRuntime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128027r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128028r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128029r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128030r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">blocked</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128031r17"></a><span
+class="ec-lmss-8x-x-62">17</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128032r18"></a><span
+class="ec-lmss-8x-x-62">18</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128033r19"></a><span
+class="ec-lmss-8x-x-62">19</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128034r20"></a><span
+class="ec-lmss-8x-x-62">20</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128035r21"></a><span
+class="ec-lmss-8x-x-62">21</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128036r22"></a><span
+class="ec-lmss-8x-x-62">22</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Thread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128037r23"></a><span
+class="ec-lmss-8x-x-62">23</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128038r24"></a><span
+class="ec-lmss-8x-x-62">24</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">ms</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128039r25"></a><span
+class="ec-lmss-8x-x-62">25</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128040r26"></a><span
+class="ec-lmss-8x-x-62">26</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1024</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128041r27"></a><span
+class="ec-lmss-8x-x-62">27</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128042r28"></a><span
+class="ec-lmss-8x-x-62">28</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128043r29"></a><span
+class="ec-lmss-8x-x-62">29</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128044r30"></a><span
+class="ec-lmss-8x-x-62">30</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128045r31"></a><span
+class="ec-lmss-8x-x-62">31</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128046r32"></a><span
+class="ec-lmss-8x-x-62">32</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">NodeClass</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MSP430_Node</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128047r33"></a><span
+class="ec-lmss-8x-x-62">33</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">runtimes</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">MSP430Runtime</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128048r34"></a><span
+class="ec-lmss-8x-x-62">34</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomin</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128049r35"></a><span
+class="ec-lmss-8x-x-62">35</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">priomax</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128050r36"></a><span
+class="ec-lmss-8x-x-62">36</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">DefaultThread</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128051r37"></a><span
+class="ec-lmss-8x-x-62">37</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">execmode</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">polled</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128052r38"></a><span
+class="ec-lmss-8x-x-62">38</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">interval</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">us</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128053r39"></a><span
+class="ec-lmss-8x-x-62">39</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">prio</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">10</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128054r40"></a><span
+class="ec-lmss-8x-x-62">40</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">stacksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">256</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128055r41"></a><span
+class="ec-lmss-8x-x-62">41</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgblocksize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">64</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128056r42"></a><span
+class="ec-lmss-8x-x-62">42</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">msgpoolsize</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">=</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">50</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128057r43"></a><span
+class="ec-lmss-8x-x-62">43</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128058r44"></a><span
+class="ec-lmss-8x-x-62">44</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-128059r45"></a><span
+class="ec-lmss-8x-x-62">45</span></span><span
+class="ec-lmtt-9">}</span>
+
+
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.4:
+ </span><span
+class="content">etPhys
+ example
+ code</span></div><!--tex4ht:label?: x48-1280008.2 -->
+</div>
+<!--l. 67--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">8.2.4 </span> <a
+ id="x48-1290008.2.4"></a>The Mapping Model</h4>
+<!--l. 70--><p class="noindent" >The last model finally combines all this information by mapping logical to physical entities.
+</p>
+<!--l. 72--><div class="lstinputlisting">
+<a
+ id="x48-129001r5"></a>
+<a
+ id="x48-129002"></a>
+<span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129003r1"></a><span
+class="ec-lmss-8x-x-62">1</span></span><span
+class="ec-lmssbx-10x-x-90">MappingModel</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129004r2"></a><span
+class="ec-lmss-8x-x-62">2</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129005r3"></a><span
+class="ec-lmss-8x-x-62">3</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">etphys</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129006r4"></a><span
+class="ec-lmss-8x-x-62">4</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">import</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">test</span><span
+class="ec-lmtt-9">.*</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">from</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">-</span><span
+class="ec-lmtt-9">example</span><span
+class="ec-lmtt-9">.</span><span
+class="ec-lmtt-9">room</span><span
+class="ec-lmtt-9">"</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129007r5"></a><span
+class="ec-lmss-8x-x-62">5</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129008r6"></a><span
+class="ec-lmss-8x-x-62">6</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">Mapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">Main</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">MainPhys</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129009r7"></a><span
+class="ec-lmss-8x-x-62">7</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subA</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">pc1</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129010r8"></a><span
+class="ec-lmss-8x-x-62">8</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread1</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129011r9"></a><span
+class="ec-lmss-8x-x-62">9</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">thread2</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129012r10"></a><span
+class="ec-lmss-8x-x-62">10</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129013r11"></a><span
+class="ec-lmss-8x-x-62">11</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmssbx-10x-x-90">SubSystemMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">subB</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">mc</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">{</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129014r12"></a><span
+class="ec-lmss-8x-x-62">12</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">dflt</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129015r13"></a><span
+class="ec-lmss-8x-x-62">13</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">ThreadMapping</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">extra</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">-&#x003E;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">main</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129016r14"></a><span
+class="ec-lmss-8x-x-62">14</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129017r15"></a><span
+class="ec-lmss-8x-x-62">15</span></span><span
+class="ec-lmtt-9">&#x00A0;</span><span
+class="ec-lmtt-9">}</span><span
+class="ec-lmtt-9">&#x00A0;</span><br /><span class="label"><a
+ id="x48-129018r16"></a><span
+class="ec-lmss-8x-x-62">16</span></span><span
+class="ec-lmtt-9">}</span>
+<br />
+ <div class="caption"
+><span class="id">Listing&#x00A0;8.5:
+ </span><span
+class="content">etMap
+ example
+ code</span></div><!--tex4ht:label?: x48-1290008.2 -->
+</div>
+<!--l. 74--><p class="noindent" >The result of the mapping is also depicted in above tree diagram (figure <a
+href="#x48-1260505">8.5<!--tex4ht:ref: fig:instance_tree --></a>) of the instances. All actor
+instances (the white boxes) are mapped to a node and a thread running on this node (shown as @<span
+class="ec-lmsso-10">node </span>:
+<span
+class="ec-lmsso-10">thread</span>).
@@ -34,11 +1521,11 @@ compile and link the application.
</p>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docch11.html" >next</a>] [<a
+href="etrice-docch9.html" >next</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>
+href="etrice-docch8.html#etrice-docse38.html" >up</a>] </p></div>
<!--l. 1--><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 08f199a..c38836e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse39.html
@@ -4,58 +4,157 @@
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
-<head><title>Scope</title>
+<head><title>Architecture</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:16:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
<!--l. 3--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse40.html" >next</a>] [<a
-href="etrice-docch11.html" >prev</a>] [<a
-href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
+href="etrice-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="#tailetrice-docse39.html">tail</a>] [<a
-href="etrice-docch11.html#etrice-docse39.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.1 </span> <a
- id="x52-7300011.1"></a>Scope</h3>
-<!--l. 5--><p class="noindent" >In this tutorial you will create a more complex model. The model implements a simple parser that removes
-comments (block comments and line comments) from a C source file. Therefore we will create two actors.
-One actor is responsible to perform the file operations, while the second actor implements the
-parser.
-</p><!--l. 9--><p class="noindent" >You will perform the following steps:
-</p><!--l. 11--><p class="noindent" >
- </p><ol class="enumerate1" >
- <li
- class="enumerate" id="x52-73002x1">create a new model from scratch for C
- </li>
- <li
- class="enumerate" id="x52-73004x2">define a protocol
- </li>
- <li
- class="enumerate" id="x52-73006x3">define your own data type
+href="etrice-docch9.html#etrice-docse39.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
+ id="x50-1310009.1"></a>Architecture</h3>
+<!--l. 5--><p class="noindent" >The basic components of eTrice are depicted in the following diagram.
+</p><!--l. 7--><p class="noindent" ><img
+src="images/200-components.jpg" alt="PIC"
+ />
+</p><!--l. 9--><p class="noindent" >Additional to that the eTrice project comprises runtime libraries and unit tests which are treated in subsequent
+sections.
+</p><!--l. 12--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.1 </span> <a
+ id="x50-1320009.1.1"></a>Editor and Generator Components</h4>
+ <ul class="itemize1">
+ <li class="itemize">core
+ <ul class="itemize2">
+ <li class="itemize">core.room is an Xtext based language called ROOM. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. ROOM is
+ the basic modeling language of eTrice.
+ </li>
+ <li class="itemize">core.config is an Xtext based
+ language called Config. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config</span>
+ and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. Config is a language designed for the data
+ configuration of model
+ </li>
+ <li class="itemize">core.etphys is an Xtext based
+ language called etPhys. It consists of the plug-ins <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys </span>and
+
+
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. etPhys is a language designed for the description
+ of physical systems onto which the logical ROOM systems are deployed.
+ </li>
+ <li class="itemize">core.etmap is an Xtext based language called etMap. It consists of the plug-ins
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap </span>and <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. etMap
+ is a language designed for the mapping of logical to physical systems.
+ </li>
+ <li class="itemize">core.genmodel is an EMF based aggregation layer for Room models. It consists of the
+ plugin <span
+class="ec-lmtt-10">org.eclipse.etrice.core.genmodel</span>. A Room model can be transformed into a
+ genmodel which allows easy access to implicit relations of the Room model.</li></ul>
</li>
- <li
- class="enumerate" id="x52-73008x4">create the structure and the behavior by yourself
+ <li class="itemize">ui
+ <ul class="itemize2">
+ <li class="itemize">textual
+ <ul class="itemize3">
+ <li class="itemize">room.ui is the ui counterpart of core.room. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.room.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the Room language.
+ </li>
+ <li class="itemize">config.ui is the ui counterpart of core.config. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.config.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the Config language.
+ </li>
+ <li class="itemize">etphys.ui is the ui counterpart of core.etphys. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etphys.ui</span>. This plug-in realizes IDE concepts like
+ content assist, error markers and navigation by hyper links for the etPhys language.
+ </li>
+ <li class="itemize">etmap.ui is the ui counterpart of core.etmap. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.core.etmap.ui</span>. This plug-in realizes IDE concepts like content
+ assist, error markers and navigation by hyper links for the etPhys language.</li></ul>
+ </li>
+ <li class="itemize">graphical
+ <ul class="itemize3">
+ <li class="itemize">ui.common is a set of common code for the two diagram editors. It consists of the
+ plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.common</span>.
+ </li>
+ <li class="itemize">ui.commands encapsulates some commands related to the navigation between eTrice
+ editors. It consists of the plug-in <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.commands</span>.
+ </li>
+ <li class="itemize">ui.structure is the Graphiti based editor for the Actor structure. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.structure</span>.
+ </li>
+ <li class="itemize">ui.behavior is the Graphiti based editor for the Actor behavior. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.ui.behavior</span>.</li></ul>
+ </li></ul>
</li>
- <li
- class="enumerate" id="x52-73010x5">generate, build and run the model</li></ol>
-<!--l. 19--><p class="noindent" >Make sure that you have set up the workspace as described in <span
-class="ec-lmsso-10">Setting up the Workspace for C</span>
-<span
-class="ec-lmsso-10">Projects</span>.
+ <li class="itemize">generators
+ <ul class="itemize2">
+ <li class="itemize">generator is a set of general classes and language independent parts of all generators. It
+ consists of the plug-in <span
+class="ec-lmsso-10">org.eclipse.etrice.generator</span>.
+
+
+ </li>
+ <li class="itemize">generator.c is the generator for the ANSI-C target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.c</span>.
+ </li>
+ <li class="itemize">generator.cpp is the generator for the C++ target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.cpp</span>.
+ </li>
+ <li class="itemize">generator.java is the generator for the Java target language. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.java</span>.
+ </li>
+ <li class="itemize">generator.doc is the generator for the model documentation. It consists of the plug-in
+ <span
+class="ec-lmtt-10">org.eclipse.etrice.generator.doc</span>.</li></ul>
+ </li></ul>
+<!--l. 84--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.2 </span> <a
+ id="x50-1330009.1.2"></a>Runtimes</h4>
+<!--l. 86--><p class="noindent" >Currently eTrice ships with a C and a Java runtime. The C++ runtime is still a prototype. The runtimes are
+libraries written in the target language against which the generated code is compiled.
+</p><!--l. 90--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.1.3 </span> <a
+ id="x50-1340009.1.3"></a>Unit Tests</h4>
+<!--l. 92--><p class="noindent" >Most plug-ins and other parts of the code have related unit tests.
</p>
-<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse40.html" >next</a>] [<a
-href="etrice-docch11.html" >prev</a>] [<a
-href="etrice-docch11.html#tailetrice-docch11.html" >prev-tail</a>] [<a
+href="etrice-docch9.html" >prev</a>] [<a
+href="etrice-docch9.html#tailetrice-docch9.html" >prev-tail</a>] [<a
href="etrice-docse39.html" >front</a>] [<a
-href="etrice-docch11.html#etrice-docse39.html" >up</a>] </p></div>
-<!--l. 22--><p class="noindent" ><a
+href="etrice-docch9.html#etrice-docse39.html" >up</a>] </p></div>
+<!--l. 94--><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 ffd3fd0..4729835 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse4.html
@@ -4,102 +4,103 @@
<!--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>Setting up the Workspace for Java Projects</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:19:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 18--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse5.html" >next</a>] [<a
href="etrice-docse3.html" >prev</a>] [<a
href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
href="#tailetrice-docse4.html">tail</a>] [<a
-href="etrice-docch5.html#etrice-docse4.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
- id="x11-300005.2"></a>Create a new model from scratch</h3>
-<!--l. 20--><p class="noindent" >The easiest way to create a new eTrice Project is to use the eclipse project wizard. From the eclipse file menu
-select <span
-class="ec-lmssbx-10">File-&#x003E;New-&#x003E;Project </span>and create a new eTrice project and name it <span
-class="ec-lmssbx-10">HelloWorld</span>.
-</p><!--l. 23--><p class="noindent" ><img
-src="images/015-HelloWorld10.png" alt="PIC"
+href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">2.2 </span> <a
+ id="x8-270002.2"></a>Setting up the Workspace for Java Projects</h3>
+<!--l. 3--><p class="noindent" >After installation of eclipse and the eTrice plug in, your workspace should look like this:
+</p><!--l. 5--><p class="noindent" ><img
+src="images/013-SetupWorkspace01.png" alt="PIC"
/>
-</p><!--l. 26--><p class="noindent" >The wizard creates everything that is needed to create, build and run an eTrice model. The resulting project
-should look like this:
-</p><!--l. 29--><p class="noindent" ><img
-src="images/015-HelloWorld11.png" alt="PIC"
+</p><!--l. 8--><p class="noindent" >Just the <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> menu item is visible of the installed eTrice plugins.
+</p><!--l. 10--><p class="noindent" >Select the menu <span
+class="ec-lmssbx-10">File-&#x003E;New-&#x003E;Other</span>
+</p><!--l. 12--><p class="noindent" ><img
+src="images/013-SetupWorkspace02.png" alt="PIC"
/>
-</p><!--l. 32--><p class="noindent" >Within the model directory the model file <span
-class="ec-lmsso-10">HelloWorld.room </span>was created. Open the <span
-class="ec-lmsso-10">HelloWorld.room </span>file
-and delete the contents of the file. Open the content assist with Ctrl+Space and select <span
-class="ec-lmsso-10">model</span>
+</p><!--l. 15--><p class="noindent" >Open the <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> tab and select <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Runtime</span>
+</p><!--l. 17--><p class="noindent" >Press <span
+class="ec-lmsso-10">Next </span>and <span
+class="ec-lmsso-10">Finish </span>to install the Runtime into your workspace.
+</p><!--l. 19--><p class="noindent" ><img
+src="images/013-SetupWorkspace03.png" alt="PIC"
+ />
+</p><!--l. 22--><p class="noindent" >Do the same steps for <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Modellib </span>and <span
+class="ec-lmsso-10">e</span><span
+class="ec-lmsso-10">Trice</span> <span
+class="ec-lmsso-10">Java Tutorials</span>. To avoid temporary error
+markers you should keep the proposed order of installation. The resulting workspace should look like
+this:
+</p><!--l. 26--><p class="noindent" ><img
+src="images/013-SetupWorkspace04.png" alt="PIC"
+ />
+</p><!--l. 29--><p class="noindent" >Now workspace is set up and you can perform the tutorials or start with your work.
+</p><!--l. 31--><p class="noindent" >The tutorial models are available in the <span
+class="ec-lmsso-10">org.eclipse.etrice.tutorials.java </span>project. All tutorials
+are ready to generate and run without any changes. To start the code generator simply run
<span
-class="ec-lmsso-10">skeleton</span>.
-</p><!--l. 36--><p class="noindent" ><img
-src="images/015-HelloWorld12.png" alt="PIC"
+class="ec-lmssbx-10">gen_org.eclipse.etrice.tutorials.java.launch </span>as <span
+class="ec-lmssbx-10">gen_org.eclipse.etrice.tutorials.java</span>:
+</p><!--l. 35--><p class="noindent" ><img
+src="images/013-SetupWorkspace05.png" alt="PIC"
/>
-</p><!--l. 39--><p class="noindent" >Edit the template variables by typing the new names and jumping with Tab from name to name.
-</p><!--l. 41--><p class="noindent" >The resulting model code should look like this:
-
-
-</p>
-<div class="verbatim" id="verbatim-1">
-RoomModel&#x00A0;HelloWorld&#x00A0;{
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;LogicalSystem&#x00A0;System_HelloWorld&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemRef&#x00A0;subsystem&#x00A0;:&#x00A0;SubSystem_HelloWorld
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;SubSystemClass&#x00A0;SubSystem_HelloWorld&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorRef&#x00A0;application&#x00A0;:&#x00A0;HelloWorldTop
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;ActorClass&#x00A0;HelloWorldTop&#x00A0;{
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;}
-&#x00A0;<br />}
-</div>
-<!--l. 57--><p class="nopar" >
-</p><!--l. 59--><p class="noindent" >The goal of eTrice is to describe distributed systems on a logical level. In the current version not all
-elements will be used. But as prerequisite for further versions the following elements can be defined:
-</p>
- <ul class="itemize1">
- <li class="itemize">the <span
-class="ec-lmsso-10">LogicalSystem </span>(currently optional)
- </li>
- <li class="itemize">at least one <span
-class="ec-lmsso-10">SubSystemClass </span>(mandatory)
- </li>
- <li class="itemize">at least one <span
-class="ec-lmsso-10">ActorClass </span>(mandatory)</li></ul>
-<!--l. 67--><p class="noindent" >The <span
-class="ec-lmsso-10">LogicalSystem </span>represents the complete distributed system and contains at least one <span
-class="ec-lmsso-10">SubSystemRef</span>. The
+</p><!--l. 38--><p class="noindent" >The successful generation ends with <span
+class="ec-lmsso-10">Info: &#8211; finished code generation </span>in the Console.
+</p><!--l. 40--><p class="noindent" ><img
+src="images/013-SetupWorkspace051.png" alt="PIC"
+ />
+</p><!--l. 44--><p class="noindent" >For each tutorial in the folder src-gen a java package is generated including a java file called
<span
-class="ec-lmsso-10">SubSystemClass </span>represents an address space and contains at least one <span
-class="ec-lmsso-10">ActorRef</span>. The <span
-class="ec-lmsso-10">ActorClass </span>is the
-building block of which an application will be built of. It is in general a good idea to define a top level actor
-that can be used as reference within the subsystem.
-</p><!--l. 72--><p class="noindent" >The outline view of the textual ROOM editor shows the main modeling elements in an easy to navigate
-tree.
-</p><!--l. 74--><p class="noindent" ><img
-src="images/015-HelloWorld02.png" alt="PIC"
+class="ec-lmssbx-10">SubSystem_&#x003C;Modelname&#x003E;Runner.java </span>. To run the a generated application simply run this file as a java
+application:
+</p><!--l. 47--><p class="noindent" ><img
+src="images/013-SetupWorkspace06.png" alt="PIC"
+ />
+</p><!--l. 50--><p class="noindent" >To stop the application type <span
+class="ec-lmsso-10">quit </span>in the console window.
+</p><!--l. 52--><p class="noindent" ><img
+src="images/013-SetupWorkspace07.png" alt="PIC"
/>
+</p><!--l. 55--><p class="noindent" >Performing the tutorials will setup a dedicated project for each tutorial. Therefore there are some slight
+changes especially whenever a path must be set (e.g. to the model library) within your own projects. All this is
+described in the tutorials.
+
+
+
+
</p>
-<!--l. 78--><div class="crosslinks"><p class="noindent">[<a
+<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="etrice-docse5.html" >next</a>] [<a
href="etrice-docse3.html" >prev</a>] [<a
href="etrice-docse3.html#tailetrice-docse3.html" >prev-tail</a>] [<a
href="etrice-docse4.html" >front</a>] [<a
-href="etrice-docch5.html#etrice-docse4.html" >up</a>] </p></div>
-<!--l. 78--><p class="noindent" ><a
+href="etrice-docch2.html#etrice-docse4.html" >up</a>] </p></div>
+<!--l. 1--><p class="noindent" ><a
id="tailetrice-docse4.html"></a> </p>
</body></html>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
index a3e24d7..c90bbfc 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse40.html
@@ -4,69 +4,404 @@
<!--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>Component Overview</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,3,next,html -->
<meta name="src" content="etrice-doc.tex" />
-<meta name="date" content="2013-06-13 15:30:00" />
+<meta name="date" content="2013-06-14 00:16:00" />
<link rel="stylesheet" type="text/css" href="etrice-doc.css" />
</head><body
>
-<!--l. 22--><div class="crosslinks"><p class="noindent">[<a
-href="etrice-docse41.html" >next</a>] [<a
+<!--l. 94--><div class="crosslinks"><p class="noindent">[<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-docch11.html#etrice-docse40.html" >up</a>] </p></div>
-<h3 class="sectionHead"><span class="titlemark">11.2 </span> <a
- id="x53-7400011.2"></a>Create a new model from scratch</h3>
-<!--l. 24--><p class="noindent" >Remember the following steps from the previous tutorials: </p>
+href="etrice-docch9.html#etrice-docse40.html" >up</a>] </p></div>
+<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
+ id="x51-1350009.2"></a>Component Overview</h3>
+<!--l. 96--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.1 </span> <a
+ id="x51-1360009.2.1"></a>Room Language Overview</h4>
+<!--l. 98--><p class="noindent" >We assume that the reader is familiar with the Xtext concepts. So we concentrate on the details of our
+implementation that are worth to be pointed out.
+</p><!--l. 101--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1370009.2.1"></a>Model Tweaks</h5>
+<!--l. 103--><p class="noindent" >The Room EMF model is inferred from the grammar. However, this powerful mechanism has to be tweaked at
+some places. This is done in the <span
+class="ec-lmsso-10">/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/RoomPostprocessor.ext</span>
+which is written in the legacy Xtend language.
+</p><!--l. 109--><p class="noindent" >The following parts of the model are changed or added: </p>
+ <ul class="itemize1">
+ <li class="itemize">the default
+
+
+ <div class="verbatim" id="verbatim-22">
+ multiplicity
+</div>
+ <!--l. 111--><p class="nopar" > of the <span
+class="ec-lmtt-10">Port </span>is set to 1
+ </p></li>
+ <li class="itemize">the operation <span
+class="ec-lmtt-10">isReplicated </span>is added to the <span
+class="ec-lmtt-10">Port</span>
+ </li>
+ <li class="itemize">the default <span
+class="ec-lmtt-10">size </span>of the <span
+class="ec-lmtt-10">ActorRef </span>is set to 1
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">State </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getName </span>is add to the <span
+class="ec-lmtt-10">StateGraphItem </span>class
+ </li>
+ <li class="itemize">an operation <span
+class="ec-lmtt-10">getGeneralProtocol </span>is added to the <span
+class="ec-lmtt-10">InterfaceItem</span></li></ul>
+<!--l. 119--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1380009.2.1"></a>Imports by URI Using Namespaces</h5>
+<!--l. 121--><p class="noindent" >The import mechanism employed is based on URIs. This is configured for one part in the GenerateRoom.mwe2
+model workflow by setting the fragments ImportURIScopingFragment and ImportUriValidator). For the other
+part it is configured in the Guice modules by binding </p>
<ul class="itemize1">
- <li class="itemize">select the <span
-class="ec-lmsso-10">C/C++ </span>perspective
+ <li class="itemize"><span
+class="ec-lmtt-10">PlatformRelativeUriResolver </span>&#8211; this class tries to convert the import URI into a platform
+ relative URI. It also replaces environment variables written in $ with their respective values.
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportedNamespaceAwareLocalScopeProvider </span>&#8211; this is a standard scope provider which is
+ aware of namespaces
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">GlobalNonPlatformURIEditorOpener </span>&#8211; this editor opener tries to convert general URIs into
+ platform URIs because editors can only open platform URIs
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">ImportAwareHyperlinkHelper </span>&#8211; turns the URI part of an import into a navigatable hyper link</li></ul>
+<!--l. 134--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1390009.2.1"></a>Naming</h5>
+<!--l. 136--><p class="noindent" >Two classes provide object names used for link resolution and for labels. The <span
+class="ec-lmtt-10">RoomNameProvider </span>provides
+frequently used name strings, some of them are hierarchical like State paths. The <span
+class="ec-lmtt-10">RoomFragmentProvider</span>
+serves a more formal purpose since it provides a link between EMF models (as used by the diagram editors)
+and the textual model representation used by Xtext.
+
+
+</p><!--l. 142--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1400009.2.1"></a>Helpers</h5>
+<!--l. 144--><p class="noindent" >The <span
+class="ec-lmtt-10">RoomHelpers </span>class provides a great deal of static methods that help retrieve frequently used information
+from the model. Among many, many others </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getAllEndPorts(ActorClass) </span>- returns a list of all end ports of an actor class including
+ inherited ones
+ </li>
+ <li class="itemize"><span
+class="ec-lmtt-10">getInheritedActionCode(Transition, ActorClass) </span>- get the inherited part of a transition&#8217;s
+ action code
</li>
- <li class="itemize">From the main menue select <span
-class="ec-lmsso-10">File-&#x003E;New-&#x003E;C Project</span>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSignature(Operation) </span>- returns a string representing the operation signature suited for a
+ label</li></ul>
+<!--l. 156--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1410009.2.1"></a>Validation</h5>
+<!--l. 158--><p class="noindent" >Validation is used from various places. Therefore all validation code is accumulated in the @ValidationUtil@
+class. All methods are static and many of them return a Result object which contains information about the
+problem detected as well as object and feature as suited for most validation purposes.
+</p><!--l. 162--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">9.2.2 </span> <a
+ id="x51-1420009.2.2"></a>Config Language Overview</h4>
+<!--l. 164--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1430009.2.2"></a>Model Tweaks</h5>
+<!--l. 166--><p class="noindent" >A couple of operations are added to the ConfigModel </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorClassConfigs</span>
</li>
- <li class="itemize">Name the project <span
-class="ec-lmsso-10">RemoveComment</span>
+ <li class="itemize"><span
+class="ec-lmtt-10">getActorInstanceConfigs</span>
</li>
- <li class="itemize">Project type is <span
-class="ec-lmsso-10">Executable / Empty C Project</span>
+ <li class="itemize"><span
+class="ec-lmtt-10">getProtocolClassConfigs</span>
</li>
- <li class="itemize">Toolchain is <span
-class="ec-lmsso-10">MinGW</span>
+ <li class="itemize"><span
+class="ec-lmtt-10">getSubSystemConfigs</span></li></ul>
+
+
+<!--l. 174--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1440009.2.2"></a>Imports by URI Using Namespaces</h5>
+<!--l. 176--><p class="noindent" >Imports are treated like in Room language, section <span
+class="ec-lmsso-10">Imports by URI Using Namespaces</span>.
+</p><!--l. 178--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><a
+ id="x51-1450009.2.2"></a>Util</h5>
+<!--l. 180--><p class="noindent" >A set of static utility methods can be found in the <span