diff options
author | Thomas Schuetz | 2011-12-09 12:07:14 +0000 |
---|---|---|
committer | Thomas Schuetz | 2011-12-09 12:07:14 +0000 |
commit | 147f70f29c29b6552bad6901597e306d5e619778 (patch) | |
tree | 11478d349d9fb82272c1d5d92aa0eca6583f1387 | |
parent | 192de25118e42f30f2c51eba92cea1bc793e6959 (diff) | |
download | org.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
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ünchen</td>
- </tr>
- <tr>
- <td>Miljö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<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);" +} </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 ‚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&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></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ünchen</td>
- </tr>
- <tr>
- <td>Miljö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 DemoData {<br>
- Attribute int32Val: int32 = "4711"<br>
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute float64Val: float64 = "0.0"<br>
- Attribute stringVal: string = "\"empty\""<br>
- }<br>
+<code class="code">DataClass DemoData {<br>
+ Attribute int32Val: int32 = "4711"<br>
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
+ Attribute float64Val: float64 = "0.0"<br>
+ Attribute stringVal: string = "\"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 SendingData {<br>
<br>
- LogicalSystem SendingData_LogSystem {<br>
- SubSystemRef SendingDataAppl: SendingData_SubSystem<br>
- }<br>
+ LogicalSystem SendingData_LogSystem {<br>
+ SubSystemRef SendingDataAppl: SendingData_SubSystem<br>
+ }<br>
<br>
- SubSystemClass SendingData_SubSystem {<br>
- ActorRef SendigDataTopRef: SendingDataTop<br>
- }<br>
+ SubSystemClass SendingData_SubSystem {<br>
+ ActorRef SendigDataTopRef: SendingDataTop<br>
+ }<br>
<br>
- ActorClass SendingDataTop { }<br>
+ ActorClass SendingDataTop { }<br>
<br>
- DataClass DemoData {<br>
- Attribute int32Val: int32 = "4711"<br>
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute float64Val: float64 = "0.0"<br>
- Attribute stringVal: string = "\"empty\""<br>
- }<br>
+ DataClass DemoData {<br>
+ Attribute int32Val: int32 = "4711"<br>
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
+ Attribute float64Val: float64 = "0.0"<br>
+ Attribute stringVal: string = "\"empty\""<br>
+ }<br>
<br>
- ProtocolClass PingPongProtocol {<br>
- incoming {<br>
- Message ping(data: DemoData)<br>
- Message pingSimple(data: int32)<br>
- }<br>
- outgoing {<br>
- Message pong(data: DemoData)<br>
- Message pongSimple(data: int32)<br>
- }<br>
- }<br>
+ ProtocolClass PingPongProtocol {<br>
+ incoming {<br>
+ Message ping(data: DemoData)<br>
+ Message pingSimple(data: int32)<br>
+ }<br>
+ outgoing {<br>
+ Message pong(data: DemoData)<br>
+ Message pongSimple(data: int32)<br>
+ }<br>
+ }<br>
<br>
- ActorClass MrPing {<br>
- Interface { }<br>
- Structure { }<br>
- Behavior { }<br>
- }<br>
+ ActorClass MrPing {<br>
+ Interface { }<br>
+ Structure { }<br>
+ Behavior { }<br>
+ }<br>
<br>
- ActorClass MrPong {<br>
- Interface { }<br>
- Structure { }<br>
- Behavior { }<br>
- }<br>
+ ActorClass MrPong {<br>
+ Interface { }<br>
+ Structure { }<br>
+ Behavior { }<br>
+ }<br>
} <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 HelloWorld {<br>
<br>
- LogicalSystem System_HelloWorld {<br>
- SubSystemRef subsystem : SubSystem_HelloWorld<br>
- }<br>
+ LogicalSystem System_HelloWorld {<br>
+ SubSystemRef subsystem : SubSystem_HelloWorld<br>
+ }<br>
<br>
- SubSystemClass SubSystem_HelloWorld {<br>
- ActorRef application : HelloWorldTop<br>
- }<br>
+ SubSystemClass SubSystem_HelloWorld {<br>
+ ActorRef application : HelloWorldTop<br>
+ }<br>
<br>
- ActorClass HelloWorldTop {<br>
- }<br>
+ ActorClass HelloWorldTop {<br>
+ }<br>
} <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 Blinky {<br>
<br>
- LogicalSystem System_Blinky {<br>
- SubSystemRef subsystem : SubSystem_Blinky<br>
- }<br>
+ LogicalSystem System_Blinky {<br>
+ SubSystemRef subsystem : SubSystem_Blinky<br>
+ }<br>
<br>
- SubSystemClass SubSystem_Blinky {<br>
- ActorRef application : BlinkyTop<br>
- }<br>
+ SubSystemClass SubSystem_Blinky {<br>
+ ActorRef application : BlinkyTop<br>
+ }<br>
<br>
- ActorClass BlinkyTop {<br>
- }<br>
+ ActorClass BlinkyTop {<br>
+ }<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 SendingData {<br>
- LogicalSystem SendingData_LogSystem {<br>
- SubSystemRef SendingDataAppl:SendingData_SubSystem <br>
- }<br>
- SubSystemClass SendingData_SubSystem {<br>
- ActorRef SendigDataTopRef:SendingDataTop <br>
- }<br>
- ActorClass SendingDataTop {<br>
- }<br>
- }<br>
+ LogicalSystem SendingData_LogSystem {<br>
+ SubSystemRef SendingDataAppl:SendingData_SubSystem <br>
+ }<br>
+ SubSystemClass SendingData_SubSystem {<br>
+ ActorRef SendigDataTopRef:SendingDataTop <br>
+ }<br>
+ ActorClass SendingDataTop {<br>
+ }<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 PingPongProtocol {<br>
- incoming {<br>
- Message ping(data: DemoData)<br>
- Message pingSimple(data:int32)<br>
- }<br>
- outgoing {<br>
- Message pong(data: DemoData)<br>
- Message pongSimple(data:int32)<br>
- }<br>
- } <br>
+ incoming {<br>
+ Message ping(data: DemoData)<br>
+ Message pingSimple(data:int32)<br>
+ }<br>
+ outgoing {<br>
+ Message pong(data: DemoData)<br>
+ Message pongSimple(data:int32)<br>
+ }<br>
+} <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 printData(d: DemoData) : void {<br>
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"<br>
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"<br>
- "System.out.printf(\"d.int8Array: \");"<br>
- "for(int i = 0; i<d.int8Array.length; i++) {"<br>
- "System.out.printf(\"%d \",d.int8Array[i]);}"<br>
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"<br>
- }<br>
+ "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"<br>
+ "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"<br>
+ "System.out.printf(\"d.int8Array: \");"<br>
+ "for(int i = 0; i<d.int8Array.length; i++) {"<br>
+ "System.out.printf(\"%d \",d.int8Array[i]);}"<br>
+ "System.out.printf(\"\\nd.stringVal: %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 Blinky {<br>
-
-<br>
- import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room" <br>
-
-<br>
- LogicalSystem System_Blinky {<br>
- SubSystemRef subsystem: SubSystem_Blinky<br>
- }<br>
-... <br>
+ <br>
+ import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room" <br>
+ <br>
+ LogicalSystem System_Blinky {<br>
+ SubSystemRef subsystem: SubSystem_Blinky<br>
+ }<br>
+}<br>
+... <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&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>
-<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 synchronized void receive(Message msg) {<br>
- if (msg!=null) {<br>
- messageQueue.push(msg);<br>
- notifyAll(); // wake up thread to compute message<br>
- }<br>
- }<br>
+<code class="code"> @Override<br>
+ public synchronized void receive(Message msg) {<br>
+ if (msg!=null) {<br>
+ messageQueue.push(msg);<br>
+ notifyAll(); // wake up thread to compute message<br>
+ }<br>
+ }<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 HelloWorld {<br>
<br>
- LogicalSystem System_HelloWorld {<br>
- SubSystemRef subsystem : SubSystem_HelloWorld<br>
- }<br>
+ LogicalSystem System_HelloWorld {<br>
+ SubSystemRef subsystem : SubSystem_HelloWorld<br>
+ }<br>
<br>
- SubSystemClass SubSystem_HelloWorld {<br>
- ActorRef application : HelloWorldTop<br>
- }<br>
+ SubSystemClass SubSystem_HelloWorld {<br>
+ ActorRef application : HelloWorldTop<br>
+ }<br>
<br>
- ActorClass HelloWorldTop {<br>
- }<br>
+ ActorClass HelloWorldTop {<br>
+ }<br>
} <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 Blinky {<br>
<br>
- LogicalSystem System_Blinky {<br>
- SubSystemRef subsystem : SubSystem_Blinky<br>
- }<br>
+ LogicalSystem System_Blinky {<br>
+ SubSystemRef subsystem : SubSystem_Blinky<br>
+ }<br>
<br>
- SubSystemClass SubSystem_Blinky {<br>
- ActorRef application : BlinkyTop<br>
- }<br>
+ SubSystemClass SubSystem_Blinky {<br>
+ ActorRef application : BlinkyTop<br>
+ }<br>
<br>
- ActorClass BlinkyTop {<br>
- }<br>
+ ActorClass BlinkyTop {<br>
+ }<br>
}<br>
</code>
@@ -1384,15 +1391,14 @@ <div class="literallayout">
<p>
<code class="code">RoomModel Blinky {<br>
-
-<br>
- import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room" <br>
-
-<br>
- LogicalSystem System_Blinky {<br>
- SubSystemRef subsystem: SubSystem_Blinky<br>
- }<br>
-... <br>
+ <br>
+ import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib/models/TimingService.room" <br>
+ <br>
+ LogicalSystem System_Blinky {<br>
+ SubSystemRef subsystem: SubSystem_Blinky<br>
+ }<br>
+}<br>
+... <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); <br> <div class="literallayout">
<p>
<code class="code">RoomModel SendingData {<br>
- LogicalSystem SendingData_LogSystem {<br>
- SubSystemRef SendingDataAppl:SendingData_SubSystem <br>
- }<br>
- SubSystemClass SendingData_SubSystem {<br>
- ActorRef SendigDataTopRef:SendingDataTop <br>
- }<br>
- ActorClass SendingDataTop {<br>
- }<br>
- }<br>
+ LogicalSystem SendingData_LogSystem {<br>
+ SubSystemRef SendingDataAppl:SendingData_SubSystem <br>
+ }<br>
+ SubSystemClass SendingData_SubSystem {<br>
+ ActorRef SendigDataTopRef:SendingDataTop <br>
+ }<br>
+ ActorClass SendingDataTop {<br>
+ }<br>
+}<br>
</code>
</p>
@@ -1859,12 +1867,12 @@ carLights.setState(TrafficLight3.OFF); <br> </p>
<div class="literallayout">
<p>
-<code class="code"> DataClass DemoData {<br>
- Attribute int32Val: int32 = "4711"<br>
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute float64Val: float64 = "0.0"<br>
- Attribute stringVal: string = "\"empty\""<br>
- }<br>
+<code class="code">DataClass DemoData {<br>
+ Attribute int32Val: int32 = "4711"<br>
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
+ Attribute float64Val: float64 = "0.0"<br>
+ Attribute stringVal: string = "\"empty\""<br>
+}<br>
</code>
</p>
@@ -1894,15 +1902,15 @@ carLights.setState(TrafficLight3.OFF); <br> <div class="literallayout">
<p>
<code class="code">ProtocolClass PingPongProtocol {<br>
- incoming {<br>
- Message ping(data: DemoData)<br>
- Message pingSimple(data:int32)<br>
- }<br>
- outgoing {<br>
- Message pong(data: DemoData)<br>
- Message pongSimple(data:int32)<br>
- }<br>
- } <br>
+ incoming {<br>
+ Message ping(data: DemoData)<br>
+ Message pingSimple(data:int32)<br>
+ }<br>
+ outgoing {<br>
+ Message pong(data: DemoData)<br>
+ Message pongSimple(data:int32)<br>
+ }<br>
+} <br>
</code>
</p>
@@ -1932,51 +1940,51 @@ carLights.setState(TrafficLight3.OFF); <br> <code class="code">RoomModel SendingData {<br>
<br>
- LogicalSystem SendingData_LogSystem {<br>
- SubSystemRef SendingDataAppl: SendingData_SubSystem<br>
- }<br>
+ LogicalSystem SendingData_LogSystem {<br>
+ SubSystemRef SendingDataAppl: SendingData_SubSystem<br>
+ }<br>
<br>
- SubSystemClass SendingData_SubSystem {<br>
- ActorRef SendigDataTopRef: SendingDataTop<br>
- }<br>
+ SubSystemClass SendingData_SubSystem {<br>
+ ActorRef SendigDataTopRef: SendingDataTop<br>
+ }<br>
<br>
- ActorClass SendingDataTop { }<br>
+ ActorClass SendingDataTop { }<br>
<br>
- DataClass DemoData {<br>
- Attribute int32Val: int32 = "4711"<br>
- Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
- Attribute float64Val: float64 = "0.0"<br>
- Attribute stringVal: string = "\"empty\""<br>
- }<br>
+ DataClass DemoData {<br>
+ Attribute int32Val: int32 = "4711"<br>
+ Attribute int8Array [ 10 ]: int8 = "{1,2,3,4,5,6,7,8,9,10}"<br>
+ Attribute float64Val: float64 = "0.0"<br>
+ Attribute stringVal: string = "\"empty\""<br>
+ }<br>
<br>
- ProtocolClass PingPongProtocol {<br>
- incoming {<br>
- Message ping(data: DemoData)<br>
- Message pingSimple(data: int32)<br>
- }<br>
- outgoing {<br>
- Message pong(data: DemoData)<br>
- Message pongSimple(data: int32)<br>
- }<br>
- }<br>
+ ProtocolClass PingPongProtocol {<br>
+ incoming {<br>
+ Message ping(data: DemoData)<br>
+ Message pingSimple(data: int32)<br>
+ }<br>
+ outgoing {<br>
+ Message pong(data: DemoData)<br>
+ Message pongSimple(data: int32)<br>
+ }<br>
+ }<br>
<br>
- ActorClass MrPing {<br>
- Interface { }<br>
- Structure { }<br>
- Behavior { }<br>
- }<br>
+ ActorClass MrPing {<br>
+ Interface { }<br>
+ Structure { }<br>
+ Behavior { }<br>
+ }<br>
<br>
- ActorClass MrPong {<br>
- Interface { }<br>
- Structure { }<br>
- Behavior { }<br>
- }<br>
+ ActorClass MrPong {<br>
+ Interface { }<br>
+ Structure { }<br>
+ Behavior { }<br>
+ }<br>
} <br>
<br>
@@ -2097,13 +2105,13 @@ carLights.setState(TrafficLight3.OFF); <br> <div class="literallayout">
<p>
<code class="code">Operation printData(d: DemoData) : void {<br>
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"<br>
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"<br>
- "System.out.printf(\"d.int8Array: \");"<br>
- "for(int i = 0; i<d.int8Array.length; i++) {"<br>
- "System.out.printf(\"%d \",d.int8Array[i]);}"<br>
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"<br>
- }<br>
+ "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"<br>
+ "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"<br>
+ "System.out.printf(\"d.int8Array: \");"<br>
+ "for(int i = 0; i<d.int8Array.length; i++) {"<br>
+ "System.out.printf(\"%d \",d.int8Array[i]);}"<br>
+ "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"<br>
+}<br>
</code>
</p>
@@ -2199,8 +2207,11 @@ carLights.setState(TrafficLight3.OFF); <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); <br> </p>
<div class="literallayout">
<p>
-<code class="code"> @Override<br>
- public synchronized void receive(Message msg) {<br>
- if (msg!=null) {<br>
- messageQueue.push(msg);<br>
- notifyAll(); // wake up thread to compute message<br>
- }<br>
- }<br>
+<code class="code"> @Override<br>
+ public synchronized void receive(Message msg) {<br>
+ if (msg!=null) {<br>
+ messageQueue.push(msg);<br>
+ notifyAll(); // wake up thread to compute message<br>
+ }<br>
+ }<br>
</code>
</p>
@@ -2596,7 +2607,7 @@ carLights.setState(TrafficLight3.OFF); <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); <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); <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&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>
-<p>end of table</p>
<div class="section" title="Description">
<div class="titlepage">
<div>
@@ -2993,7 +2972,7 @@ carLights.setState(TrafficLight3.OFF); <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); <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); <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); <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); <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 Binary files differindex 26eede3ff..ad1f1bb4b 100644 --- a/plugins/org.eclipse.etrice.doc/manual/etrice.pdf +++ b/plugins/org.eclipse.etrice.doc/manual/etrice.pdf |