Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2011-12-09 12:07:14 +0000
committerThomas Schuetz2011-12-09 12:07:14 +0000
commit147f70f29c29b6552bad6901597e306d5e619778 (patch)
tree11478d349d9fb82272c1d5d92aa0eca6583f1387
parent192de25118e42f30f2c51eba92cea1bc793e6959 (diff)
downloadorg.eclipse.etrice-v_0.1.0.tar.gz
org.eclipse.etrice-v_0.1.0.tar.xz
org.eclipse.etrice-v_0.1.0.zip
[doc] last doc review: replaced tabs by spaces in code sections, ...v_0.1.0
-rw-r--r--plugins/org.eclipse.etrice.doc/build/etrice.textile244
-rw-r--r--plugins/org.eclipse.etrice.doc/build/etrice.xml245
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/000-etrice-introduction.textile4
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/013-Setting-up-the-Workspace.textile4
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/015-getting-started.textile20
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.textile33
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.textile142
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/030-tutorial-ped-lights.textile14
-rw-r--r--plugins/org.eclipse.etrice.doc/doc/040-room-concepts.textile27
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Addadataclass.html12
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Buildandrunthemodel.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/help/CreateMrPingandMrPongActors.html66
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch.html16
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch2.html16
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch3.html18
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Createanewprotocol2.html18
-rw-r--r--plugins/org.eclipse.etrice.doc/help/DefineActorStructureandBehavior.html14
-rw-r--r--plugins/org.eclipse.etrice.doc/help/FiniteStateMachines.html4
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Generateandrunthemodel.html7
-rw-r--r--plugins/org.eclipse.etrice.doc/help/ImporttheTimingService.html23
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Layering2.html2
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Ports.html36
-rw-r--r--plugins/org.eclipse.etrice.doc/help/ROOMConcepts.html4
-rw-r--r--plugins/org.eclipse.etrice.doc/help/ReductionofComplexity.html4
-rw-r--r--plugins/org.eclipse.etrice.doc/help/SettinguptheWorkspace.html8
-rw-r--r--plugins/org.eclipse.etrice.doc/help/Whydoesitworkandwhyisitsafe.html14
-rw-r--r--plugins/org.eclipse.etrice.doc/html/etrice.html269
-rw-r--r--plugins/org.eclipse.etrice.doc/manual/etrice.pdfbin4953260 -> 4953077 bytes
28 files changed, 583 insertions, 688 deletions
diff --git a/plugins/org.eclipse.etrice.doc/build/etrice.textile b/plugins/org.eclipse.etrice.doc/build/etrice.textile
index c5b8cc38e..dbe864b5a 100644
--- a/plugins/org.eclipse.etrice.doc/build/etrice.textile
+++ b/plugins/org.eclipse.etrice.doc/build/etrice.textile
@@ -12,9 +12,9 @@ h2. Reduction of Complexity
eTrice is all about the reduction of complexity:
* structural complexity
-** by explicit modeling of hierarchical Actor containment and layering
+** by explicit modeling of hierarchical Actor containment, layering and inheritance
* behavioral complexity
-** by hierachical statemachines
+** by hierachical statemachines with inheritance
* teamwork complexity
** because loosely coupled Actors provide a natural way to structure team work
** since textual model notation allows simple branching and merging
@@ -240,11 +240,11 @@ Do the same steps for _eTrice Java Modellib_ and _eTrice Java Tutorials_. To avo
Now workspace is set up and you can perform the tutorials or start with your work.
-The tutorial models are available in the _org.eclipse.etrice.tutorials_ project. All tutorials are ready to generate and run without any changes. To start the code generator simply run _gen_org.eclipse.etrice.tutorials.launch_ as _gen_org.eclipse.etrice.tutorials.launch_:
+The tutorial models are available in the _org.eclipse.etrice.tutorials_ project. All tutorials are ready to generate and run without any changes. To start the code generator simply run *gen_org.eclipse.etrice.tutorials.launch* as *gen_org.eclipse.etrice.tutorials.launch*:
!images/013-SetupWorkspace05.png!
-After generation for each tutorial a java file called _SubSystem_ModelnameRunner.java_ is generated. To run the model simply run this file as a java application:
+After generation for each tutorial a java file called *SubSystem_ModelnameRunner.java* is generated. To run the model simply run this file as a java application:
!images/013-SetupWorkspace06.png!
@@ -291,16 +291,16 @@ The resulting model code should look like this:
bc..
RoomModel HelloWorld {
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem : SubSystem_HelloWorld
- }
+ LogicalSystem System_HelloWorld {
+ SubSystemRef subsystem : SubSystem_HelloWorld
+ }
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application : HelloWorldTop
- }
+ SubSystemClass SubSystem_HelloWorld {
+ ActorRef application : HelloWorldTop
+ }
- ActorClass HelloWorldTop {
- }
+ ActorClass HelloWorldTop {
+ }
}
bq.
@@ -338,11 +338,11 @@ Save the diagram and inspect the model file. Note that the textual representatio
h2. 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 _HelloWorld/_ right click _gen_HelloWorld.launch_ and run it as gen_HelloWorld. All model files in the model directory will be generated.
+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 _HelloWorld/_ right click *gen_HelloWorld.launch* and run it as gen_HelloWorld. All model files in the model directory will be generated.
!images/015-HelloWorld06.png!
-The code will be generated to the src-gen directory. The main function will be contained in _SubSystem_HelloWorldRunner.java_. Select this file and run it as Java application.
+The code will be generated to the src-gen directory. The main function will be contained in *SubSystem_HelloWorldRunner.java*. Select this file and run it as Java application.
!images/015-HelloWorld07.png!
@@ -404,16 +404,16 @@ Open the _Blinky.room_ file and copy the following code into the file or use con
bc..
RoomModel Blinky {
- LogicalSystem System_Blinky {
- SubSystemRef subsystem : SubSystem_Blinky
- }
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem : SubSystem_Blinky
+ }
- SubSystemClass SubSystem_Blinky {
- ActorRef application : BlinkyTop
- }
+ SubSystemClass SubSystem_Blinky {
+ ActorRef application : BlinkyTop
+ }
- ActorClass BlinkyTop {
- }
+ ActorClass BlinkyTop {
+ }
}
bq.
@@ -457,18 +457,19 @@ After the build path is set up return to the model and navigate the cursor at th
bc..
RoomModel Blinky {
-
- import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
-
- LogicalSystem System_Blinky {
- SubSystemRef subsystem: SubSystem_Blinky
- }
-...
+
+ import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
+
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem: SubSystem_Blinky
+ }
+}
+...
bq.
Make sure that the path fits to your folder structure.
-Now it can be used within the model. Right click to _SubSystem_Blinky_ within the outline view. Select _Edit Structure_. The _application_ is already referenced in the subsystem. Drag and Drop an _ActorRef_ to the _SubSystem_Blinky_ and name it _timingService_. From the actor class drop down list select _room.basic.service.timing.ATimingService_. Draw a _LayerConnection_ from _application_ to each service provision point (SPP) of the _timingService_. The resulting structure should look like this:
+Now it can be used within the model. Right click to *SubSystem_Blinky* within the outline view. Select _Edit Structure_. The _application_ is already referenced in the subsystem. Drag and Drop an _ActorRef_ to the *SubSystem_Blinky* and name it _timingService_. From the actor class drop down list select _room.basic.service.timing.ATimingService_. Draw a _LayerConnection_ from _application_ to each service provision point (SPP) of the _timingService_. The resulting structure should look like this:
!images/020-Blinky06.png!
@@ -623,15 +624,15 @@ Open the _SendingData.room_ file and copy the following code into the file or us
bc..
RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl:SendingData_SubSystem
- }
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef:SendingDataTop
- }
- ActorClass SendingDataTop {
- }
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl:SendingData_SubSystem
+ }
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef:SendingDataTop
+ }
+ ActorClass SendingDataTop {
+ }
+}
bq.
h2. Add a data class
@@ -644,12 +645,12 @@ Select _DataClass - data class skeleton_ and name it _DemoData_.
Remove the operations and add the following Attributes:
bc..
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
+DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+}
bq.
Save the model and visit the outline view.
@@ -661,15 +662,15 @@ With the help of _Content Assist_ create a _ProtocolClass_ and name it _PingPong
bc..
ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data:int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data:int32)
- }
- }
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data:int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data:int32)
+ }
+}
bq.
h2. Create MrPing and MrPong Actors
@@ -679,45 +680,45 @@ With the help of _Content Assist_ create two new actor classes and name them _Mr
bc..
RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl: SendingData_SubSystem
- }
-
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef: SendingDataTop
- }
-
- ActorClass SendingDataTop { }
-
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data: int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data: int32)
- }
- }
-
- ActorClass MrPing {
- Interface { }
- Structure { }
- Behavior { }
- }
-
- ActorClass MrPong {
- Interface { }
- Structure { }
- Behavior { }
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl: SendingData_SubSystem
+ }
+
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef: SendingDataTop
+ }
+
+ ActorClass SendingDataTop { }
+
+ DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+ }
+
+ ProtocolClass PingPongProtocol {
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data: int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data: int32)
+ }
+ }
+
+ ActorClass MrPing {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
+
+ ActorClass MrPong {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
}
bq.
@@ -762,13 +763,13 @@ Fill in the following code:
bc..
Operation printData(d: DemoData) : void {
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
- "System.out.printf(\"d.int8Array: \");"
- "for(int i = 0; i<d.int8Array.length; i++) {"
- "System.out.printf(\"%d \",d.int8Array[i]);}"
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
- }
+ "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
+ "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
+ "System.out.printf(\"d.int8Array: \");"
+ "for(int i = 0; i<d.int8Array.length; i++) {"
+ "System.out.printf(\"%d \",d.int8Array[i]);}"
+ "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
+}
bq.
For MrPing create the following state machine:
@@ -804,7 +805,7 @@ The model is finished now and can be found in /org.eclipse.etrice.tutorials/mode
h2. Generate and run the model
-Generate the code by right click to _gen_SendingData.launch_ and run it as _gen_SendingData_. Run the model.
+Generate the code by right click to *gen_SendingData.launch* and run it as *gen_SendingData*. Run the model.
The output should look like this:
bq..
@@ -933,13 +934,13 @@ The tutorial shows that it is generally possible to use every port from outside
The only remaining question is: Why is it safe and does not violate the *run to completion* semantic. To answer this question, take a look at the _MessageService.java_ from the runtime environment. There you will find the receive method which puts each message into the queue.
bc..
- @Override
- public synchronized void receive(Message msg) {
- if (msg!=null) {
- messageQueue.push(msg);
- notifyAll(); // wake up thread to compute message
- }
- }
+ @Override
+ public synchronized void receive(Message msg) {
+ if (msg!=null) {
+ messageQueue.push(msg);
+ notifyAll(); // wake up thread to compute message
+ }
+ }
bq.
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.
@@ -1054,33 +1055,6 @@ The example defines a ProtocolClass with 2 incoming and two outgoing messages. M
h2. Ports
-here is a line
-
-<table border="1" cellpadding="3" cellspacing="0" width="60%">
- <tr>
- <th width="50%">Element</th>
- <th>Graphical Notation</th>
- <th>Textual Notation</th>
- </tr>
- <tr>
- <td width="50%">Berlin</td>
- <td>Hamburg</td>
- <td>M&uuml;nchen</td>
- </tr>
- <tr>
- <td>Milj&ouml;h</td>
- <td>Kiez</td>
- <td>Bierdampf</td>
- </tr>
- <tr>
- <td>Buletten</td>
- <td>Frikadellen</td>
- <td>Fleischpflanzerl</td>
- </tr>
-</table>
-
-end of table
-
h3. Description
Ports are the only interfaces of actors. A port has always a protocol assigned.
diff --git a/plugins/org.eclipse.etrice.doc/build/etrice.xml b/plugins/org.eclipse.etrice.doc/build/etrice.xml
index 72df8d2dd..8227e06ef 100644
--- a/plugins/org.eclipse.etrice.doc/build/etrice.xml
+++ b/plugins/org.eclipse.etrice.doc/build/etrice.xml
@@ -16,7 +16,7 @@
<para>structural complexity</para>
<itemizedlist>
<listitem>
- <para>by explicit modeling of hierarchical Actor containment and layering</para>
+ <para>by explicit modeling of hierarchical Actor containment, layering and inheritance</para>
</listitem>
</itemizedlist>
</listitem>
@@ -24,7 +24,7 @@
<para>behavioral complexity</para>
<itemizedlist>
<listitem>
- <para>by hierachical statemachines</para>
+ <para>by hierachical statemachines with inheritance</para>
</listitem>
</itemizedlist>
</listitem>
@@ -450,7 +450,9 @@
</para>
<para>Now workspace is set up and you can perform the tutorials or start with your work.</para>
<para>The tutorial models are available in the
- <emphasis>org.eclipse.etrice.tutorials</emphasis> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run _gen_org.eclipse.etrice.tutorials.launch_ as _gen_org.eclipse.etrice.tutorials.launch_:
+ <emphasis>org.eclipse.etrice.tutorials</emphasis> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run
+ <emphasis role="bold">gen_org.eclipse.etrice.tutorials.launch</emphasis> as
+ <emphasis role="bold">gen_org.eclipse.etrice.tutorials.launch</emphasis>:
</para>
<para>
<mediaobject>
@@ -459,7 +461,9 @@
</imageobject>
</mediaobject>
</para>
- <para>After generation for each tutorial a java file called _SubSystem_ModelnameRunner.java_ is generated. To run the model simply run this file as a java application:</para>
+ <para>After generation for each tutorial a java file called
+ <emphasis role="bold">SubSystem_ModelnameRunner.java</emphasis> is generated. To run the model simply run this file as a java application:
+ </para>
<para>
<mediaobject>
<imageobject>
@@ -545,16 +549,16 @@
<para>The resulting model code should look like this:</para>
<literallayout><code>RoomModel HelloWorld {
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem : SubSystem_HelloWorld
- }
+ LogicalSystem System_HelloWorld {
+ SubSystemRef subsystem : SubSystem_HelloWorld
+ }
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application : HelloWorldTop
- }
+ SubSystemClass SubSystem_HelloWorld {
+ ActorRef application : HelloWorldTop
+ }
- ActorClass HelloWorldTop {
- }
+ ActorClass HelloWorldTop {
+ }
}
</code></literallayout>
<blockquote>
@@ -637,7 +641,8 @@
<section id="Buildandrunthemodel">
<title>Build and run the model</title>
<para>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
- <emphasis>HelloWorld/</emphasis> right click _gen_HelloWorld.launch_ and run it as gen_HelloWorld. All model files in the model directory will be generated.
+ <emphasis>HelloWorld/</emphasis> right click
+ <emphasis role="bold">gen_HelloWorld.launch</emphasis> and run it as gen_HelloWorld. All model files in the model directory will be generated.
</para>
<para>
<mediaobject>
@@ -646,7 +651,9 @@
</imageobject>
</mediaobject>
</para>
- <para>The code will be generated to the src-gen directory. The main function will be contained in _SubSystem_HelloWorldRunner.java_. Select this file and run it as Java application.</para>
+ <para>The code will be generated to the src-gen directory. The main function will be contained in
+ <emphasis role="bold">SubSystem_HelloWorldRunner.java</emphasis>. Select this file and run it as Java application.
+ </para>
<para>
<mediaobject>
<imageobject>
@@ -750,16 +757,16 @@
</para>
<literallayout><code>RoomModel Blinky {
- LogicalSystem System_Blinky {
- SubSystemRef subsystem : SubSystem_Blinky
- }
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem : SubSystem_Blinky
+ }
- SubSystemClass SubSystem_Blinky {
- ActorRef application : BlinkyTop
- }
+ SubSystemClass SubSystem_Blinky {
+ ActorRef application : BlinkyTop
+ }
- ActorClass BlinkyTop {
- }
+ ActorClass BlinkyTop {
+ }
}
</code></literallayout>
<blockquote>
@@ -835,22 +842,25 @@
</para>
<para>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: </para>
<literallayout><code>RoomModel Blinky {
-
- import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
-
- LogicalSystem System_Blinky {
- SubSystemRef subsystem: SubSystem_Blinky
- }
-...
+
+ import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
+
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem: SubSystem_Blinky
+ }
+}
+...
</code></literallayout>
<blockquote>
<para></para>
</blockquote>
<para>Make sure that the path fits to your folder structure. </para>
- <para>Now it can be used within the model. Right click to _SubSystem_Blinky_ within the outline view. Select
+ <para>Now it can be used within the model. Right click to
+ <emphasis role="bold">SubSystem_Blinky</emphasis> within the outline view. Select
<emphasis>Edit Structure</emphasis>. The
<emphasis>application</emphasis> is already referenced in the subsystem. Drag and Drop an
- <emphasis>ActorRef</emphasis> to the _SubSystem_Blinky_ and name it
+ <emphasis>ActorRef</emphasis> to the
+ <emphasis role="bold">SubSystem_Blinky</emphasis> and name it
<emphasis>timingService</emphasis>. From the actor class drop down list select
<emphasis>room.basic.service.timing.ATimingService</emphasis>. Draw a
<emphasis>LayerConnection</emphasis> from
@@ -1164,15 +1174,15 @@ carLights.setState(TrafficLight3.OFF);
<emphasis>SendingData.room</emphasis> file and copy the following code into the file or use content assist to create the model.
</para>
<literallayout><code>RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl:SendingData_SubSystem
- }
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef:SendingDataTop
- }
- ActorClass SendingDataTop {
- }
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl:SendingData_SubSystem
+ }
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef:SendingDataTop
+ }
+ ActorClass SendingDataTop {
+ }
+}
</code></literallayout>
<blockquote>
<para></para>
@@ -1195,12 +1205,12 @@ carLights.setState(TrafficLight3.OFF);
<emphasis>DemoData</emphasis>.
Remove the operations and add the following Attributes:
</para>
- <literallayout><code> DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
+ <literallayout><code>DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+}
</code></literallayout>
<blockquote>
<para></para>
@@ -1216,15 +1226,15 @@ carLights.setState(TrafficLight3.OFF);
<emphasis>PingPongProtocol</emphasis>. Create the following messages:
</para>
<literallayout><code>ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data:int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data:int32)
- }
- }
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data:int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data:int32)
+ }
+}
</code></literallayout>
<blockquote>
<para></para>
@@ -1239,45 +1249,45 @@ carLights.setState(TrafficLight3.OFF);
</para>
<literallayout><code>RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl: SendingData_SubSystem
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl: SendingData_SubSystem
+ }
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef: SendingDataTop
- }
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef: SendingDataTop
+ }
- ActorClass SendingDataTop { }
+ ActorClass SendingDataTop { }
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
+ DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+ }
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data: int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data: int32)
- }
- }
+ ProtocolClass PingPongProtocol {
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data: int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data: int32)
+ }
+ }
- ActorClass MrPing {
- Interface { }
- Structure { }
- Behavior { }
- }
+ ActorClass MrPing {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
- ActorClass MrPong {
- Interface { }
- Structure { }
- Behavior { }
- }
+ ActorClass MrPong {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
}
</code></literallayout>
@@ -1361,13 +1371,13 @@ carLights.setState(TrafficLight3.OFF);
</para>
<para>Fill in the following code:</para>
<literallayout><code>Operation printData(d: DemoData) : void {
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
- "System.out.printf(\"d.int8Array: \");"
- "for(int i = 0; i&lt;d.int8Array.length; i++) {"
- "System.out.printf(\"%d \",d.int8Array[i]);}"
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
- }
+ "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
+ "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
+ "System.out.printf(\"d.int8Array: \");"
+ "for(int i = 0; i&lt;d.int8Array.length; i++) {"
+ "System.out.printf(\"%d \",d.int8Array[i]);}"
+ "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
+}
</code></literallayout>
<blockquote>
<para></para>
@@ -1438,8 +1448,11 @@ carLights.setState(TrafficLight3.OFF);
</section>
<section id="Generateandrunthemodel">
<title>Generate and run the model</title>
- <para>Generate the code by right click to _gen_SendingData.launch_ and run it as _gen_SendingData_. Run the model.
- The output should look like this:</para>
+ <para>Generate the code by right click to
+ <emphasis role="bold">gen_SendingData.launch</emphasis> and run it as
+ <emphasis role="bold">gen_SendingData</emphasis>. Run the model.
+ The output should look like this:
+ </para>
<blockquote>
<para>
type &#8218;quit’ to exit
@@ -1680,13 +1693,13 @@ carLights.setState(TrafficLight3.OFF);
<emphasis role="bold">run to completion</emphasis> semantic. To answer this question, take a look at the
<emphasis>MessageService.java</emphasis> from the runtime environment. There you will find the receive method which puts each message into the queue.
</para>
- <literallayout><code> @Override
- public synchronized void receive(Message msg) {
- if (msg!=null) {
- messageQueue.push(msg);
- notifyAll(); // wake up thread to compute message
- }
- }
+ <literallayout><code> @Override
+ public synchronized void receive(Message msg) {
+ if (msg!=null) {
+ messageQueue.push(msg);
+ notifyAll(); // wake up thread to compute message
+ }
+ }
</code></literallayout>
<blockquote>
<para></para>
@@ -1912,30 +1925,6 @@ carLights.setState(TrafficLight3.OFF);
</section>
<section id="Ports">
<title>Ports</title>
- <para>here is a line</para>
- <para><table border="1" cellpadding="3" cellspacing="0" width="60%">
- <tr>
- <th width="50%">Element</th>
- <th>Graphical Notation</th>
- <th>Textual Notation</th>
- </tr>
- <tr>
- <td width="50%">Berlin</td>
- <td>Hamburg</td>
- <td>M&amp;uuml;nchen</td>
- </tr>
- <tr>
- <td>Milj&amp;ouml;h</td>
- <td>Kiez</td>
- <td>Bierdampf</td>
- </tr>
- <tr>
- <td>Buletten</td>
- <td>Frikadellen</td>
- <td>Fleischpflanzerl</td>
- </tr>
-</table></para>
- <para>end of table</para>
<section id="Description3">
<title>Description</title>
<para>Ports are the only interfaces of actors. A port has always a protocol assigned.
diff --git a/plugins/org.eclipse.etrice.doc/doc/000-etrice-introduction.textile b/plugins/org.eclipse.etrice.doc/doc/000-etrice-introduction.textile
index 83181ce3c..968c41d04 100644
--- a/plugins/org.eclipse.etrice.doc/doc/000-etrice-introduction.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/000-etrice-introduction.textile
@@ -12,9 +12,9 @@ h2. Reduction of Complexity
eTrice is all about the reduction of complexity:
* structural complexity
-** by explicit modeling of hierarchical Actor containment and layering
+** by explicit modeling of hierarchical Actor containment, layering and inheritance
* behavioral complexity
-** by hierachical statemachines
+** by hierachical statemachines with inheritance
* teamwork complexity
** because loosely coupled Actors provide a natural way to structure team work
** since textual model notation allows simple branching and merging
diff --git a/plugins/org.eclipse.etrice.doc/doc/013-Setting-up-the-Workspace.textile b/plugins/org.eclipse.etrice.doc/doc/013-Setting-up-the-Workspace.textile
index b544ed3c6..cd0e35595 100644
--- a/plugins/org.eclipse.etrice.doc/doc/013-Setting-up-the-Workspace.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/013-Setting-up-the-Workspace.textile
@@ -27,11 +27,11 @@ Do the same steps for _eTrice Java Modellib_ and _eTrice Java Tutorials_. To avo
Now workspace is set up and you can perform the tutorials or start with your work.
-The tutorial models are available in the _org.eclipse.etrice.tutorials_ project. All tutorials are ready to generate and run without any changes. To start the code generator simply run _gen_org.eclipse.etrice.tutorials.launch_ as _gen_org.eclipse.etrice.tutorials.launch_:
+The tutorial models are available in the _org.eclipse.etrice.tutorials_ project. All tutorials are ready to generate and run without any changes. To start the code generator simply run *gen_org.eclipse.etrice.tutorials.launch* as *gen_org.eclipse.etrice.tutorials.launch*:
!images/013-SetupWorkspace05.png!
-After generation for each tutorial a java file called _SubSystem_ModelnameRunner.java_ is generated. To run the model simply run this file as a java application:
+After generation for each tutorial a java file called *SubSystem_ModelnameRunner.java* is generated. To run the model simply run this file as a java application:
!images/013-SetupWorkspace06.png!
diff --git a/plugins/org.eclipse.etrice.doc/doc/015-getting-started.textile b/plugins/org.eclipse.etrice.doc/doc/015-getting-started.textile
index 73ca45009..55db2cd6b 100644
--- a/plugins/org.eclipse.etrice.doc/doc/015-getting-started.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/015-getting-started.textile
@@ -35,16 +35,16 @@ The resulting model code should look like this:
bc..
RoomModel HelloWorld {
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem : SubSystem_HelloWorld
- }
+ LogicalSystem System_HelloWorld {
+ SubSystemRef subsystem : SubSystem_HelloWorld
+ }
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application : HelloWorldTop
- }
+ SubSystemClass SubSystem_HelloWorld {
+ ActorRef application : HelloWorldTop
+ }
- ActorClass HelloWorldTop {
- }
+ ActorClass HelloWorldTop {
+ }
}
bq.
@@ -82,11 +82,11 @@ Save the diagram and inspect the model file. Note that the textual representatio
h2. 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 _HelloWorld/_ right click _gen_HelloWorld.launch_ and run it as gen_HelloWorld. All model files in the model directory will be generated.
+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 _HelloWorld/_ right click *gen_HelloWorld.launch* and run it as gen_HelloWorld. All model files in the model directory will be generated.
!images/015-HelloWorld06.png!
-The code will be generated to the src-gen directory. The main function will be contained in _SubSystem_HelloWorldRunner.java_. Select this file and run it as Java application.
+The code will be generated to the src-gen directory. The main function will be contained in *SubSystem_HelloWorldRunner.java*. Select this file and run it as Java application.
!images/015-HelloWorld07.png!
diff --git a/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.textile b/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.textile
index 38a6a49d3..cd61c9256 100644
--- a/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/020-tutorial-blinky.textile
@@ -38,16 +38,16 @@ Open the _Blinky.room_ file and copy the following code into the file or use con
bc..
RoomModel Blinky {
- LogicalSystem System_Blinky {
- SubSystemRef subsystem : SubSystem_Blinky
- }
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem : SubSystem_Blinky
+ }
- SubSystemClass SubSystem_Blinky {
- ActorRef application : BlinkyTop
- }
+ SubSystemClass SubSystem_Blinky {
+ ActorRef application : BlinkyTop
+ }
- ActorClass BlinkyTop {
- }
+ ActorClass BlinkyTop {
+ }
}
bq.
@@ -91,18 +91,19 @@ After the build path is set up return to the model and navigate the cursor at th
bc..
RoomModel Blinky {
-
- import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
-
- LogicalSystem System_Blinky {
- SubSystemRef subsystem: SubSystem_Blinky
- }
-...
+
+ import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room"
+
+ LogicalSystem System_Blinky {
+ SubSystemRef subsystem: SubSystem_Blinky
+ }
+}
+...
bq.
Make sure that the path fits to your folder structure.
-Now it can be used within the model. Right click to _SubSystem_Blinky_ within the outline view. Select _Edit Structure_. The _application_ is already referenced in the subsystem. Drag and Drop an _ActorRef_ to the _SubSystem_Blinky_ and name it _timingService_. From the actor class drop down list select _room.basic.service.timing.ATimingService_. Draw a _LayerConnection_ from _application_ to each service provision point (SPP) of the _timingService_. The resulting structure should look like this:
+Now it can be used within the model. Right click to *SubSystem_Blinky* within the outline view. Select _Edit Structure_. The _application_ is already referenced in the subsystem. Drag and Drop an _ActorRef_ to the *SubSystem_Blinky* and name it _timingService_. From the actor class drop down list select _room.basic.service.timing.ATimingService_. Draw a _LayerConnection_ from _application_ to each service provision point (SPP) of the _timingService_. The resulting structure should look like this:
!images/020-Blinky06.png!
diff --git a/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.textile b/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.textile
index e4d7ddcae..192729e3c 100644
--- a/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/025-tutorial-sending-data.textile
@@ -23,15 +23,15 @@ Open the _SendingData.room_ file and copy the following code into the file or us
bc..
RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl:SendingData_SubSystem
- }
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef:SendingDataTop
- }
- ActorClass SendingDataTop {
- }
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl:SendingData_SubSystem
+ }
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef:SendingDataTop
+ }
+ ActorClass SendingDataTop {
+ }
+}
bq.
h2. Add a data class
@@ -44,12 +44,12 @@ Select _DataClass - data class skeleton_ and name it _DemoData_.
Remove the operations and add the following Attributes:
bc..
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
+DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+}
bq.
Save the model and visit the outline view.
@@ -61,15 +61,15 @@ With the help of _Content Assist_ create a _ProtocolClass_ and name it _PingPong
bc..
ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data:int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data:int32)
- }
- }
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data:int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data:int32)
+ }
+}
bq.
h2. Create MrPing and MrPong Actors
@@ -79,45 +79,45 @@ With the help of _Content Assist_ create two new actor classes and name them _Mr
bc..
RoomModel SendingData {
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl: SendingData_SubSystem
- }
-
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef: SendingDataTop
- }
-
- ActorClass SendingDataTop { }
-
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data: int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data: int32)
- }
- }
-
- ActorClass MrPing {
- Interface { }
- Structure { }
- Behavior { }
- }
-
- ActorClass MrPong {
- Interface { }
- Structure { }
- Behavior { }
- }
+ LogicalSystem SendingData_LogSystem {
+ SubSystemRef SendingDataAppl: SendingData_SubSystem
+ }
+
+ SubSystemClass SendingData_SubSystem {
+ ActorRef SendigDataTopRef: SendingDataTop
+ }
+
+ ActorClass SendingDataTop { }
+
+ DataClass DemoData {
+ Attribute int32Val: int32 = "4711"
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
+ Attribute float64Val: float64 = "0.0"
+ Attribute stringVal: string = "\"empty\""
+ }
+
+ ProtocolClass PingPongProtocol {
+ incoming {
+ Message ping(data: DemoData)
+ Message pingSimple(data: int32)
+ }
+ outgoing {
+ Message pong(data: DemoData)
+ Message pongSimple(data: int32)
+ }
+ }
+
+ ActorClass MrPing {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
+
+ ActorClass MrPong {
+ Interface { }
+ Structure { }
+ Behavior { }
+ }
}
bq.
@@ -162,13 +162,13 @@ Fill in the following code:
bc..
Operation printData(d: DemoData) : void {
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
- "System.out.printf(\"d.int8Array: \");"
- "for(int i = 0; i<d.int8Array.length; i++) {"
- "System.out.printf(\"%d \",d.int8Array[i]);}"
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
- }
+ "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
+ "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
+ "System.out.printf(\"d.int8Array: \");"
+ "for(int i = 0; i<d.int8Array.length; i++) {"
+ "System.out.printf(\"%d \",d.int8Array[i]);}"
+ "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
+}
bq.
For MrPing create the following state machine:
@@ -204,7 +204,7 @@ The model is finished now and can be found in /org.eclipse.etrice.tutorials/mode
h2. Generate and run the model
-Generate the code by right click to _gen_SendingData.launch_ and run it as _gen_SendingData_. Run the model.
+Generate the code by right click to *gen_SendingData.launch* and run it as *gen_SendingData*. Run the model.
The output should look like this:
bq..
diff --git a/plugins/org.eclipse.etrice.doc/doc/030-tutorial-ped-lights.textile b/plugins/org.eclipse.etrice.doc/doc/030-tutorial-ped-lights.textile
index 45c033a4a..644d9820d 100644
--- a/plugins/org.eclipse.etrice.doc/doc/030-tutorial-ped-lights.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/030-tutorial-ped-lights.textile
@@ -61,13 +61,13 @@ The tutorial shows that it is generally possible to use every port from outside
The only remaining question is: Why is it safe and does not violate the *run to completion* semantic. To answer this question, take a look at the _MessageService.java_ from the runtime environment. There you will find the receive method which puts each message into the queue.
bc..
- @Override
- public synchronized void receive(Message msg) {
- if (msg!=null) {
- messageQueue.push(msg);
- notifyAll(); // wake up thread to compute message
- }
- }
+ @Override
+ public synchronized void receive(Message msg) {
+ if (msg!=null) {
+ messageQueue.push(msg);
+ notifyAll(); // wake up thread to compute message
+ }
+ }
bq.
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.
diff --git a/plugins/org.eclipse.etrice.doc/doc/040-room-concepts.textile b/plugins/org.eclipse.etrice.doc/doc/040-room-concepts.textile
index a3dbfe4b5..f9b4e2bb2 100644
--- a/plugins/org.eclipse.etrice.doc/doc/040-room-concepts.textile
+++ b/plugins/org.eclipse.etrice.doc/doc/040-room-concepts.textile
@@ -105,33 +105,6 @@ The example defines a ProtocolClass with 2 incoming and two outgoing messages. M
h2. Ports
-here is a line
-
-<table border="1" cellpadding="3" cellspacing="0" width="60%">
- <tr>
- <th width="50%">Element</th>
- <th>Graphical Notation</th>
- <th>Textual Notation</th>
- </tr>
- <tr>
- <td width="50%">Berlin</td>
- <td>Hamburg</td>
- <td>M&uuml;nchen</td>
- </tr>
- <tr>
- <td>Milj&ouml;h</td>
- <td>Kiez</td>
- <td>Bierdampf</td>
- </tr>
- <tr>
- <td>Buletten</td>
- <td>Frikadellen</td>
- <td>Fleischpflanzerl</td>
- </tr>
-</table>
-
-end of table
-
h3. Description
Ports are the only interfaces of actors. A port has always a protocol assigned.
diff --git a/plugins/org.eclipse.etrice.doc/help/Addadataclass.html b/plugins/org.eclipse.etrice.doc/help/Addadataclass.html
index 28bc7e728..f56dbdb4a 100644
--- a/plugins/org.eclipse.etrice.doc/help/Addadataclass.html
+++ b/plugins/org.eclipse.etrice.doc/help/Addadataclass.html
@@ -38,12 +38,12 @@
</p>
<div class="literallayout">
<p>
-<code class="code"> DataClass&nbsp;DemoData&nbsp;{<br>
- Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
- Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
- Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
- }<br>
+<code class="code">DataClass&nbsp;DemoData&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
+}<br>
</code>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/Buildandrunthemodel.html b/plugins/org.eclipse.etrice.doc/help/Buildandrunthemodel.html
index 91c972e10..859c7c221 100644
--- a/plugins/org.eclipse.etrice.doc/help/Buildandrunthemodel.html
+++ b/plugins/org.eclipse.etrice.doc/help/Buildandrunthemodel.html
@@ -21,7 +21,8 @@
</div>
</div>
<p>Now the model is finished and source code can be generated. The project wizard has created a launch configuration that is responsible for generating the source code. From
- <span class="emphasis"><em>HelloWorld/</em></span> right click _gen_HelloWorld.launch_ and run it as gen_HelloWorld. All model files in the model directory will be generated.
+ <span class="emphasis"><em>HelloWorld/</em></span> right click
+ <span class="bold"><strong>gen_HelloWorld.launch</strong></span> and run it as gen_HelloWorld. All model files in the model directory will be generated.
</p>
<p>
@@ -31,7 +32,9 @@
<p>
</p>
-<p>The code will be generated to the src-gen directory. The main function will be contained in _SubSystem_HelloWorldRunner.java_. Select this file and run it as Java application.</p>
+<p>The code will be generated to the src-gen directory. The main function will be contained in
+ <span class="bold"><strong>SubSystem_HelloWorldRunner.java</strong></span>. Select this file and run it as Java application.
+ </p>
<p>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/CreateMrPingandMrPongActors.html b/plugins/org.eclipse.etrice.doc/help/CreateMrPingandMrPongActors.html
index ced718e61..2a6eac573 100644
--- a/plugins/org.eclipse.etrice.doc/help/CreateMrPingandMrPongActors.html
+++ b/plugins/org.eclipse.etrice.doc/help/CreateMrPingandMrPongActors.html
@@ -30,51 +30,51 @@
<code class="code">RoomModel&nbsp;SendingData&nbsp;{<br>
<br>
- LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
- SubSystemRef&nbsp;SendingDataAppl:&nbsp;SendingData_SubSystem<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;SendingDataAppl:&nbsp;SendingData_SubSystem<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
- ActorRef&nbsp;SendigDataTopRef:&nbsp;SendingDataTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;SendigDataTopRef:&nbsp;SendingDataTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;SendingDataTop&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;SendingDataTop&nbsp;{&nbsp;}<br>
<br>
- DataClass&nbsp;DemoData&nbsp;{<br>
- Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
- Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
- Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;DataClass&nbsp;DemoData&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
- incoming&nbsp;{<br>
- Message&nbsp;ping(data:&nbsp;DemoData)<br>
- Message&nbsp;pingSimple(data:&nbsp;int32)<br>
- }<br>
- outgoing&nbsp;{<br>
- Message&nbsp;pong(data:&nbsp;DemoData)<br>
- Message&nbsp;pongSimple(data:&nbsp;int32)<br>
- }<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;incoming&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;ping(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pingSimple(data:&nbsp;int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outgoing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pong(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pongSimple(data:&nbsp;int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;MrPing&nbsp;{<br>
- Interface&nbsp;{&nbsp;}<br>
- Structure&nbsp;{&nbsp;}<br>
- Behavior&nbsp;{&nbsp;}<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;MrPing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Structure&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behavior&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;MrPong&nbsp;{<br>
- Interface&nbsp;{&nbsp;}<br>
- Structure&nbsp;{&nbsp;}<br>
- Behavior&nbsp;{&nbsp;}<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;MrPong&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Structure&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behavior&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}&nbsp;<br>
<br>
diff --git a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch.html b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch.html
index a8f27e2e6..aa6c804e3 100644
--- a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch.html
+++ b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch.html
@@ -62,18 +62,18 @@
<code class="code">RoomModel&nbsp;HelloWorld&nbsp;{<br>
<br>
- LogicalSystem&nbsp;System_HelloWorld&nbsp;{<br>
- SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_HelloWorld<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_HelloWorld&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_HelloWorld<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SubSystem_HelloWorld&nbsp;{<br>
- ActorRef&nbsp;application&nbsp;:&nbsp;HelloWorldTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SubSystem_HelloWorld&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;application&nbsp;:&nbsp;HelloWorldTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;HelloWorldTop&nbsp;{<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;HelloWorldTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}&nbsp;<br>
</code>
diff --git a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch2.html b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch2.html
index c94bfc64c..3e0530263 100644
--- a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch2.html
+++ b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch2.html
@@ -41,18 +41,18 @@
<code class="code">RoomModel&nbsp;Blinky&nbsp;{<br>
<br>
- LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
- SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_Blinky<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_Blinky<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SubSystem_Blinky&nbsp;{<br>
- ActorRef&nbsp;application&nbsp;:&nbsp;BlinkyTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SubSystem_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;application&nbsp;:&nbsp;BlinkyTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;BlinkyTop&nbsp;{<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;BlinkyTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
</code>
diff --git a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch3.html b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch3.html
index b312f8a61..b2bb509fb 100644
--- a/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch3.html
+++ b/plugins/org.eclipse.etrice.doc/help/Createanewmodelfromscratch3.html
@@ -30,15 +30,15 @@
<div class="literallayout">
<p>
<code class="code">RoomModel&nbsp;SendingData&nbsp;{<br>
- LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
- SubSystemRef&nbsp;SendingDataAppl:SendingData_SubSystem&nbsp;<br>
- }<br>
- SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
- ActorRef&nbsp;SendigDataTopRef:SendingDataTop&nbsp;<br>
- }<br>
- ActorClass&nbsp;SendingDataTop&nbsp;{<br>
- }<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;SendingDataAppl:SendingData_SubSystem&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;SendigDataTopRef:SendingDataTop&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;SendingDataTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}<br>
</code>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/Createanewprotocol2.html b/plugins/org.eclipse.etrice.doc/help/Createanewprotocol2.html
index 13d2187a3..d4e35fd98 100644
--- a/plugins/org.eclipse.etrice.doc/help/Createanewprotocol2.html
+++ b/plugins/org.eclipse.etrice.doc/help/Createanewprotocol2.html
@@ -28,15 +28,15 @@
<div class="literallayout">
<p>
<code class="code">ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
- incoming&nbsp;{<br>
- Message&nbsp;ping(data:&nbsp;DemoData)<br>
- Message&nbsp;pingSimple(data:int32)<br>
- }<br>
- outgoing&nbsp;{<br>
- Message&nbsp;pong(data:&nbsp;DemoData)<br>
- Message&nbsp;pongSimple(data:int32)<br>
- }<br>
- } <br>
+&nbsp;&nbsp;&nbsp;&nbsp;incoming&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;ping(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pingSimple(data:int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;outgoing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pong(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pongSimple(data:int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}&nbsp;&nbsp;&nbsp;&nbsp;<br>
</code>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/DefineActorStructureandBehavior.html b/plugins/org.eclipse.etrice.doc/help/DefineActorStructureandBehavior.html
index f835bc2f9..0566e7257 100644
--- a/plugins/org.eclipse.etrice.doc/help/DefineActorStructureandBehavior.html
+++ b/plugins/org.eclipse.etrice.doc/help/DefineActorStructureandBehavior.html
@@ -109,13 +109,13 @@
<div class="literallayout">
<p>
<code class="code">Operation&nbsp;printData(d:&nbsp;DemoData)&nbsp;:&nbsp;void&nbsp;{<br>
- "System.out.printf(\"d.int32Val:&nbsp;%d\\n\",d.int32Val);"<br>
- "System.out.printf(\"d.float64Val:&nbsp;%f\\n\",d.float64Val);"<br>
- "System.out.printf(\"d.int8Array:&nbsp;\");"<br>
- "for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&lt;d.int8Array.length;&nbsp;i++)&nbsp;{"<br>
- "System.out.printf(\"%d&nbsp;\",d.int8Array[i]);}"<br>
- "System.out.printf(\"\\nd.stringVal:&nbsp;%s\\n\",d.stringVal);"<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.int32Val:&nbsp;%d\\n\",d.int32Val);"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.float64Val:&nbsp;%f\\n\",d.float64Val);"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.int8Array:&nbsp;\");"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&lt;d.int8Array.length;&nbsp;i++)&nbsp;{"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"%d&nbsp;\",d.int8Array[i]);}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"\\nd.stringVal:&nbsp;%s\\n\",d.stringVal);"<br>
+}<br>
</code>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/FiniteStateMachines.html b/plugins/org.eclipse.etrice.doc/help/FiniteStateMachines.html
index 3300f682f..a14554a4d 100644
--- a/plugins/org.eclipse.etrice.doc/help/FiniteStateMachines.html
+++ b/plugins/org.eclipse.etrice.doc/help/FiniteStateMachines.html
@@ -70,7 +70,7 @@
</div>
</div>
<p>The simpler flat finite state machines are composed of the following elements:</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10D3A">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10D0E">
<tr>
<td align="center">
@@ -184,7 +184,7 @@
</div>
<p>The hierarchical finite state machine adds the notion of a sub state machine nested in a state.
A few modeling elements are added to the set listed above:</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10DF9">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10DCD">
<tr>
<td align="center">
diff --git a/plugins/org.eclipse.etrice.doc/help/Generateandrunthemodel.html b/plugins/org.eclipse.etrice.doc/help/Generateandrunthemodel.html
index eb3000903..97250a0b7 100644
--- a/plugins/org.eclipse.etrice.doc/help/Generateandrunthemodel.html
+++ b/plugins/org.eclipse.etrice.doc/help/Generateandrunthemodel.html
@@ -20,8 +20,11 @@
</div>
</div>
</div>
-<p>Generate the code by right click to _gen_SendingData.launch_ and run it as _gen_SendingData_. Run the model.
- The output should look like this:</p>
+<p>Generate the code by right click to
+ <span class="bold"><strong>gen_SendingData.launch</strong></span> and run it as
+ <span class="bold"><strong>gen_SendingData</strong></span>. Run the model.
+ The output should look like this:
+ </p>
<div class="blockquote">
<blockquote class="blockquote">
<p>
diff --git a/plugins/org.eclipse.etrice.doc/help/ImporttheTimingService.html b/plugins/org.eclipse.etrice.doc/help/ImporttheTimingService.html
index 397243326..0cddff80e 100644
--- a/plugins/org.eclipse.etrice.doc/help/ImporttheTimingService.html
+++ b/plugins/org.eclipse.etrice.doc/help/ImporttheTimingService.html
@@ -38,15 +38,14 @@
<div class="literallayout">
<p>
<code class="code">RoomModel&nbsp;Blinky&nbsp;{<br>
-
-<br>
- import&nbsp;room.basic.service.timing.*&nbsp;from&nbsp;"../../org.eclipse.etrice.modellib/models/TimingService.room"&nbsp;<br>
-
-<br>
- LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
- SubSystemRef&nbsp;subsystem:&nbsp;SubSystem_Blinky<br>
- }<br>
-... &nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;room.basic.service.timing.*&nbsp;from&nbsp;"../../org.eclipse.etrice.modellib/models/TimingService.room"&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem:&nbsp;SubSystem_Blinky<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}<br>
+...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</code>
</p>
@@ -57,10 +56,12 @@
</blockquote>
</div>
<p>Make sure that the path fits to your folder structure. </p>
-<p>Now it can be used within the model. Right click to _SubSystem_Blinky_ within the outline view. Select
+<p>Now it can be used within the model. Right click to
+ <span class="bold"><strong>SubSystem_Blinky</strong></span> within the outline view. Select
<span class="emphasis"><em>Edit Structure</em></span>. The
<span class="emphasis"><em>application</em></span> is already referenced in the subsystem. Drag and Drop an
- <span class="emphasis"><em>ActorRef</em></span> to the _SubSystem_Blinky_ and name it
+ <span class="emphasis"><em>ActorRef</em></span> to the
+ <span class="bold"><strong>SubSystem_Blinky</strong></span> and name it
<span class="emphasis"><em>timingService</em></span>. From the actor class drop down list select
<span class="emphasis"><em>room.basic.service.timing.ATimingService</em></span>. Draw a
<span class="emphasis"><em>LayerConnection</em></span> from
diff --git a/plugins/org.eclipse.etrice.doc/help/Layering2.html b/plugins/org.eclipse.etrice.doc/help/Layering2.html
index 9494b16bd..0ad7afec5 100644
--- a/plugins/org.eclipse.etrice.doc/help/Layering2.html
+++ b/plugins/org.eclipse.etrice.doc/help/Layering2.html
@@ -53,7 +53,7 @@
</div>
</div>
</div>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10C8A">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10C5E">
<tr>
<td align="center">
diff --git a/plugins/org.eclipse.etrice.doc/help/Ports.html b/plugins/org.eclipse.etrice.doc/help/Ports.html
index 158dbc845..97627092f 100644
--- a/plugins/org.eclipse.etrice.doc/help/Ports.html
+++ b/plugins/org.eclipse.etrice.doc/help/Ports.html
@@ -20,38 +20,6 @@
</div>
</div>
</div>
-<p>here is a line</p>
-<table border="1" cellpadding="3" cellspacing="0" width="60%" id="N109F4">
-<tr>
-
-<th width="50%">Element</th>
- <th>Graphical Notation</th>
- <th>Textual Notation</th>
-
-</tr>
-<tr>
-
-<td width="50%">Berlin</td>
- <td>Hamburg</td>
- <td>M&amp;uuml;nchen</td>
-
-</tr>
-<tr>
-
-<td>Milj&amp;ouml;h</td>
- <td>Kiez</td>
- <td>Bierdampf</td>
-
-</tr>
-<tr>
-
-<td>Buletten</td>
- <td>Frikadellen</td>
- <td>Fleischpflanzerl</td>
-
-</tr>
-</table>
-<p>end of table</p>
<div class="section" title="Description">
<div class="titlepage">
<div>
@@ -143,7 +111,7 @@
</li>
</ul>
</div>
-<table title="Class Port Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10A8F">
+<table title="Class Port Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10A63">
<tr>
<td align="center">
@@ -341,7 +309,7 @@
</div>
</div>
<p>These symbols can only appear on the border of an ActorReference symbol. Since the type of port is defined in the ActorClass, no textual notation for the Reference Ports exists.</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10BC7">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10B9B">
<tr>
<td align="center">
diff --git a/plugins/org.eclipse.etrice.doc/help/ROOMConcepts.html b/plugins/org.eclipse.etrice.doc/help/ROOMConcepts.html
index 78890517c..2842b32bc 100644
--- a/plugins/org.eclipse.etrice.doc/help/ROOMConcepts.html
+++ b/plugins/org.eclipse.etrice.doc/help/ROOMConcepts.html
@@ -102,7 +102,7 @@
</div>
</div>
</div>
-<table title="Actor Class Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N108B3">
+<table title="Actor Class Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N108D7">
<tr>
<td align="center">
@@ -185,7 +185,7 @@
<span class="bold"><strong>Bindings</strong></span> connect Ports inside an ActorClass.
</p>
<p>Example:</p>
-<table title="Actor Class Example" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10938">
+<table title="Actor Class Example" frame="box" border="2" cellpadding="3" cellspacing="0" id="N1095C">
<tr>
<td align="center">
diff --git a/plugins/org.eclipse.etrice.doc/help/ReductionofComplexity.html b/plugins/org.eclipse.etrice.doc/help/ReductionofComplexity.html
index 2a277fe8a..4fa3bbbff 100644
--- a/plugins/org.eclipse.etrice.doc/help/ReductionofComplexity.html
+++ b/plugins/org.eclipse.etrice.doc/help/ReductionofComplexity.html
@@ -28,7 +28,7 @@
<div class="itemizedlist">
<ul class="itemizedlist" type="circle">
<li class="listitem">
-<p>by explicit modeling of hierarchical Actor containment and layering</p>
+<p>by explicit modeling of hierarchical Actor containment, layering and inheritance</p>
</li>
</ul>
</div>
@@ -38,7 +38,7 @@
<div class="itemizedlist">
<ul class="itemizedlist" type="circle">
<li class="listitem">
-<p>by hierachical statemachines</p>
+<p>by hierachical statemachines with inheritance</p>
</li>
</ul>
</div>
diff --git a/plugins/org.eclipse.etrice.doc/help/SettinguptheWorkspace.html b/plugins/org.eclipse.etrice.doc/help/SettinguptheWorkspace.html
index cb1f907bf..041a27bf2 100644
--- a/plugins/org.eclipse.etrice.doc/help/SettinguptheWorkspace.html
+++ b/plugins/org.eclipse.etrice.doc/help/SettinguptheWorkspace.html
@@ -89,7 +89,9 @@
</p>
<p>Now workspace is set up and you can perform the tutorials or start with your work.</p>
<p>The tutorial models are available in the
- <span class="emphasis"><em>org.eclipse.etrice.tutorials</em></span> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run _gen_org.eclipse.etrice.tutorials.launch_ as _gen_org.eclipse.etrice.tutorials.launch_:
+ <span class="emphasis"><em>org.eclipse.etrice.tutorials</em></span> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run
+ <span class="bold"><strong>gen_org.eclipse.etrice.tutorials.launch</strong></span> as
+ <span class="bold"><strong>gen_org.eclipse.etrice.tutorials.launch</strong></span>:
</p>
<p>
@@ -99,7 +101,9 @@
<p>
</p>
-<p>After generation for each tutorial a java file called _SubSystem_ModelnameRunner.java_ is generated. To run the model simply run this file as a java application:</p>
+<p>After generation for each tutorial a java file called
+ <span class="bold"><strong>SubSystem_ModelnameRunner.java</strong></span> is generated. To run the model simply run this file as a java application:
+ </p>
<p>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/help/Whydoesitworkandwhyisitsafe.html b/plugins/org.eclipse.etrice.doc/help/Whydoesitworkandwhyisitsafe.html
index 221fbfdaf..f5d2dc569 100644
--- a/plugins/org.eclipse.etrice.doc/help/Whydoesitworkandwhyisitsafe.html
+++ b/plugins/org.eclipse.etrice.doc/help/Whydoesitworkandwhyisitsafe.html
@@ -27,13 +27,13 @@
</p>
<div class="literallayout">
<p>
-<code class="code"> @Override<br>
- public&nbsp;synchronized&nbsp;void&nbsp;receive(Message&nbsp;msg)&nbsp;{<br>
- if&nbsp;(msg!=null)&nbsp;{<br>
- messageQueue.push(msg);<br>
- notifyAll();&nbsp;//&nbsp;wake&nbsp;up&nbsp;thread&nbsp;to&nbsp;compute&nbsp;message<br>
- }<br>
- }<br>
+<code class="code">&nbsp;&nbsp;&nbsp;&nbsp;@Override<br>
+&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;synchronized&nbsp;void&nbsp;receive(Message&nbsp;msg)&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(msg!=null)&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messageQueue.push(msg);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyAll();&nbsp;//&nbsp;wake&nbsp;up&nbsp;thread&nbsp;to&nbsp;compute&nbsp;message<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
</code>
</p>
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice.html b/plugins/org.eclipse.etrice.doc/html/etrice.html
index 5248dfdca..c387e8b2e 100644
--- a/plugins/org.eclipse.etrice.doc/html/etrice.html
+++ b/plugins/org.eclipse.etrice.doc/html/etrice.html
@@ -225,7 +225,7 @@
<div class="itemizedlist">
<ul class="itemizedlist" type="circle">
<li class="listitem">
-<p>by explicit modeling of hierarchical Actor containment and layering</p>
+<p>by explicit modeling of hierarchical Actor containment, layering and inheritance</p>
</li>
</ul>
</div>
@@ -235,7 +235,7 @@
<div class="itemizedlist">
<ul class="itemizedlist" type="circle">
<li class="listitem">
-<p>by hierachical statemachines</p>
+<p>by hierachical statemachines with inheritance</p>
</li>
</ul>
</div>
@@ -847,7 +847,9 @@
</p>
<p>Now workspace is set up and you can perform the tutorials or start with your work.</p>
<p>The tutorial models are available in the
- <span class="emphasis"><em>org.eclipse.etrice.tutorials</em></span> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run _gen_org.eclipse.etrice.tutorials.launch_ as _gen_org.eclipse.etrice.tutorials.launch_:
+ <span class="emphasis"><em>org.eclipse.etrice.tutorials</em></span> project. All tutorials are ready to generate and run without any changes. To start the code generator simply run
+ <span class="bold"><strong>gen_org.eclipse.etrice.tutorials.launch</strong></span> as
+ <span class="bold"><strong>gen_org.eclipse.etrice.tutorials.launch</strong></span>:
</p>
<p>
@@ -857,7 +859,9 @@
<p>
</p>
-<p>After generation for each tutorial a java file called _SubSystem_ModelnameRunner.java_ is generated. To run the model simply run this file as a java application:</p>
+<p>After generation for each tutorial a java file called
+ <span class="bold"><strong>SubSystem_ModelnameRunner.java</strong></span> is generated. To run the model simply run this file as a java application:
+ </p>
<p>
</p>
@@ -977,18 +981,18 @@
<code class="code">RoomModel&nbsp;HelloWorld&nbsp;{<br>
<br>
- LogicalSystem&nbsp;System_HelloWorld&nbsp;{<br>
- SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_HelloWorld<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_HelloWorld&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_HelloWorld<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SubSystem_HelloWorld&nbsp;{<br>
- ActorRef&nbsp;application&nbsp;:&nbsp;HelloWorldTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SubSystem_HelloWorld&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;application&nbsp;:&nbsp;HelloWorldTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;HelloWorldTop&nbsp;{<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;HelloWorldTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}&nbsp;<br>
</code>
@@ -1104,7 +1108,8 @@
</div>
</div>
<p>Now the model is finished and source code can be generated. The project wizard has created a launch configuration that is responsible for generating the source code. From
- <span class="emphasis"><em>HelloWorld/</em></span> right click _gen_HelloWorld.launch_ and run it as gen_HelloWorld. All model files in the model directory will be generated.
+ <span class="emphasis"><em>HelloWorld/</em></span> right click
+ <span class="bold"><strong>gen_HelloWorld.launch</strong></span> and run it as gen_HelloWorld. All model files in the model directory will be generated.
</p>
<p>
@@ -1114,7 +1119,9 @@
<p>
</p>
-<p>The code will be generated to the src-gen directory. The main function will be contained in _SubSystem_HelloWorldRunner.java_. Select this file and run it as Java application.</p>
+<p>The code will be generated to the src-gen directory. The main function will be contained in
+ <span class="bold"><strong>SubSystem_HelloWorldRunner.java</strong></span>. Select this file and run it as Java application.
+ </p>
<p>
</p>
@@ -1264,18 +1271,18 @@
<code class="code">RoomModel&nbsp;Blinky&nbsp;{<br>
<br>
- LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
- SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_Blinky<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem&nbsp;:&nbsp;SubSystem_Blinky<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SubSystem_Blinky&nbsp;{<br>
- ActorRef&nbsp;application&nbsp;:&nbsp;BlinkyTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SubSystem_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;application&nbsp;:&nbsp;BlinkyTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;BlinkyTop&nbsp;{<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;BlinkyTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
</code>
@@ -1384,15 +1391,14 @@
<div class="literallayout">
<p>
<code class="code">RoomModel&nbsp;Blinky&nbsp;{<br>
-
-<br>
- import&nbsp;room.basic.service.timing.*&nbsp;from&nbsp;"../../org.eclipse.etrice.modellib/models/TimingService.room"&nbsp;<br>
-
-<br>
- LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
- SubSystemRef&nbsp;subsystem:&nbsp;SubSystem_Blinky<br>
- }<br>
-... &nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;room.basic.service.timing.*&nbsp;from&nbsp;"../../org.eclipse.etrice.modellib/models/TimingService.room"&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;System_Blinky&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;subsystem:&nbsp;SubSystem_Blinky<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}<br>
+...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</code>
</p>
@@ -1403,10 +1409,12 @@
</blockquote>
</div>
<p>Make sure that the path fits to your folder structure. </p>
-<p>Now it can be used within the model. Right click to _SubSystem_Blinky_ within the outline view. Select
+<p>Now it can be used within the model. Right click to
+ <span class="bold"><strong>SubSystem_Blinky</strong></span> within the outline view. Select
<span class="emphasis"><em>Edit Structure</em></span>. The
<span class="emphasis"><em>application</em></span> is already referenced in the subsystem. Drag and Drop an
- <span class="emphasis"><em>ActorRef</em></span> to the _SubSystem_Blinky_ and name it
+ <span class="emphasis"><em>ActorRef</em></span> to the
+ <span class="bold"><strong>SubSystem_Blinky</strong></span> and name it
<span class="emphasis"><em>timingService</em></span>. From the actor class drop down list select
<span class="emphasis"><em>room.basic.service.timing.ATimingService</em></span>. Draw a
<span class="emphasis"><em>LayerConnection</em></span> from
@@ -1813,15 +1821,15 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
<div class="literallayout">
<p>
<code class="code">RoomModel&nbsp;SendingData&nbsp;{<br>
- LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
- SubSystemRef&nbsp;SendingDataAppl:SendingData_SubSystem&nbsp;<br>
- }<br>
- SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
- ActorRef&nbsp;SendigDataTopRef:SendingDataTop&nbsp;<br>
- }<br>
- ActorClass&nbsp;SendingDataTop&nbsp;{<br>
- }<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;SendingDataAppl:SendingData_SubSystem&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;SendigDataTopRef:SendingDataTop&nbsp;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;SendingDataTop&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}<br>
</code>
</p>
@@ -1859,12 +1867,12 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</p>
<div class="literallayout">
<p>
-<code class="code"> DataClass&nbsp;DemoData&nbsp;{<br>
- Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
- Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
- Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
- }<br>
+<code class="code">DataClass&nbsp;DemoData&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
+}<br>
</code>
</p>
@@ -1894,15 +1902,15 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
<div class="literallayout">
<p>
<code class="code">ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
- incoming&nbsp;{<br>
- Message&nbsp;ping(data:&nbsp;DemoData)<br>
- Message&nbsp;pingSimple(data:int32)<br>
- }<br>
- outgoing&nbsp;{<br>
- Message&nbsp;pong(data:&nbsp;DemoData)<br>
- Message&nbsp;pongSimple(data:int32)<br>
- }<br>
- } <br>
+&nbsp;&nbsp;&nbsp;&nbsp;incoming&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;ping(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pingSimple(data:int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;outgoing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pong(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pongSimple(data:int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+}&nbsp;&nbsp;&nbsp;&nbsp;<br>
</code>
</p>
@@ -1932,51 +1940,51 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
<code class="code">RoomModel&nbsp;SendingData&nbsp;{<br>
<br>
- LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
- SubSystemRef&nbsp;SendingDataAppl:&nbsp;SendingData_SubSystem<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;LogicalSystem&nbsp;SendingData_LogSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SubSystemRef&nbsp;SendingDataAppl:&nbsp;SendingData_SubSystem<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
- ActorRef&nbsp;SendigDataTopRef:&nbsp;SendingDataTop<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;SubSystemClass&nbsp;SendingData_SubSystem&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActorRef&nbsp;SendigDataTopRef:&nbsp;SendingDataTop<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;SendingDataTop&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;SendingDataTop&nbsp;{&nbsp;}<br>
<br>
- DataClass&nbsp;DemoData&nbsp;{<br>
- Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
- Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
- Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;DataClass&nbsp;DemoData&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int32Val:&nbsp;int32&nbsp;=&nbsp;"4711"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;int8Array&nbsp;[&nbsp;10&nbsp;]:&nbsp;int8&nbsp;=&nbsp;"{1,2,3,4,5,6,7,8,9,10}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;float64Val:&nbsp;float64&nbsp;=&nbsp;"0.0"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute&nbsp;stringVal:&nbsp;string&nbsp;=&nbsp;"\"empty\""<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
- incoming&nbsp;{<br>
- Message&nbsp;ping(data:&nbsp;DemoData)<br>
- Message&nbsp;pingSimple(data:&nbsp;int32)<br>
- }<br>
- outgoing&nbsp;{<br>
- Message&nbsp;pong(data:&nbsp;DemoData)<br>
- Message&nbsp;pongSimple(data:&nbsp;int32)<br>
- }<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ProtocolClass&nbsp;PingPongProtocol&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;incoming&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;ping(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pingSimple(data:&nbsp;int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outgoing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pong(data:&nbsp;DemoData)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;pongSimple(data:&nbsp;int32)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;MrPing&nbsp;{<br>
- Interface&nbsp;{&nbsp;}<br>
- Structure&nbsp;{&nbsp;}<br>
- Behavior&nbsp;{&nbsp;}<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;MrPing&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Structure&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behavior&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
- ActorClass&nbsp;MrPong&nbsp;{<br>
- Interface&nbsp;{&nbsp;}<br>
- Structure&nbsp;{&nbsp;}<br>
- Behavior&nbsp;{&nbsp;}<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;ActorClass&nbsp;MrPong&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Structure&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Behavior&nbsp;{&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}&nbsp;<br>
<br>
@@ -2097,13 +2105,13 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
<div class="literallayout">
<p>
<code class="code">Operation&nbsp;printData(d:&nbsp;DemoData)&nbsp;:&nbsp;void&nbsp;{<br>
- "System.out.printf(\"d.int32Val:&nbsp;%d\\n\",d.int32Val);"<br>
- "System.out.printf(\"d.float64Val:&nbsp;%f\\n\",d.float64Val);"<br>
- "System.out.printf(\"d.int8Array:&nbsp;\");"<br>
- "for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&lt;d.int8Array.length;&nbsp;i++)&nbsp;{"<br>
- "System.out.printf(\"%d&nbsp;\",d.int8Array[i]);}"<br>
- "System.out.printf(\"\\nd.stringVal:&nbsp;%s\\n\",d.stringVal);"<br>
- }<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.int32Val:&nbsp;%d\\n\",d.int32Val);"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.float64Val:&nbsp;%f\\n\",d.float64Val);"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"d.int8Array:&nbsp;\");"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&lt;d.int8Array.length;&nbsp;i++)&nbsp;{"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"%d&nbsp;\",d.int8Array[i]);}"<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"System.out.printf(\"\\nd.stringVal:&nbsp;%s\\n\",d.stringVal);"<br>
+}<br>
</code>
</p>
@@ -2199,8 +2207,11 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
</div>
-<p>Generate the code by right click to _gen_SendingData.launch_ and run it as _gen_SendingData_. Run the model.
- The output should look like this:</p>
+<p>Generate the code by right click to
+ <span class="bold"><strong>gen_SendingData.launch</strong></span> and run it as
+ <span class="bold"><strong>gen_SendingData</strong></span>. Run the model.
+ The output should look like this:
+ </p>
<div class="blockquote">
<blockquote class="blockquote">
<p>
@@ -2508,13 +2519,13 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</p>
<div class="literallayout">
<p>
-<code class="code"> @Override<br>
- public&nbsp;synchronized&nbsp;void&nbsp;receive(Message&nbsp;msg)&nbsp;{<br>
- if&nbsp;(msg!=null)&nbsp;{<br>
- messageQueue.push(msg);<br>
- notifyAll();&nbsp;//&nbsp;wake&nbsp;up&nbsp;thread&nbsp;to&nbsp;compute&nbsp;message<br>
- }<br>
- }<br>
+<code class="code">&nbsp;&nbsp;&nbsp;&nbsp;@Override<br>
+&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;synchronized&nbsp;void&nbsp;receive(Message&nbsp;msg)&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(msg!=null)&nbsp;{<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messageQueue.push(msg);<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;notifyAll();&nbsp;//&nbsp;wake&nbsp;up&nbsp;thread&nbsp;to&nbsp;compute&nbsp;message<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
+&nbsp;&nbsp;&nbsp;&nbsp;}<br>
</code>
</p>
@@ -2596,7 +2607,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
</div>
-<table title="Actor Class Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N108B3">
+<table title="Actor Class Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N108D7">
<tr>
<td align="center">
@@ -2679,7 +2690,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
<span class="bold"><strong>Bindings</strong></span> connect Ports inside an ActorClass.
</p>
<p>Example:</p>
-<table title="Actor Class Example" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10938">
+<table title="Actor Class Example" frame="box" border="2" cellpadding="3" cellspacing="0" id="N1095C">
<tr>
<td align="center">
@@ -2870,38 +2881,6 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
</div>
-<p>here is a line</p>
-<table border="1" cellpadding="3" cellspacing="0" width="60%" id="N109F4">
-<tr>
-
-<th width="50%">Element</th>
- <th>Graphical Notation</th>
- <th>Textual Notation</th>
-
-</tr>
-<tr>
-
-<td width="50%">Berlin</td>
- <td>Hamburg</td>
- <td>M&amp;uuml;nchen</td>
-
-</tr>
-<tr>
-
-<td>Milj&amp;ouml;h</td>
- <td>Kiez</td>
- <td>Bierdampf</td>
-
-</tr>
-<tr>
-
-<td>Buletten</td>
- <td>Frikadellen</td>
- <td>Fleischpflanzerl</td>
-
-</tr>
-</table>
-<p>end of table</p>
<div class="section" title="Description">
<div class="titlepage">
<div>
@@ -2993,7 +2972,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</li>
</ul>
</div>
-<table title="Class Port Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10A8F">
+<table title="Class Port Notation" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10A63">
<tr>
<td align="center">
@@ -3191,7 +3170,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
<p>These symbols can only appear on the border of an ActorReference symbol. Since the type of port is defined in the ActorClass, no textual notation for the Reference Ports exists.</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10BC7">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10B9B">
<tr>
<td align="center">
@@ -3348,7 +3327,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
</div>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10C8A">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10C5E">
<tr>
<td align="center">
@@ -3479,7 +3458,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
</div>
<p>The simpler flat finite state machines are composed of the following elements:</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10D3A">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10D0E">
<tr>
<td align="center">
@@ -3593,7 +3572,7 @@ carLights.setState(TrafficLight3.OFF);&nbsp;<br>
</div>
<p>The hierarchical finite state machine adds the notion of a sub state machine nested in a state.
A few modeling elements are added to the set listed above:</p>
-<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10DF9">
+<table title="Title" frame="box" border="2" cellpadding="3" cellspacing="0" id="N10DCD">
<tr>
<td align="center">
diff --git a/plugins/org.eclipse.etrice.doc/manual/etrice.pdf b/plugins/org.eclipse.etrice.doc/manual/etrice.pdf
index 26eede3ff..ad1f1bb4b 100644
--- a/plugins/org.eclipse.etrice.doc/manual/etrice.pdf
+++ b/plugins/org.eclipse.etrice.doc/manual/etrice.pdf
Binary files differ

Back to the top