Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2013-04-29 15:41:43 -0400
committerThomas Schuetz2013-04-29 15:41:43 -0400
commit2903767e47d1d2a6d3135d7a26d2913987792f52 (patch)
tree86d2948ce587c67d289ad1213cae2b6e21a4e801
parent8ab083b90fbf7f51e39ad6c9c7ef4cf7c92aae93 (diff)
downloadorg.eclipse.etrice-2903767e47d1d2a6d3135d7a26d2913987792f52.tar.gz
org.eclipse.etrice-2903767e47d1d2a6d3135d7a26d2913987792f52.tar.xz
org.eclipse.etrice-2903767e47d1d2a6d3135d7a26d2913987792f52.zip
[runtime.c] reorganization of API for C OSAL
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/.cproject4
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/model/cGenRef.room2
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Receiver.behavior154
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Sender.behavior2
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.SubSys.structure2
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/tmp/msc.seq2882
-rw-r--r--plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java3
-rw-r--r--plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java10
-rw-r--r--plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java10
-rw-r--r--plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.DocuPostprocessor.java._tracebin0 -> 561 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.ImplPostprocessor.java._tracebin0 -> 6752 bytes
-rw-r--r--plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.PostprocessingHelpers.java._tracebin0 -> 12168 bytes
-rw-r--r--plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend2
-rw-r--r--plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend3
-rw-r--r--plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.xtend2
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java19
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java33
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java11
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java20
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java17
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java17
-rw-r--r--plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java12
-rw-r--r--plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java36
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java27
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java14
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java7
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java13
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java12
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemClassGen.java4
-rw-r--r--plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemRunnerGen.java4
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java3
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java18
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java25
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java15
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java76
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java12
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java10
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java17
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java12
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java14
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java13
-rw-r--r--plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java22
-rw-r--r--plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/RoomExtensions.xtend8
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java13
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java13
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java14
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java13
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java13
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java20
-rw-r--r--plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java17
-rw-r--r--runtime/org.eclipse.etrice.modellib.c/.gitignore1
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/.cproject8
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/debugging/etMSCLogger.c5
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.c25
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.h23
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etMessageService.h5
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etWakeupService.h9
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etPort.c2
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etRTSystemServicesProtocol.h4
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMemory.h (renamed from runtime/org.eclipse.etrice.runtime.c/src/common/platform/etMemory.h)50
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMutex.h38
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etPlatformLifecycle.h46
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etSema.h37
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etThread.h (renamed from runtime/org.eclipse.etrice.runtime.c/src/common/platform/etPlatform.h)184
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTime.h50
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTimer.h38
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/platform/etTimer.h40
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etThreadList.h2
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etDatatypes.h101
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/info.txt10
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etDatatypes.h (renamed from runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etDatatypes.h)237
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etLogger.c (renamed from runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etLogger.c)142
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etMutex.c44
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etPlatformLifecycle.c21
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etSema.c46
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etThread.c59
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTime.c58
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTimer.c43
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/info.txt10
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etPlatform.c144
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etTimer.c39
-rw-r--r--runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/info.txt2
-rw-r--r--team/flattenProjectsWin.bat2
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/.cproject2
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c4
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c15
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.c68
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.h18
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestCRuntime.etu28
-rw-r--r--tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestEtUnitSpecial.etu4
98 files changed, 3304 insertions, 2135 deletions
diff --git a/examples/org.eclipse.etrice.generator.c.reference/.cproject b/examples/org.eclipse.etrice.generator.c.reference/.cproject
index f4e952e87..ef64627b3 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/.cproject
+++ b/examples/org.eclipse.etrice.generator.c.reference/.cproject
@@ -18,7 +18,7 @@
<folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.918285240" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1377401325" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1914462916" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base">
+ <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1914462916" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
@@ -42,10 +42,10 @@
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.836528711" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/>
<option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.1206340557" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.937550345" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/generic}&quot;"/>
</option>
<option id="gnu.c.compiler.option.misc.other.674019116" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -Wconversion" valueType="string"/>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.215126527" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/model/cGenRef.room b/examples/org.eclipse.etrice.generator.c.reference/model/cGenRef.room
index 163f89be2..e556c8ed3 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/model/cGenRef.room
+++ b/examples/org.eclipse.etrice.generator.c.reference/model/cGenRef.room
@@ -202,7 +202,7 @@ RoomModel cGenRef {
}
}
- ProtocolClass etSystemProtocol {
+ ProtocolClass etRTSystemServicesProtocol {
incoming {
Message poll()
}
diff --git a/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Receiver.behavior b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Receiver.behavior
new file mode 100644
index 000000000..cecb30410
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Receiver.behavior
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Receiver" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.2">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../cGenRef.room#ActorClass:Receiver"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="sg"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../cGenRef.room#StateGraph:Receiver$sg"/>
+ </link>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="trp"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../cGenRef.room#StateGraph:Receiver$sg"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="state"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="206" y="120">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+ <points x="-3" y="-3"/>
+ <points x="-3" y="3"/>
+ <points x="-11" y="3"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+ <points x="3" y="-3"/>
+ <points x="3" y="3"/>
+ <points x="11" y="3"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+ <points x="-2" y="-3"/>
+ <points x="-2" y="3"/>
+ <points x="2" y="3"/>
+ <points x="2" y="-3"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../cGenRef.room#SimpleState:Receiver$Idle"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Idle"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="state"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="149" height="90" x="458" y="120">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="89" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="64" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="44" y="24">
+ <points x="-3" y="-3"/>
+ <points x="-3" y="3"/>
+ <points x="-11" y="3"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="44" y="24">
+ <points x="3" y="-3"/>
+ <points x="3" y="3"/>
+ <points x="11" y="3"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="44" y="24">
+ <points x="-2" y="-3"/>
+ <points x="-2" y="3"/>
+ <points x="2" y="3"/>
+ <points x="2" y="-3"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../cGenRef.room#SimpleState:Receiver$DataReceived"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="89" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="DataReceived"/>
+ </children>
+ </children>
+ </children>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
+ <properties key="obj-type" value="trans"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../cGenRef.room#InitialTransition:Receiver$initial"/>
+ </link>
+ <connectionDecorators visible="true" locationRelative="true" location="1.0">
+ <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+ <points x="-15" y="5"/>
+ <points/>
+ <points x="-15" y="-5"/>
+ </graphicsAlgorithm>
+ </connectionDecorators>
+ <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+ <properties key="obj-type" value="trans"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../cGenRef.room#TriggeredTransition:Receiver$tr0"/>
+ </link>
+ <connectionDecorators visible="true" locationRelative="true" location="1.0">
+ <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+ <points x="-15" y="5"/>
+ <points/>
+ <points x="-15" y="-5"/>
+ </graphicsAlgorithm>
+ </connectionDecorators>
+ <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: &lt;sendData:dataI..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+ <properties key="obj-type" value="trans"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../cGenRef.room#TriggeredTransition:Receiver$tr1"/>
+ </link>
+ <connectionDecorators visible="true" locationRelative="true" location="1.0">
+ <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+ <points x="-15" y="5"/>
+ <points/>
+ <points x="-15" y="-5"/>
+ </graphicsAlgorithm>
+ </connectionDecorators>
+ <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr1: &lt;sendData:dataI..."/>
+ </connectionDecorators>
+ <bendpoints x="572" y="325"/>
+ <bendpoints x="572" y="325"/>
+ </connections>
+ <colors red="227" green="238" blue="249"/>
+ <colors red="255" green="255" blue="255"/>
+ <colors/>
+ <colors red="200" green="200" blue="200"/>
+ <fonts name="Arial" size="8"/>
+ <fonts name="Arial" size="9" bold="true"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Sender.behavior b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Sender.behavior
index b6c23d69e..3dc2e6175 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Sender.behavior
+++ b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.Sender.behavior
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Sender" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link" verticalGridUnit="10" version="0.9.0">
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Sender" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link" verticalGridUnit="10" version="0.9.2">
<graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
<link>
<businessObjects href="../cGenRef.room#ActorClass:Sender"/>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.SubSys.structure b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.SubSys.structure
index 3120699f1..53a4c06c5 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.SubSys.structure
+++ b/examples/org.eclipse.etrice.generator.c.reference/model/diagrams/cGenRef.SubSys.structure
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSys" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSys" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.2">
<graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
<link>
<businessObjects href="../cGenRef.room#SubSystemClass:SubSys"/>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/tmp/msc.seq b/examples/org.eclipse.etrice.generator.c.reference/tmp/msc.seq
index a1a052f77..514e803e9 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/tmp/msc.seq
+++ b/examples/org.eclipse.etrice.generator.c.reference/tmp/msc.seq
@@ -1,2337 +1,2345 @@
-main ==> node1_sys1 init(thread=5824)
-node1_sys1 ==> node1_sys1 constructActorInstances(thread=5824)
+main ==> node1_sys1 init(thread=5740)
+node1_sys1 ==> node1_sys1 constructActorInstances(thread=5740)
node1_sys1 <== node1_sys1
-node1_sys1 ==> node1_sys1 initMessageServices(thread=5824)
-node1_sys1 ==> etMessageService init(thread=5824)
-etMessageService ==> etMessageQueue init(thread=5824)
+node1_sys1 ==> node1_sys1 initMessageServices(thread=5740)
+node1_sys1 ==> etMessageService init(thread=5740)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue init(thread=5824)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService initMessagePool(thread=5824)
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageService initMessagePool(thread=5740)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
etMessageService <== etMessageService
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema construct(thread=5824)
+etMessageService ==> etSema construct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService init(thread=5824)
-etMessageService ==> etMessageQueue init(thread=5824)
+node1_sys1 ==> etMessageService init(thread=5740)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue init(thread=5824)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService initMessagePool(thread=5824)
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageService initMessagePool(thread=5740)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
etMessageService <== etMessageService
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema construct(thread=5824)
+etMessageService ==> etSema construct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService init(thread=5824)
-etMessageService ==> etMessageQueue init(thread=5824)
+node1_sys1 ==> etMessageService init(thread=5740)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue init(thread=5824)
+etMessageService ==> etMessageQueue init(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService initMessagePool(thread=5824)
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageService initMessagePool(thread=5740)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
etMessageService <== etMessageService
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex construct(thread=5824)
+etMessageService ==> etMutex construct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema construct(thread=5824)
+etMessageService ==> etSema construct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
node1_sys1 <== node1_sys1
-node1_sys1 ==> node1_sys1 initActorInstances(thread=5824)
-node1_sys1 ==> Tester init(thread=5824)
-Tester ==> CommunicationProtocolConjPort sendData(thread=5824)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=5824)
-etPort ==> etMessageService getMessageBuffer(thread=5824)
-etMessageService ==> etMutex enter(thread=5824)
+node1_sys1 ==> node1_sys1 initActorInstances(thread=5740)
+node1_sys1 ==> Tester init(thread=5740)
+Tester ==> CommunicationProtocolConjPort sendData(thread=5740)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=5740)
+etPort ==> etMessageService getMessageBuffer(thread=5740)
+etMessageService ==> etMutex enter(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=5824)
+etMessageService ==> etMessageQueue pop(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=5824)
+etMessageService ==> etMutex leave(thread=5740)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=5824)
-etMessageService ==> etMutex enter(thread=5824)
+etPort ==> etMessageService pushMessage(thread=5740)
+etMessageService ==> etMutex enter(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=5824)
+etMessageService ==> etMessageQueue push(thread=5740)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=5824)
+etMessageService ==> etSema wakeup(thread=5740)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=5824)
+etMessageService ==> etMutex leave(thread=5740)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjPort <== etPort
Tester <== CommunicationProtocolConjPort
node1_sys1 <== Tester
-node1_sys1 ==> Fork init(thread=5824)
+node1_sys1 ==> Fork init(thread=5740)
node1_sys1 <== Fork
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Redirect init(thread=5824)
+node1_sys1 ==> Redirect init(thread=5740)
node1_sys1 <== Redirect
-node1_sys1 ==> Join init(thread=5824)
+node1_sys1 ==> Join init(thread=5740)
node1_sys1 <== Join
-node1_sys1 ==> Supervisor init(thread=5824)
+node1_sys1 ==> Supervisor init(thread=5740)
node1_sys1 <== Supervisor
node1_sys1 <== node1_sys1
main <== node1_sys1
-main ==> node1_sys1 start(thread=5824)
-node1_sys1 ==> node1_sys1 startMessageServices(thread=5824)
-node1_sys1 ==> etMessageService start(thread=5824)
-etMessageService ==> etThread construct(thread=5824)
+main ==> node1_sys1 start(thread=5740)
+node1_sys1 ==> node1_sys1 startMessageServices(thread=5740)
+node1_sys1 ==> etMessageService start(thread=5740)
+etMessageService ==> etThread construct(thread=5740)
etMessageService <== etThread
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService start(thread=5824)
-etMessageService ==> etThread construct(thread=5824)
+node1_sys1 ==> etMessageService start(thread=5740)
+etMessageService ==> etThread construct(thread=5740)
etMessageService <== etThread
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService start(thread=5824)
-etMessageService ==> etThread construct(thread=5824)
-etMessageService <== etThread
-node1_sys1 <== etMessageService
-node1_sys1 <== node1_sys1
-main <== node1_sys1
-main ==> node1_sys1 run(thread=5824)
-node1_sys1 ==> etThread sleep(thread=5824)
-etThread ==> etThread execute(thread=8628)
-etThread ==> etMessageService execute(thread=8628)
-etMessageService ==> etMessageService deliverAllMessages(thread=8628)
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8628)
-etSema ==> etThread execute(thread=8672)
-etThread ==> etMessageService execute(thread=8672)
-etMessageService ==> etMessageService deliverAllMessages(thread=8672)
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+node1_sys1 ==> etMessageService start(thread=5740)
+node1_sys1 ==> etThread execute(thread=7720)
+etMessageService ==> etThread construct(thread=5740)
+etThread ==> etMessageService execute(thread=7720)
+etMessageService ==> etMessageService deliverAllMessages(thread=7720)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8672)
-etSema ==> etThread execute(thread=7740)
-etThread ==> etMessageService execute(thread=7740)
-etMessageService ==> etMessageService deliverAllMessages(thread=7740)
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etSema waitForWakeup(thread=7720)
+etSema ==> etThread execute(thread=7076)
+etThread ==> etMessageService execute(thread=7076)
+etMessageService ==> etMessageService deliverAllMessages(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Fork _receiveMessage(thread=7740)
-Fork ==> CommunicationProtocolConjReplPort sendData(thread=7740)
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Fork _receiveMessage(thread=7076)
+etMessageService <== etThread
+Fork ==> CommunicationProtocolConjReplPort sendData(thread=7076)
+node1_sys1 <== etMessageService
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+node1_sys1 <== node1_sys1
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+main <== node1_sys1
+etMessageService ==> etMutex enter(thread=7076)
+main ==> node1_sys1 run(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+node1_sys1 ==> etThread sleep(thread=5740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageQueue ==> etThread execute(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etThread ==> etMessageService execute(thread=1708)
etMessageService <== etMutex
+etMessageService ==> etMessageService deliverAllMessages(thread=1708)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
+etMessageService <== etSema
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etPort <== etMessageService
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etPort <== etMessageService
-CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMessageService
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService <== etMutex
etMessageService <== etMutex
etPort <== etMessageService
+etMessageService ==> etMessageQueue pop(thread=7720)
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7076)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etPort <== etMessageService
-CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7720)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etPort <== etMessageService
-CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
+CommunicationProtocolConjPort <== etPort
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+Redirect <== CommunicationProtocolConjPort
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjReplPort <== etPort
-CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+MsgDispatcher_PhysicalThread1 <== Redirect
etMessageService <== etMutex
+etMessageService <== MsgDispatcher_PhysicalThread1
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMutex
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
+etMessageService <== etMutex
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService <== etMessageService
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMutex
+etMessageService <== etMessageQueue
etPort <== etMessageService
+etMessageService ==> etMessageService popMessage(thread=7720)
CommunicationProtocolConjReplPort <== etPort
-Fork <== CommunicationProtocolConjReplPort
-MsgDispatcher_PhysicalThread2 <== Fork
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=7720)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etPort <== etMessageService
+etPort ==> etMessageService pushMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService <== etMutex
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Redirect _receiveMessage(thread=7740)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=7740)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7720)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
+etMessageService <== etMessageQueue
etPort <== etMessageService
+etMessageService ==> etSema wakeup(thread=7076)
CommunicationProtocolConjPort <== etPort
Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Redirect _receiveMessage(thread=7740)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=7740)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService <== etSema
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+CommunicationProtocolConjReplPort <== etPort
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
+MsgDispatcher_PhysicalThread1 <== Redirect
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService <== MsgDispatcher_PhysicalThread1
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etMutex
+etMessageService <== etSema
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7720)
+CommunicationProtocolConjReplPort <== etPort
+etMessageService ==> etMutex enter(thread=7720)
+CommunicationProtocolConjReplPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etPort <== etMessageService
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
+etPort ==> etMessageService pushMessage(thread=7076)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService <== etSema
+etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etPort <== etMessageService
+etMessageService ==> etSema wakeup(thread=7720)
+CommunicationProtocolConjReplPort <== etPort
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+Fork <== CommunicationProtocolConjReplPort
+etMessageService ==> etMutex leave(thread=7720)
+MsgDispatcher_PhysicalThread2 <== Fork
etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort <== etMessageService
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+CommunicationProtocolConjPort <== etPort
+etMessageService ==> etMutex enter(thread=7076)
+Redirect <== CommunicationProtocolConjPort
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageService popMessage(thread=7076)
+MsgDispatcher_PhysicalThread1 <== Redirect
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== MsgDispatcher_PhysicalThread1
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
+etMessageService <== etMutex
+etMessageService <== etMessageQueue
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Redirect _receiveMessage(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7076)
+etMessageService <== etMessageService
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageService popMessage(thread=7720)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7720)
etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
+etPort ==> etMessageService pushMessage(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+etMessageService <== etSema
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=7720)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7720)
+etPort <== etMessageService
etMessageService <== etMutex
+CommunicationProtocolConjPort <== etPort
etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+Redirect <== CommunicationProtocolConjPort
+CommunicationProtocolConjPort <== etPort
+Redirect <== CommunicationProtocolConjPort
+MsgDispatcher_PhysicalThread2 <== Redirect
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
+MsgDispatcher_PhysicalThread1 <== Redirect
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService <== MsgDispatcher_PhysicalThread1
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageService popMessage(thread=7720)
etMessageService <== etMutex
-etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread1 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService <== etMessageService
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
+MsgDispatcher_PhysicalThread2 ==> Redirect _receiveMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMutex
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex enter(thread=7720)
+etPort <== etMessageService
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
+etPort <== etMessageService
+etMessageService ==> etSema wakeup(thread=7076)
+etPort ==> etMessageService pushMessage(thread=7720)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjPort <== etPort
Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread1 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+MsgDispatcher_PhysicalThread2 <== Redirect
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etMessageService <== etMutex
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etSema wakeup(thread=7720)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService <== etSema
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
+etMessageService <== etMutex
+etPort <== etMessageService
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+CommunicationProtocolConjPort <== etPort
+etPort ==> etMessageService pushMessage(thread=7076)
+Redirect <== CommunicationProtocolConjPort
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
+SecurityProtocolConjPort <== etPort
+etMessageService <== etSema
MsgDispatcher_PhysicalThread1 <== Redirect
+Join <== SecurityProtocolConjPort
etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+MsgDispatcher_PhysicalThread2 <== Join
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService <== etMessageService
+etMessageService <== etMessageService
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
+etMessageService <== etMessageQueue
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMessageService popMessage(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
-etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread1 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etMessageService <== etMessageService
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMutex enter(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMutex
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue pop(thread=1708)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService <== etMessageQueue
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService <== etMutex
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etPort <== etMessageService
+etMessageService ==> etMessageQueue push(thread=7720)
+etPort ==> etMessageService pushMessage(thread=1708)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etSema wakeup(thread=7720)
+etMessageService <== etMutex
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService <== etMessageQueue
+etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService <== etMutex
CommunicationProtocolConjPort <== etPort
+etPort <== etMessageService
+etMessageService <== etMessageQueue
Redirect <== CommunicationProtocolConjPort
+etMessageService ==> etSema wakeup(thread=1708)
+etPort ==> etMessageService pushMessage(thread=7076)
MsgDispatcher_PhysicalThread1 <== Redirect
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etSema
etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etPort <== etMessageService
+etMessageService ==> etMessageQueue push(thread=7076)
+SecurityProtocolPort <== etPort
+etMessageService ==> etMessageQueue push(thread=7720)
+etMessageService <== etMessageQueue
+Supervisor <== SecurityProtocolPort
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etMutex
+etMessageService <== etSema
+etMessageService <== MsgDispatcher_PhysicalThread3
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
-etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMutex leave(thread=1708)
etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread1 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService <== etMessageQueue
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMessageService popMessage(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService <== etMessageService
+SecurityProtocolConjPort <== etPort
+etMessageService <== etMutex
+Join <== SecurityProtocolConjPort
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etMessageService ==> etMutex leave(thread=1708)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
+MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== etMutex
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=7720)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+etMessageService <== MsgDispatcher_PhysicalThread2
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMutex
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageQueue push(thread=7076)
+etPort ==> etMessageService pushMessage(thread=7720)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex enter(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService <== etMutex
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> etSema wakeup(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService <== etMessageService
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService <== etMutex
etMessageService <== etMutex
etPort <== etMessageService
+etPort <== etMessageService
+etPort ==> etMessageService pushMessage(thread=1708)
CommunicationProtocolConjPort <== etPort
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService <== etMutex
Redirect <== CommunicationProtocolConjPort
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService <== etSema
+etMessageService ==> etMutex leave(thread=1708)
MsgDispatcher_PhysicalThread1 <== Redirect
+etMessageService <== etMutex
etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etPort <== etMessageService
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+SecurityProtocolPort <== etPort
+etMessageService ==> etMutex enter(thread=7720)
+Supervisor <== SecurityProtocolPort
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService <== MsgDispatcher_PhysicalThread3
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=8672)
-Redirect ==> CommunicationProtocolConjPort sendData(thread=8672)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=8672)
-etPort ==> etMessageService getMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMutex leave(thread=1708)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etMessageService <== etMutex
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService <== etMessageService
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService <== etMessageService
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
+etMessageService ==> etSema waitForWakeup(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=7720)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
+etMessageService ==> etSema waitForWakeup(thread=1708)
+etMessageService ==> etMutex enter(thread=7720)
etPort <== etMessageService
-CommunicationProtocolConjPort <== etPort
-Redirect <== CommunicationProtocolConjPort
-MsgDispatcher_PhysicalThread1 <== Redirect
-etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8672)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8672)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etPort <== etMessageService
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+SecurityProtocolConjPort <== etPort
+etMessageService ==> etMessageService popMessage(thread=1708)
+Join <== SecurityProtocolConjPort
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex leave(thread=1708)
MsgDispatcher_PhysicalThread2 <== Join
+etMessageService <== etMutex
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== etMessageService
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
+MsgDispatcher_PhysicalThread1 ==> Redirect _receiveMessage(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
+Redirect ==> CommunicationProtocolConjPort sendData(thread=7720)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7720)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=7720)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=1708)
+etPort <== etMessageService
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+etPort ==> etMessageService pushMessage(thread=7720)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etMessageService ==> etMutex enter(thread=7720)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etSema
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
+etPort <== etMessageService
+etMessageService <== etMutex
+SecurityProtocolPort <== etPort
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+Supervisor <== SecurityProtocolPort
+etPort ==> etMessageService pushMessage(thread=7076)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== MsgDispatcher_PhysicalThread3
+etMessageService <== etMutex
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService <== etMutex
+etMessageService ==> etSema wakeup(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService <== etSema
+etMessageService ==> etSema wakeup(thread=7720)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService <== etMessageQueue
etPort <== etMessageService
+etMessageService ==> etMutex leave(thread=7720)
SecurityProtocolConjPort <== etPort
+etMessageService ==> etMutex leave(thread=1708)
Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etPort <== etMessageService
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+CommunicationProtocolConjPort <== etPort
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+Redirect <== CommunicationProtocolConjPort
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=1708)
+MsgDispatcher_PhysicalThread1 <== Redirect
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== MsgDispatcher_PhysicalThread1
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=7720)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7720)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService <== etMessageService
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService ==> etSema waitForWakeup(thread=7720)
etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService <== etSema
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
+etMessageService <== etMutex
MsgDispatcher_PhysicalThread2 <== Join
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService <== etSema
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etSema waitForWakeup(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
+etPort <== etMessageService
+etMessageService <== etMutex
+SecurityProtocolPort <== etPort
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+Supervisor <== SecurityProtocolPort
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+MsgDispatcher_PhysicalThread3 <== Supervisor
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== MsgDispatcher_PhysicalThread3
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService <== etMessageQueue
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
+etMessageService <== etMutex
+etMessageService <== etMessageService
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+etMessageService <== etMessageQueue
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService <== etSema
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
SecurityProtocolConjPort <== etPort
+etMessageService <== etSema
Join <== SecurityProtocolConjPort
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMutex
etMessageService <== etMutex
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+etMessageService <== etMessageService
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService <== etMessageService
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService <== etMutex
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etMessageService ==> etSema wakeup(thread=1708)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etPort <== etMessageService
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+SecurityProtocolPort <== etPort
+etMessageService ==> etMutex leave(thread=7076)
+Supervisor <== SecurityProtocolPort
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etPort <== etMessageService
+etMessageService <== MsgDispatcher_PhysicalThread3
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
+etMessageService <== etSema
SecurityProtocolConjPort <== etPort
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=1708)
+MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
etMessageService <== etMutex
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue pop(thread=7076)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService <== etMessageQueue
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService <== etMutex
+etMessageService <== etMessageService
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+etMessageService ==> etSema wakeup(thread=1708)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7076)
etPort <== etMessageService
-SecurityProtocolConjPort <== etPort
-Join <== SecurityProtocolConjPort
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+SecurityProtocolPort <== etPort
+etMessageService ==> etMessageQueue pop(thread=7076)
+Supervisor <== SecurityProtocolPort
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== MsgDispatcher_PhysicalThread3
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> SecurityProtocolConjPort ping(thread=7740)
-SecurityProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
-etMessageService <== etMutex
+etMessageService ==> etSema waitForWakeup(thread=1708)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
SecurityProtocolConjPort <== etPort
+etMessageService <== etSema
Join <== SecurityProtocolConjPort
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService <== etMutex
MsgDispatcher_PhysicalThread2 <== Join
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService <== etMessageService
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService <== etMessageService
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMutex
+Join ==> SecurityProtocolConjPort ping(thread=7076)
etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService pushMessage(thread=1708)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService <== etSema
+etPort <== etMessageService
+etMessageService ==> etMutex leave(thread=1708)
+etPort ==> etMessageService pushMessage(thread=7076)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=7076)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+SecurityProtocolPort <== etPort
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-SecurityProtocolPort <== etPort
+SecurityProtocolConjPort <== etPort
+Join <== SecurityProtocolConjPort
Supervisor <== SecurityProtocolPort
+MsgDispatcher_PhysicalThread2 <== Join
MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService <== MsgDispatcher_PhysicalThread2
etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService <== etMessageService
+etMessageService <== etMessageService
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService <== etMessageService
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+MsgDispatcher_PhysicalThread2 <== Join
+etPort ==> etMessageService getMessageBuffer(thread=1708)
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=1708)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
+etMessageService <== etMutex
+etMessageService ==> etMessageQueue push(thread=7076)
etPort <== etMessageService
+etMessageService <== etMessageQueue
SecurityProtocolPort <== etPort
+etMessageService ==> etMutex leave(thread=7076)
Supervisor <== SecurityProtocolPort
+etMessageService <== etMutex
MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService <== etMessageService
etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
etMessageService <== etMutex
+etPort ==> etMessageService getMessageBuffer(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== etSema
etMessageService <== etMutex
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService <== etMessageQueue
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+SecurityProtocolConjPort <== etPort
+Join <== SecurityProtocolConjPort
+MsgDispatcher_PhysicalThread2 <== Join
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 <== Join
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService <== etSema
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
-etMessageService <== etMutex
-etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
-etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService <== etMessageService
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
-etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=1708)
+etMessageService ==> etMessageService popMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMutex
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService <== etMessageService
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+MsgDispatcher_PhysicalThread2 <== Join
+etPort ==> etMessageService getMessageBuffer(thread=1708)
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etPort ==> etMessageService pushMessage(thread=1708)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService <== etMutex
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMessageQueue
etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
etPort <== etMessageService
+etMessageService <== etMutex
SecurityProtocolPort <== etPort
+etMessageService <== etMessageService
Supervisor <== SecurityProtocolPort
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService <== etMessageQueue
etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMutex
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=8628)
-MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=8628)
-Supervisor ==> SecurityProtocolPort pong(thread=8628)
-SecurityProtocolPort ==> etPort sendMessage(thread=8628)
-etPort ==> etMessageService getMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etMessageService <== etMessageService
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+etMessageService <== etMessageQueue
+Join ==> SecurityProtocolConjPort ping(thread=7076)
+etMessageService ==> etSema waitForWakeup(thread=1708)
+SecurityProtocolConjPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8628)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=8628)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-SecurityProtocolPort <== etPort
-Supervisor <== SecurityProtocolPort
-MsgDispatcher_PhysicalThread3 <== Supervisor
-etMessageService <== MsgDispatcher_PhysicalThread3
-etMessageService ==> etMessageService returnMessageBuffer(thread=8628)
-etMessageService ==> etMutex enter(thread=8628)
+SecurityProtocolConjPort <== etPort
+Join <== SecurityProtocolConjPort
+MsgDispatcher_PhysicalThread2 <== Join
+etMessageService <== MsgDispatcher_PhysicalThread2
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService <== etSema
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8628)
+etMessageService ==> etMessageQueue push(thread=7076)
+etMessageService ==> etMessageService popMessage(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService <== etMutex
etMessageService <== etMutex
+etMessageService ==> etMessageQueue pop(thread=1708)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8628)
-etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8628)
-etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
-etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
etMessageService <== etMutex
+etMessageService ==> etMessageService popMessage(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 <== Join
-etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService ==> MsgDispatcher_PhysicalThread3 receiveMessage(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+MsgDispatcher_PhysicalThread3 ==> Supervisor _receiveMessage(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
+Supervisor ==> SecurityProtocolPort pong(thread=1708)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+SecurityProtocolPort ==> etPort sendMessage(thread=1708)
+etMessageService ==> etMutex leave(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=1708)
etMessageService <== etMutex
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
-etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+etMessageService ==> etMessageQueue pop(thread=1708)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=1708)
etMessageService <== etMutex
-etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etPort <== etMessageService
+etPort ==> etMessageService pushMessage(thread=1708)
MsgDispatcher_PhysicalThread2 <== Join
+etMessageService ==> etMutex enter(thread=1708)
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== etMessageQueue
+etMessageService <== etMutex
+etMessageService ==> etSema wakeup(thread=1708)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService <== etSema
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService <== etMutex
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etPort <== etMessageService
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
+SecurityProtocolPort <== etPort
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+Supervisor <== SecurityProtocolPort
+etMessageService ==> etMessageService popMessage(thread=7076)
+MsgDispatcher_PhysicalThread3 <== Supervisor
+etMessageService ==> etMutex enter(thread=7076)
+etMessageService <== MsgDispatcher_PhysicalThread3
+etMessageService <== etMutex
+etMessageService ==> etMessageService returnMessageBuffer(thread=1708)
+etMessageService ==> etMessageQueue pop(thread=7076)
+etMessageService ==> etMutex enter(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService <== etMutex
+etMessageService ==> etMutex leave(thread=7076)
+etMessageService ==> etMessageQueue push(thread=1708)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService <== etMessageService
+etMessageService ==> etMutex leave(thread=1708)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
etMessageService <== etMutex
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=1708)
+etMessageService <== etMessageQueue
+etMessageService ==> etSema waitForWakeup(thread=1708)
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService popMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7740)
-MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7740)
-Join ==> CommunicationProtocolConjPort sendData(thread=7740)
-CommunicationProtocolConjPort ==> etPort sendMessage(thread=7740)
-etPort ==> etMessageService getMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> MsgDispatcher_PhysicalThread2 receiveMessage(thread=7076)
+MsgDispatcher_PhysicalThread2 ==> Join _receiveMessage(thread=7076)
+Join ==> CommunicationProtocolConjPort sendData(thread=7076)
+CommunicationProtocolConjPort ==> etPort sendMessage(thread=7076)
+etPort ==> etMessageService getMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=7740)
+etMessageService ==> etMessageQueue pop(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
-etPort ==> etMessageService pushMessage(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etPort ==> etMessageService pushMessage(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema wakeup(thread=7740)
+etMessageService ==> etSema wakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etPort <== etMessageService
CommunicationProtocolConjPort <== etPort
Join <== CommunicationProtocolConjPort
MsgDispatcher_PhysicalThread2 <== Join
etMessageService <== MsgDispatcher_PhysicalThread2
-etMessageService ==> etMessageService returnMessageBuffer(thread=7740)
-etMessageService ==> etMutex enter(thread=7740)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7076)
+etMessageService ==> etMutex enter(thread=7076)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=7740)
+etMessageService ==> etMessageQueue push(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=7740)
+etMessageService ==> etMutex leave(thread=7076)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
+etMessageService ==> etSema waitForWakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=7740)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7076)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=7740)
+etMessageService ==> etSema waitForWakeup(thread=7076)
etMessageService <== etSema
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMessageService popMessage(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService popMessage(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue pop(thread=8672)
+etMessageService ==> etMessageQueue pop(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=8672)
-MsgDispatcher_PhysicalThread1 ==> Tester _receiveMessage(thread=8672)
+etMessageService ==> MsgDispatcher_PhysicalThread1 receiveMessage(thread=7720)
+MsgDispatcher_PhysicalThread1 ==> Tester _receiveMessage(thread=7720)
MsgDispatcher_PhysicalThread1 <== Tester
etMessageService <== MsgDispatcher_PhysicalThread1
-etMessageService ==> etMessageService returnMessageBuffer(thread=8672)
-etMessageService ==> etMutex enter(thread=8672)
+etMessageService ==> etMessageService returnMessageBuffer(thread=7720)
+etMessageService ==> etMutex enter(thread=7720)
etMessageService <== etMutex
-etMessageService ==> etMessageQueue push(thread=8672)
+etMessageService ==> etMessageQueue push(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etMutex leave(thread=8672)
+etMessageService ==> etMutex leave(thread=7720)
etMessageService <== etMutex
etMessageService <== etMessageService
-etMessageService ==> etMessageQueue isNotEmpty(thread=8672)
+etMessageService ==> etMessageQueue isNotEmpty(thread=7720)
etMessageService <== etMessageQueue
-etMessageService ==> etSema waitForWakeup(thread=8672)
+etMessageService ==> etSema waitForWakeup(thread=7720)
node1_sys1 <== etThread
main <== node1_sys1
-main ==> node1_sys1 stop(thread=5824)
-node1_sys1 ==> node1_sys1 stopMessageServices(thread=5824)
-node1_sys1 ==> etMessageService stop(thread=5824)
-etMessageService ==> etThread destruct(thread=5824)
+main ==> node1_sys1 stop(thread=5740)
+node1_sys1 ==> node1_sys1 stopMessageServices(thread=5740)
+node1_sys1 ==> etMessageService stop(thread=5740)
+etMessageService ==> etThread destruct(thread=5740)
etMessageService <== etThread
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService stop(thread=5824)
-etMessageService ==> etThread destruct(thread=5824)
+node1_sys1 ==> etMessageService stop(thread=5740)
+etMessageService ==> etThread destruct(thread=5740)
etMessageService <== etThread
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService stop(thread=5824)
-etMessageService ==> etThread destruct(thread=5824)
+node1_sys1 ==> etMessageService stop(thread=5740)
+etMessageService ==> etThread destruct(thread=5740)
etMessageService <== etThread
node1_sys1 <== etMessageService
node1_sys1 <== node1_sys1
main <== node1_sys1
-main ==> node1_sys1 destroy(thread=5824)
-node1_sys1 ==> node1_sys1 destroyMessageServices(thread=5824)
-node1_sys1 ==> etMessageService destroy(thread=5824)
-etMessageService ==> etMutex destruct(thread=5824)
+main ==> node1_sys1 destroy(thread=5740)
+node1_sys1 ==> node1_sys1 destroyMessageServices(thread=5740)
+node1_sys1 ==> etMessageService destroy(thread=5740)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex destruct(thread=5824)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema destruct(thread=5824)
+etMessageService ==> etSema destruct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService destroy(thread=5824)
-etMessageService ==> etMutex destruct(thread=5824)
+node1_sys1 ==> etMessageService destroy(thread=5740)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex destruct(thread=5824)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema destruct(thread=5824)
+etMessageService ==> etSema destruct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
-node1_sys1 ==> etMessageService destroy(thread=5824)
-etMessageService ==> etMutex destruct(thread=5824)
+node1_sys1 ==> etMessageService destroy(thread=5740)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etMutex destruct(thread=5824)
+etMessageService ==> etMutex destruct(thread=5740)
etMessageService <== etMutex
-etMessageService ==> etSema destruct(thread=5824)
+etMessageService ==> etSema destruct(thread=5740)
etMessageService <== etSema
node1_sys1 <== etMessageService
node1_sys1 <== node1_sys1
diff --git a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
index 15a186d3d..cc2fdff1d 100644
--- a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
+++ b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
@@ -1,3 +1,6 @@
+/**
+ * generated by Xtext
+ */
package org.eclipse.etrice.core.generator;
import org.eclipse.emf.ecore.resource.Resource;
diff --git a/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java b/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
index 56531d806..b0cd60688 100644
--- a/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
+++ b/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.core.etmap.generator;
import org.eclipse.emf.ecore.resource.Resource;
diff --git a/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java b/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
index 1603368c9..797a66428 100644
--- a/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
+++ b/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.core.etphys.generator;
import org.eclipse.emf.ecore.resource.Resource;
diff --git a/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.DocuPostprocessor.java._trace b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.DocuPostprocessor.java._trace
new file mode 100644
index 000000000..93aec3a66
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.DocuPostprocessor.java._trace
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.ImplPostprocessor.java._trace b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.ImplPostprocessor.java._trace
new file mode 100644
index 000000000..1db9b46fd
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.ImplPostprocessor.java._trace
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.PostprocessingHelpers.java._trace b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.PostprocessingHelpers.java._trace
new file mode 100644
index 000000000..a5c40d840
--- /dev/null
+++ b/plugins/org.eclipse.etrice.core.room/xtend-gen/org/eclipse/etrice/core/postprocessing/.PostprocessingHelpers.java._trace
Binary files differ
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend
index 3fe054f81..e514e4571 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend
@@ -204,7 +204,7 @@ class ActorClassGen extends GenericActorClassGenerator {
#include "debugging/etLogger.h"
#include "debugging/etMSCLogger.h"
#include "etUnit/etUnit.h"
- #include "platform/etMemory.h"
+ #include "osal/etMemory.h"
«FOR pc : root.getReferencedProtocolClasses(ac)»
#include "«pc.getCHeaderFileName»"
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
index f859b245a..403b8ba2f 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeGen.xtend
@@ -135,7 +135,7 @@ class NodeGen {
#include "debugging/etLogger.h"
#include "debugging/etMSCLogger.h"
- #include "platform/etTimer.h"
+ #include "osal/etTimer.h"
#include "etRuntimeConfig.h"
««« TODOCGENPHYS: user code?
@@ -325,7 +325,6 @@ class NodeGen {
*/
#include "messaging/etMessageService.h"
- #include "platform/etMemory.h"
/* include all used ActorClasses */
«FOR actorClass : root.getUsedActorClasses()»
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.xtend
index 099b075f5..a8d21701c 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.xtend
@@ -57,8 +57,8 @@ class NodeRunnerGen {
#include "debugging/etLogger.h"
#include "debugging/etMSCLogger.h"
- #include "platform/etPlatform.h"
+ #include "osal/etPlatformLifecycle.h"
/**
* main function
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
index f0d78acb6..e2a23e88a 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -32,6 +43,7 @@ import org.eclipse.etrice.generator.generic.ProcedureHelpers;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -42,18 +54,23 @@ public class ActorClassGen extends GenericActorClassGenerator {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private ILanguageExtension langExt;
@Inject
+ @Extension
private CExtensions _cExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private StateMachineGen _stateMachineGen;
@Inject
@@ -601,7 +618,7 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("#include \"etUnit/etUnit.h\"");
_builder.newLine();
- _builder.append("#include \"platform/etMemory.h\"");
+ _builder.append("#include \"osal/etMemory.h\"");
_builder.newLine();
_builder.newLine();
{
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
index c9cca287c..1d481bfc1 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -25,6 +36,7 @@ import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -33,12 +45,13 @@ public class CExtensions implements ILanguageExtension {
private IDiagnostician diagnostician;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
public String getTypedDataDefinition(final Message m) {
VarDecl _data = m.getData();
String[] _generateArglistAndTypedData = this.generateArglistAndTypedData(_data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(1);
+ String _get = _generateArglistAndTypedData[1];
return _get;
}
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java
index 61236fc9c..bf4b725ab 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -16,6 +27,7 @@ import org.eclipse.etrice.generator.generic.ProcedureHelpers;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -24,12 +36,15 @@ public class DataClassGen {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CExtensions _cExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
index 6f42a1067..f5871bdac 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug (initial contribution)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -21,6 +31,7 @@ import org.eclipse.etrice.generator.c.gen.CExtensions;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IntegerRange;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -30,9 +41,11 @@ public class Initialization {
private CExtensions languageExt;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
public CharSequence generateAttributeInit(final InstanceBase instance, final List<Attribute> attributes) {
@@ -98,7 +111,7 @@ public class Initialization {
_or = (_equals || _and);
}
if (_or) {
- String _initAttribute = this.initAttribute(instance, path);
+ CharSequence _initAttribute = this.initAttribute(instance, path);
String _plus = (_initAttribute + COMMENT);
_xifexpression = _plus;
} else {
@@ -114,7 +127,7 @@ public class Initialization {
} else {
_builder_1.appendImmediate(", ", "");
}
- String _initAttribute_1 = this.initAttribute(instance, path);
+ CharSequence _initAttribute_1 = this.initAttribute(instance, path);
_builder_1.append(_initAttribute_1, "");
}
}
@@ -128,8 +141,8 @@ public class Initialization {
return _xblockexpression;
}
- private String initAttribute(final InstanceBase instance, final List<Attribute> path) {
- String _xblockexpression = null;
+ private CharSequence initAttribute(final InstanceBase instance, final List<Attribute> path) {
+ CharSequence _xblockexpression = null;
{
Attribute a = IterableExtensions.<Attribute>last(path);
RefableType _refType = a.getRefType();
@@ -149,7 +162,7 @@ public class Initialization {
}
return _xifexpression;
}
- String _switchResult = null;
+ CharSequence _switchResult = null;
boolean _matched = false;
if (!_matched) {
if (aType instanceof DataClass) {
@@ -169,13 +182,13 @@ public class Initialization {
}
_builder.append("\t");
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, subA);
- CharSequence _initAttributeArray = this.initAttributeArray(instance, _union);
+ Object _initAttributeArray = this.initAttributeArray(instance, _union);
_builder.append(_initAttributeArray, " ");
_builder.newLineIfNotEmpty();
}
}
_builder.append("}");
- _switchResult = _builder.toString();
+ _switchResult = _builder;
}
}
if (!_matched) {
@@ -199,10 +212,10 @@ public class Initialization {
if (aType instanceof PrimitiveType) {
final PrimitiveType _primitiveType = (PrimitiveType)aType;
_matched=true;
- String _xblockexpression_1 = null;
+ CharSequence _xblockexpression_1 = null;
{
String value = this.getPrimitiveValue(instance, path);
- String _xifexpression_1 = null;
+ CharSequence _xifexpression_1 = null;
boolean _and = false;
boolean _and_1 = false;
int _size = a.getSize();
@@ -239,7 +252,7 @@ public class Initialization {
}
}
_builder.append(" }");
- _xifexpression_1 = _builder.toString();
+ _xifexpression_1 = _builder;
} else {
_xifexpression_1 = value;
}
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java
index fcd44dd9a..4119a6b52 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.inject.Inject;
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
index 7518e9ef4..7dc3cc5b3 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -48,6 +59,7 @@ import org.eclipse.etrice.generator.generic.ProcedureHelpers;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IntegerRange;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -57,15 +69,19 @@ import org.eclipse.xtext.xbase.lib.ListExtensions;
@SuppressWarnings("all")
public class NodeGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CExtensions _cExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
@@ -286,7 +302,7 @@ public class NodeGen {
_builder.append("#include \"debugging/etMSCLogger.h\"");
_builder.newLine();
_builder.newLine();
- _builder.append("#include \"platform/etTimer.h\"");
+ _builder.append("#include \"osal/etTimer.h\"");
_builder.newLine();
_builder.append("#include \"etRuntimeConfig.h\"");
_builder.newLine();
@@ -884,8 +900,6 @@ public class NodeGen {
_builder.newLine();
_builder.append("#include \"messaging/etMessageService.h\"");
_builder.newLine();
- _builder.append("#include \"platform/etMemory.h\"");
- _builder.newLine();
_builder.newLine();
_builder.append("/* include all used ActorClasses */");
_builder.newLine();
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
index 098b60adb..83bb5ac3b 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.inject.Inject;
@@ -14,17 +25,21 @@ import org.eclipse.etrice.generator.c.gen.CExtensions;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class NodeRunnerGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CExtensions _cExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
public void doGenerate(final Root root) {
@@ -104,8 +119,8 @@ public class NodeRunnerGen {
_builder.newLine();
_builder.append("#include \"debugging/etMSCLogger.h\"");
_builder.newLine();
- _builder.append("#include \"platform/etPlatform.h\"");
_builder.newLine();
+ _builder.append("#include \"osal/etPlatformLifecycle.h\"");
_builder.newLine();
_builder.newLine();
_builder.append("/**");
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
index 91dcd5e39..55c508ed0 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (changed for C code generator)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.common.base.Objects;
@@ -28,6 +39,7 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -35,18 +47,23 @@ import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public class ProtocolClassGen extends GenericProtocolClassGenerator {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CExtensions _cExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
index cc91d9405..fba5cf6cc 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.c.gen;
import com.google.inject.Inject;
@@ -9,11 +19,13 @@ import org.eclipse.etrice.core.room.State;
import org.eclipse.etrice.generator.generic.GenericStateMachineGenerator;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class StateMachineGen extends GenericStateMachineGenerator {
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
public CharSequence genHeaderConstants(final ExpandedActorClass xpac) {
diff --git a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
index ff2c9b4b7..11faac3fc 100644
--- a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
+++ b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 Juergen Haug
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug
+ */
package org.eclipse.etrice.generator.config;
import com.google.common.base.Objects;
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
index 65bf46776..107dd6d9f 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
@@ -33,6 +33,7 @@ import org.eclipse.etrice.generator.generic.ProcedureHelpers;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;
@@ -44,18 +45,23 @@ public class ActorClassGen extends GenericActorClassGenerator {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CppExtensions _cppExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private StateMachineGen _stateMachineGen;
@Inject
@@ -273,8 +279,8 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("\t\t\t");
List<Port> _endPorts = this._roomExtensions.getEndPorts(ac);
- final Function1<Port,CharSequence> _function_2 = new Function1<Port,CharSequence>() {
- public CharSequence apply(final Port port) {
+ final Function1<Port,String> _function_2 = new Function1<Port,String>() {
+ public String apply(final Port port) {
StringConcatenation _builder = new StringConcatenation();
String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(port);
_builder.append(_portClassName, "");
@@ -282,10 +288,10 @@ public class ActorClassGen extends GenericActorClassGenerator {
String _name = port.getName();
_builder.append(_name, "");
_builder.append(";");
- return _builder;
+ return _builder.toString();
}
};
- List<CharSequence> _map = ListExtensions.<Port, CharSequence>map(_endPorts, _function_2);
+ List<String> _map = ListExtensions.<Port, String>map(_endPorts, _function_2);
String _join = IterableExtensions.join(_map, "\n");
_builder.append(_join, " ");
_builder.newLineIfNotEmpty();
@@ -294,8 +300,8 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("\t\t\t");
EList<SAPRef> _strSAPs = ac.getStrSAPs();
- final Function1<SAPRef,CharSequence> _function_3 = new Function1<SAPRef,CharSequence>() {
- public CharSequence apply(final SAPRef sap) {
+ final Function1<SAPRef,String> _function_3 = new Function1<SAPRef,String>() {
+ public String apply(final SAPRef sap) {
StringConcatenation _builder = new StringConcatenation();
String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(sap);
_builder.append(_portClassName, "");
@@ -303,10 +309,10 @@ public class ActorClassGen extends GenericActorClassGenerator {
String _name = sap.getName();
_builder.append(_name, "");
_builder.append(";");
- return _builder;
+ return _builder.toString();
}
};
- List<CharSequence> _map_1 = ListExtensions.<SAPRef, CharSequence>map(_strSAPs, _function_3);
+ List<String> _map_1 = ListExtensions.<SAPRef, String>map(_strSAPs, _function_3);
String _join_1 = IterableExtensions.join(_map_1, "\n");
_builder.append(_join_1, " ");
_builder.newLineIfNotEmpty();
@@ -315,8 +321,8 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLine();
_builder.append("\t\t\t");
EList<ServiceImplementation> _serviceImplementations = ac.getServiceImplementations();
- final Function1<ServiceImplementation,CharSequence> _function_4 = new Function1<ServiceImplementation,CharSequence>() {
- public CharSequence apply(final ServiceImplementation svc) {
+ final Function1<ServiceImplementation,String> _function_4 = new Function1<ServiceImplementation,String>() {
+ public String apply(final ServiceImplementation svc) {
StringConcatenation _builder = new StringConcatenation();
String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(svc);
_builder.append(_portClassName, "");
@@ -325,10 +331,10 @@ public class ActorClassGen extends GenericActorClassGenerator {
String _name = _spp.getName();
_builder.append(_name, "");
_builder.append(";");
- return _builder;
+ return _builder.toString();
}
};
- List<CharSequence> _map_2 = ListExtensions.<ServiceImplementation, CharSequence>map(_serviceImplementations, _function_4);
+ List<String> _map_2 = ListExtensions.<ServiceImplementation, String>map(_serviceImplementations, _function_4);
String _join_2 = IterableExtensions.join(_map_2, "\n");
_builder.append(_join_2, " ");
_builder.newLineIfNotEmpty();
@@ -485,7 +491,7 @@ public class ActorClassGen extends GenericActorClassGenerator {
return _xblockexpression;
}
- private CharSequence generateConstructorInitalizerList(final ActorClass ac) {
+ private String generateConstructorInitalizerList(final ActorClass ac) {
ArrayList<CharSequence> _arrayList = new ArrayList<CharSequence>();
ArrayList<CharSequence> initializerList = _arrayList;
ActorClass _base = ac.getBase();
@@ -600,7 +606,7 @@ public class ActorClassGen extends GenericActorClassGenerator {
String _join = IterableExtensions.join(initializerList, ",\n");
_builder_5.append(_join, "");
_builder_5.newLineIfNotEmpty();
- return _builder_5;
+ return _builder_5.toString();
}
private CharSequence generateSourceFile(final Root root, final ExpandedActorClass xpac, final ActorClass ac) {
@@ -673,7 +679,7 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.append("const std::vector<std::vector<etRuntime::Address> >& peer_addr)");
_builder.newLine();
_builder.append(": ");
- CharSequence _generateConstructorInitalizerList = this.generateConstructorInitalizerList(ac);
+ String _generateConstructorInitalizerList = this.generateConstructorInitalizerList(ac);
_builder.append(_generateConstructorInitalizerList, "");
_builder.newLineIfNotEmpty();
_builder.append("{");
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
index 25db9c587..c4a6950d7 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 Juergen Haug
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug
+ */
package org.eclipse.etrice.generator.cpp.gen;
import com.google.common.base.Objects;
@@ -25,24 +35,29 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.StringExtensions;
@SuppressWarnings("all")
public class ConfigGenAddon {
@Inject
+ @Extension
private CppExtensions stdExt;
@Inject
+ @Extension
private TypeHelpers typeHelpers;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
private IDataConfiguration dataConfigExt;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
public CharSequence genActorInstanceConfig(final ActorInstance ai, final String aiVariableName) {
@@ -152,7 +167,7 @@ public class ConfigGenAddon {
}
}
_builder_2.append(" }");
- CharSequence arrayExpr = _builder_2;
+ String arrayExpr = _builder_2.toString();
StringConcatenation _builder_3 = new StringConcatenation();
_builder_3.append(invokes, "");
_builder_3.append(".");
@@ -220,7 +235,7 @@ public class ConfigGenAddon {
CharSequence _invokeGetter = this.helpers.invokeGetter(_name, null);
String _plus_1 = (_plus + _invokeGetter);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- CharSequence _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
+ Object _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
_builder.append(_applyInstanceConfig, "");
_builder.newLineIfNotEmpty();
}
@@ -414,7 +429,7 @@ public class ConfigGenAddon {
return _builder;
}
- public CharSequence genMinMaxConstants(final ActorClass ac) {
+ public String genMinMaxConstants(final ActorClass ac) {
StringConcatenation _builder = new StringConcatenation();
{
EList<Attribute> _attributes = ac.getAttributes();
@@ -427,13 +442,13 @@ public class ConfigGenAddon {
_builder.newLineIfNotEmpty();
}
}
- CharSequence result = _builder;
+ String result = _builder.toString();
int _length = result.length();
boolean _notEquals = (_length != 0);
if (_notEquals) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("//--------------------- Attribute Specifications");
- String _plus = (result + _builder_1.toString());
+ String _plus = (result + _builder_1);
result = _plus;
}
return result;
@@ -460,7 +475,7 @@ public class ConfigGenAddon {
String _name = e.getName();
String _plus_1 = (_plus + _name);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- CharSequence _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
+ Object _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
_builder.append(_genMinMaxConstantsRec, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
index fff0cfc07..a8be5d723 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.cpp.gen;
import com.google.common.base.Objects;
@@ -23,6 +33,7 @@ import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -31,12 +42,13 @@ public class CppExtensions implements ILanguageExtension {
private IDiagnostician diagnostician;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
public String getTypedDataDefinition(final Message m) {
VarDecl _data = m.getData();
String[] _generateArglistAndTypedData = this.generateArglistAndTypedData(_data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(1);
+ String _get = _generateArglistAndTypedData[1];
return _get;
}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
index 8aff81f59..6c82739a6 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
@@ -25,6 +25,7 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -32,21 +33,27 @@ import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public class DataClassGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CppExtensions stdExt;
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
+ @Extension
private TypeHelpers typeHelpers;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
index 25fb48169..7ac7edeed 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.cpp.gen;
import com.google.common.base.Objects;
@@ -15,6 +25,7 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;
@@ -23,9 +34,11 @@ import org.eclipse.xtext.xbase.lib.ListExtensions;
@SuppressWarnings("all")
public class Initialization {
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java
index f2df9e05c..4f21f4e4f 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.cpp.gen;
import com.google.inject.Inject;
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
index f08d2faa3..575969e26 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
@@ -36,27 +36,34 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@Singleton
@SuppressWarnings("all")
public class ProtocolClassGen extends GenericProtocolClassGenerator {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CppExtensions stdExt;
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
@@ -565,7 +572,7 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator {
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append(": ");
- CharSequence _generateConstructorInitalizerList = this.generateConstructorInitalizerList(pclass, "0");
+ String _generateConstructorInitalizerList = this.generateConstructorInitalizerList(pclass, "0");
_builder.append(_generateConstructorInitalizerList, " ");
_builder.newLineIfNotEmpty();
_builder.append("{");
@@ -599,7 +606,7 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator {
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append(": ");
- CharSequence _generateConstructorInitalizerList_1 = this.generateConstructorInitalizerList(pclass, "idx");
+ String _generateConstructorInitalizerList_1 = this.generateConstructorInitalizerList(pclass, "idx");
_builder.append(_generateConstructorInitalizerList_1, " ");
_builder.newLineIfNotEmpty();
_builder.append("{");
@@ -855,7 +862,7 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator {
return _xblockexpression;
}
- public CharSequence generateConstructorInitalizerList(final PortClass pc, final String index) {
+ public String generateConstructorInitalizerList(final PortClass pc, final String index) {
ArrayList<CharSequence> _arrayList = new ArrayList<CharSequence>();
ArrayList<CharSequence> initializerList = _arrayList;
StringConcatenation _builder = new StringConcatenation();
@@ -875,7 +882,7 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator {
String _join = IterableExtensions.join(initializerList, ",\n");
_builder_1.append(_join, "");
_builder_1.newLineIfNotEmpty();
- return _builder_1;
+ return _builder_1.toString();
}
private CharSequence messageCall(final Message m) {
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
index d0ea74df4..9f0eef69c 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.cpp.gen;
import com.google.inject.Inject;
@@ -16,11 +26,13 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.Tuples;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class StateMachineGen extends GenericStateMachineGenerator {
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemClassGen.java
index 368d980b1..c6bcbee84 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemClassGen.java
@@ -21,6 +21,7 @@ import org.eclipse.etrice.generator.generic.ProcedureHelpers;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -29,12 +30,15 @@ public class SubSystemClassGen {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CppExtensions _cppExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemRunnerGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemRunnerGen.java
index b84ba20fd..fbed8a340 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/SubSystemRunnerGen.java
@@ -10,17 +10,21 @@ import org.eclipse.etrice.generator.cpp.gen.CppExtensions;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class SubSystemRunnerGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private CppExtensions _cppExtensions;
@Inject
+ @Extension
private RoomExtensions roomExt;
public void doGenerate(final Root root) {
diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
index ce99ce171..6664970bf 100644
--- a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Jung, Thomas Schuetz (initial contribution)
+ */
package org.eclipse.etrice.generator.doc.gen;
import com.google.common.base.Objects;
@@ -32,15 +42,18 @@ import org.eclipse.etrice.generator.base.IRoomGenerator;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@Singleton
@SuppressWarnings("all")
public class DocGen implements IRoomGenerator {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
@@ -827,7 +840,7 @@ public class DocGen implements IRoomGenerator {
boolean _isLeaf = this.roomExt.isLeaf(s_1);
boolean _not = (!_isLeaf);
if (_not) {
- CharSequence _generateStateDoc = this.generateStateDoc(model, ac, s_1);
+ Object _generateStateDoc = this.generateStateDoc(model, ac, s_1);
_builder.append(_generateStateDoc, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java
index ec54b2af0..65d3ed5af 100644
--- a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/InstanceDiagramGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.doc.gen;
import com.google.common.base.Objects;
@@ -23,14 +33,17 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.xbase.lib.Exceptions;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class InstanceDiagramGen implements IRoomGenerator {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
@@ -204,7 +217,7 @@ public class InstanceDiagramGen implements IRoomGenerator {
{
EList<ActorInstance> _instances = ai.getInstances();
for(final ActorInstance sub_ai : _instances) {
- CharSequence _instance = this.instance(sub_ai);
+ Object _instance = this.instance(sub_ai);
_builder.append(_instance, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java
index 28eaa6ec8..ccad381e5 100644
--- a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.doc.gen;
import com.google.inject.Inject;
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
index 85ec4254a..4630a0a3b 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
@@ -1,3 +1,6 @@
+/**
+ * generated by Xtext
+ */
package org.eclipse.etrice.generator.generator;
import org.eclipse.emf.ecore.resource.Resource;
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
index d7e01dcaa..31bbe235f 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -31,6 +41,7 @@ import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.StateMachineGen;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -41,9 +52,11 @@ public class ActorClassGen extends GenericActorClassGenerator {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private JavaExtensions _javaExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
@@ -53,12 +66,15 @@ public class ActorClassGen extends GenericActorClassGenerator {
private ConfigGenAddon configGenAddon;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
+ @Extension
private StateMachineGen _stateMachineGen;
@Inject
@@ -269,7 +285,7 @@ public class ActorClassGen extends GenericActorClassGenerator {
_builder.newLineIfNotEmpty();
_builder.newLine();
_builder.append("\t");
- CharSequence _genMinMaxConstants = this.configGenAddon.genMinMaxConstants(ac);
+ String _genMinMaxConstants = this.configGenAddon.genMinMaxConstants(ac);
_builder.append(_genMinMaxConstants, " ");
_builder.newLineIfNotEmpty();
_builder.append("\t");
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
index 6fce554f8..318efc8d0 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 Juergen Haug
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -24,24 +34,29 @@ import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.etrice.generator.java.gen.Initialization;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.StringExtensions;
@SuppressWarnings("all")
public class ConfigGenAddon {
@Inject
+ @Extension
private JavaExtensions stdExt;
@Inject
+ @Extension
private TypeHelpers typeHelpers;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
private IDataConfiguration dataConfigExt;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
@@ -130,7 +145,7 @@ public class ConfigGenAddon {
CharSequence _invokeGetter = this.helpers.invokeGetter(_name, null);
String _plus_1 = (_plus + _invokeGetter);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- CharSequence _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
+ Object _applyInstanceConfig = this.applyInstanceConfig(instance, _plus_1, _union);
_builder.append(_applyInstanceConfig, "");
_builder.newLineIfNotEmpty();
}
@@ -323,7 +338,7 @@ public class ConfigGenAddon {
return _builder;
}
- public CharSequence genMinMaxConstants(final ActorClass ac) {
+ public String genMinMaxConstants(final ActorClass ac) {
StringConcatenation _builder = new StringConcatenation();
{
List<Attribute> _allAttributes = this._roomExtensions.getAllAttributes(ac);
@@ -336,13 +351,13 @@ public class ConfigGenAddon {
_builder.newLineIfNotEmpty();
}
}
- CharSequence result = _builder;
+ String result = _builder.toString();
int _length = result.length();
boolean _notEquals = (_length != 0);
if (_notEquals) {
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("//--------------------- Attribute Specifications");
- String _plus = (result + _builder_1.toString());
+ String _plus = (result + _builder_1);
result = _plus;
}
return result;
@@ -368,7 +383,7 @@ public class ConfigGenAddon {
String _name = e.getName();
String _plus_1 = (_plus + _name);
List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- CharSequence _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
+ Object _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus_1, _union);
_builder.append(_genMinMaxConstantsRec, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
index 75104c263..16ab62063 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -22,6 +32,7 @@ import org.eclipse.etrice.generator.java.gen.Initialization;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -32,15 +43,19 @@ public class DataClassGen {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private JavaExtensions _javaExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
index 1e5c9d2b0..4a11b7c1b 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -18,21 +28,26 @@ import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@Singleton
@SuppressWarnings("all")
public class Initialization {
@Inject
+ @Extension
private TypeHelpers typeHelpers;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private JavaExtensions languageExt;
@Inject
+ @Extension
private ProcedureHelpers procedureHelpers;
public CharSequence attributeInitialization(final List<Attribute> attribs, final EObject roomClass, final boolean useClassDefaultsOnly) {
@@ -141,37 +156,44 @@ public class Initialization {
}
private CharSequence attributeInitPrimitiveRec(final List<Attribute> path, final EObject roomClass) {
- Attribute a = IterableExtensions.<Attribute>last(path);
- RefableType _refType = a.getRefType();
- DataType aType = _refType.getType();
- boolean _isDataClass = this.typeHelpers.isDataClass(aType);
- if (_isDataClass) {
- StringConcatenation _builder = new StringConcatenation();
- {
- List<Attribute> _allAttributes = this._roomExtensions.getAllAttributes(((DataClass) aType));
- for(final Attribute e : _allAttributes) {
- List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
- CharSequence _attributeInitPrimitiveRec = this.attributeInitPrimitiveRec(_union, roomClass);
- _builder.append(_attributeInitPrimitiveRec, "");
- _builder.newLineIfNotEmpty();
+ CharSequence _xblockexpression = null;
+ {
+ Attribute a = IterableExtensions.<Attribute>last(path);
+ RefableType _refType = a.getRefType();
+ DataType aType = _refType.getType();
+ CharSequence _xifexpression = null;
+ boolean _isDataClass = this.typeHelpers.isDataClass(aType);
+ if (_isDataClass) {
+ StringConcatenation _builder = new StringConcatenation();
+ {
+ List<Attribute> _allAttributes = this._roomExtensions.getAllAttributes(((DataClass) aType));
+ for(final Attribute e : _allAttributes) {
+ List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
+ Object _attributeInitPrimitiveRec = this.attributeInitPrimitiveRec(_union, roomClass);
+ _builder.append(_attributeInitPrimitiveRec, "");
+ _builder.newLineIfNotEmpty();
+ }
}
- }
- return _builder;
- } else {
- boolean _isPrimitive = this.typeHelpers.isPrimitive(aType);
- if (_isPrimitive) {
- String value = this.getDataConfigValue(path, roomClass);
- CharSequence _xifexpression = null;
- boolean _notEquals = (!Objects.equal(value, null));
- if (_notEquals) {
- String _valueLiteral = this.languageExt.toValueLiteral(((PrimitiveType) aType), value);
- CharSequence _attributeInit = this.attributeInit(path, _valueLiteral);
- _xifexpression = _attributeInit;
+ return _builder.toString();
+ } else {
+ CharSequence _xifexpression_1 = null;
+ boolean _isPrimitive = this.typeHelpers.isPrimitive(aType);
+ if (_isPrimitive) {
+ String value = this.getDataConfigValue(path, roomClass);
+ CharSequence _xifexpression_2 = null;
+ boolean _notEquals = (!Objects.equal(value, null));
+ if (_notEquals) {
+ String _valueLiteral = this.languageExt.toValueLiteral(((PrimitiveType) aType), value);
+ CharSequence _attributeInit = this.attributeInit(path, _valueLiteral);
+ _xifexpression_2 = _attributeInit;
+ }
+ return _xifexpression_2;
}
- return _xifexpression;
+ _xifexpression = _xifexpression_1;
}
+ _xblockexpression = (_xifexpression);
}
- return null;
+ return _xblockexpression;
}
private CharSequence attributeInit(final Attribute a, final String value) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
index a9ab1274e..834f9492f 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -29,7 +39,7 @@ public class JavaExtensions implements ILanguageExtension {
public String getTypedDataDefinition(final Message m) {
VarDecl _data = m.getData();
String[] _generateArglistAndTypedData = this.generateArglistAndTypedData(_data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(1);
+ String _get = _generateArglistAndTypedData[1];
return _get;
}
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
index fba8b068e..7f6f3f678 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.inject.Inject;
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
index c917da30e..dd91ed91c 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -30,6 +40,7 @@ import org.eclipse.etrice.generator.java.gen.Initialization;
import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -38,21 +49,27 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private JavaExtensions _javaExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
+ @Extension
private Initialization _initialization;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
+ @Extension
private DataClassGen _dataClassGen;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
index e6ac84165..354b30323 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.inject.Inject;
@@ -10,11 +20,13 @@ import org.eclipse.etrice.generator.generic.GenericStateMachineGenerator;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.etrice.generator.java.gen.GlobalSettings;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class StateMachineGen extends GenericStateMachineGenerator {
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
public CharSequence genExtra(final ExpandedActorClass xpac) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
index 74ae81849..bfd955540 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.inject.Inject;
@@ -22,6 +32,7 @@ import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.etrice.generator.java.gen.VariableServiceGen;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
@@ -30,9 +41,11 @@ public class SubSystemClassGen {
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private JavaExtensions _javaExtensions;
@Inject
+ @Extension
private RoomExtensions _roomExtensions;
@Inject
@@ -42,6 +55,7 @@ public class SubSystemClassGen {
private ConfigGenAddon configGenAddon;
@Inject
+ @Extension
private ProcedureHelpers _procedureHelpers;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
index 9e07a9411..4ab792769 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/SubSystemRunnerGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.inject.Inject;
@@ -11,14 +21,17 @@ import org.eclipse.etrice.core.room.SubSystemClass;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class SubSystemRunnerGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private RoomExtensions roomExt;
public void doGenerate(final Root root) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
index 95defa193..89135ea52 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 Juergen Haug
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Juergen Haug
+ */
package org.eclipse.etrice.generator.java.gen;
import com.google.common.base.Objects;
@@ -32,6 +42,7 @@ import org.eclipse.etrice.generator.java.gen.JavaExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import org.eclipse.xtext.xbase.lib.StringExtensions;
@@ -40,21 +51,26 @@ import org.eclipse.xtext.xbase.lib.StringExtensions;
@SuppressWarnings("all")
public class VariableServiceGen {
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
+ @Extension
private JavaExtensions stdExt;
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
private IDataConfiguration configExt;
@Inject
+ @Extension
private ProcedureHelpers helpers;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
@@ -714,7 +730,7 @@ public class VariableServiceGen {
List<Attribute> _allAttributes = this.roomExt.getAllAttributes(dataClass);
for(final Attribute at : _allAttributes) {
List<Attribute> _union = this.roomExt.<Attribute>union(path, at);
- CharSequence _genGetAttributeValues = this.genGetAttributeValues(_union, ai);
+ Object _genGetAttributeValues = this.genGetAttributeValues(_union, ai);
_builder_1.append(_genGetAttributeValues, "");
_builder_1.newLineIfNotEmpty();
}
@@ -864,7 +880,7 @@ public class VariableServiceGen {
List<Attribute> _allAttributes = this.roomExt.getAllAttributes(dataClass);
for(final Attribute at : _allAttributes) {
List<Attribute> _union = this.roomExt.<Attribute>union(path, at);
- CharSequence _genSetAttributeValues1 = this.genSetAttributeValues1(_union, ai);
+ Object _genSetAttributeValues1 = this.genSetAttributeValues1(_union, ai);
_builder_1.append(_genSetAttributeValues1, "");
_builder_1.newLineIfNotEmpty();
}
@@ -952,7 +968,7 @@ public class VariableServiceGen {
List<Attribute> _allAttributes = this.roomExt.getAllAttributes(dataClass);
for(final Attribute at : _allAttributes) {
List<Attribute> _union = this.roomExt.<Attribute>union(path, at);
- CharSequence _genSetAttributeValues2 = this.genSetAttributeValues2(_union, ai);
+ Object _genSetAttributeValues2 = this.genSetAttributeValues2(_union, ai);
_builder.append(_genSetAttributeValues2, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/RoomExtensions.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/RoomExtensions.xtend
index 3ca6b8f36..3e11877ec 100644
--- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/RoomExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/RoomExtensions.xtend
@@ -227,6 +227,10 @@ class RoomExtensions {
""
}
+ def dispatch String getPortClassName(ExternalPort p){
+ return p.ifport.getPortClassName()
+ }
+
def dispatch getPortClassName(SAPRef sap) {
return sap.protocol.getPortClassName(true)
}
@@ -243,10 +247,6 @@ class RoomExtensions {
p.name + (if (conj) "Conj" else "") + (if (repl) "Repl" else "") +"Port"
}
- def dispatch String getPortClassName(ExternalPort p){
- return p.ifport.getPortClassName()
- }
-
def dispatch String getPortClassName(ServiceImplementation svc) {
return svc.spp.protocol.getPortClassName(false, true)
}
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
index fb9ff2024..f0b48ce02 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.inject.Inject;
@@ -14,13 +24,16 @@ import org.eclipse.etrice.generator.generic.ILanguageExtension;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.Tuples;
+import org.eclipse.xtext.xbase.lib.Extension;
@SuppressWarnings("all")
public class GenericActorClassGenerator {
@Inject
+ @Extension
private ILanguageExtension langExt;
@Inject
+ @Extension
private RoomExtensions roomExt;
public String genInterfaceItemConstants(final ExpandedActorClass xpac, final ActorClass ac) {
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
index 66a2003d5..17194e0a1 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.inject.Inject;
@@ -15,13 +25,16 @@ import org.eclipse.etrice.generator.generic.ILanguageExtension;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.Tuples;
+import org.eclipse.xtext.xbase.lib.Extension;
@SuppressWarnings("all")
public class GenericProtocolClassGenerator {
@Inject
+ @Extension
private ILanguageExtension langExt;
@Inject
+ @Extension
private RoomExtensions roomExt;
public String genMessageIDs(final ProtocolClass pc) {
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
index 8fb7879b4..308c18e95 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.common.base.Objects;
@@ -34,6 +44,7 @@ import org.eclipse.etrice.generator.generic.TransitionChainGenerator;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.Tuples;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -43,6 +54,7 @@ public class GenericStateMachineGenerator {
protected ILanguageExtension langExt;
@Inject
+ @Extension
protected RoomExtensions _roomExtensions;
@Inject
@@ -1299,7 +1311,7 @@ public class GenericStateMachineGenerator {
if ((_eContainer_1 instanceof State)) {
EObject _eContainer_2 = state.eContainer();
EObject _eContainer_3 = _eContainer_2.eContainer();
- CharSequence _genDoCodes = this.genDoCodes(((State) _eContainer_3));
+ Object _genDoCodes = this.genDoCodes(((State) _eContainer_3));
_builder.append(_genDoCodes, "");
_builder.newLineIfNotEmpty();
}
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
index 828ac29cc..2a250144d 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.inject.Inject;
@@ -14,14 +24,17 @@ import org.eclipse.etrice.core.room.RoomModel;
import org.eclipse.etrice.generator.generic.RoomExtensions;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.xbase.lib.Extension;
@Singleton
@SuppressWarnings("all")
public class PrepareFileSystem {
@Inject
+ @Extension
private RoomExtensions roomExt;
@Inject
+ @Extension
private JavaIoFileSystemAccess fileAccess;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
index 555ccdf7f..e7736759e 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
@@ -1,3 +1,14 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ * Thomas Schuetz (refactoring, adapted for other target languages)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.common.base.Objects;
@@ -23,6 +34,7 @@ import org.eclipse.etrice.generator.generic.ILanguageExtension;
import org.eclipse.etrice.generator.generic.TypeHelpers;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Conversions;
+import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.StringExtensions;
@Singleton
@@ -32,6 +44,7 @@ public class ProcedureHelpers {
private ILanguageExtension languageExt;
@Inject
+ @Extension
private TypeHelpers _typeHelpers;
@Inject
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
index 9c1dd65dd..0f044be7e 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.common.base.Objects;
@@ -303,6 +313,11 @@ public class RoomExtensions {
return _xifexpression;
}
+ protected String _getPortClassName(final ExternalPort p) {
+ Port _ifport = p.getIfport();
+ return this.getPortClassName(_ifport);
+ }
+
protected String _getPortClassName(final SAPRef sap) {
ProtocolClass _protocol = sap.getProtocol();
return this.getPortClassName(_protocol, true);
@@ -338,11 +353,6 @@ public class RoomExtensions {
return _plus_2;
}
- protected String _getPortClassName(final ExternalPort p) {
- Port _ifport = p.getIfport();
- return this.getPortClassName(_ifport);
- }
-
protected String _getPortClassName(final ServiceImplementation svc) {
SPPRef _spp = svc.getSpp();
ProtocolClass _protocol = _spp.getProtocol();
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
index 4a0366656..de4e556ac 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ */
package org.eclipse.etrice.generator.generic;
import com.google.common.base.Objects;
@@ -21,7 +31,6 @@ import org.eclipse.etrice.core.room.VarDecl;
import org.eclipse.etrice.core.room.util.RoomHelpers;
import org.eclipse.etrice.generator.base.IDataConfiguration;
import org.eclipse.etrice.generator.generic.ILanguageExtension;
-import org.eclipse.xtext.xbase.lib.Conversions;
@Singleton
@SuppressWarnings("all")
@@ -52,19 +61,19 @@ public class TypeHelpers {
public String getArgumentList(final VarDecl data) {
String[] _generateArglistAndTypedData = this.languageExt.generateArglistAndTypedData(data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(0);
+ String _get = _generateArglistAndTypedData[0];
return _get;
}
public String getTypedDataDefinition(final VarDecl data) {
String[] _generateArglistAndTypedData = this.languageExt.generateArglistAndTypedData(data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(1);
+ String _get = _generateArglistAndTypedData[1];
return _get;
}
public String generateTypedArgumentList(final VarDecl data) {
String[] _generateArglistAndTypedData = this.languageExt.generateArglistAndTypedData(data);
- String _get = ((List<String>)Conversions.doWrapArray(_generateArglistAndTypedData)).get(2);
+ String _get = _generateArglistAndTypedData[2];
return _get;
}
diff --git a/runtime/org.eclipse.etrice.modellib.c/.gitignore b/runtime/org.eclipse.etrice.modellib.c/.gitignore
index 76b025ad1..c95afa8e8 100644
--- a/runtime/org.eclipse.etrice.modellib.c/.gitignore
+++ b/runtime/org.eclipse.etrice.modellib.c/.gitignore
@@ -1,2 +1,3 @@
Debug
Release
+src-gen-info
diff --git a/runtime/org.eclipse.etrice.runtime.c/.cproject b/runtime/org.eclipse.etrice.runtime.c/.cproject
index 8700d49e2..30786f557 100644
--- a/runtime/org.eclipse.etrice.runtime.c/.cproject
+++ b/runtime/org.eclipse.etrice.runtime.c/.cproject
@@ -23,7 +23,7 @@
<folderInfo id="cdt.managedbuild.config.gnu.mingw.lib.debug.505530637." name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.lib.debug.897987799" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.lib.debug">
<targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.lib.debug.1195644765" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.lib.debug"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1199468624" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base">
+ <builder buildPath="${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1199468624" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
@@ -41,7 +41,7 @@
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.lib.debug.option.optimization.level.157947957" name="Optimization Level" superClass="gnu.c.compiler.mingw.lib.debug.option.optimization.level" valueType="enumerated"/>
<option id="gnu.c.compiler.mingw.lib.debug.option.debugging.level.1083191317" name="Debug Level" superClass="gnu.c.compiler.mingw.lib.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.790097072" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/platforms/generic}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/platforms/MT_WIN_MinGW}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/common}&quot;"/>
</option>
@@ -53,7 +53,7 @@
</folderInfo>
<sourceEntries>
<entry excluding="test|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- <entry excluding="platforms/ST_MSP430_F5438_CCS5_EXP430F5438|platforms/MSP430|platforms/ST_MSP430_F5438_CCS5_HWElevator|platforms/ST_MSP430_G2553_CCS5_LaunchPad|platforms/ST_CoretexM3_Euros_GCCELF_SK_FM3_176PMC_Ethernet" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry excluding="platforms/MT_POSIX_GENERIC_GCC|platforms/ST_MSP430_F5438_CCS5_EXP430F5438|platforms/MSP430|platforms/ST_MSP430_F5438_CCS5_HWElevator|platforms/ST_MSP430_G2553_CCS5_LaunchPad|platforms/ST_CoretexM3_Euros_GCCELF_SK_FM3_176PMC_Ethernet" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
@@ -99,7 +99,7 @@
</folderInfo>
<sourceEntries>
<entry excluding="test|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- <entry excluding="platforms/ST_MSP430_F5438_CCS5_EXP430F5438|platforms/MSP430|platforms/ST_MSP430_F5438_CCS5_HWElevator|platforms/ST_MSP430_G2553_CCS5_LaunchPad" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry excluding="platforms/MT_POSIX_GENERIC_GCC|platforms/ST_MSP430_F5438_CCS5_EXP430F5438|platforms/MSP430|platforms/ST_MSP430_F5438_CCS5_HWElevator|platforms/ST_MSP430_G2553_CCS5_LaunchPad" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/debugging/etMSCLogger.c b/runtime/org.eclipse.etrice.runtime.c/src/common/debugging/etMSCLogger.c
index 547eec00b..6b032cf49 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/debugging/etMSCLogger.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/debugging/etMSCLogger.c
@@ -11,13 +11,14 @@
*******************************************************************************/
#include "debugging/etMSCLogger.h"
-
#include "debugging/etLogger.h"
-#include "platform/etPlatform.h"
+
+#include "osal/etThread.h"
static etFileHandle etMSCLogger_fileHandle = NULL;
static char* etMSCLogger_objectName = "";
+/*TODO: move or replace ET_MAX_FILENAME_LEN */
#define ET_MAX_FILENAME_LEN 256
void etMSCLogger_open(char* logPath, char* mscName){
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.c b/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.c
new file mode 100644
index 000000000..1aadc102c
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.c
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "helpers/etTimeHelpers.h"
+
+void etTimeHelpers_subtract(etTime *first, etTime* second){
+ /* TODO: implement */
+}
+
+void etTimeHelpers_add(etTime *first, etTime* second){
+ /* TODO: implement */
+}
+
+etInt32 etTimeHelpers_convertToMSec(etTime *time){
+ return time->sec * 1000 + time->nSec / 1000000;
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.h b/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.h
new file mode 100644
index 000000000..71f20e4ce
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/helpers/etTimeHelpers.h
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef ETTIMEHELPERS_H_
+#define ETTIMEHELPERS_H_
+
+#include "osal/etTime.h"
+
+void etTime_subtract(etTime *self, etTime* subtractValue);
+void etTime_add(etTime *self, etTime* addValue);
+etInt32 etTimeHelpers_convertToMSec(etTime *time);
+
+
+#endif /* ETTIMEHELPERS_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etMessageService.h b/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etMessageService.h
index 7bfeaa2a0..b37f98391 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etMessageService.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etMessageService.h
@@ -17,7 +17,10 @@
#include "etDatatypes.h"
#include "messaging/etMessageQueue.h"
#include "messaging/etMessageReceiver.h"
-#include "platform/etPlatform.h"
+
+#include "osal/etMutex.h"
+#include "osal/etThread.h"
+#include "osal/etSema.h"
enum etMessageService_execmode {
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etWakeupService.h b/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etWakeupService.h
index c8a54213a..c6c5d4ba1 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etWakeupService.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/messaging/etWakeupService.h
@@ -16,13 +16,8 @@
#include "etDatatypes.h"
#include "etSystemProtocol.h"
-/**
- * time definition composed by the number of seconds and the number of nano seconds
- */
-typedef struct etTime {
- etInt32 seconds;
- etInt32 nseconds;
-} etTime;
+#include "osal/etTime.h"
+
typedef struct etWakeupTarget {
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etPort.c b/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etPort.c
index 0bf0a8fc7..a1e734618 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etPort.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etPort.c
@@ -13,7 +13,7 @@
#include "modelbase/etPort.h"
#include "debugging/etMSCLogger.h"
-#include "platform/etMemory.h"
+#include "osal/etMemory.h"
#include <string.h>
/*
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etRTSystemServicesProtocol.h b/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etRTSystemServicesProtocol.h
index c192f452d..aab631482 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etRTSystemServicesProtocol.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/modelbase/etRTSystemServicesProtocol.h
@@ -10,8 +10,8 @@
*
*******************************************************************************/
-#ifndef ETRTSYSTEMSERVICESPROTOCOL_H_
-#define ETRTSYSTEMSERVICESPROTOCOL_H_
+#ifndef _ETRTSYSTEMSERVICESPROTOCOL_H_
+#define _ETRTSYSTEMSERVICESPROTOCOL_H_
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etMemory.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMemory.h
index 61c283a24..7854b1dbf 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etMemory.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMemory.h
@@ -1,25 +1,25 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Henrik Rentz-Reichert (initial contribution)
- *
- *******************************************************************************/
-
-#ifndef _ETMEMORY_H_
-#define _ETMEMORY_H_
-
-#include "etDatatypes.h"
-#include "etRuntimeConfig.h"
-
-#define CONSTANT_MEM_CEIL(n) \
- ((n)+(((int32)STRUCT_ALIGN-((n)&((int32)STRUCT_ALIGN-1)))&((int32)STRUCT_ALIGN-1)))
-
-#define MEM_ALIGNMENT STRUCT_ALIGN /* power of 2 and >= sizeof(int) ! */
-#define MEM_CEIL(n) CONSTANT_MEM_CEIL(n)
-
-#endif /* _ETMEMORY_H_ */
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETMEMORY_H_
+#define _ETMEMORY_H_
+
+#include "etDatatypes.h"
+#include "etRuntimeConfig.h"
+
+#define CONSTANT_MEM_CEIL(n) \
+ ((n)+(((int32)STRUCT_ALIGN-((n)&((int32)STRUCT_ALIGN-1)))&((int32)STRUCT_ALIGN-1)))
+
+#define MEM_ALIGNMENT STRUCT_ALIGN /* power of 2 and >= sizeof(int) ! */
+#define MEM_CEIL(n) CONSTANT_MEM_CEIL(n)
+
+#endif /* _ETMEMORY_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMutex.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMutex.h
new file mode 100644
index 000000000..cff62f5f8
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etMutex.h
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *
+ *******************************************************************************/
+
+#ifndef _ETMUTEX_H_
+#define _ETMUTEX_H_
+
+/**
+ * etMutex.h defines a generic interface for platform specific implementations of a mutex
+ *
+ * */
+
+#include "etDatatypes.h"
+
+/**
+ * etMutex holds the object data for a mutex (for self pointer)
+ *
+ * */
+typedef struct etMutex {
+ etOSMutexData osData;
+} etMutex;
+
+void etMutex_construct(etMutex* self);
+void etMutex_destruct(etMutex* self);
+void etMutex_enter(etMutex* self);
+void etMutex_leave(etMutex* self);
+
+
+#endif /* _ETMUTEX_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etPlatformLifecycle.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etPlatformLifecycle.h
new file mode 100644
index 000000000..8bf41170f
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etPlatformLifecycle.h
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETPLATFORMLIFECYCLE_H_
+#define _ETPLATFORMLIFECYCLE_H_
+
+/**
+ * etPlatformLifecycle.h defines a generic interface for platform specific startup and shutdown functions
+ * those functions are called at specific points during the lifecycle of an eTrice application
+ * they can be used to integrate and execute platform or OS specific code
+ *
+ * */
+
+#include "etDatatypes.h"
+
+
+/**
+ * Platform specific code, called at the start of the system startup of the main function
+ * */
+void etUserEntry(void);
+
+/**
+ * Platform specific code, called at the end of the startup right before the start of the actual application
+ * */
+void etUserPreRun(void);
+
+/**
+ * Platform specific code, called at the beginning of the shutdown right after before the stop of the actual application
+ * */
+void etUserPostRun(void);
+
+/**
+ * Platform specific code, called at the end of the system shutdown of the main function
+ * */
+void etUserExit(void);
+
+#endif /* _ETPLATFORMLIFECYCLE_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etSema.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etSema.h
new file mode 100644
index 000000000..8ab3ecf82
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etSema.h
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETSEMA_H_
+#define _ETSEMA_H_
+
+/**
+ * etSema.h defines a generic interface for platform specific implementations of a semaphore
+ *
+ * */
+
+#include "etDatatypes.h"
+
+/**
+ * etSema holds the object data for a semaphore (for self pointer)
+ *
+ * */
+typedef struct etSema {
+ etOSSemaData osData;
+} etSema;
+
+void etSema_construct(etSema* self);
+void etSema_destruct(etSema* self);
+void etSema_wakeup(etSema* self);
+void etSema_waitForWakeup(etSema* self);
+
+
+#endif /* _ETSEMA_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etPlatform.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etThread.h
index b332e2140..2262dd295 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etPlatform.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etThread.h
@@ -1,104 +1,80 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz (initial contribution)
- *
- *******************************************************************************/
-
-#ifndef __ETPLATFORM_H__
-#define __ETPLATFORM_H__
-
-#include "etDatatypes.h"
-
-/**
- * etPlatform.h defines a generic interface for platform specific implementations
- *
- * */
-
-/*
- * typedefs
- */
-
-typedef int32 etStacksize;
-typedef int32 etPriority;
-typedef charPtr etThreadname;
-typedef void (*etThreadFunction)(void *);
-
-/**
- * etThread holds all data needed to handle a thread instance
- * the struct has to be filled before calling etThread_construct except for osData and osId
- **/
-typedef struct etThread{
- etOSThreadData osData; /**< OS specific thread data (e.g. handle or id) -> is filled in by etThread_construct **/
- etOSThreadId osId; /**< integer thread id (used e.g. for debugging) -> is filled in by etThread_construct **/
- etStacksize stacksize; /**< configuration of stacksize -> has to be filled in by caller of etThread_construct **/
- etPriority priority; /**< configuration of priority -> has to be filled in by caller of etThread_construct **/
- etThreadname threadName; /**< configuration of threadName -> has to be filled in by caller of etThread_construct **/
- etThreadFunction threadFunction; /**< call back function to be called by thread -> has to be filled in by caller of etThread_construct **/
- void* threadFunctionData; /**< data for call back function to be called by thread -> has to be filled in by caller of etThread_construct **/
-} etThread;
-
-/**
- * create and start a new thread
- * \param self pointer to thread instance
- */
-// TODO: add return values for error handling
-void etThread_construct(etThread* self);
-
-/**
- * stop and destroy a new thread
- * \param self pointer to thread instance
- */
-void etThread_destruct(etThread* self);
-
-/**
- * pausing the execution of the thread for <b>millis</b> milliseconds
- * \param millis sleeping time in milliseconds
- */
-void etThread_sleep(etInt32 millis);
-etOSThreadData etThread_self(void);
-etOSThreadId etThread_self_id(void);
-
-
-/*****************mutex**********************/
-
-typedef struct etMutex {
- etOSMutexData osData;
-} etMutex;
-
-void etMutex_construct(etMutex* self);
-void etMutex_destruct(etMutex* self);
-void etMutex_enter(etMutex* self);
-void etMutex_leave(etMutex* self);
-
-/********************semaphore****************/
-
-typedef struct etSema {
- etOSSemaData osData;
-} etSema;
-
-void etSema_construct(etSema* self);
-void etSema_destruct(etSema* self);
-void etSema_wakeup(etSema* self);
-void etSema_waitForWakeup(etSema* self);
-
-/*********************************************/
-
-
-
-/*
- * Platform startup and shutdown -> generated code for SubSystemClass uses these interfaces
- * */
-
-void etUserEntry(void);
-void etUserPreRun(void);
-/* void etUserRun(void); */ /* TODO: do we need this function? */
-void etUserPostRun(void);
-void etUserExit(void);
-
-#endif /* __ETPLATFORM_H__ */
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETTHREAD_H_
+#define _ETTHREAD_H_
+
+/**
+ * etThread.h defines a generic interface for platform specific implementations of a thread
+ *
+ * */
+
+
+#include "etDatatypes.h"
+
+/*
+ * typedefs for etThread
+ */
+
+typedef int32 etStacksize;
+typedef int32 etPriority;
+typedef charPtr etThreadname;
+typedef void (*etThreadFunction)(void *);
+
+/**
+ * etThread holds all data needed to handle a thread instance
+ * the struct has to be filled before calling etThread_construct except for osData and osId
+ **/
+typedef struct etThread{
+ etOSThreadData osData; /**< OS specific thread data (e.g. handle or id) -> is filled in by etThread_construct **/
+ etOSThreadId osId; /**< integer thread id (used e.g. for debugging) -> is filled in by etThread_construct **/
+ etStacksize stacksize; /**< configuration of stacksize -> has to be filled in by caller of etThread_construct **/
+ etPriority priority; /**< configuration of priority -> has to be filled in by caller of etThread_construct **/
+ etThreadname threadName; /**< configuration of threadName -> has to be filled in by caller of etThread_construct **/
+ etThreadFunction threadFunction; /**< call back function to be called by thread -> has to be filled in by caller of etThread_construct **/
+ void* threadFunctionData; /**< data for call back function to be called by thread -> has to be filled in by caller of etThread_construct **/
+} etThread;
+
+// TODO: add return values for error handling
+
+/**
+ * create and start a new thread
+ * \param self pointer to thread instance
+ */
+void etThread_construct(etThread* self); /*TODO: add all neededarguments to constructor arguments */
+
+/**
+ * stop and destroy a new thread
+ * \param self pointer to thread instance
+ */
+void etThread_destruct(etThread* self);
+
+/**
+ * pausing the execution of the thread for <b>millis</b> milliseconds
+ * \param millis sleeping time in milliseconds
+ */
+void etThread_sleep(etInt32 millis);
+
+/**
+ * get the self pointer of the OS specific data (e.g. handle) of the current thread
+ * \return self pointer of the OS specific data (e.g. handle) of the current thread
+ */
+etOSThreadData etThread_self(void);
+
+/**
+ * get the unique id of the current thread
+ * \return unique id of the current thread
+ */
+etOSThreadId etThread_self_id(void);
+
+
+#endif /* _ETTHREAD_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTime.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTime.h
new file mode 100644
index 000000000..56f2db35b
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTime.h
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETTIME_H_
+#define _ETTIME_H_
+
+/**
+ * etTime.h defines a generic interface for platform specific implementations of services around time
+ *
+ * */
+#include "etDatatypes.h"
+
+/**
+ * time definition composed by the number of seconds and the number of nano seconds
+ */
+typedef struct etTime {
+ etInt32 sec;
+ etInt32 nSec;
+} etTime;
+
+/**
+ * get current time from target hardware
+ * this is no real world clock time and date
+ * should be used only for relative time measurement
+ * @return current target time as etTime*
+ */
+void getTimeFromTarget(etTime *t);
+
+/*
+ * TODO: remove old API functions
+int isTimeGreaterThanActualTime(const etTime *t);
+etBool etTimer_executeNeeded(void);
+uint32 getTimeBaseNS(void);
+
+uint32 getTimeBaseUS(void);
+
+uint32 getTimeBaseMS(void);
+*/
+
+
+#endif /* _ETTIME_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTimer.h b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTimer.h
new file mode 100644
index 000000000..b332b63b9
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/osal/etTimer.h
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETTIMER_H_
+#define _ETTIMER_H_
+
+#include "etDatatypes.h"
+#include "etTime.h"
+#include "etThread.h"
+
+
+/**
+ * etThread holds all data needed to handle a thread instance
+ * the struct has to be filled before calling etThread_construct except for osData and osId
+ **/
+typedef struct etTimer{
+ etOSTimerId osTimerId; /**< OS specific timer id (e.g. handle or id) -> is filled in by etTimer_construct **/
+ etTime timerInterval; /**< timer interval **/
+ etTimerFunction timerFunction; /**< call back function to be called by timer -> has to be filled in by caller of etTimer_construct **/
+} etTimer;
+
+
+void etTimer_construct(etTimer* self, etTime* timerInterval, etTimerFunction threadFunction);
+void etTimer_start(etTimer* self);
+void etTimer_stop(etTimer* self);
+void etTimer_destruct(etTimer* self);
+
+
+#endif /* __ETTIMER_H__ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etTimer.h b/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etTimer.h
deleted file mode 100644
index 0d212c593..000000000
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/platform/etTimer.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Jung (initial contribution)
- *
- *******************************************************************************/
-
-#ifndef _ETTIMER_H_
-#define _ETTIMER_H_
-
-#include "etDatatypes.h"
-
-typedef struct etTargetTime {
- unsigned long nSec;
- unsigned long sec;
-} etTargetTime_t;
-
-void etTimer_init(void);
-
-uint32 getNSecFromTarget(void);
-uint32 getSecFromTarget(void);
-
-void getTimeFromTarget(etTargetTime_t *t);
-
-int isTimeGreaterThanActualTime(const etTargetTime_t *t);
-
-etBool etTimer_executeNeeded(void);
-
-uint32 getTimeBaseNS(void);
-
-uint32 getTimeBaseUS(void);
-
-uint32 getTimeBaseMS(void);
-
-#endif /* __ETTIMER_H__ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etThreadList.h b/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etThreadList.h
index 7b20103df..79f2fe1be 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etThreadList.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etThreadList.h
@@ -13,7 +13,7 @@
#ifndef _etThreadController_H_
#define _etThreadController_H_
-#include "platform/etPlatform.h"
+#include "osal/etThread.h"
/**
* etThreadController holds a complete list of all threads
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etDatatypes.h b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etDatatypes.h
new file mode 100644
index 000000000..ee503e50b
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etDatatypes.h
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETDATATYPES_H_
+#define _ETDATATYPES_H_
+
+/*
+ * typedefs for platform specific datatypes
+ * generic Version for most bigger 32 and 64 bit platforms like Linux an Windows
+ *
+ * */
+
+/* TODO: implement for posix */
+
+#include <stdio.h>
+
+/* unsigned integer datatypes */
+typedef unsigned char uint8;
+typedef unsigned short int uint16;
+typedef unsigned long uint32;
+typedef unsigned long long uint64;
+
+/* signed integer datatypes */
+typedef char int8;
+typedef short int int16;
+typedef long int32;
+typedef long long int64;
+
+
+/* float datatypes */
+typedef float float32;
+typedef double float64;
+
+/* string datatypes */
+typedef char* charPtr;
+
+
+#ifndef NULL
+ #define NULL 0
+#endif
+
+/* boolean datatypes and values */
+typedef char bool; /* TODO: bool, Bool, Boolean, and boolean are already defined in some platforms*/
+typedef bool boolean;
+
+#ifndef TRUE
+ #define TRUE 1
+#endif
+#ifndef FALSE
+ #define FALSE 0
+#endif
+
+#define ALIGNMENT 4
+
+/*
+ * typedefs for eTrice Runtime and Testing
+ *
+ * */
+
+typedef int8 etInt8;
+typedef int16 etInt16;
+typedef int32 etInt32;
+
+typedef uint8 etUInt8;
+typedef uint16 etUInt16;
+typedef uint32 etUInt32;
+
+typedef charPtr etCharPtr;
+
+typedef float32 etFloat32;
+typedef float64 etFloat64;
+
+typedef bool etBool;
+
+
+typedef FILE* etFileHandle;
+
+typedef int16 etAddressId;
+
+/*
+ * typedefs for OS-specific types
+ */
+
+typedef int etOSMutexData;
+typedef int etOSThreadData;
+/*typedef int etOSThreadId;*/ /*TODO: check if correct */
+typedef int etOSSemaData;
+
+/*typedef int etOSTimerId;*/ /*TODO: check if correct */
+
+
+#endif /* _DATATYPES_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/info.txt b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/info.txt
new file mode 100644
index 000000000..fe9d04e4b
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/info.txt
@@ -0,0 +1,10 @@
+Platform: MT_POSIX_GENERIC_GCC
+
+Threading: Multi Threaded
+Processor: -
+Operating System: POSIX
+Compiler: GCC
+Board: -
+
+Description:
+This platform should work for all Posix systems with a GCC compiler
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etDatatypes.h b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etDatatypes.h
index d6a33fd4d..ff5f6ad61 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etDatatypes.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etDatatypes.h
@@ -1,124 +1,113 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz (initial contribution)
- *
- *******************************************************************************/
-
-#ifndef _ETDATATYPES_H_
-#define _ETDATATYPES_H_
-
-/*
- * typedefs for platform specific datatypes
- * generic Version for most bigger 32 and 64 bit platforms like Linux an Windows
- *
- * */
-
-#include <stdio.h>
-
-#if defined __MINGW32__
-#include <windows.h>
-#include <process.h>
-#elif defined __GNUC__
-#else
-#error
-#endif
-
-
-/* unsigned integer datatypes */
-typedef unsigned char uint8;
-typedef unsigned short int uint16;
-typedef unsigned long uint32;
-typedef unsigned long long uint64;
-
-/* signed integer datatypes */
-typedef char int8;
-typedef short int int16;
-typedef long int32;
-typedef long long int64;
-
-
-/* float datatypes */
-typedef float float32;
-typedef double float64;
-
-/* string datatypes */
-typedef char* charPtr;
-
-
-#ifndef NULL
- #define NULL 0
-#endif
-
-/* boolean datatypes and values */
-typedef char bool; /* TODO: bool, Bool, Boolean, and boolean are already defined in some platforms*/
-#ifndef __MINGW32__
- typedef bool boolean;
-#endif
-
-#ifndef TRUE
- #define TRUE 1
-#endif
-#ifndef FALSE
- #define FALSE 0
-#endif
-
-#define ALIGNMENT 4
-
-/*
- * typedefs for eTrice Runtime and Testing
- *
- * */
-
-typedef int8 etInt8;
-typedef int16 etInt16;
-typedef int32 etInt32;
-
-typedef uint8 etUInt8;
-typedef uint16 etUInt16;
-typedef uint32 etUInt32;
-
-typedef charPtr etCharPtr;
-
-typedef float32 etFloat32;
-typedef float64 etFloat64;
-
-typedef bool etBool;
-
-
-typedef FILE* etFileHandle;
-
-typedef int16 etAddressId;
-
-/*
- * typedefs for threading
- */
-
-#if defined __MINGW32__
-
- typedef CRITICAL_SECTION etOSMutexData;
- typedef HANDLE etOSThreadData;
- typedef DWORD etOSThreadId;
- typedef HANDLE etOSSemaData;
-
-
-
-#elif defined __GNUC__
-
- /* dummy for LINUX/UNIX */
- typedef int etOSMutexData;
- typedef int etOSThreadData;
- typedef int etOSSemaData;
-
-#else
- #error
-#endif
-
-
-
-#endif /* _DATATYPES_H_ */
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _ETDATATYPES_H_
+#define _ETDATATYPES_H_
+
+/*
+ * typedefs for platform specific datatypes
+ * generic Version for most bigger 32 and 64 bit platforms like Linux an Windows
+ *
+ * */
+
+#include <stdio.h>
+
+#include <windows.h>
+#include <process.h>
+
+/* unsigned integer datatypes */
+typedef unsigned char uint8;
+typedef unsigned short int uint16;
+typedef unsigned long uint32;
+typedef unsigned long long uint64;
+
+/* signed integer datatypes */
+typedef char int8;
+typedef short int int16;
+typedef long int32;
+typedef long long int64;
+
+
+/* float datatypes */
+typedef float float32;
+typedef double float64;
+
+/* string datatypes */
+typedef char* charPtr;
+
+
+#ifndef NULL
+ #define NULL 0
+#endif
+
+/* boolean datatypes and values */
+typedef char bool; /* TODO: bool, Bool, Boolean, and boolean are already defined in some platforms*/
+
+#ifndef TRUE
+ #define TRUE 1
+#endif
+#ifndef FALSE
+ #define FALSE 0
+#endif
+
+#define ALIGNMENT 4
+
+/*
+ * typedefs for eTrice Runtime and Testing
+ *
+ * */
+
+typedef int8 etInt8;
+typedef int16 etInt16;
+typedef int32 etInt32;
+
+typedef uint8 etUInt8;
+typedef uint16 etUInt16;
+typedef uint32 etUInt32;
+
+typedef charPtr etCharPtr;
+
+typedef float32 etFloat32;
+typedef float64 etFloat64;
+
+typedef bool etBool;
+
+
+typedef FILE* etFileHandle;
+
+typedef int16 etAddressId;
+
+/*
+ * typedefs for OS-specific types
+ */
+
+ typedef CRITICAL_SECTION etOSMutexData;
+ typedef HANDLE etOSThreadData;
+ typedef DWORD etOSThreadId;
+ typedef HANDLE etOSSemaData;
+
+ typedef UINT_PTR etOSTimerId;
+
+//typedef TIMERPROC etTimerFunction;
+typedef VOID(CALLBACK *etTimerFunction)(HWND,UINT,UINT,DWORD);
+//typedef void (*etThreadFunction)(void *);
+
+#define etTimerFunction_RETURN_VALUE VOID CALLBACK
+
+#define etTimerFunction_ARGUMENT_LIST HWND arg1, UINT arg2, UINT arg3, DWORD arg4
+
+
+//typedef void (*etTimerFunction)(void); /**< OS specific timer callback function **/
+//typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
+
+
+#endif /* _DATATYPES_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etLogger.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etLogger.c
index 5ab7da075..aef339cfc 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etLogger.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etLogger.c
@@ -1,71 +1,71 @@
-/*******************************************************************************
- * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz (initial contribution)
- *
- *******************************************************************************/
-
-#include "debugging/etLogger.h"
-
-#include <stdarg.h>
-
-
-void etLogger_logError(const char* message){
- printf("ERROR: %s\n", message);
-}
-
-void etLogger_logWarning(const char* message){
- printf("WARNING: %s\n", message);
-}
-
-void etLogger_logInfo(const char* message){
- printf("INFO: %s\n", message);
- fflush(stdout);
-}
-
-void etLogger_logErrorF(const char* format, ... ){
- printf("ERROR: ");
- va_list arglist;
- va_start( arglist, format );
- vprintf( format, arglist );
- va_end( arglist );
- printf("\n");
-}
-
-void etLogger_logWarningF(const char* format, ... ){
- printf("WARNING: ");
- va_list arglist;
- va_start( arglist, format );
- vprintf( format, arglist );
- va_end( arglist );
- printf("\n");
-}
-
-void etLogger_logInfoF(const char* format, ... ){
- printf("INFO: ");
- va_list arglist;
- va_start( arglist, format );
- vprintf( format, arglist );
- va_end( arglist );
- printf("\n");
-}
-
-etFileHandle etLogger_fopen(const char* filename, const char* mode){
- return( fopen(filename, mode) );
-}
-
-int etLogger_fclose(etFileHandle file){
- return( fclose(file) );
-}
-
-void etLogger_fprintf(etFileHandle file, const char* format, ... ){
- va_list arglist;
- va_start( arglist, format );
- vfprintf(file, format, arglist );
- va_end( arglist );
-}
+/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "debugging/etLogger.h"
+
+#include <stdarg.h>
+
+
+void etLogger_logError(const char* message){
+ printf("ERROR: %s\n", message);
+}
+
+void etLogger_logWarning(const char* message){
+ printf("WARNING: %s\n", message);
+}
+
+void etLogger_logInfo(const char* message){
+ printf("INFO: %s\n", message);
+ fflush(stdout);
+}
+
+void etLogger_logErrorF(const char* format, ... ){
+ printf("ERROR: ");
+ va_list arglist;
+ va_start( arglist, format );
+ vprintf( format, arglist );
+ va_end( arglist );
+ printf("\n");
+}
+
+void etLogger_logWarningF(const char* format, ... ){
+ printf("WARNING: ");
+ va_list arglist;
+ va_start( arglist, format );
+ vprintf( format, arglist );
+ va_end( arglist );
+ printf("\n");
+}
+
+void etLogger_logInfoF(const char* format, ... ){
+ printf("INFO: ");
+ va_list arglist;
+ va_start( arglist, format );
+ vprintf( format, arglist );
+ va_end( arglist );
+ printf("\n");
+}
+
+etFileHandle etLogger_fopen(const char* filename, const char* mode){
+ return( fopen(filename, mode) );
+}
+
+int etLogger_fclose(etFileHandle file){
+ return( fclose(file) );
+}
+
+void etLogger_fprintf(etFileHandle file, const char* format, ... ){
+ va_list arglist;
+ va_start( arglist, format );
+ vfprintf(file, format, arglist );
+ va_end( arglist );
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etMutex.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etMutex.c
new file mode 100644
index 000000000..5521682ac
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etMutex.c
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+/**
+ *
+ * etMutex.c MinGW implementation of etMutex
+ *
+ */
+
+#include "osal/etMutex.h"
+
+#include "debugging/etLogger.h"
+#include "debugging/etMSCLogger.h"
+
+void etMutex_construct(etMutex* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "construct")
+ InitializeCriticalSection( &(self->osData) );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+void etMutex_destruct(etMutex* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "destruct")
+ DeleteCriticalSection( &(self->osData) );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etMutex_enter(etMutex* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "enter")
+ EnterCriticalSection( &(self->osData) );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+void etMutex_leave(etMutex* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "leave")
+ LeaveCriticalSection( &(self->osData) );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etPlatformLifecycle.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etPlatformLifecycle.c
new file mode 100644
index 000000000..5dd07e1ae
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etPlatformLifecycle.c
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+
+
+#include "osal/etPlatformLifecycle.h"
+
+void etUserEntry(void){ /* not needed for this OS */ }
+void etUserPreRun(void){ /* not needed for this OS */ }
+void etUserPostRun(void){ /* not needed for this OS */ }
+void etUserExit(void){ /* not needed for this OS */ }
+
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etSema.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etSema.c
new file mode 100644
index 000000000..13f8daca8
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etSema.c
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+/**
+ *
+ * etSema.c MinGW implementation of etSema
+ *
+ */
+
+#include "osal/etSema.h"
+#include "etDatatypes.h"
+
+#include "debugging/etMSCLogger.h"
+
+
+void etSema_construct(etSema* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etSema", "construct")
+ self->osData = CreateEvent( NULL, FALSE, FALSE, NULL );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+void etSema_destruct(etSema* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etSema", "destruct")
+ // TODO: implement this function
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etSema_wakeup(etSema* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etSema", "wakeup")
+ SetEvent( self->osData );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etSema_waitForWakeup(etSema* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etSema", "waitForWakeup")
+ WaitForSingleObject( self->osData, INFINITE );
+ ET_MSC_LOGGER_SYNC_EXIT
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etThread.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etThread.c
new file mode 100644
index 000000000..14ea2b98a
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etThread.c
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+/**
+ *
+ * etThread.c MinGW implementation of etThread
+ *
+ */
+
+#include "osal/etThread.h"
+
+#include "debugging/etLogger.h"
+#include "debugging/etMSCLogger.h"
+
+void etThread_execute(etThread* self);
+
+void etThread_construct(etThread* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etThread", "construct")
+ self->osData = (HANDLE)_beginthread( (etThreadFunction)etThread_execute, self->stacksize, self );
+ SetThreadPriority(self->osData, self->priority);
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etThread_execute(etThread* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etThread", "execute")
+ /* etThread_execute redirects the call from the thread to the execute function in the eTrice runtime to enable correct synchronous MSC logging */
+ self->threadFunction(self->threadFunctionData);
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etThread_destruct(etThread* self){
+ ET_MSC_LOGGER_SYNC_ENTRY("etThread", "destruct")
+ TerminateThread(self->osData, 0);
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+void etThread_sleep(etInt32 millis){
+ ET_MSC_LOGGER_SYNC_ENTRY("etThread", "sleep")
+ Sleep(millis);
+ ET_MSC_LOGGER_SYNC_EXIT
+}
+
+etOSThreadData etThread_self(void){
+ return GetCurrentThread();
+}
+
+etOSThreadId etThread_self_id(void){
+ return GetCurrentThreadId();
+}
+
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTime.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTime.c
new file mode 100644
index 000000000..d367f9ebc
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTime.c
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz, Thomas Jung (initial contribution)
+ *
+ *******************************************************************************/
+
+/**
+ *
+ * etTime.c MinGW implementation of etTime
+ *
+ */
+
+#include "osal/etTime.h"
+
+#include <sys/time.h>
+
+void getTimeFromTarget(etTime *t){
+ struct timeval currentTime;
+ gettimeofday(&currentTime, NULL);
+ t->sec = currentTime.tv_sec;
+ t->nSec = currentTime.tv_usec*1000;
+}
+
+
+/* TODO: remove old API functions
+uint64 getTargetTimeUs(void){
+ struct timeval currentTime;
+ gettimeofday(&currentTime, NULL);
+
+ return currentTime.tv_sec * 1000000L + currentTime.tv_usec;
+}
+
+etBool etTimer_executeNeeded(void){
+
+ static uint64 lastTime = 0L;
+
+ uint64 currentTime = getTargetTimeUs();
+
+ uint64 timestep = 1000000L/FREQUENCY;
+
+ if (currentTime >= lastTime + timestep) {
+ lastTime = currentTime;
+ return TRUE;
+ }
+ else {
+ return FALSE;
+ }
+}
+
+*/
+
+
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTimer.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTimer.c
new file mode 100644
index 000000000..3cbd39fe6
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/etTimer.c
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+/**
+ *
+ * etTimer.c MinGW implementation of etTimer
+ *
+ */
+
+#include "osal/etTimer.h"
+#include "helpers/etTimeHelpers.h"
+
+void etTimer_construct(etTimer* self, etTime* timerInterval, etTimerFunction threadFunction){
+ self->osTimerId = 0;
+ self->timerInterval.sec = timerInterval->sec;
+ self->timerInterval.nSec = timerInterval->nSec;
+ self->timerFunction = threadFunction;
+}
+
+void etTimer_start(etTimer* self){
+ UINT elapse;
+ /* calculate the time in milliseconds -> accuracy will of nSec will get lost in windows! */
+ elapse = etTimeHelpers_convertToMSec(&(self->timerInterval));
+ /*TODO: should we replace the forced cast by a platform specific implementation of the timer callback function? */
+ self->osTimerId = SetTimer(NULL, 0, elapse, self->timerFunction);
+}
+
+void etTimer_stop(etTimer* self){
+ KillTimer(NULL, self->osTimerId);
+}
+
+void etTimer_destruct(etTimer* self){
+ /* no implementation needed for this operating system */
+}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/info.txt b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/info.txt
new file mode 100644
index 000000000..c5b3b86f5
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW/info.txt
@@ -0,0 +1,10 @@
+Platform: MT_WIN_MinGW
+
+Threading: Multi Threaded
+Processor: -
+Operating System: Windows (MinGW)
+Compiler: GCC (MinGW)
+Board: -
+
+Description:
+This platform should work for all Windows based MinGW compilers
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etPlatform.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etPlatform.c
deleted file mode 100644
index 1e1a97bc4..000000000
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etPlatform.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * CONTRIBUTORS:
- * Thomas Schuetz (initial contribution)
- *
- *******************************************************************************/
-
-#include "etDatatypes.h"
-#include "platform/etPlatform.h"
-
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-
-/* implemenatation for eTrice interfaces*/
-
-void etUserEntry(void){ }
-
-void etUserPreRun(void){ }
-
-void etUserPostRun(void){ }
-
-void etUserExit(void){ }
-
-
-/* platform specific functions */
-
-#if defined __MINGW32__
-
-/******************thread********************/
-void etThread_execute(etThread* self);
-
-void etThread_construct(etThread* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etThread", "construct")
- self->osData = (HANDLE)_beginthread( (etThreadFunction)etThread_execute, self->stacksize, self );
- SetThreadPriority(self->osData, self->priority);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void etThread_execute(etThread* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etThread", "execute")
- /* etThread_execute redirects the call from the thread to the execute function in the eTrice runtime to enable correct synchronous MSC logging */
- self->threadFunction(self->threadFunctionData);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void etThread_destruct(etThread* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etThread", "destruct")
- TerminateThread(self->osData, 0);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/******************thread helpers********************/
-void etThread_sleep(etInt32 millis){
- ET_MSC_LOGGER_SYNC_ENTRY("etThread", "sleep")
- Sleep(millis);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-etOSThreadData etThread_self(void){
- return GetCurrentThread();
-}
-
-etOSThreadId etThread_self_id(void){
- return GetCurrentThreadId();
-}
-
-/*****************mutex**********************/
-void etMutex_construct(etMutex* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "construct")
- InitializeCriticalSection( &(self->osData) );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-void etMutex_destruct(etMutex* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "destruct")
- DeleteCriticalSection( &(self->osData) );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void etMutex_enter(etMutex* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "enter")
- EnterCriticalSection( &(self->osData) );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-void etMutex_leave(etMutex* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etMutex", "leave")
- LeaveCriticalSection( &(self->osData) );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-/********************semaphore****************/
-void etSema_construct(etSema* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etSema", "construct")
- self->osData = CreateEvent( NULL, FALSE, FALSE, NULL );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-void etSema_destruct(etSema* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etSema", "destruct")
- // TODO: implement this function
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void etSema_wakeup(etSema* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etSema", "wakeup")
- SetEvent( self->osData );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void etSema_waitForWakeup(etSema* self){
- ET_MSC_LOGGER_SYNC_ENTRY("etSema", "waitForWakeup")
- WaitForSingleObject( self->osData, INFINITE );
- ET_MSC_LOGGER_SYNC_EXIT
-}
-/*********************************************/
-
-#elif defined __GNUC__
-
-/******************thread********************/
-void etThread_construct(etThread* self){}
-
-void etThread_destruct(etThread* self){}
-
-/*****************mutex**********************/
-void etMutex_construct(etMutex* self){}
-void etMutex_destruct(etMutex* self){}
-void etMutex_enter(etMutex* self){}
-void etMutex_leave(etMutex* self){}
-
-/********************semaphore****************/
-void etSema_construct(etSema* self){}
-void etSema_destruct(etSema* self){}
-
-void etSema_wakeup(etSema* self){}
-
-void etSema_waitForWakeup(etSema* self){}
-/*********************************************/
-
-#endif
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etTimer.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etTimer.c
deleted file mode 100644
index a0076c25a..000000000
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/etTimer.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "platform/etTimer.h"
-
-#include <sys/time.h>
-
-#include "etRuntimeConfig.h"
-
-void etTimer_init(void){
-}
-
-uint64 getTargetTimeUs(void){
- struct timeval currentTime;
- gettimeofday(&currentTime, NULL);
-
- return currentTime.tv_sec * 1000000L + currentTime.tv_usec;
-}
-
-etBool etTimer_executeNeeded(void){
-
- static uint64 lastTime = 0L;
-
- uint64 currentTime = getTargetTimeUs();
-
- uint64 timestep = 1000000L/FREQUENCY;
-
- if (currentTime >= lastTime + timestep) {
- lastTime = currentTime;
- return TRUE;
- }
- else {
- return FALSE;
- }
-}
-
-void getTimeFromTarget(etTargetTime_t *t){
- struct timeval currentTime;
- gettimeofday(&currentTime, NULL);
- t->sec = currentTime.tv_sec;
- t->nSec = currentTime.tv_usec*1000;
-}
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/info.txt b/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/info.txt
deleted file mode 100644
index a2ac1f6d4..000000000
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/generic/info.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This generic platform can be used for most 32 or 64 bit systems like windows and linux.
-It uses standard c libraries only and it makes use of the file system.
diff --git a/team/flattenProjectsWin.bat b/team/flattenProjectsWin.bat
index 3fceddf61..2f13fce70 100644
--- a/team/flattenProjectsWin.bat
+++ b/team/flattenProjectsWin.bat
@@ -18,3 +18,5 @@ mklink /J ..\..\FlatWorld\org.eclipse.etrice.modellib.java ..\runtime\org.eclips
mklink /J ..\..\FlatWorld\org.eclipse.etrice.runtime.c ..\runtime\org.eclipse.etrice.runtime.c
mklink /J ..\..\FlatWorld\org.eclipse.etrice.runtime.java ..\runtime\org.eclipse.etrice.runtime.java
+REM tests
+mklink /J ..\..\FlatWorld\org.eclipse.etrice.runtime.c.tests ..\tests\org.eclipse.etrice.runtime.c.tests
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/.cproject b/tests/org.eclipse.etrice.runtime.c.tests/.cproject
index 3588b07fc..e456f50a9 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/.cproject
+++ b/tests/org.eclipse.etrice.runtime.c.tests/.cproject
@@ -34,10 +34,10 @@
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.1219570738" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/>
<option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.395490525" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
<option id="gnu.c.compiler.option.include.paths.1357425285" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/generic}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1172891920" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
index 253368937..1e6c72af9 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/RunCRuntimeTestcases.c
@@ -28,6 +28,7 @@
#include "TestEtUnit.h"
#include "TestEtMemory.h"
#include "TestEtQueue.h"
+#include "TestEtTimer.h"
#include "etUnit/etUnit.h"
#include "debugging/etMSCLogger.h"
@@ -42,8 +43,9 @@ void RunCRuntimeTestcases(void){
TestEtMemory_runSuite();
TestEtMessage_runSuite();
TestEtMessageQueue_runSuite();
- TestEtMessageService_runSuite();
+// TestEtMessageService_runSuite();
TestEtUnit_runSuite();
+ TestEtTimer_runSuite();
etUnit_close();
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c
index 0896f5134..201514757 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtMessageService.c
@@ -44,6 +44,11 @@ void DummyMessageDispatcher(const etMessage* msg){
}
}
+/* dummy execute dispatcher */
+void DummyExecuteDispatcher(void){
+ //nothing to do
+}
+
void TestEtMessageService_init(etInt16 id){
etMessageService msgService;
@@ -52,7 +57,7 @@ void TestEtMessageService_init(etInt16 id){
uint8 msgBuffer[max*blockSize];
- etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher);
+ etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher, DummyExecuteDispatcher, EXECMODE_BLOCKED);
EXPECT_EQUAL_PTR(id, "msgService.messagePool.first", msgBuffer, msgService.messagePool.first);
EXPECT_EQUAL_PTR(id, "msgService.messagePool in between", &msgBuffer[3*blockSize], msgService.messagePool.first->next->next->next);
@@ -69,7 +74,7 @@ void TestEtMessageService_GetPushPopReturn(etInt16 id){
uint16 blockSize = 32;
uint8 msgBuffer[max*blockSize];
- etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher);
+ etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher, DummyExecuteDispatcher, EXECMODE_BLOCKED);
// get messages from pool
etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage));
@@ -114,7 +119,7 @@ void TestEtMessageService_GetReturn(etInt16 id){
uint16 blockSize = 32;
uint8 msgBuffer[max*blockSize];
- etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher);
+ etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher, DummyExecuteDispatcher, EXECMODE_BLOCKED);
// get one message too much from pool
etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage));
@@ -141,7 +146,7 @@ void TestEtMessageService_execute(etInt16 id){
uint16 blockSize = 32;
uint8 msgBuffer[max*blockSize];
- etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher);
+ etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher, DummyExecuteDispatcher, EXECMODE_BLOCKED);
// get messages from pool
etMessage* msg1 = etMessageService_getMessageBuffer(&msgService, sizeof(etMessage));
@@ -170,7 +175,7 @@ void TestEtMessageService_getMessagePoolLowWaterMark(etInt16 id){
uint16 blockSize = 32;
uint8 msgBuffer[max*blockSize];
- etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher);
+ etMessageService_init(&msgService, msgBuffer, max, blockSize, DummyMessageDispatcher, DummyExecuteDispatcher, EXECMODE_BLOCKED);
EXPECT_EQUAL_INT16(id, "inital low water mark", max, etMessageService_getMessagePoolLowWaterMark(&msgService));
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.c b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.c
new file mode 100644
index 000000000..328d1318b
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.c
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+
+#include "TestEtTimer.h"
+
+#include "etUnit/etUnit.h"
+
+#include "etDatatypes.h"
+#include "osal/etTimer.h"
+#include "osal/etSema.h"
+
+#include "helpers/etTimeHelpers.h"
+
+etSema GlobalSema;
+
+
+VOID CALLBACK TestEtTimer_TimerCallback(HWND arg1, UINT arg2, UINT arg3, DWORD arg4){
+//etTimerFunction_RETURN_VALUE TestEtTimer_TimerCallback(etTimerFunction_ARGUMENT_LIST){
+ //etSema_wakeup(&GlobalSema);
+ int i=5;
+ printf("\nTestEtTimer_TimerCallback: tick: %d", i);
+}
+
+static void TestEtTimer_lifecycle (etInt16 id) {
+ etTimer timer1;
+ etTime interval;
+ etTime startTime;
+ etTime endTime;
+
+ /* create semaphore */
+ etSema_construct(&GlobalSema);
+ /* create and start timer */
+ interval.sec = 0; /* = 1000 milliseconds */
+ interval.nSec = 500000000; /* = 50 milliseconds */
+ etTimer_construct(&timer1, &interval, TestEtTimer_TimerCallback);
+ etTimer_start(&timer1);
+
+
+ getTimeFromTarget(&startTime);
+ etThread_sleep(5000);
+ //etSema_waitForWakeup(&GlobalSema); /* wait until callback function releases timer */
+ etTimer_stop(&timer1);
+ getTimeFromTarget(&endTime);
+
+
+ printf("\nelapsed time: %ld\n", etTimeHelpers_convertToMSec(&endTime) - etTimeHelpers_convertToMSec(&startTime));
+
+ /* release resources */
+ etTimer_destruct(&timer1);
+ etSema_destruct(&GlobalSema);
+}
+
+
+void TestEtTimer_runSuite(void){
+ etUnit_openTestSuite("TestEtTimer");
+ ADD_TESTCASE(TestEtTimer_lifecycle);
+ etUnit_closeTestSuite();
+}
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.h b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.h
new file mode 100644
index 000000000..fe7760360
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.c.tests/src/runtime/TestEtTimer.h
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2013 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef _TESTETTIMER_H_
+#define _TESTETTIMER_H_
+
+void TestEtTimer_runSuite(void);
+
+#endif /* _TESTETTIMER_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestCRuntime.etu b/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestCRuntime.etu
index 332bc249c..86fa46b51 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestCRuntime.etu
+++ b/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestCRuntime.etu
@@ -1,12 +1,12 @@
etUnit report
ts start: TestQueue
tc start 1: TestEtQueue_test
-tc end 1: 0
+tc end 1: 19
ts start: TestMemory
tc start 2: TestEtMemory_testFixedSize
-tc end 2: 15
+tc end 2: 9
tc start 3: TestEtMemory_testFreeList
-tc end 3: 0
+tc end 3: 2
ts start: TestMessage
tc start 4: TestEtMessage_testBasicMessage
tc end 4: 0
@@ -14,20 +14,12 @@ ts start: TestEtMessageQueue
tc start 5: TestEtMessageQueue_testPushPop
tc end 5: 0
tc start 6: TestEtMessageQueue_testMassiveMessaging
-tc end 6: 16
-ts start: TestEtMessageService
-tc start 7: TestEtMessageService_init
+tc end 6: 9
+ts start: TestEtUnit
+tc start 7: TestEtUnit_Expect_Order
tc end 7: 0
-tc start 8: TestEtMessageService_GetPushPopReturn
+tc start 8: TestEtUnit_Expect
tc end 8: 0
-tc start 9: TestEtMessageService_GetReturn
-tc end 9: 0
-tc start 10: TestEtMessageService_execute
-tc end 10: 0
-tc start 11: TestEtMessageService_getMessagePoolLowWaterMark
-tc end 11: 0
-ts start: TestEtUnit
-tc start 12: TestEtUnit_Expect_Order
-tc end 12: 0
-tc start 13: TestEtUnit_Expect
-tc end 13: 0
+ts start: TestEtTimer
+tc start 9: TestEtTimer_lifecycle
+tc end 9: 11142
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestEtUnitSpecial.etu b/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestEtUnitSpecial.etu
index 6f756645a..e8abf2c61 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestEtUnitSpecial.etu
+++ b/tests/org.eclipse.etrice.runtime.c.tests/tmp/testlog/TestEtUnitSpecial.etu
@@ -1,4 +1,4 @@
etUnit report
ts start: etUnit
-tc start 14: openAll and closeAll
-tc end 14: 0
+tc start 10: openAll and closeAll
+tc end 10: 0

Back to the top