Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/.cproject348
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch2
-rw-r--r--examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq62
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/.cproject174
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/.gitignore13
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/gen_HelloWorldC.launch (renamed from examples/org.eclipse.etrice.tutorials.c/gen_org.eclipse.etrice.tutorials.c.launch)31
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/gen_PingPongC.launch15
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/gen_TrafficLightC.launch15
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/gui/trafficlight.jarbin9146 -> 0 bytes
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap19
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room35
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior (renamed from examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.behavior)174
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap11
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etphys (renamed from examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etphys)9
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room80
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room181
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap11
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys24
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room14
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior630
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficLight.behavior702
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room16
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config30
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap17
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room318
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch7
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch7
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt4
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c133
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h62
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c460
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h68
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c515
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h70
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c40
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h44
-rw-r--r--examples/org.eclipse.etrice.tutorials.c/test.txt325
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/.gitignore6
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/gen_HelloWorldJava.launch (renamed from examples/org.eclipse.etrice.tutorials.java/gen_org.eclipse.etrice.tutorials.java.launch)34
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch15
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch15
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room149
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior356
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure36
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior25
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure82
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room47
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.behavior (renamed from examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.behavior)212
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.structure)40
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.SubSysClass1.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.SubSystem_HelloWorld.structure)76
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room168
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior344
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure36
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure36
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior25
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure89
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure82
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room74
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.PingPongTop.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.structure)178
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.behavior (renamed from examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.behavior)289
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.structure)72
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.behavior (renamed from examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.behavior)260
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.structure)72
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.SubSysClass1.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.System_Blinky.structure)76
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room139
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior173
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure36
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior25
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure89
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure38
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure38
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room32
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.SubSysClass1.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.System_HelloWorld.structure)76
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure110
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightTop.structure (renamed from examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.LogSys_PedLights.structure)76
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room121
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt4
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java330
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java175
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java244
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java70
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java67
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java180
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java59
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java364
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java242
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java188
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java70
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java65
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java242
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java201
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java175
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java70
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java71
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java77
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java274
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java219
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java207
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java68
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java61
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java135
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java89
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java97
-rw-r--r--examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java49
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior1262
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room2
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java77
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java351
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java82
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java26
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java55
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java73
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java286
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java194
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java279
-rw-r--r--examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java419
121 files changed, 2198 insertions, 13644 deletions
diff --git a/examples/org.eclipse.etrice.generator.c.reference/.cproject b/examples/org.eclipse.etrice.generator.c.reference/.cproject
index bc4bd4111..3dc78979c 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/.cproject
+++ b/examples/org.eclipse.etrice.generator.c.reference/.cproject
@@ -1,173 +1,175 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" moduleId="org.eclipse.cdt.core.settings" name="Debug">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" name="Debug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
- <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" parallelBuildOn="false" 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"/>
- </outputEntries>
- </builder>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2128193487" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
- <option id="gnu.both.asm.option.include.paths.646571697" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/platforms/generic}&quot;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1636502349" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1852443642" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1864486752" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.321169512" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.1151544407" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
- <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}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src-gen}&quot;"/>
- <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/src/common}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&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"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2141539090" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
- <option id="gnu.c.link.option.libs.1886054812" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
- <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="org.eclipse.etrice.runtime.c"/>
- </option>
- <option id="gnu.c.link.option.paths.1410926104" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/PosixDebug}&quot;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1941302758" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
- <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
- <additionalInput kind="additionalinput" paths="$(LIBS)"/>
- </inputType>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1915798937" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/>
- </toolChain>
- </folderInfo>
- <sourceEntries>
- <entry excluding="src-gen-info|src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- </sourceEntries>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
- <externalSettings containerId="org.eclipse.etrice.runtime.c;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
- <externalSetting>
- <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Debug"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/PosixDebug"/>
- <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
- </externalSetting>
- </externalSettings>
- </storageModule>
- </cconfiguration>
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" moduleId="org.eclipse.cdt.core.settings" name="Release">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" name="Release" parent="cdt.managedbuild.config.gnu.mingw.exe.release">
- <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.release.44614125" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.release">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.release.1563670810" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.release"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Release}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.748437960" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release.2087319745" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release">
- <option id="gnu.both.asm.option.include.paths.2089558096" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1375308303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.245787891" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release.1042972525" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release">
- <option id="gnu.cpp.compiler.mingw.exe.release.option.optimization.level.1950851559" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.release.option.debugging.level.373334651" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release">
- <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.mingw.exe.release.option.optimization.level.554911279" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.release.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.mingw.exe.release.option.debugging.level.331396171" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
- <option id="gnu.c.compiler.option.include.paths.1226733508" 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}&quot;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.156681579" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release.1192709765" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release">
- <option id="gnu.c.link.option.libs.2121552378" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
- <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/>
- </option>
- <option id="gnu.c.link.option.paths.1610581119" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/Release}&quot;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1107454825" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
- <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
- <additionalInput kind="additionalinput" paths="$(LIBS)"/>
- </inputType>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release.1557729682" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release"/>
- </toolChain>
- </folderInfo>
- <sourceEntries>
- <entry excluding="src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src-gen-ts"/>
- </sourceEntries>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
- <externalSettings containerId="org.eclipse.etrice.runtime.c;cdt.managedbuild.config.gnu.mingw.lib.release.406040144" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
- <externalSetting>
- <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Release"/>
- <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
- </externalSetting>
- </externalSettings>
- </storageModule>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="org.eclipse.etrice.generator.c.reference.cdt.managedbuild.target.gnu.mingw.exe.44532741" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550;cdt.managedbuild.config.gnu.mingw.exe.debug.54263550.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303;cdt.managedbuild.tool.gnu.c.compiler.input.215126527">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435;cdt.managedbuild.config.gnu.mingw.exe.release.1445732435.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430;cdt.managedbuild.tool.gnu.c.compiler.input.156681579">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="refreshScope" versionNumber="2">
- <configuration configurationName="Release">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
- </configuration>
- <configuration configurationName="Debug">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" name="Debug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
+ <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" parallelBuildOn="false" 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"/>
+ </outputEntries>
+ </builder>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2128193487" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
+ <option id="gnu.both.asm.option.include.paths.646571697" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/platforms/generic}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1636502349" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1852443642" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1864486752" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
+ <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.321169512" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.1151544407" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
+ <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}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src-gen}&quot;"/>
+ <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/src/common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&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"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2141539090" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
+ <option id="gnu.c.link.option.libs.1886054812" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="org.eclipse.etrice.runtime.c"/>
+ </option>
+ <option id="gnu.c.link.option.paths.1410926104" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/PosixDebug}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1941302758" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1915798937" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding="src-gen-info|src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="org.eclipse.etrice.runtime.c;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
+ <externalSetting>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Debug"/>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/PosixDebug"/>
+ <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
+ </externalSetting>
+ </externalSettings>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" name="Release" parent="cdt.managedbuild.config.gnu.mingw.exe.release">
+ <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.release.44614125" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.release">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.release.1563670810" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.release"/>
+ <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Release}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.748437960" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release.2087319745" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release">
+ <option id="gnu.both.asm.option.include.paths.2089558096" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1375308303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.245787891" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release.1042972525" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release">
+ <option id="gnu.cpp.compiler.mingw.exe.release.option.optimization.level.1950851559" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.mingw.exe.release.option.debugging.level.373334651" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.mingw.exe.release.option.optimization.level.554911279" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.release.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.mingw.exe.release.option.debugging.level.331396171" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+ <option id="gnu.c.compiler.option.include.paths.1226733508" 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}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.156681579" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release.1192709765" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release">
+ <option id="gnu.c.link.option.libs.2121552378" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/>
+ </option>
+ <option id="gnu.c.link.option.paths.1610581119" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/Release}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1107454825" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release.1557729682" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding="src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src-gen-ts"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="org.eclipse.etrice.runtime.c;cdt.managedbuild.config.gnu.mingw.lib.release.406040144" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
+ <externalSetting>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Release"/>
+ <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
+ </externalSetting>
+ </externalSettings>
+ </storageModule>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="org.eclipse.etrice.generator.c.reference.cdt.managedbuild.target.gnu.mingw.exe.44532741" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550;cdt.managedbuild.config.gnu.mingw.exe.debug.54263550.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303;cdt.managedbuild.tool.gnu.c.compiler.input.215126527">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435;cdt.managedbuild.config.gnu.mingw.exe.release.1445732435.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430;cdt.managedbuild.tool.gnu.c.compiler.input.156681579">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+</cproject>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch b/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch
index 790dacc4e..e703e2791 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch
+++ b/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch
@@ -5,7 +5,7 @@
<booleanAttribute key="GenInstanceDiagram" value="false"/>
<stringAttribute key="GenModelPath" value=""/>
<booleanAttribute key="Lib" value="false"/>
-<booleanAttribute key="MSC" value="true"/>
+<booleanAttribute key="MSC" value="false"/>
<listAttribute key="ModelFiles">
<listEntry value="${workspace_loc:/org.eclipse.etrice.generator.c.reference/model/MSCgen/MSCgen.etmap}"/>
</listAttribute>
diff --git a/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq b/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq
index 395fbc360..e69de29bb 100644
--- a/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq
+++ b/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq
@@ -1,62 +0,0 @@
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >>> Done
diff --git a/examples/org.eclipse.etrice.tutorials.c/.cproject b/examples/org.eclipse.etrice.tutorials.c/.cproject
index e044f2e17..b88d34c91 100644
--- a/examples/org.eclipse.etrice.tutorials.c/.cproject
+++ b/examples/org.eclipse.etrice.tutorials.c/.cproject
@@ -1,85 +1,89 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" moduleId="org.eclipse.cdt.core.settings" name="MinGWDebug">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" name="MinGWDebug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
- <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.398564850" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1829109580" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.tutorials.c/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.856247028" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.1509057272" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1460359562" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.48213125" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1958071026" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.1447113587" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.559425075" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.137613907" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
- <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.1729303001" 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.145157070" 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.327861845" 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.modellib.c/src-gen}&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;"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.533629505" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.319733671" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
- <option id="gnu.c.link.option.paths.819761090" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/DebugMinGW}&quot;"/>
- <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.modellib.c/MinGWDebug}&quot;"/>
- </option>
- <option id="gnu.c.link.option.libs.1013803342" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
- <listOptionValue builtIn="false" value="org.eclipse.etrice.modellib.c"/>
- <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/>
- <listOptionValue builtIn="false" value="Ws2_32"/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.506258125" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
- <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
- <additionalInput kind="additionalinput" paths="$(LIBS)"/>
- </inputType>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1214027870" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="org.eclipse.etrice.tutorials.c.cdt.managedbuild.target.gnu.mingw.exe.395320964" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1584531196;cdt.managedbuild.config.gnu.mingw.exe.release.1584531196.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.48613690;cdt.managedbuild.tool.gnu.c.compiler.input.1173535425">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761;cdt.managedbuild.config.gnu.mingw.exe.debug.332073761.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.137613907;cdt.managedbuild.tool.gnu.c.compiler.input.533629505">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope" versionNumber="2">
- <configuration configurationName="Release">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.tutorials.c"/>
- </configuration>
- <configuration configurationName="Debug">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.tutorials.c"/>
- </configuration>
- </storageModule>
-</cproject>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" moduleId="org.eclipse.cdt.core.settings" name="MinGWDebug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" name="MinGWDebug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
+ <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761." name="/" resourcePath="">
+ <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.398564850" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
+ <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1829109580" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
+ <builder buildPath="${workspace_loc:/org.eclipse.etrice.tutorials.c/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.856247028" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.1509057272" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1460359562" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.48213125" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1958071026" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
+ <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.1447113587" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.559425075" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.137613907" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.1729303001" 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.145157070" 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.327861845" 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:/${ProjName}/src-gen}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.modellib.c/src-gen}&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;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.533629505" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.319733671" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
+ <option id="gnu.c.link.option.paths.819761090" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/MinGWDebug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.modellib.c/MinGWDebug}&quot;"/>
+ </option>
+ <option id="gnu.c.link.option.libs.1013803342" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="org.eclipse.etrice.modellib.c"/>
+ <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/>
+ <listOptionValue builtIn="false" value="Ws2_32"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.506258125" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1214027870" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding="src-gen-info" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="org.eclipse.etrice.tutorials.c.cdt.managedbuild.target.gnu.mingw.exe.395320964" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1584531196;cdt.managedbuild.config.gnu.mingw.exe.release.1584531196.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.48613690;cdt.managedbuild.tool.gnu.c.compiler.input.1173535425">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761;cdt.managedbuild.config.gnu.mingw.exe.debug.332073761.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.137613907;cdt.managedbuild.tool.gnu.c.compiler.input.533629505">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.tutorials.c"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.tutorials.c"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/examples/org.eclipse.etrice.tutorials.c/.gitignore b/examples/org.eclipse.etrice.tutorials.c/.gitignore
index 80b5900bc..1e2bfab34 100644
--- a/examples/org.eclipse.etrice.tutorials.c/.gitignore
+++ b/examples/org.eclipse.etrice.tutorials.c/.gitignore
@@ -1,5 +1,8 @@
-PosixDebug
-PosixRelease
-MinGWDebug
-MinGWRelease
-src-gen-info
+PosixDebug
+PosixRelease
+MinGWDebug
+MinGWRelease
+src-gen/*
+!src-gen/readme.txt
+src-gen-info/*
+!src-gen-info/readme.txt
diff --git a/examples/org.eclipse.etrice.tutorials.c/gen_org.eclipse.etrice.tutorials.c.launch b/examples/org.eclipse.etrice.tutorials.c/gen_HelloWorldC.launch
index 5fd89ce5d..e05fe2f20 100644
--- a/examples/org.eclipse.etrice.tutorials.c/gen_org.eclipse.etrice.tutorials.c.launch
+++ b/examples/org.eclipse.etrice.tutorials.c/gen_HelloWorldC.launch
@@ -1,16 +1,15 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.etrice.generator.launch.c.launchConfigurationType">
-<booleanAttribute key="Debug" value="false"/>
-<booleanAttribute key="GenDocumentation" value="false"/>
-<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value=""/>
-<booleanAttribute key="Lib" value="false"/>
-<booleanAttribute key="MSC" value="false"/>
-<listAttribute key="ModelFiles">
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config}"/>
-</listAttribute>
-<booleanAttribute key="SaveGenModel" value="false"/>
-<booleanAttribute key="Verbose" value="false"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.c.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/gen_PingPongC.launch b/examples/org.eclipse.etrice.tutorials.c/gen_PingPongC.launch
new file mode 100644
index 000000000..2fe716e82
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/gen_PingPongC.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.c.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/gen_TrafficLightC.launch b/examples/org.eclipse.etrice.tutorials.c/gen_TrafficLightC.launch
new file mode 100644
index 000000000..4c6662a51
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/gen_TrafficLightC.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.c.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/gui/trafficlight.jar b/examples/org.eclipse.etrice.tutorials.c/gui/trafficlight.jar
deleted file mode 100644
index 14c3de929..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/gui/trafficlight.jar
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap
index 55feae91f..52a10ec55 100644
--- a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap
+++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap
@@ -1,11 +1,10 @@
-MappingModel MappingModel1 {
- import RoomModel1.* from "HelloWorld.room"
- import PhysicalModel1.* from "HelloWorld.etphys"
-
- Mapping LogSys1 -> PhysSys1 {
- SubSystemMapping SubSysRef1 -> nodeRef1 {
- ThreadMapping defaultThread -> PhysicalThread1
- }
- }
-
+MappingModel MappingModel1 {
+ import HelloWorld_Model.* from "HelloWorld.room"
+ import PhysicalModel1.* from "HelloWorld.etphys"
+ Mapping LogSys1 -> PhysSys1 {
+ SubSystemMapping subSysRef1 -> nodeRef1 {
+ ThreadMapping defaultThread -> PhysicalThread1
+ }
+ }
+
} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room
index da396e27f..0a0a251b1 100644
--- a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room
+++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room
@@ -1,14 +1,23 @@
-RoomModel RoomModel1 {
-
- LogicalSystem LogSys1 {
- SubSystemRef SubSysRef1: SubSysClass1
- }
-
- SubSystemClass SubSysClass1 {
- ActorRef ActorRef1: ActorClass1
- LogicalThread defaultThread
- }
-
- ActorClass ActorClass1 { }
-
+RoomModel HelloWorld_Model {
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1:SubSysClass1
+ }
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1:HelloWorldTop
+ LogicalThread defaultThread
+ }
+ ActorClass HelloWorldTop {
+ Structure { }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> state0 {
+ action {
+ "printf(\"Hello World\");"
+ }
+ }
+ State state0
+ }
+ }
+ }
+
} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.behavior b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior
index 09c1a6271..0c8e06d04 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.behavior
+++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior
@@ -1,87 +1,87 @@
-<?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 HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </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="617" height="413" x="141" y="12">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="537" height="333" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="537" height="333" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="537" 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="../HelloWorld.room#StateGraph:HelloWorldTop$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="206" height="166" x="219" y="121">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="146" height="106" 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="121" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="73" y="100">
- <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="73" y="100">
- <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="73" y="100">
- <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="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="146" height="106" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
- </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="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/>
- </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="init"/>
- </connectionDecorators>
- </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>
+<?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 HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
+ </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="../HelloWorld.room#StateGraph:HelloWorldTop$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="../HelloWorld.room#StateGraph:HelloWorldTop$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="340" 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="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" 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="state0"/>
+ </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="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/>
+ </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="init"/>
+ </connectionDecorators>
+ </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.tutorials.c/model/PingPong/PingPong.etmap b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap
new file mode 100644
index 000000000..026947fa5
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap
@@ -0,0 +1,11 @@
+MappingModel MappingModel1 {
+ import PingPong_Model.* from "PingPong.room"
+ import PhysicalModel1.* from "PingPong.etphys"
+
+ Mapping LogSys1 -> PhysSys1 {
+ SubSystemMapping subSysRef1 -> nodeRef1 {
+ ThreadMapping defaultThread -> PhysicalThread1
+ }
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etphys b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etphys
index a78e6e2c5..3aa74258a 100644
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etphys
+++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etphys
@@ -1,13 +1,13 @@
PhysicalModel PhysicalModel1 {
+
PhysicalSystem PhysSys1 {
- NodeRef node1 : NodeClass1
+ NodeRef nodeRef1 : NodeClass1
}
NodeClass NodeClass1 {
runtime = RuntimeClass1
priomin = -10
priomax = 10
-
DefaultThread PhysicalThread1 {
execmode = blocked
prio = 0
@@ -19,5 +19,6 @@ PhysicalModel PhysicalModel1 {
RuntimeClass RuntimeClass1 {
model = multiThreaded
- }
-} \ No newline at end of file
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room
new file mode 100644
index 000000000..77124505d
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room
@@ -0,0 +1,80 @@
+RoomModel PingPong_Model {
+
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1: SubSysClass1
+ }
+
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1: PingPongTop
+ LogicalThread defaultThread
+ }
+
+ ActorClass PingPongTop {
+ Structure {
+ ActorRef sender: Sender
+ ActorRef receiver: Receiver
+ Binding receiver.sender and sender.receiver
+ }
+ Behavior { }
+ }
+
+ ActorClass Sender {
+ Interface {
+ conjugated Port receiver: PPingPong
+ }
+ Structure {
+ external Port receiver
+ }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> SendingPing { }
+ Transition tr0: SendingPing -> ReceivedPong {
+ triggers {
+ <pong: receiver>
+ }
+ }
+ State SendingPing {
+ entry {
+ "receiver.ping();"
+ }
+ }
+ State ReceivedPong
+ }
+ }
+ }
+
+ ActorClass Receiver {
+ Interface {
+ Port sender: PPingPong
+ }
+ Structure {
+ external Port sender
+ }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> WaingForPing { }
+ Transition tr0: WaingForPing -> ReceivedPing {
+ triggers {
+ <ping: sender>
+ }
+ }
+ State WaingForPing
+ State ReceivedPing {
+ entry {
+ "sender.pong();"
+ }
+ }
+ }
+ }
+ }
+
+ ProtocolClass PPingPong {
+ incoming {
+ Message ping()
+ }
+ outgoing {
+ Message pong()
+ }
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room b/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room
deleted file mode 100644
index 23d9c1b8e..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room
+++ /dev/null
@@ -1,181 +0,0 @@
-RoomModel RemoveComment {
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.c/model/Types.room"
-
- PrimitiveType file:ptInteger -> FILE default "0"
-
- SubSystemClass RemoveCommentSubSys {
- ActorRef Topref:ATop
- }
- ActorClass ATop {
- Structure {
- ActorRef reader: AFileReader
- ActorRef cParser: ACParser
- Binding reader.outPort and cParser.readerPort
- }
- Behavior { }
- }
- ActorClass AFileReader{
- Interface {
- Port outPort: FileReaderProtocol
- }
- Structure {
- usercode3{"#include <stdio.h>"
- }
- external Port outPort
- Attribute f:file ref
- }
- Behavior {
- StateMachine {
- Transition init: initial -> reading {
- action {
- "if ((f = fopen(\"test.txt\",\"r\")) != 0) {"
- "\tprintf(\"file open ok !\\r\\n\");"
- "\t}"
- "\telse {"
- "\tprintf(\"file not found !\\r\\n\");"
- "\tSubSysClass_shutdown();"
- "\t}"
- }
- }
- Transition tr0: reading -> reading {
- triggers {
- <getNextChar: outPort>
- }
- action {
- "int8 c;"
- "if ((c=fgetc(f)) != EOF) {"
- "\toutPort.nextChar(c);"
- "\t}"
- "\telse {"
- "\tfclose(f);"
- "\tprintf(\"file closed !\\r\\n\");"
- "\tSubSysClass_shutdown();"
- "\t}"
- }
- }
- State reading
- }
- }
- }
- ActorClass ACParser{
- Interface {
- conjugated Port readerPort: FileReaderProtocol
- }
- Structure {
- external Port readerPort
- }
- Behavior {
- StateMachine {
- Transition init: initial -> code {
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr0: code -> cp cp0 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr1: cp cp0 -> code {
- action {
- "printf(\"%c\",c);"
- }
- }
- Transition tr2: cp cp0 -> firstSlash {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr3: firstSlash -> cp cp1 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr4: cp cp1 -> cp cp4
- Transition tr5: cp cp1 -> blockComment {
- cond {
- "c==\'*\'"
- }
- }
- Transition tr6: blockComment -> cp cp2 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr7: cp cp2 -> blockComment
- Transition tr8: cp cp2 -> firstStar {
- cond {
- "c==\'*\'"
- }
- }
- Transition tr9: firstStar -> cp cp3 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr10: cp cp3 -> blockComment
- Transition tr11: cp cp3 -> code {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr12: cp cp4 -> code {
- action {
- "printf(\"%c%c\",\'/\',c);"
- }
- }
- Transition tr13: cp cp4 -> lineComment {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr14: cp cp5 -> lineComment
- Transition tr15: lineComment -> cp cp5 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr16: cp cp5 -> code {
- cond {
- "c==\'\\n\'"
- }
- }
- ChoicePoint cp0
- ChoicePoint cp1
- ChoicePoint cp2
- ChoicePoint cp3
- ChoicePoint cp4
- ChoicePoint cp5
- State code
- State firstSlash
- State blockComment
- State firstStar
- State lineComment
- }
- }
- }
-
- ProtocolClass FileReaderProtocol {
- incoming {
- Message getNextChar()
- }
- outgoing {
- Message nextChar(c:char)
- }
- }
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap
new file mode 100644
index 000000000..b806bf580
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap
@@ -0,0 +1,11 @@
+MappingModel MappingModel1 {
+ import TrafficLight_Model.* from "TrafficLight.room"
+ import PhysicalModel1.* from "TrafficLight.etphys"
+
+ Mapping LogSys1 -> PhysSys1 {
+ SubSystemMapping subSysRef1 -> nodeRef1 {
+ ThreadMapping defaultThread -> PhysicalThread1
+ }
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys
new file mode 100644
index 000000000..3aa74258a
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys
@@ -0,0 +1,24 @@
+PhysicalModel PhysicalModel1 {
+
+ PhysicalSystem PhysSys1 {
+ NodeRef nodeRef1 : NodeClass1
+ }
+
+ NodeClass NodeClass1 {
+ runtime = RuntimeClass1
+ priomin = -10
+ priomax = 10
+ DefaultThread PhysicalThread1 {
+ execmode = blocked
+ prio = 0
+ stacksize = 1024
+ msgblocksize = 32
+ msgpoolsize = 10
+ }
+ }
+
+ RuntimeClass RuntimeClass1 {
+ model = multiThreaded
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room
new file mode 100644
index 000000000..23f78e9a7
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room
@@ -0,0 +1,14 @@
+RoomModel TrafficLight_Model {
+
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1: SubSysClass1
+ }
+
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1: TrafficLightTop
+ LogicalThread defaultThread
+ }
+
+ ActorClass TrafficLightTop { }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior
deleted file mode 100644
index ebf5d1103..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior
+++ /dev/null
@@ -1,630 +0,0 @@
-<?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 TrafficController" 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 //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@children.0/@children.8/@link //@children.0/@children.9/@link //@children.0/@children.10/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@connections.9/@link //@connections.10/@link //@connections.11/@link" verticalGridUnit="10" version="0.9.2">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="680" height="812"/>
- <link>
- <businessObjects href="../trafficlight.example.room#ActorClass:TrafficController"/>
- </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="701" height="832" x="-10" y="-10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="621" height="752" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="621" height="752" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficController$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="621" 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="318" y="60">
- <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="../trafficlight.example.room#StateGraph:TrafficController$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="278" y="126">
- <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="true" 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="../trafficlight.example.room#SimpleState:TrafficController$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="168" height="90" x="63" y="414">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="108" 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="83" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="54" 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="54" 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="54" 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="../trafficlight.example.room#SimpleState:TrafficController$Light1GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.4 //@connections.5" 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="108" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Light1GreenForCars"/>
- </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="214" height="90" x="231" y="222">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="154" 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="129" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="77" 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="77" 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="77" 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="../trafficlight.example.room#SimpleState:TrafficController$SwitchToLight1GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2 //@connections.3" incomingConnections="//@connections.1 //@connections.11" referencedGraphicsAlgorithm="//@children.0/@children.4/@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="154" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SwitchToLight1GreenForCars"/>
- </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="87" y="318">
- <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="../trafficlight.example.room#SimpleState:TrafficController$state0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.5/@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="state0"/>
- </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="279" y="318">
- <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="../trafficlight.example.room#SimpleState:TrafficController$state1"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="state1"/>
- </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="214" height="90" x="40" y="510">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="154" 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="129" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="77" 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="77" 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="77" 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="../trafficlight.example.room#SimpleState:TrafficController$SwitchToLight2GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7 //@connections.8" incomingConnections="//@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.7/@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="154" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SwitchToLight2GreenForCars"/>
- </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="87" y="606">
- <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="../trafficlight.example.room#SimpleState:TrafficController$state2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.8/@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="state2"/>
- </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="279" y="606">
- <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="../trafficlight.example.room#SimpleState:TrafficController$state3"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.9/@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="state3"/>
- </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="168" height="90" x="254" y="702">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="108" 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="83" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="54" 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="54" 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="54" 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="../trafficlight.example.room#SimpleState:TrafficController$Light2GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.9 //@connections.10" referencedGraphicsAlgorithm="//@children.0/@children.10/@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="108" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Light2GreenForCars"/>
- </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="../trafficlight.example.room#InitialTransition:TrafficController$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="2" y="-9" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- <bendpoints x="328" y="91"/>
- <bendpoints x="328" y="105"/>
- <bendpoints x="328" y="119"/>
- <bendpoints x="328" y="133"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr0"/>
- </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="11" y="-7" font="//@fonts.0" value="tr0: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="328" y="188"/>
- <bendpoints x="328" y="202"/>
- <bendpoints x="328" y="216"/>
- <bendpoints x="328" y="230"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.5/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr1"/>
- </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="-32" y="23" font="//@fonts.0" value="tr1: &lt;greenForCarDon..."/>
- </connectionDecorators>
- <bendpoints x="234" y="269"/>
- <bendpoints x="218" y="274"/>
- <bendpoints x="202" y="280"/>
- <bendpoints x="186" y="288"/>
- <bendpoints x="172" y="297"/>
- <bendpoints x="164" y="304"/>
- <bendpoints x="157" y="312"/>
- <bendpoints x="151" y="321"/>
- <bendpoints x="146" y="330"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.6/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr2"/>
- </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="12" y="-7" font="//@fonts.0" value="tr2: &lt;greenForPedDon..."/>
- </connectionDecorators>
- <bendpoints x="323" y="280"/>
- <bendpoints x="321" y="288"/>
- <bendpoints x="321" y="296"/>
- <bendpoints x="320" y="305"/>
- <bendpoints x="321" y="313"/>
- <bendpoints x="321" y="318"/>
- <bendpoints x="322" y="323"/>
- <bendpoints x="323" y="328"/>
- <bendpoints x="324" y="333"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr3"/>
- </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="61" y="-30" font="//@fonts.0" value="tr3: &lt;greenForCarDon..."/>
- </connectionDecorators>
- <bendpoints x="312" y="376"/>
- <bendpoints x="304" y="385"/>
- <bendpoints x="296" y="394"/>
- <bendpoints x="286" y="402"/>
- <bendpoints x="276" y="409"/>
- <bendpoints x="260" y="418"/>
- <bendpoints x="242" y="425"/>
- <bendpoints x="225" y="431"/>
- <bendpoints x="208" y="436"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr4"/>
- </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="12" y="-7" font="//@fonts.0" value="tr4: &lt;greenForPedDon..."/>
- </connectionDecorators>
- <bendpoints x="133" y="373"/>
- <bendpoints x="132" y="378"/>
- <bendpoints x="131" y="383"/>
- <bendpoints x="130" y="388"/>
- <bendpoints x="130" y="393"/>
- <bendpoints x="129" y="401"/>
- <bendpoints x="130" y="410"/>
- <bendpoints x="131" y="418"/>
- <bendpoints x="132" y="426"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr5"/>
- </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="11" y="-7" font="//@fonts.0" value="tr5: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="137" y="476"/>
- <bendpoints x="137" y="490"/>
- <bendpoints x="137" y="504"/>
- <bendpoints x="137" y="518"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr6"/>
- </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="12" y="-7" font="//@fonts.0" value="tr6: &lt;greenForPedDon..."/>
- </connectionDecorators>
- <bendpoints x="133" y="565"/>
- <bendpoints x="132" y="570"/>
- <bendpoints x="131" y="575"/>
- <bendpoints x="130" y="580"/>
- <bendpoints x="130" y="585"/>
- <bendpoints x="129" y="593"/>
- <bendpoints x="130" y="602"/>
- <bendpoints x="131" y="610"/>
- <bendpoints x="132" y="618"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.9/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr7"/>
- </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="60" y="16" font="//@fonts.0" value="tr7: &lt;greenForCarDon..."/>
- </connectionDecorators>
- <bendpoints x="227" y="564"/>
- <bendpoints x="239" y="568"/>
- <bendpoints x="252" y="573"/>
- <bendpoints x="264" y="579"/>
- <bendpoints x="276" y="585"/>
- <bendpoints x="286" y="592"/>
- <bendpoints x="296" y="600"/>
- <bendpoints x="304" y="609"/>
- <bendpoints x="312" y="618"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.10/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr8"/>
- </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="-32" y="-37" font="//@fonts.0" value="tr8: &lt;greenForCarDon..."/>
- </connectionDecorators>
- <bendpoints x="146" y="664"/>
- <bendpoints x="151" y="673"/>
- <bendpoints x="157" y="682"/>
- <bendpoints x="164" y="690"/>
- <bendpoints x="172" y="697"/>
- <bendpoints x="191" y="708"/>
- <bendpoints x="211" y="717"/>
- <bendpoints x="232" y="724"/>
- <bendpoints x="254" y="729"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.10/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr9"/>
- </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="12" y="-7" font="//@fonts.0" value="tr9: &lt;greenForPedDon..."/>
- </connectionDecorators>
- <bendpoints x="324" y="661"/>
- <bendpoints x="323" y="666"/>
- <bendpoints x="322" y="671"/>
- <bendpoints x="321" y="676"/>
- <bendpoints x="321" y="681"/>
- <bendpoints x="320" y="689"/>
- <bendpoints x="321" y="698"/>
- <bendpoints x="321" y="706"/>
- <bendpoints x="323" y="714"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.10/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficController$tr10"/>
- </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="11" y="-7" font="//@fonts.0" value="tr10: &lt;timeout:timeo..."/>
- </connectionDecorators>
- <bendpoints x="399" y="727"/>
- <bendpoints x="417" y="722"/>
- <bendpoints x="434" y="716"/>
- <bendpoints x="451" y="707"/>
- <bendpoints x="467" y="697"/>
- <bendpoints x="478" y="687"/>
- <bendpoints x="487" y="678"/>
- <bendpoints x="492" y="668"/>
- <bendpoints x="496" y="657"/>
- <bendpoints x="497" y="642"/>
- <bendpoints x="497" y="500"/>
- <bendpoints x="497" y="415"/>
- <bendpoints x="497" y="371"/>
- <bendpoints x="497" y="354"/>
- <bendpoints x="497" y="352"/>
- <bendpoints x="496" y="337"/>
- <bendpoints x="492" y="326"/>
- <bendpoints x="487" y="316"/>
- <bendpoints x="478" y="307"/>
- <bendpoints x="467" y="297"/>
- <bendpoints x="456" y="289"/>
- <bendpoints x="444" y="282"/>
- <bendpoints x="431" y="277"/>
- <bendpoints x="418" y="272"/>
- </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.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficLight.behavior b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficLight.behavior
deleted file mode 100644
index 59a6416c8..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficLight.behavior
+++ /dev/null
@@ -1,702 +0,0 @@
-<?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 TrafficLight" 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 //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@children.0/@children.8/@link //@children.0/@children.9/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.1/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@connections.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@link" verticalGridUnit="10" version="0.9.2">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="598" height="922"/>
- <link>
- <businessObjects href="../trafficlight.example.room#ActorClass:TrafficLight"/>
- </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="618" height="942" x="-10" y="-10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="538" height="862" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="538" height="862" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="538" 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="316" y="60">
- <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="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" 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="129" height="90" x="272" y="126">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="69" 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="44" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="34" 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="34" 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="34" 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="../trafficlight.example.room#SimpleState:TrafficLight$OpenSocket"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" 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="69" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="OpenSocket"/>
- </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="121" height="90" x="195" y="428">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="61" 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="36" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" incomingConnections="//@connections.6" 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="61" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow"/>
- </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="195" y="332">
- <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" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5 //@connections.11" referencedGraphicsAlgorithm="//@children.0/@children.4/@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="PedRed"/>
- </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="195" y="524">
- <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" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.5/@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="CarGreen"/>
- </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="178" height="104" x="247" y="222">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="118" height="44" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="15" height="8" x="93" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="59" y="38">
- <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="59" y="38">
- <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="59" y="38">
- <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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5 //@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="118" height="44" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="59" y="-1">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="33"/>
- <points x="33" y="27"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="27"/>
- <points x="33" y="33"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </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="127" height="90" x="192" y="620">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="67" 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="42" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="33" 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="33" 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="33" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.8 //@connections.12" referencedGraphicsAlgorithm="//@children.0/@children.7/@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="67" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow2"/>
- </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="136" y="716">
- <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" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.9" referencedGraphicsAlgorithm="//@children.0/@children.8/@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="CarRed"/>
- </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="61" y="812">
- <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" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.10" referencedGraphicsAlgorithm="//@children.0/@children.9/@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="PedGreen"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="../trafficlight.example.room#StateGraph:TrafficLight$Off_Blinking$sg"/>
- </link>
- <children>
- <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="/Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="360">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="47"/>
- <points x="47" y="33"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="33"/>
- <points x="47" y="47"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="true" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$On"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2" referencedGraphicsAlgorithm="//@children.1/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <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="On"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="472" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$Off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.1/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <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="Off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#ContinuationTransition:TrafficLight$Off_Blinking$tr0"/>
- </link>
- <connectionDecorators 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 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: "/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr1"/>
- </link>
- <connectionDecorators 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 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;timeout:blinke..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr2"/>
- </link>
- <connectionDecorators 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 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="tr2: &lt;timeout:blinke..."/>
- </connectionDecorators>
- </connections>
- <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="../trafficlight.example.room#InitialTransition:TrafficLight$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="2" y="-10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- <bendpoints x="326" y="91"/>
- <bendpoints x="326" y="105"/>
- <bendpoints x="326" y="119"/>
- <bendpoints x="326" y="133"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.6/@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr0"/>
- </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="8" y="1" font="//@fonts.0" value="tr0: &lt;established:tc..."/>
- </connectionDecorators>
- <bendpoints x="326" y="188"/>
- <bendpoints x="326" y="201"/>
- <bendpoints x="326" y="215"/>
- <bendpoints x="326" y="229"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr2"/>
- </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="-4" y="17" font="//@fonts.0" value="tr2: &lt;greenForCar:co..."/>
- </connectionDecorators>
- <bendpoints x="260" y="289"/>
- <bendpoints x="254" y="294"/>
- <bendpoints x="248" y="299"/>
- <bendpoints x="243" y="305"/>
- <bendpoints x="239" y="311"/>
- <bendpoints x="236" y="319"/>
- <bendpoints x="235" y="327"/>
- <bendpoints x="235" y="336"/>
- <bendpoints x="237" y="344"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr3"/>
- </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="11" y="-7" font="//@fonts.0" value="tr3: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="245" y="394"/>
- <bendpoints x="245" y="408"/>
- <bendpoints x="245" y="422"/>
- <bendpoints x="245" y="436"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr1"/>
- </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="11" y="-7" font="//@fonts.0" value="tr1: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="245" y="490"/>
- <bendpoints x="245" y="504"/>
- <bendpoints x="245" y="518"/>
- <bendpoints x="245" y="532"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr4"/>
- </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" y="-42" font="//@fonts.0" value="tr4: &lt;greenForPed:co..."/>
- </connectionDecorators>
- <bendpoints x="371" y="298"/>
- <bendpoints x="385" y="313"/>
- <bendpoints x="396" y="329"/>
- <bendpoints x="404" y="347"/>
- <bendpoints x="407" y="366"/>
- <bendpoints x="407" y="368"/>
- <bendpoints x="407" y="378"/>
- <bendpoints x="407" y="408"/>
- <bendpoints x="407" y="465"/>
- <bendpoints x="407" y="560"/>
- <bendpoints x="406" y="575"/>
- <bendpoints x="403" y="586"/>
- <bendpoints x="397" y="596"/>
- <bendpoints x="388" y="605"/>
- <bendpoints x="377" y="615"/>
- <bendpoints x="359" y="627"/>
- <bendpoints x="338" y="637"/>
- <bendpoints x="317" y="643"/>
- <bendpoints x="297" y="648"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr5"/>
- </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="15" y="-7" font="//@fonts.0" value="tr5: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="229" y="682"/>
- <bendpoints x="220" y="696"/>
- <bendpoints x="211" y="710"/>
- <bendpoints x="202" y="724"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.9/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr6"/>
- </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="15" y="-7" font="//@fonts.0" value="tr6: &lt;timeout:timeou..."/>
- </connectionDecorators>
- <bendpoints x="165" y="778"/>
- <bendpoints x="154" y="792"/>
- <bendpoints x="143" y="806"/>
- <bendpoints x="132" y="820"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr7"/>
- </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" y="51" font="//@fonts.0" value="tr7: &lt;greenForCar:co..."/>
- </connectionDecorators>
- <bendpoints x="88" y="820"/>
- <bendpoints x="78" y="805"/>
- <bendpoints x="69" y="789"/>
- <bendpoints x="62" y="771"/>
- <bendpoints x="60" y="752"/>
- <bendpoints x="60" y="610"/>
- <bendpoints x="60" y="525"/>
- <bendpoints x="60" y="481"/>
- <bendpoints x="60" y="464"/>
- <bendpoints x="60" y="462"/>
- <bendpoints x="71" y="427"/>
- <bendpoints x="99" y="401"/>
- <bendpoints x="138" y="385"/>
- <bendpoints x="179" y="375"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr8"/>
- </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" y="-7" font="//@fonts.0" value="tr8: &lt;greenForPed:co..."/>
- </connectionDecorators>
- <bendpoints x="241" y="579"/>
- <bendpoints x="240" y="584"/>
- <bendpoints x="239" y="589"/>
- <bendpoints x="239" y="594"/>
- <bendpoints x="238" y="599"/>
- <bendpoints x="238" y="607"/>
- <bendpoints x="238" y="616"/>
- <bendpoints x="239" y="624"/>
- <bendpoints x="240" y="632"/>
- </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.tutorials.c/model/trafficlight/test.room b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room
deleted file mode 100644
index d541b8011..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room
+++ /dev/null
@@ -1,16 +0,0 @@
-RoomModel wer {
- LogicalSystem LogSysName {
- SubSystemRef SubSysRefName:SubSysClassName
-
- }
- SubSystemClass SubSysClassName {
- ActorRef ActorRefName:ActorClassName
-
- }
- ActorClass ActorClassName {
- }
-
- }
-
-
- \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config
deleted file mode 100644
index 1c78c0799..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config
+++ /dev/null
@@ -1,30 +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)
- *
- *******************************************************************************/
-ConfigModel trafficlight.example.config {
-
- import trafficlight.example.* from "trafficlight.example.room"
-
- ActorInstanceConfig LSTraffic/main/application/light1{
- Attr ipConfig{
- Attr IPAddr="127.0.0.1"
- Attr TcpPort=4441
- }
- }
-
- ActorInstanceConfig LSTraffic/main/application/light2 {
- Attr ipConfig{
- Attr IPAddr="127.0.0.1"
- Attr TcpPort=4442
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap
deleted file mode 100644
index b76743986..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap
+++ /dev/null
@@ -1,17 +0,0 @@
-MappingModel MappingModel1 {
-
- import trafficlight.example.* from "trafficlight.example.room"
- import PhysicalModel1.* from "trafficlight.example.etphys"
-
- Mapping cGenRef.LS -> cGenRef.Sys {
- SubSystemMapping sys1 -> node1 {
- ThreadMapping dflt_thread -> PhysicalThread1
- ThreadMapping other_thread -> PhysicalThread1
- //ThreadMapping other_thread -> PhysicalThread2
- }
-// SubSystemMapping sys2 -> node2 {
-// ThreadMapping dflt_thread -> PhysicalThread1
-// ThreadMapping other_thread -> PhysicalThread2
-// }
- }
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room
deleted file mode 100644
index 1b69d6c26..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room
+++ /dev/null
@@ -1,318 +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)
- *
- *******************************************************************************/
-
-
-RoomModel trafficlight.example {
-
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.c/model/Types.room"
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.c/model/TimingService.room"
-
- import room.basic.service.tcp.* from "../../../org.eclipse.etrice.modellib.c/model/TcpService.room"
-
- LogicalSystem LSTraffic {
- SubSystemRef main: SSTraffic
- }
-
- SubSystemClass SSTraffic ["Subsystem of Trafficlight Example Application. The Subsystem contains all Actors of the application."] {
- ActorRef application: TrafficlightExampleApplication ["reference to application"]
- ActorRef TimingService: ATimingService ["reference to timing service"]
- LayerConnection ref application satisfied_by TimingService.timer
-
- LogicalThread dflt_thread
- }
-
- ActorClass TrafficlightExampleApplication ["Toplevel Actor of the Trafficlight Example Application."]{
- Structure {
-
- ActorRef light1: TrafficLight ["first traffic light"]
- ActorRef light2: TrafficLight ["second traffic light"]
- ActorRef controller: TrafficController ["controller for coordination of the traffic lights"]
- Binding controller.light1 and light1.controller
- Binding controller.light2 and light2.controller
- }
- Behavior { }
- }
-
- ActorClass TrafficController ["The TrafficController coordinates two traffic lights (directions)."] {
- Interface {
- conjugated Port light1: PTrafficLight ["port to control traffic light 1"]
- conjugated Port light2: PTrafficLight ["port to control traffic light 2"]
- }
- Structure {
- usercode1 {
- "#include \"platform/etTcpSockets.h\""
- }
- external Port light1
- external Port light2
- SAP timeout: PTimer
- }
- Behavior {
- Operation TrafficController() {
- "etInitSockets();"
- }
- Operation ~TrafficController() {
- "etCleanupSockets();"
- }
- StateMachine {
- Transition init: initial -> Idle { }
- Transition tr0: Idle -> SwitchToLight1GreenForCars {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr1: SwitchToLight1GreenForCars -> state0 {
- triggers {
- <greenForCarDone: light1>
- }
- }
- Transition tr2: SwitchToLight1GreenForCars -> state1 {
- triggers {
- <greenForPedDone: light2>
- }
- }
- Transition tr3: state1 -> Light1GreenForCars {
- triggers {
- <greenForCarDone: light1>
- }
- }
- Transition tr4: state0 -> Light1GreenForCars {
- triggers {
- <greenForPedDone: light2>
- }
- }
- Transition tr5: Light1GreenForCars -> SwitchToLight2GreenForCars {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr6: SwitchToLight2GreenForCars -> state2 {
- triggers {
- <greenForPedDone: light1>
- }
- }
- Transition tr7: SwitchToLight2GreenForCars -> state3 {
- triggers {
- <greenForCarDone: light2>
- }
- }
- Transition tr8: state2 -> Light2GreenForCars {
- triggers {
- <greenForCarDone: light2>
- }
- }
- Transition tr9: state3 -> Light2GreenForCars {
- triggers {
- <greenForPedDone: light1>
- }
- }
- Transition tr10: Light2GreenForCars -> SwitchToLight1GreenForCars {
- triggers {
- <timeout: timeout>
- }
- }
- State Idle {
- entry {
- "timeout.startTimeout(3000);"
- }
- }
- State Light1GreenForCars {
- entry {
- "timeout.startTimeout(10000);"
- }
- }
- State SwitchToLight1GreenForCars {
- entry {
- "light1.greenForCar();"
- "light2.greenForPed();"
- }
- }
- State state0
- State state1
- State SwitchToLight2GreenForCars {
- entry {
- "light1.greenForPed();"
- "light2.greenForCar();"
- }
- }
- State state2
- State state3
- State Light2GreenForCars {
- entry {
- "timeout.startTimeout(10000);"
- }
- }
- }
- }
- }
-
- ActorClass TrafficLight ["This Actor is responsible for controlling a single traffic light via socket. It uses a socket client for communication."] {
- Interface {
- Port controller: PTrafficLight
- }
- Structure {
- external Port controller
- conjugated Port tcpCtrl: PTcpControl
- conjugated Port tcpPayload: PTcpPayload
- SAP timeout: PTimer
- SAP blinkerTimeout: PTimer
- Attribute ipConfig: DTcpControl ["configuration of the IP-port for the communication with the Traffic Light GUI"]
- ActorRef trafficLightSocket: ATcpClient
- Binding trafficLightSocket.ControlPort and tcpCtrl
- Binding trafficLightSocket.PayloadPort and tcpPayload
- }
- Behavior {
- Operation sendString(text: string)["convenience function for sending a string over the socket"] {
- "
- static DTcpPayload pl;
- strcpy(pl.data, text);
- pl.length = strlen(text);
- tcpPayload.send(&pl);
- "
- }
- StateMachine {
- Transition init: initial -> OpenSocket { }
- Transition tr0: OpenSocket -> tp0 of Off_Blinking {
- triggers {
- <established: tcpCtrl>
- }
- }
- Transition tr2: Off_Blinking -> PedRed {
- triggers {
- <greenForCar: controller>
- }
- }
- Transition tr3: PedRed -> CarYellow {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr1: CarYellow -> CarGreen {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr4: Off_Blinking -> CarYellow2 {
- triggers {
- <greenForPed: controller>
- }
- }
- Transition tr5: CarYellow2 -> CarRed {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr6: CarRed -> PedGreen {
- triggers {
- <timeout: timeout>
- }
- }
- Transition tr7: PedGreen -> PedRed {
- triggers {
- <greenForCar: controller>
- }
- }
- Transition tr8: CarGreen -> CarYellow2 {
- triggers {
- <greenForPed: controller>
- }
- }
- State OpenSocket {
- entry {
- "tcpCtrl.open(&(ipConfig));"
- }
- }
- State CarYellow {
- entry {
- "sendString(\"carLights=yellow\\n\");"
- "timeout.startTimeout(1000);"
- }
- }
- State PedRed {
- entry {
- "sendString(\"pedLights=red\\n\");"
- "sendString(\"carLights=red\\n\");"
- "timeout.startTimeout(1000);"
- }
- }
- State CarGreen {
- entry {
- "sendString(\"carLights=green\\n\");"
- "controller.greenForCarDone();"
- }
- }
- State Off_Blinking {
- subgraph {
- Transition tr0: my tp0 -> On
- Transition tr1: On -> Off {
- triggers {
- <timeout: blinkerTimeout>
- }
- }
- Transition tr2: Off -> On {
- triggers {
- <timeout: blinkerTimeout>
- }
- }
- EntryPoint tp0
- State On {
- entry {
- "sendString(\"carLights=red\\n\");"
- "sendString(\"pedLights=red\\n\");"
- "blinkerTimeout.startTimeout(500);"
- }
- exit {
- "sendString(\"carLights=off\\n\");"
- "sendString(\"pedLights=off\\n\");"
- }
- }
- State Off {
- entry {
- "blinkerTimeout.startTimeout(500);"
- }
- }
- }
- }
- State CarYellow2 {
- entry {
- "sendString(\"carLights=yellow\\n\");"
- "timeout.startTimeout(1000);"
- }
- }
- State CarRed {
- entry {
- "sendString(\"carLights=red\\n\");"
- "timeout.startTimeout(1000);"
- }
- }
- State PedGreen {
- entry {
- "sendString(\"pedLights=green\\n\");"
- "controller.greenForPedDone();"
- }
- }
- }
- }
- }
-
- ProtocolClass PTrafficLight {
- incoming {
- Message greenForCar() ["trigger green for car"]
- Message greenForPed() ["trigger green for pedestrians"]
- }
- outgoing {
- Message greenForCarDone() ["positive response for greenForCar - is sent when switch is over"]
- Message greenForPedDone() ["positive response for greenForPed - is sent when switch is over"]
- }
- }
-
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch b/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch
deleted file mode 100644
index a75abfd4d..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:javaw}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-jar trafficlight.jar 4441"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.etrice.tutorials.c/gui}"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch b/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch
deleted file mode 100644
index d47f132cc..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:javaw}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-jar trafficlight.jar 4442"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.etrice.tutorials.c/gui}"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt b/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt
new file mode 100644
index 000000000..1dc2b35ab
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt
@@ -0,0 +1,4 @@
+This directory is an eTrice code generation target.
+It will be erased every time the generator is executed.
+
+DO NOT PLACE OTHER FILES HERE!
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c
deleted file mode 100644
index a75a969f6..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Source File of ProtocolClass PTrafficLight
- *
- */
-
-#include "PTrafficLight.h"
-#include "debugging/etMSCLogger.h"
-
-
-/*--------------------- port methods */
-
-void PTrafficLightPort_greenForCarDone(const PTrafficLightPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightPort", "greenForCarDone")
- etPort_sendMessage(self, PTrafficLight_OUT_greenForCarDone, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForCarDone_broadcast(const PTrafficLightReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForCarDone")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_OUT_greenForCarDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForCarDone(const PTrafficLightReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForCarDone")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_OUT_greenForCarDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void PTrafficLightPort_greenForPedDone(const PTrafficLightPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightPort", "greenForPedDone")
- etPort_sendMessage(self, PTrafficLight_OUT_greenForPedDone, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForPedDone_broadcast(const PTrafficLightReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForPedDone")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_OUT_greenForPedDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForPedDone(const PTrafficLightReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForPedDone")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_OUT_greenForPedDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-etInt32 PTrafficLightReplPort_getReplication(const PTrafficLightReplPort* self) {
- return ((etReplPort*)self)->size;
-}
-
-
-
-void PTrafficLightConjPort_greenForCar(const PTrafficLightConjPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjPort", "greenForCar")
- etPort_sendMessage(self, PTrafficLight_IN_greenForCar, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForCar_broadcast(const PTrafficLightConjReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForCar")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_IN_greenForCar, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForCar(const PTrafficLightConjReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForCar")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_IN_greenForCar, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void PTrafficLightConjPort_greenForPed(const PTrafficLightConjPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjPort", "greenForPed")
- etPort_sendMessage(self, PTrafficLight_IN_greenForPed, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForPed_broadcast(const PTrafficLightConjReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForPed")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_IN_greenForPed, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForPed(const PTrafficLightConjReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForPed")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_IN_greenForPed, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-etInt32 PTrafficLightConjReplPort_getReplication(const PTrafficLightConjReplPort* self) {
- return ((etReplPort*)self)->size;
-}
-
-
-
-/*--------------------- debug helpers */
-
-/* message names as strings for debugging (generate MSC) */
-static const char* const PTrafficLight_messageStrings[] = {"MIN", "greenForCarDone","greenForPedDone","greenForCar", "greenForPed", "MAX"};
-
-const char* PTrafficLight_getMessageString(int msg_id) {
- if (msg_id<PTrafficLight_MSG_MIN || msg_id>PTrafficLight_MSG_MAX+1){
- /* id out of range */
- return "Message ID out of range";
- }
- else{
- return PTrafficLight_messageStrings[msg_id];
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h
deleted file mode 100644
index 72c855040..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Header File of ProtocolClass PTrafficLight
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_
-#define _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_
-
-#include "etDatatypes.h"
-#include "modelbase/etPort.h"
-
-
-
-
-/* message IDs */
-enum PTrafficLight_msg_ids {
- PTrafficLight_MSG_MIN = 0,
- PTrafficLight_OUT_greenForCarDone = 1,
- PTrafficLight_OUT_greenForPedDone = 2,
- PTrafficLight_IN_greenForCar = 3,
- PTrafficLight_IN_greenForPed = 4,
- PTrafficLight_MSG_MAX = 5
-};
-
-/*--------------------- port structs and methods */
-typedef etPort PTrafficLightPort;
-typedef etReplPort PTrafficLightReplPort;
-
-
-void PTrafficLightPort_greenForCarDone(const PTrafficLightPort* self);
-void PTrafficLightReplPort_greenForCarDone_broadcast(const PTrafficLightReplPort* self);
-void PTrafficLightReplPort_greenForCarDone(const PTrafficLightReplPort* self, int idx);
-void PTrafficLightPort_greenForPedDone(const PTrafficLightPort* self);
-void PTrafficLightReplPort_greenForPedDone_broadcast(const PTrafficLightReplPort* self);
-void PTrafficLightReplPort_greenForPedDone(const PTrafficLightReplPort* self, int idx);
-
-
-etInt32 PTrafficLightReplPort_getReplication(const PTrafficLightReplPort* self);
-typedef etPort PTrafficLightConjPort;
-typedef etReplPort PTrafficLightConjReplPort;
-
-
-void PTrafficLightConjPort_greenForCar(const PTrafficLightConjPort* self);
-void PTrafficLightConjReplPort_greenForCar_broadcast(const PTrafficLightConjReplPort* self);
-void PTrafficLightConjReplPort_greenForCar(const PTrafficLightConjReplPort* self, int idx);
-void PTrafficLightConjPort_greenForPed(const PTrafficLightConjPort* self);
-void PTrafficLightConjReplPort_greenForPed_broadcast(const PTrafficLightConjReplPort* self);
-void PTrafficLightConjReplPort_greenForPed(const PTrafficLightConjReplPort* self, int idx);
-
-
-etInt32 PTrafficLightConjReplPort_getReplication(const PTrafficLightConjReplPort* self);
-
-/*--------------------- debug helpers */
-
-/* get message string for message id */
-const char* PTrafficLight_getMessageString(int msg_id);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c
deleted file mode 100644
index 3a7506ae2..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c
+++ /dev/null
@@ -1,460 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficController
- *
- */
-
-#include "TrafficController.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_light1 = 1,
- IFITEM_light2 = 2,
- IFITEM_timeout = 3
-};
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_Idle = 2,
- STATE_Light1GreenForCars = 3,
- STATE_SwitchToLight1GreenForCars = 4,
- STATE_state0 = 5,
- STATE_state1 = 6,
- STATE_SwitchToLight2GreenForCars = 7,
- STATE_state2 = 8,
- STATE_state3 = 9,
- STATE_Light2GreenForCars = 10,
- STATE_MAX = 11
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__Idle = 1,
- CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout = 2,
- CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1 = 3,
- CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2 = 4,
- CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1 = 5,
- CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2 = 6,
- CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout = 7,
- CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1 = 8,
- CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2 = 9,
- CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2 = 10,
- CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1 = 11,
- CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout = 12
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_light1__greenForCarDone = IFITEM_light1 + EVT_SHIFT*PTrafficLight_OUT_greenForCarDone,
- TRIG_light2__greenForCarDone = IFITEM_light2 + EVT_SHIFT*PTrafficLight_OUT_greenForCarDone,
- TRIG_timeout__timeout = IFITEM_timeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_light2__greenForPedDone = IFITEM_light2 + EVT_SHIFT*PTrafficLight_OUT_greenForPedDone,
- TRIG_light1__greenForPedDone = IFITEM_light1 + EVT_SHIFT*PTrafficLight_OUT_greenForPedDone
-};
-
-
-static void setState(TrafficController* self, etInt16 new_state) {
- self->state = new_state;
-}
-
-static etInt16 getState(TrafficController* self) {
- return self->state;
-}
-
-/* Entry and Exit Codes */
-static void entry_Idle(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 3000) /* ORIG: timeout.startTimeout(3000) */;
-}
-static void entry_Light1GreenForCars(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 10000) /* ORIG: timeout.startTimeout(10000) */;
-}
-static void entry_SwitchToLight1GreenForCars(TrafficController* self) {
- PTrafficLightConjPort_greenForCar(&self->constData->light1) /* ORIG: light1.greenForCar() */;
- PTrafficLightConjPort_greenForPed(&self->constData->light2) /* ORIG: light2.greenForPed() */;
-}
-static void entry_SwitchToLight2GreenForCars(TrafficController* self) {
- PTrafficLightConjPort_greenForPed(&self->constData->light1) /* ORIG: light1.greenForPed() */;
- PTrafficLightConjPort_greenForCar(&self->constData->light2) /* ORIG: light2.greenForCar() */;
-}
-static void entry_Light2GreenForCars(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 10000) /* ORIG: timeout.startTimeout(10000) */;
-}
-
-/* Action Codes */
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
-static void exitTo(TrafficController* self, etInt16 current, etInt16 to) {
- while (current!=to) {
- switch (current) {
- case STATE_Idle:
- self->history[STATE_TOP] = STATE_Idle;
- current = STATE_TOP;
- break;
- case STATE_Light1GreenForCars:
- self->history[STATE_TOP] = STATE_Light1GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_SwitchToLight1GreenForCars:
- self->history[STATE_TOP] = STATE_SwitchToLight1GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_state0:
- self->history[STATE_TOP] = STATE_state0;
- current = STATE_TOP;
- break;
- case STATE_state1:
- self->history[STATE_TOP] = STATE_state1;
- current = STATE_TOP;
- break;
- case STATE_SwitchToLight2GreenForCars:
- self->history[STATE_TOP] = STATE_SwitchToLight2GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_state2:
- self->history[STATE_TOP] = STATE_state2;
- current = STATE_TOP;
- break;
- case STATE_state3:
- self->history[STATE_TOP] = STATE_state3;
- current = STATE_TOP;
- break;
- case STATE_Light2GreenForCars:
- self->history[STATE_TOP] = STATE_Light2GreenForCars;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
-static etInt16 executeTransitionChain(TrafficController* self, int chain, const InterfaceItemBase* ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__Idle:
- {
- return STATE_Idle;
- }
- case CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight1GreenForCars;
- }
- case CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1:
- {
- return STATE_state0;
- }
- case CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2:
- {
- return STATE_state1;
- }
- case CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1:
- {
- return STATE_Light1GreenForCars;
- }
- case CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2:
- {
- return STATE_Light1GreenForCars;
- }
- case CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight2GreenForCars;
- }
- case CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1:
- {
- return STATE_state2;
- }
- case CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2:
- {
- return STATE_state3;
- }
- case CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2:
- {
- return STATE_Light2GreenForCars;
- }
- case CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1:
- {
- return STATE_Light2GreenForCars;
- }
- case CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight1GreenForCars;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
-static etInt16 enterHistory(TrafficController* self, etInt16 state) {
- boolean skip_entry = FALSE;
- if (state >= STATE_MAX) {
- state = (etInt16) (state - STATE_MAX);
- skip_entry = TRUE;
- }
- while (TRUE) {
- switch (state) {
- case STATE_Idle:
- if (!(skip_entry)) entry_Idle(self);
- /* in leaf state: return state id */
- return STATE_Idle;
- case STATE_Light1GreenForCars:
- if (!(skip_entry)) entry_Light1GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_Light1GreenForCars;
- case STATE_SwitchToLight1GreenForCars:
- if (!(skip_entry)) entry_SwitchToLight1GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_SwitchToLight1GreenForCars;
- case STATE_state0:
- /* in leaf state: return state id */
- return STATE_state0;
- case STATE_state1:
- /* in leaf state: return state id */
- return STATE_state1;
- case STATE_SwitchToLight2GreenForCars:
- if (!(skip_entry)) entry_SwitchToLight2GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_SwitchToLight2GreenForCars;
- case STATE_state2:
- /* in leaf state: return state id */
- return STATE_state2;
- case STATE_state3:
- /* in leaf state: return state id */
- return STATE_state3;
- case STATE_Light2GreenForCars:
- if (!(skip_entry)) entry_Light2GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_Light2GreenForCars;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = FALSE;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
-}
-
-static void TrafficController_executeInitTransition(TrafficController* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__Idle;
- etInt16 next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void TrafficController_receiveEvent(TrafficController* self, InterfaceItemBase* ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- etInt16 catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState(self)) {
- case STATE_Idle:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Light1GreenForCars:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_SwitchToLight1GreenForCars:
- switch(trigger) {
- case TRIG_light1__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_light2__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state0:
- switch(trigger) {
- case TRIG_light2__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state1:
- switch(trigger) {
- case TRIG_light1__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_SwitchToLight2GreenForCars:
- switch(trigger) {
- case TRIG_light1__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_light2__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state2:
- switch(trigger) {
- case TRIG_light2__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state3:
- switch(trigger) {
- case TRIG_light1__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Light2GreenForCars:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, getState(self), catching_state);
- {
- etInt16 next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next);
- setState(self, next);
- }
- }
-}
-
-void TrafficController_init(TrafficController* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficController", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<TRAFFICCONTROLLER_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- TrafficController_executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficController_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficController", "_receiveMessage")
-
- TrafficController_receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-void TrafficController_ctor(TrafficController* self) {
- etInitSockets();
-}
-void TrafficController_dtor(TrafficController* self) {
- etCleanupSockets();
-}
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h
deleted file mode 100644
index 852dbfb1e..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficController
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-/*--------------------- begin user code ---------------------*/
-#include "platform/etTcpSockets.h"
-/*--------------------- end user code ---------------------*/
-
-typedef struct TrafficController TrafficController;
-
-/* const part of ActorClass (ROM) */
-typedef struct TrafficController_const {
- /* simple ports */
- const PTrafficLightConjPort light1;
- const PTrafficLightConjPort light2;
-
- /* data receive ports */
-
- /* saps */
- const PTimerConjPort timeout;
-
- /* replicated ports */
-
- /* services */
-} TrafficController_const;
-
-
-/* constant for state machine data */
-#define TRAFFICCONTROLLER_HISTORY_SIZE 2
-
-/* variable part of ActorClass (RAM) */
-struct TrafficController {
- const TrafficController_const* const constData;
-
- /* data send ports */
-
- /*--------------------- attributes ---------------------*/
-
-
- /* state machine variables */
- etInt16 state;
- etInt16 history[TRAFFICCONTROLLER_HISTORY_SIZE];
-};
-
-void TrafficController_init(TrafficController* self);
-
-void TrafficController_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-void TrafficController_ctor(TrafficController* self);
-void TrafficController_dtor(TrafficController* self);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c
deleted file mode 100644
index 4e40db6f2..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c
+++ /dev/null
@@ -1,515 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficLight
- *
- */
-
-#include "TrafficLight.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_controller = 1,
- IFITEM_tcpCtrl = 2,
- IFITEM_tcpPayload = 3,
- IFITEM_timeout = 4,
- IFITEM_blinkerTimeout = 5
-};
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_Off_Blinking = 2,
- STATE_OpenSocket = 3,
- STATE_CarYellow = 4,
- STATE_PedRed = 5,
- STATE_CarGreen = 6,
- STATE_Off_Blinking_On = 7,
- STATE_Off_Blinking_Off = 8,
- STATE_CarYellow2 = 9,
- STATE_CarRed = 10,
- STATE_PedGreen = 11,
- STATE_MAX = 12
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__OpenSocket = 1,
- CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl = 2,
- CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller = 3,
- CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout = 4,
- CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout = 5,
- CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller = 6,
- CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout = 7,
- CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout = 8,
- CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller = 9,
- CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller = 10,
- CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout = 11,
- CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout = 12
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_controller__greenForCar = IFITEM_controller + EVT_SHIFT*PTrafficLight_IN_greenForCar,
- TRIG_timeout__timeout = IFITEM_timeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_blinkerTimeout__timeout = IFITEM_blinkerTimeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_controller__greenForPed = IFITEM_controller + EVT_SHIFT*PTrafficLight_IN_greenForPed,
- TRIG_tcpCtrl__established = IFITEM_tcpCtrl + EVT_SHIFT*PTcpControl_OUT_established
-};
-
-
-static void setState(TrafficLight* self, etInt16 new_state) {
- self->state = new_state;
-}
-
-static etInt16 getState(TrafficLight* self) {
- return self->state;
-}
-
-/* Entry and Exit Codes */
-static void entry_OpenSocket(TrafficLight* self) {
- PTcpControlConjPort_open(&self->constData->tcpCtrl, &(self->ipConfig /* ORIG: ipConfig */)) /* ORIG: tcpCtrl.open(&(ipConfig)) */;
-}
-static void entry_CarYellow(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=yellow\n") /* ORIG: sendString("carLights=yellow\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_PedRed(TrafficLight* self) {
- TrafficLight_sendString(self, "pedLights=red\n") /* ORIG: sendString("pedLights=red\n") */;
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_CarGreen(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=green\n") /* ORIG: sendString("carLights=green\n") */;
- PTrafficLightPort_greenForCarDone(&self->constData->controller) /* ORIG: controller.greenForCarDone() */;
-}
-static void entry_Off_Blinking_On(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- TrafficLight_sendString(self, "pedLights=red\n") /* ORIG: sendString("pedLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->blinkerTimeout, 500) /* ORIG: blinkerTimeout.startTimeout(500) */;
-}
-static void exit_Off_Blinking_On(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=off\n") /* ORIG: sendString("carLights=off\n") */;
- TrafficLight_sendString(self, "pedLights=off\n") /* ORIG: sendString("pedLights=off\n") */;
-}
-static void entry_Off_Blinking_Off(TrafficLight* self) {
- PTimerConjPort_startTimeout(&self->constData->blinkerTimeout, 500) /* ORIG: blinkerTimeout.startTimeout(500) */;
-}
-static void entry_CarYellow2(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=yellow\n") /* ORIG: sendString("carLights=yellow\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_CarRed(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_PedGreen(TrafficLight* self) {
- TrafficLight_sendString(self, "pedLights=green\n") /* ORIG: sendString("pedLights=green\n") */;
- PTrafficLightPort_greenForPedDone(&self->constData->controller) /* ORIG: controller.greenForPedDone() */;
-}
-
-/* Action Codes */
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
-static void exitTo(TrafficLight* self, etInt16 current, etInt16 to) {
- while (current!=to) {
- switch (current) {
- case STATE_OpenSocket:
- self->history[STATE_TOP] = STATE_OpenSocket;
- current = STATE_TOP;
- break;
- case STATE_CarYellow:
- self->history[STATE_TOP] = STATE_CarYellow;
- current = STATE_TOP;
- break;
- case STATE_PedRed:
- self->history[STATE_TOP] = STATE_PedRed;
- current = STATE_TOP;
- break;
- case STATE_CarGreen:
- self->history[STATE_TOP] = STATE_CarGreen;
- current = STATE_TOP;
- break;
- case STATE_Off_Blinking:
- self->history[STATE_TOP] = STATE_Off_Blinking;
- current = STATE_TOP;
- break;
- case STATE_Off_Blinking_On:
- exit_Off_Blinking_On(self);
- self->history[STATE_Off_Blinking] = STATE_Off_Blinking_On;
- current = STATE_Off_Blinking;
- break;
- case STATE_Off_Blinking_Off:
- self->history[STATE_Off_Blinking] = STATE_Off_Blinking_Off;
- current = STATE_Off_Blinking;
- break;
- case STATE_CarYellow2:
- self->history[STATE_TOP] = STATE_CarYellow2;
- current = STATE_TOP;
- break;
- case STATE_CarRed:
- self->history[STATE_TOP] = STATE_CarRed;
- current = STATE_TOP;
- break;
- case STATE_PedGreen:
- self->history[STATE_TOP] = STATE_PedGreen;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
-static etInt16 executeTransitionChain(TrafficLight* self, int chain, const InterfaceItemBase* ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__OpenSocket:
- {
- return STATE_OpenSocket;
- }
- case CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl:
- {
- return STATE_Off_Blinking_On;
- }
- case CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller:
- {
- return STATE_PedRed;
- }
- case CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout:
- {
- return STATE_CarYellow;
- }
- case CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout:
- {
- return STATE_CarGreen;
- }
- case CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller:
- {
- return STATE_CarYellow2;
- }
- case CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout:
- {
- return STATE_CarRed;
- }
- case CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout:
- {
- return STATE_PedGreen;
- }
- case CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller:
- {
- return STATE_PedRed;
- }
- case CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller:
- {
- return STATE_CarYellow2;
- }
- case CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout:
- {
- return STATE_Off_Blinking_Off;
- }
- case CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout:
- {
- return STATE_Off_Blinking_On;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
-static etInt16 enterHistory(TrafficLight* self, etInt16 state) {
- boolean skip_entry = FALSE;
- if (state >= STATE_MAX) {
- state = (etInt16) (state - STATE_MAX);
- skip_entry = TRUE;
- }
- while (TRUE) {
- switch (state) {
- case STATE_OpenSocket:
- if (!(skip_entry)) entry_OpenSocket(self);
- /* in leaf state: return state id */
- return STATE_OpenSocket;
- case STATE_CarYellow:
- if (!(skip_entry)) entry_CarYellow(self);
- /* in leaf state: return state id */
- return STATE_CarYellow;
- case STATE_PedRed:
- if (!(skip_entry)) entry_PedRed(self);
- /* in leaf state: return state id */
- return STATE_PedRed;
- case STATE_CarGreen:
- if (!(skip_entry)) entry_CarGreen(self);
- /* in leaf state: return state id */
- return STATE_CarGreen;
- case STATE_Off_Blinking:
- /* state has a sub graph */
- /* without init transition */
- state = self->history[STATE_Off_Blinking];
- break;
- case STATE_Off_Blinking_On:
- if (!(skip_entry)) entry_Off_Blinking_On(self);
- /* in leaf state: return state id */
- return STATE_Off_Blinking_On;
- case STATE_Off_Blinking_Off:
- if (!(skip_entry)) entry_Off_Blinking_Off(self);
- /* in leaf state: return state id */
- return STATE_Off_Blinking_Off;
- case STATE_CarYellow2:
- if (!(skip_entry)) entry_CarYellow2(self);
- /* in leaf state: return state id */
- return STATE_CarYellow2;
- case STATE_CarRed:
- if (!(skip_entry)) entry_CarRed(self);
- /* in leaf state: return state id */
- return STATE_CarRed;
- case STATE_PedGreen:
- if (!(skip_entry)) entry_PedGreen(self);
- /* in leaf state: return state id */
- return STATE_PedGreen;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = FALSE;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
-}
-
-static void TrafficLight_executeInitTransition(TrafficLight* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__OpenSocket;
- etInt16 next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void TrafficLight_receiveEvent(TrafficLight* self, InterfaceItemBase* ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- etInt16 catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState(self)) {
- case STATE_OpenSocket:
- switch(trigger) {
- case TRIG_tcpCtrl__established:
- {
- chain = CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarYellow:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_PedRed:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarGreen:
- switch(trigger) {
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Off_Blinking_On:
- switch(trigger) {
- case TRIG_blinkerTimeout__timeout:
- {
- chain = CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout;
- catching_state = STATE_Off_Blinking;
- }
- break;
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Off_Blinking_Off:
- switch(trigger) {
- case TRIG_blinkerTimeout__timeout:
- {
- chain = CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout;
- catching_state = STATE_Off_Blinking;
- }
- break;
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarYellow2:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarRed:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_PedGreen:
- switch(trigger) {
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, getState(self), catching_state);
- {
- etInt16 next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next);
- setState(self, next);
- }
- }
-}
-
-void TrafficLight_init(TrafficLight* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficLight", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<TRAFFICLIGHT_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- TrafficLight_executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficLight_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficLight", "_receiveMessage")
-
- TrafficLight_receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-void TrafficLight_sendString(TrafficLight* self, charPtr text) {
-
- static DTcpPayload pl;
- strcpy(pl.data, text);
- pl.length = strlen(text);
- PTcpPayloadConjPort_send(&self->constData->tcpPayload, &pl) /* ORIG: tcpPayload.send(&pl) */;
-}
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h
deleted file mode 100644
index 36f4114bf..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficLight
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/tcp/DTcpControl.h"
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-typedef struct TrafficLight TrafficLight;
-
-/* const part of ActorClass (ROM) */
-typedef struct TrafficLight_const {
- /* simple ports */
- const PTrafficLightPort controller;
- const PTcpControlConjPort tcpCtrl;
- const PTcpPayloadConjPort tcpPayload;
-
- /* data receive ports */
-
- /* saps */
- const PTimerConjPort timeout;
- const PTimerConjPort blinkerTimeout;
-
- /* replicated ports */
-
- /* services */
-} TrafficLight_const;
-
-
-/* constant for state machine data */
-#define TRAFFICLIGHT_HISTORY_SIZE 3
-
-/* variable part of ActorClass (RAM) */
-struct TrafficLight {
- const TrafficLight_const* const constData;
-
- /* data send ports */
-
- /*--------------------- attributes ---------------------*/
- DTcpControl ipConfig;
-
-
- /* state machine variables */
- etInt16 state;
- etInt16 history[TRAFFICLIGHT_HISTORY_SIZE];
-};
-
-void TrafficLight_init(TrafficLight* self);
-
-void TrafficLight_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-void TrafficLight_sendString(TrafficLight* self, charPtr text);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c
deleted file mode 100644
index 043106785..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficlightExampleApplication
- *
- */
-
-#include "TrafficlightExampleApplication.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-/* empty enum not generated */
-
-
-void TrafficlightExampleApplication_init(TrafficlightExampleApplication* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficlightExampleApplication", "init")
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficlightExampleApplication_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficlightExampleApplication", "_receiveMessage")
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h
deleted file mode 100644
index 0fdf71576..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficlightExampleApplication
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-typedef struct TrafficlightExampleApplication TrafficlightExampleApplication;
-
-/* const part of ActorClass (ROM) */
-/* this actor class has no ports and thus no constant data */
-
-
-/* variable part of ActorClass (RAM) */
-struct TrafficlightExampleApplication {
- /* This actor class has no data at all.
- But the private actor instance data is passed to all life cycle functions.
- By introducing the dummy data we keep this case simple
- */
- int dummy;
-};
-
-void TrafficlightExampleApplication_init(TrafficlightExampleApplication* self);
-
-void TrafficlightExampleApplication_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/test.txt b/examples/org.eclipse.etrice.tutorials.c/test.txt
deleted file mode 100644
index dfdd262e9..000000000
--- a/examples/org.eclipse.etrice.tutorials.c/test.txt
+++ /dev/null
@@ -1,325 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * Source File of ActorClass ACParser
- *
- */
-
-#include "ACParser.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "platform/etMemory.h"
-
-#include "FileReaderProtocol.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_readerPort = 1
-};
-
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_code = 2,
- STATE_firstSlash = 3,
- STATE_blockComment = 4,
- STATE_firstStar = 5,
- STATE_lineComment = 6
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__code = 1,
- CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort = 2,
- CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort = 3,
- CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort = 4,
- CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort = 5,
- CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort = 6
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_readerPort__nextChar = IFITEM_readerPort + EVT_SHIFT*FileReaderProtocol_OUT_nextChar
-};
-
-
-static void setState(ACParser* self, int new_state) {
- self->state = new_state;
-}
-
-/* Entry and Exit Codes */
-
-/* Action Codes */
-static void action_TRANS_INITIAL_TO__code(ACParser* self) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr1_FROM_cp0_TO_code(ACParser* self, InterfaceItemBase ifitem, char c) {
- printf("%c",c);
-}
-static void action_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr12_FROM_cp4_TO_code(ACParser* self, InterfaceItemBase ifitem, char c) {
- printf("%c%c",'/',c);
-}
-static void action_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
-static void exitTo(ACParser* self, int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_code:
- self->history[STATE_TOP] = STATE_code;
- current = STATE_TOP;
- break;
- case STATE_firstSlash:
- self->history[STATE_TOP] = STATE_firstSlash;
- current = STATE_TOP;
- break;
- case STATE_blockComment:
- self->history[STATE_TOP] = STATE_blockComment;
- current = STATE_TOP;
- break;
- case STATE_firstStar:
- self->history[STATE_TOP] = STATE_firstStar;
- current = STATE_TOP;
- break;
- case STATE_lineComment:
- self->history[STATE_TOP] = STATE_lineComment;
- current = STATE_TOP;
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
-static int executeTransitionChain(ACParser* self, int chain, InterfaceItemBase ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__code:
- {
- action_TRANS_INITIAL_TO__code(self);
- return STATE_code;
- }
- case CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='/') {
- return STATE_firstSlash;}
- else {
- action_TRANS_tr1_FROM_cp0_TO_code(self, ifitem, c);
- return STATE_code;}
- }
- case CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='*') {
- return STATE_blockComment;}
- else {
- if (c=='/') {
- return STATE_lineComment;}
- else {
- action_TRANS_tr12_FROM_cp4_TO_code(self, ifitem, c);
- return STATE_code;}
- }
- }
- case CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='*') {
- return STATE_firstStar;}
- else {
- return STATE_blockComment;}
- }
- case CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='/') {
- return STATE_code;}
- else {
- return STATE_blockComment;}
- }
- case CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='\n') {
- return STATE_code;}
- else {
- return STATE_lineComment;}
- }
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
-static int enterHistory(ACParser* self, int state, boolean handler, boolean skip_entry) {
- while (TRUE) {
- switch (state) {
- case STATE_code:
- // in leaf state: return state id
- return STATE_code;
- case STATE_firstSlash:
- // in leaf state: return state id
- return STATE_firstSlash;
- case STATE_blockComment:
- // in leaf state: return state id
- return STATE_blockComment;
- case STATE_firstStar:
- // in leaf state: return state id
- return STATE_firstStar;
- case STATE_lineComment:
- // in leaf state: return state id
- return STATE_lineComment;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- }
- skip_entry = FALSE;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
-}
-
-static void executeInitTransition(ACParser* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__code;
- int next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next, FALSE, FALSE);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void receiveEvent(ACParser* self, InterfaceItemBase ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = FALSE;
- boolean skip_entry = FALSE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (self->state) {
- case STATE_code:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_firstSlash:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blockComment:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_firstStar:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_lineComment:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, self->state, catching_state, is_handler);
- int next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next, is_handler, skip_entry);
- setState(self, next);
- }
-}
-
-//******************************************
-// END of generated code for FSM
-//******************************************
-
-void ACParser_init(ACParser* self){
- ET_MSC_LOGGER_SYNC_ENTRY("ACParser", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<ACPARSER_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void ACParser_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("ACParser", "_receiveMessage")
-
- receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-
diff --git a/examples/org.eclipse.etrice.tutorials.java/.gitignore b/examples/org.eclipse.etrice.tutorials.java/.gitignore
index 092357e47..c5b2f5b90 100644
--- a/examples/org.eclipse.etrice.tutorials.java/.gitignore
+++ b/examples/org.eclipse.etrice.tutorials.java/.gitignore
@@ -1 +1,5 @@
-bin
+bin
+src-gen/*
+!src-gen/readme.txt
+src-gen-info/*
+!src-gen-info/readme.txt
diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_org.eclipse.etrice.tutorials.java.launch b/examples/org.eclipse.etrice.tutorials.java/gen_HelloWorldJava.launch
index 1ebe241c5..dbc4238e0 100644
--- a/examples/org.eclipse.etrice.tutorials.java/gen_org.eclipse.etrice.tutorials.java.launch
+++ b/examples/org.eclipse.etrice.tutorials.java/gen_HelloWorldJava.launch
@@ -1,19 +1,15 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
-<booleanAttribute key="Debug" value="false"/>
-<booleanAttribute key="GenDocumentation" value="false"/>
-<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value=""/>
-<booleanAttribute key="Lib" value="false"/>
-<booleanAttribute key="MSC" value="true"/>
-<listAttribute key="ModelFiles">
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room}"/>
-</listAttribute>
-<booleanAttribute key="SaveGenModel" value="false"/>
-<booleanAttribute key="Verbose" value="true"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch b/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch
new file mode 100644
index 000000000..f2c1044fe
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch b/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch
new file mode 100644
index 000000000..ef69ae1d4
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
+<booleanAttribute key="Debug" value="false"/>
+<booleanAttribute key="GenDocumentation" value="false"/>
+<booleanAttribute key="GenInstanceDiagram" value="false"/>
+<stringAttribute key="GenModelPath" value=""/>
+<booleanAttribute key="Lib" value="false"/>
+<booleanAttribute key="MSC" value="true"/>
+<listAttribute key="ModelFiles">
+<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room}"/>
+</listAttribute>
+<booleanAttribute key="SaveGenModel" value="false"/>
+<booleanAttribute key="Verbose" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room
deleted file mode 100644
index 67bba4bbc..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room
+++ /dev/null
@@ -1,149 +0,0 @@
-RoomModel Blinky {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
-
- LogicalSystem System_Blinky {
- SubSystemRef subsystem: SubSystem_Blinky
- }
-
- SubSystemClass SubSystem_Blinky {
- ActorRef application: BlinkyTop
- ActorRef timingService: ATimingService
- LayerConnection ref application satisfied_by timingService.timer
- }
-
- ActorClass BlinkyTop {
- Structure {
- ActorRef blinky: Blinky
- ActorRef controller: BlinkyController
- Binding blinky.ControlPort and controller.ControlPort
- }
- Behavior { }
- }
-
- ActorClass Blinky {
- Interface {
- Port ControlPort: BlinkyControlProtocoll
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- usercode2 {
- "private PedestrianLightWndNoTcp light = new PedestrianLightWndNoTcp();"
- "private TrafficLight3 carLights;"
- "private TrafficLight2 pedLights;"
- }
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- Operation ~Blinky() {
- "light.closeWindow();"
- }
- StateMachine {
- Transition init: initial -> off {
- action {
- "carLights = light.getCarLights();"
- "pedLights = light.getPedLights();"
- "carLights.setState(TrafficLight3.OFF);"
- "pedLights.setState(TrafficLight2.OFF);"
- }
- }
- Transition tr0: off -> tp0 of blinking {
- triggers {
- <start: ControlPort>
- }
- }
- Transition tr1: blinking -> off {
- triggers {
- <stop: ControlPort>
- }
- action {
- "timer.kill();"
- "carLights.setState(TrafficLight3.OFF);"
- }
- }
- State off
- State blinking {
- subgraph {
- Transition tr0: my tp0 -> on
- Transition tr1: on -> off {
- triggers {
- <timeout: timer>
- }
- }
- Transition tr2: off -> on {
- triggers {
- <timeout: timer>
- }
- }
- Transition init: initial -> on { }
- EntryPoint tp0
- State on {
- entry {
- "timer.startTimeout(1000);"
- "carLights.setState(TrafficLight3.YELLOW);"
- }
- }
- State off {
- entry {
- "timer.startTimeout(1000);"
- "carLights.setState(TrafficLight3.OFF);"
- }
- }
- }
- }
- }
- }
- }
-
- ActorClass BlinkyController {
- Interface {
- conjugated Port ControlPort: BlinkyControlProtocoll
- }
- Structure {
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition init: initial -> on {
- action {
- "timer.startTimeout(5000);"
- "ControlPort.start();"
- }
- }
- Transition goOff: on -> off {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.stop();"
- "timer.startTimeout(5000);"
- }
- }
- Transition goOn: off -> on {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.start();"
- "timer.startTimeout(5000);"
- }
- }
- State on
- State off { }
- }
- }
- }
-
- ProtocolClass BlinkyControlProtocoll {
- incoming {
- Message start()
- Message stop()
- }
- outgoing { }
- }
-
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior
deleted file mode 100644
index f2353639c..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior
+++ /dev/null
@@ -1,356 +0,0 @@
-<?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 Blinky" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.1/@link //@children.1/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.3/@children.1/@link //@children.1/@children.3/@link //@children.1/@children.4/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </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="789" height="397" x="101" y="42">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="709" height="317" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="709" height="317" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="709" 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="../Blinky.room#StateGraph:Blinky$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" 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="162" height="124" x="164" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="102" height="64" 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="77" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="58">
- <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="51" y="58">
- <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="51" y="58">
- <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="../Blinky.room#SimpleState:Blinky$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.4 //@connections.6" 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="102" height="64" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </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="191" height="145" x="468" y="109">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="131" height="85" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="106" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="65" y="79">
- <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="65" y="79">
- <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="65" y="79">
- <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="../Blinky.room#SimpleState:Blinky$blinking"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" 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="131" height="85" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="26">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="33"/>
- <points x="33" y="27"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="27"/>
- <points x="33" y="33"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#EntryPoint:Blinky$blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.3/@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="60" height="22" font="//@fonts.0" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="770" height="390" x="152" y="37">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="690" height="310" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="690" height="310" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$blinking$sg"/>
- </link>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="690" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" 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="../Blinky.room#StateGraph:Blinky$blinking$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <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" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="144">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="47"/>
- <points x="47" y="33"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="33"/>
- <points x="47" y="47"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#EntryPoint:Blinky$blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tp0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="163" height="127" x="163" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="103" height="67" 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="78" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="51" y="61">
- <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="51" y="61">
- <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="51" y="61">
- <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="../Blinky.room#SimpleState:Blinky$blinking$on"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2 //@connections.3" referencedGraphicsAlgorithm="//@children.1/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="103" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="on"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="164" height="127" x="444" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="104" height="67" 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="79" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="52" y="61">
- <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="52" y="61">
- <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="52" y="61">
- <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="../Blinky.room#SimpleState:Blinky$blinking$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.1/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="104" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@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="../Blinky.room#ContinuationTransition:Blinky$blinking$tr0"/>
- </link>
- <connectionDecorators 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 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: "/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@children.4/@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="../Blinky.room#TriggeredTransition:Blinky$blinking$tr1"/>
- </link>
- <connectionDecorators 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 active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-83" y="15" font="//@fonts.0" value="tr1: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- <bendpoints x="533" y="276"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.4/@anchors.0" end="//@children.1/@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="../Blinky.room#TriggeredTransition:Blinky$blinking$tr2"/>
- </link>
- <connectionDecorators 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 active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-71" y="-21" font="//@fonts.0" value="tr2: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- <bendpoints x="534" y="169"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@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="../Blinky.room#InitialTransition:Blinky$blinking$initial"/>
- </link>
- <connectionDecorators 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 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.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="../Blinky.room#InitialTransition:Blinky$initial"/>
- </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="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@children.1/@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="../Blinky.room#TriggeredTransition:Blinky$tr0"/>
- </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="-81" y="-23" font="//@fonts.0" value="tr0: &lt;start:ControlP..."/>
- </connectionDecorators>
- <bendpoints x="488" y="172"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@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="../Blinky.room#TriggeredTransition:Blinky$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="-90" y="9" font="//@fonts.0" value="tr1: &lt;stop:ControlPo..."/>
- </connectionDecorators>
- <bendpoints x="494" y="288"/>
- </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.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure
deleted file mode 100644
index aa487574a..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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 BlinkyController" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="663" height="445" x="87" y="38">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="583" height="365" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="583" height="365" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="291">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:BlinkyController$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior
deleted file mode 100644
index c266e6635..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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 BlinkyTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </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="654" height="436" x="59" y="10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="574" height="356" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="574" height="356" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:BlinkyTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="574" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure
deleted file mode 100644
index 045db94e9..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure
+++ /dev/null
@@ -1,82 +0,0 @@
-<?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 SubSystem_Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#SubSystemClass:SubSystem_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="545" height="484" x="40" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="465" height="404" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="465" height="404" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SubSystemClass:SubSystem_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="143" y="88">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:SubSystem_Blinky$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application&#xA;(BlinkyTop)"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="143" y="256">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:SubSystem_Blinky$timingService"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timingService&#xA;(ATimingService)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="54">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="file:/C:/entw/projekte/eTrice/eTriceDevelopment/repositories/eTriceGIT/FlatWorld/org.eclipse.etrice.modellib.java/models/TimingService.room#SPPRef:ATimingService$timer"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timer"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:ManhattanConnection" visible="true" active="true" start="//@children.0/@children.0/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="conn"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#LayerConnection:SubSystem_Blinky$application-timingService!timer"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="-15" y="10"/>
- <points/>
- <points x="-15" y="-10"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- </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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
index 7e8d208d9..e2ff08cac 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
+++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room
@@ -1,26 +1,23 @@
-RoomModel HelloWorld {
-
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem: SubSystem_HelloWorld
- }
-
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application: HelloWorldTop
- LogicalThread defaultThread
- }
-
- ActorClass HelloWorldTop {
- Structure { }
- Behavior {
- StateMachine {
- Transition init: initial -> state0 {
- action {
- "System.out.println(\"HelloWorld !\");"
- }
- }
- State state0
- }
- }
- }
-
+RoomModel HelloWorld_Model {
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1:SubSysClass1
+ }
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1:HelloWorldTop
+ LogicalThread defaultThread
+ }
+ ActorClass HelloWorldTop {
+ Structure { }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> state0 {
+ action {
+ "System.out.println(\"Hello World\");"
+ }
+ }
+ State state0
+ }
+ }
+ }
+
} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.behavior b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.behavior
index c73561598..8c537eb0c 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.behavior
+++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.behavior
@@ -1,125 +1,87 @@
-<?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 GuiAdapter" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </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="582" height="454" x="108" y="16">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="502" height="374" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="502" height="374" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:GuiAdapter$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="502" 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="../PedLightsController.room#StateGraph:GuiAdapter$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="198" height="127" x="216" y="159">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="138" height="67" 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="113" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="69" y="61">
- <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="69" y="61">
- <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="69" y="61">
- <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="../PedLightsController.room#SimpleState:GuiAdapter$running"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.0 //@connections.1 //@connections.2" 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="138" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="running"/>
- </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="../PedLightsController.room#InitialTransition:GuiAdapter$initial"/>
- </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="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@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="../PedLightsController.room#TriggeredTransition:GuiAdapter$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="-64" y="-23" font="//@fonts.0" value="tr0: &lt;setCarLights:C..."/>
- </connectionDecorators>
- <bendpoints x="452" y="150"/>
- <bendpoints x="395" y="150"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@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="../PedLightsController.room#TriggeredTransition:GuiAdapter$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="-82" y="12" font="//@fonts.0" value="tr1: &lt;setPedLights:C..."/>
- </connectionDecorators>
- <bendpoints x="430" y="322"/>
- <bendpoints x="374" y="322"/>
- </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>
+<?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 HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
+ </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="680" height="459" x="40" y="40">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="600" height="379" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="600" height="379" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/>
+ </link>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="600" 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="93" y="75">
+ <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="../HelloWorld.room#StateGraph:HelloWorldTop$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="244" y="140">
+ <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="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" 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="state0"/>
+ </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="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/>
+ </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="init"/>
+ </connectionDecorators>
+ </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.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.structure
index 1f6af31a7..ba44494ed 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.structure
@@ -1,20 +1,20 @@
-<?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 HelloWorldTop" pictogramLinks="//@children.0/@link //@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="729" height="475" x="74" y="13">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="649" height="395" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="649" height="395" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </link>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
-</pi:Diagram>
+<?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 HelloWorldTop" pictogramLinks="//@children.0/@link //@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
+ </link>
+ </children>
+ <colors red="227" green="238" blue="249"/>
+ <colors red="255" green="255" blue="255"/>
+ <colors/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.SubSystem_HelloWorld.structure b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.SubSysClass1.structure
index aca3f61be..dedcab89b 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.SubSystem_HelloWorld.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.SubSysClass1.structure
@@ -1,38 +1,38 @@
-<?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 SubSystem_HelloWorld" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemClass:SubSystem_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="665" height="381" x="86" y="13">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="585" height="301" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="585" height="301" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemClass:SubSystem_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="213" y="112">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#ActorRef:SubSystem_HelloWorld$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application&#xA;(HelloWorldTop)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
+<?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 SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../HelloWorld.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="674" height="460" x="40" y="40">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="594" height="380" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="594" height="380" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../HelloWorld.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="212" y="145">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../HelloWorld.room#ActorRef:SubSysClass1$actorRef1"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1&#xA;(HelloWorldTop)"/>
+ </children>
+ </children>
+ </children>
+ <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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room
deleted file mode 100644
index d66496cfc..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room
+++ /dev/null
@@ -1,168 +0,0 @@
-RoomModel PedLightsController {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room"
-
- LogicalSystem LogSys_PedLights {
- SubSystemRef application: SubSys_PedLights
- }
-
- SubSystemClass SubSys_PedLights {
- ActorRef PedLightsTopRef: PedLightsTop
- ActorRef timingService: ATimingService
- LayerConnection ref PedLightsTopRef satisfied_by timingService.timer
- }
-
- ActorClass PedLightsTop {
- Structure {
- ActorRef adapter: GuiAdapter
- ActorRef controller: Controller
- Binding adapter.ControlPort and controller.ControlPort
- }
- Behavior { }
- }
-
- ActorClass GuiAdapter {
- Interface {
- conjugated Port ControlPort: PedControlProtocol
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- usercode2 {
- "private PedestrianLightWndNoTcp lights = new PedestrianLightWndNoTcp(\"Pedestrian Lights\",\" external port connection \");"
- "private TrafficLight3 carLights;"
- "private TrafficLight2 pedLights;"
- }
- external Port ControlPort
- }
- Behavior {
- Operation ~GuiAdapter() {
- "lights.closeWindow();"
- }
- StateMachine {
- Transition init: initial -> running {
- action {
- "carLights=lights.getCarLights();"
- "pedLights=lights.getPedLights();"
- "carLights.setState(TrafficLight3.OFF);"
- "pedLights.setState(TrafficLight2.OFF);"
- "lights.setPort(ControlPort);"
- }
- }
- Transition tr0: running -> running {
- triggers {
- <setCarLights: ControlPort>
- }
- action {
- "carLights.setState(state);"
- }
- }
- Transition tr1: running -> running {
- triggers {
- <setPedLights: ControlPort>
- }
- action {
- "pedLights.setState(state);"
- }
- }
- State running
- }
- }
- }
-
- ActorClass Controller {
- Interface {
- Port ControlPort: PedControlProtocol
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition init: initial -> off { }
- Transition tr0: off -> carsGreen {
- triggers {
- <start: ControlPort>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.GREEN);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr1: carsGreen -> carsYellow {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.YELLOW);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr2: carsYellow -> carsRed {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(1500);"
- "ControlPort.setCarLights(TrafficLight3.RED);"
- "ControlPort.setPedLights(TrafficLight2.GREEN);"
- }
- }
- Transition tr3: carsRed -> carsYellowRed {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.YELLOW_RED);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr4: carsYellowRed -> carsGreen2 {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.GREEN);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr5: carsGreen2 -> off {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.setCarLights(TrafficLight3.OFF);"
- "ControlPort.setPedLights(TrafficLight2.OFF);"
- }
- }
- State off
- State carsGreen
- State carsYellow
- State carsRed
- State carsYellowRed
- State carsGreen2
- }
- }
- }
-
- ProtocolClass PedControlProtocol {
- incoming {
- Message start()
- }
- outgoing {
- Message setCarLights(state: int32)
- Message setPedLights(state: int32)
- }
- }
-
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior
deleted file mode 100644
index d269a0f2e..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior
+++ /dev/null
@@ -1,344 +0,0 @@
-<?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 Controller" 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 //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </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="548" height="521" x="175" y="-5">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="468" height="441" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="468" height="441" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:Controller$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="468" 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="94" y="70">
- <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="../PedLightsController.room#StateGraph:Controller$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="54" 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="../PedLightsController.room#SimpleState:Controller$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.6" 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="off"/>
- </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="130" height="90" x="49" y="228">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="70" 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="45" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="35" 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="35" 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="35" 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="../PedLightsController.room#SimpleState:Controller$carsGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" 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="70" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsGreen"/>
- </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="133" height="90" x="47" y="331">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="73" 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="48" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="36" 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="36" 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="36" 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="../PedLightsController.room#SimpleState:Controller$carsYellow"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.4/@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="73" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsYellow"/>
- </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="275" y="331">
- <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="../PedLightsController.room#SimpleState:Controller$carsRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.5/@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="carsRed"/>
- </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="156" height="90" x="257" y="228">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="96" 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="71" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="48" 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="48" 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="48" 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="../PedLightsController.room#SimpleState:Controller$carsYellowRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="96" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsYellowRed"/>
- </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="137" height="90" x="266" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="77" 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="52" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="38" 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="38" 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="38" 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="../PedLightsController.room#SimpleState:Controller$carsGreen2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.7/@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="77" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsGreen2"/>
- </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="../PedLightsController.room#InitialTransition:Controller$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="../PedLightsController.room#TriggeredTransition:Controller$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="3" y="-14" font="//@fonts.0" value="tr0: &lt;start:ControlP..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.4/@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="../PedLightsController.room#TriggeredTransition:Controller$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="5" y="-12" font="//@fonts.0" value="tr1: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.5/@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="../PedLightsController.room#TriggeredTransition:Controller$tr2"/>
- </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="-65" y="14" font="//@fonts.0" value="tr2: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.6/@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="../PedLightsController.room#TriggeredTransition:Controller$tr3"/>
- </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="3" y="2" font="//@fonts.0" value="tr3: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@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="../PedLightsController.room#TriggeredTransition:Controller$tr4"/>
- </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="-1" y="-8" font="//@fonts.0" value="tr4: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@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="../PedLightsController.room#TriggeredTransition:Controller$tr5"/>
- </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="-58" y="-22" font="//@fonts.0" value="tr5: &lt;timeoutTick:ti..."/>
- </connectionDecorators>
- </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.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure
deleted file mode 100644
index d56ae06d0..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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 Controller" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="690" height="436" x="104" y="37">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="610" height="356" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="610" height="356" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="305">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:Controller$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure
deleted file mode 100644
index fef19a9c5..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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 GuiAdapter" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="735" height="461" x="71" y="9">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="655" height="381" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="655" height="381" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="327">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:GuiAdapter$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior
deleted file mode 100644
index e6f39db59..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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 PedLightsTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </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="699" height="445" x="104" y="35">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="619" height="365" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="619" height="365" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:PedLightsTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="619" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure
deleted file mode 100644
index 3db62f4ea..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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 PedLightsTop" 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">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="795" height="343" x="31" y="12">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="715" height="263" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="715" height="263" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="104" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:PedLightsTop$adapter"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="adapter&#xA;(GuiAdapter)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="47">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:GuiAdapter$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="ControlPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="440" y="97">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:PedLightsTop$controller"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="controller&#xA;(Controller)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:Controller$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="ControlPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#Binding:PedLightsTop$ControlPort!adapter-ControlPort!controller"/>
- </link>
- </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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure
deleted file mode 100644
index 2f64483e7..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure
+++ /dev/null
@@ -1,82 +0,0 @@
-<?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_PedLights" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemClass:SubSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="517" height="520" x="152" y="-18">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="437" height="440" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="437" height="440" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemClass:SubSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="128" y="81">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:SubSys_PedLights$PedLightsTopRef"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedLightsTopRef&#xA;(PedLightsTop)"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="128" y="264">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:SubSys_PedLights$timingService"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timingService&#xA;(ATimingService)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="54">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="file:/C:/entw/projekte/eTrice/eTriceDevelopment/repositories/eTriceGIT/FlatWorld/org.eclipse.etrice.modellib.java/models/TimingService.room#SPPRef:ATimingService$timer"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timer"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:ManhattanConnection" visible="true" active="true" start="//@children.0/@children.0/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="conn"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#LayerConnection:SubSys_PedLights$PedLightsTopRef-timingService!timer"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="-15" y="10"/>
- <points/>
- <points x="-15" y="-10"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- </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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room
new file mode 100644
index 000000000..511b10917
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room
@@ -0,0 +1,74 @@
+RoomModel PingPong_Model {
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1:SubSysClass1
+ }
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1:PingPongTop
+ LogicalThread defaultThread
+ }
+ ActorClass PingPongTop {
+ Structure {
+ ActorRef sender: Sender
+ ActorRef receiver: Receiver
+ Binding receiver.sender and sender.receiver
+ }
+ Behavior { }
+ }
+ ActorClass Sender {
+ Interface {
+ conjugated Port receiver: PPingPong
+ }
+ Structure {
+ external Port receiver
+ }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> SendingPing { }
+ Transition tr0: SendingPing -> ReceivedPong {
+ triggers {
+ <pong: receiver>
+ }
+ }
+ State SendingPing {
+ entry {
+ "receiver.ping();"
+ }
+ }
+ State ReceivedPong
+ }
+ }
+ }
+ ActorClass Receiver {
+ Interface {
+ Port sender: PPingPong
+ }
+ Structure {
+ external Port sender
+ }
+ Behavior {
+ StateMachine {
+ Transition init: initial -> WaingForPing { }
+ Transition tr0: WaingForPing -> ReceivedPing {
+ triggers {
+ <ping: sender>
+ }
+ }
+ State WaingForPing
+ State ReceivedPing {
+ entry {
+ "sender.pong();"
+ }
+ }
+ }
+ }
+ }
+ ProtocolClass PPingPong {
+ incoming {
+ Message ping()
+ }
+ outgoing {
+ Message pong()
+ }
+ }
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.PingPongTop.structure
index 02c8aaa8b..df1c00b56 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.PingPongTop.structure
@@ -1,89 +1,89 @@
-<?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 BlinkyTop" 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">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="768" height="316" x="2" y="21">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="688" height="236" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="688" height="236" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="78" y="79">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:BlinkyTop$blinky"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="blinky&#xA;(Blinky)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="39">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:Blinky$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="ControlPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="401" y="79">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:BlinkyTop$controller"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="controller&#xA;(BlinkyController)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:BlinkyController$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="ControlPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#Binding:BlinkyTop$ControlPort!blinky-ControlPort!controller"/>
- </link>
- </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"/>
-</pi:Diagram>
+<?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 PingPongTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.0/@children.0/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:PingPongTop"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:PingPongTop"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="96" y="188">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorRef:PingPongTop$sender"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value="C"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="33">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#Port:Sender$receiver"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver"/>
+ </children>
+ </children>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="sender&#xA;(Sender)"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="439" y="194">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorRef:PingPongTop$receiver"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver&#xA;(Receiver)"/>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value=""/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="39">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#Port:Receiver$sender"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="sender"/>
+ </children>
+ </children>
+ </children>
+ </children>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@children.1/@anchors.0" end="//@children.0/@children.0/@children.0/@anchors.0">
+ <properties key="obj-type" value="bind"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../PingPong.room#Binding:PingPongTop$sender!receiver-receiver!sender"/>
+ </link>
+ </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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.behavior
index d115cf0ad..8a5814fa8 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.behavior
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.behavior
@@ -1,154 +1,135 @@
-<?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 BlinkyController" 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.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </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="801" height="423" x="40" y="40">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="721" height="343" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="721" height="343" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:BlinkyController$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="721" 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="../Blinky.room#StateGraph:BlinkyController$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="169" height="145" x="157" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="109" height="85" 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="84" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="79">
- <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="54" y="79">
- <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="54" y="79">
- <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="../Blinky.room#SimpleState:BlinkyController$on"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2" 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="109" height="85" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="on"/>
- </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="194" height="157" x="444" y="114">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="134" height="97" 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="109" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="67" y="91">
- <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="67" y="91">
- <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="67" y="91">
- <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="../Blinky.room#SimpleState:BlinkyController$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" 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="134" height="97" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </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="../Blinky.room#InitialTransition:BlinkyController$initial"/>
- </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="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="../Blinky.room#TriggeredTransition:BlinkyController$goOff"/>
- </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="-69" y="30" font="//@fonts.0" value="goOff: &lt;timeoutTick:..."/>
- </connectionDecorators>
- <bendpoints x="423" y="273"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@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="../Blinky.room#TriggeredTransition:BlinkyController$goOn"/>
- </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="-66" y="-24" font="//@fonts.0" value="goOn: &lt;timeoutTick:t..."/>
- </connectionDecorators>
- <bendpoints x="417" y="191"/>
- </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>
+<?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 //@connections.0/@link //@children.0/@children.3/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.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="../PingPong.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="99" y="73">
+ <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="../PingPong.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="152" height="90" x="319" y="191">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="92" 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="67" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" 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="46" 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="46" 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="../PingPong.room#SimpleState:Receiver$WaingForPing"/>
+ </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="92" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="WaingForPing"/>
+ </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="148" height="90" x="319" y="353">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="88" 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="63" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="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="../PingPong.room#SimpleState:Receiver$ReceivedPing"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" 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="88" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ReceivedPing"/>
+ </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="../PingPong.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="../PingPong.room#TriggeredTransition:Receiver$tr0"/>
+ </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="tr0: &lt;ping:sender>"/>
+ </connectionDecorators>
+ </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.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.structure
index 1eaef1021..f6fe29974 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.structure
@@ -1,36 +1,36 @@
-<?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 Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="641" height="388" x="105" y="80">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="561" height="308" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="561" height="308" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="280">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:Blinky$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?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 Receiver" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:Receiver"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:Receiver"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value=""/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="247">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#Port:Receiver$sender"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" value="sender"/>
+ </children>
+ </children>
+ </children>
+ <colors red="227" green="238" blue="249"/>
+ <colors red="255" green="255" blue="255"/>
+ <colors/>
+ <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.behavior
index f8b256b15..aeda95987 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.behavior
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.behavior
@@ -1,125 +1,135 @@
-<?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 MrPong" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </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="626" height="452" x="94" y="25">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="546" height="372" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="546" height="372" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPong$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="546" 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="../SendingData.room#StateGraph:MrPong$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="203" height="159" x="257" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="143" height="99" 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="118" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="71" y="93">
- <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="71" y="93">
- <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="71" y="93">
- <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="../SendingData.room#SimpleState:MrPong$looping"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.0 //@connections.1 //@connections.2" 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="143" height="99" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="looping"/>
- </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="../SendingData.room#InitialTransition:MrPong$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.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="../SendingData.room#TriggeredTransition:MrPong$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="-73" y="-23" font="//@fonts.0" value="tr0: &lt;ping:PingPongP..."/>
- </connectionDecorators>
- <bendpoints x="455" y="130"/>
- <bendpoints x="403" y="130"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@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="../SendingData.room#TriggeredTransition:MrPong$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="-61" y="9" font="//@fonts.0" value="tr1: &lt;pingSimple:Pin..."/>
- </connectionDecorators>
- <bendpoints x="497" y="325"/>
- <bendpoints x="371" 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>
+<?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 //@connections.0/@link //@children.0/@children.3/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:Sender"/>
+ </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="../PingPong.room#StateGraph:Sender$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="83" y="63">
+ <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="../PingPong.room#StateGraph:Sender$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="143" height="90" x="312" y="147">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="83" 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="58" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="41" 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="41" 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="41" 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="../PingPong.room#SimpleState:Sender$SendingPing"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="83" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendingPing"/>
+ </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="152" height="90" x="299" y="279">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="92" 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="67" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" 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="46" 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="46" 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="../PingPong.room#SimpleState:Sender$ReceivedPong"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" 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="92" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ReceivedPong"/>
+ </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="../PingPong.room#InitialTransition:Sender$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="../PingPong.room#TriggeredTransition:Sender$tr0"/>
+ </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="tr0: &lt;pong:receiver>"/>
+ </connectionDecorators>
+ </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.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.structure
index 431e5d325..981d0495f 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.structure
@@ -1,36 +1,36 @@
-<?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 MrPing" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="632" height="391" x="134" y="57">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="552" height="311" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="552" height="311" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="276">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPing$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?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 Sender" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:Sender"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorClass:Sender"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value="C"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="800" y="212">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#Port:Sender$receiver"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver"/>
+ </children>
+ </children>
+ </children>
+ <colors red="227" green="238" blue="249"/>
+ <colors red="255" green="255" blue="255"/>
+ <colors/>
+ <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.System_Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.SubSysClass1.structure
index 2f89dc247..c5fedd2b8 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.System_Blinky.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.SubSysClass1.structure
@@ -1,38 +1,38 @@
-<?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 System_Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#LogicalSystem:System_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="522" height="343" x="88" y="72">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="442" height="263" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="442" height="263" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#LogicalSystem:System_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="132" y="97">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SubSystemRef:System_Blinky$subsystem"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="subsystem&#xA;(SubSystem_Blinky)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
+<?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 SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../PingPong.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="320" y="170">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../PingPong.room#ActorRef:SubSysClass1$actorRef1"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1&#xA;(PingPongTop)"/>
+ </children>
+ </children>
+ </children>
+ <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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room
deleted file mode 100644
index e65fc55f5..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room
+++ /dev/null
@@ -1,139 +0,0 @@
-RoomModel SendingData {
-
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room"
-
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl: SendingData_SubSystem
- }
-
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef: SendingDataTop
- }
-
- ActorClass SendingDataTop {
- Structure {
- ActorRef ref0: MrPing
- ActorRef ref1: MrPong
- Binding ref0.PingPongPort and ref1.PingPongPort
- }
- Behavior { }
- }
-
- ActorClass MrPing {
- Interface {
- conjugated Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
-
- Operation printData(d: DemoData) : void {
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
- "System.out.printf(\"d.int8Array: \");"
- "for(int i = 0; i<d.int8Array.length; i++) {"
- "System.out.printf(\"%d \",d.int8Array[i]);}"
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
- }
-
- StateMachine {
- Transition wait2: waitForPong -> waitForPong {
- triggers {
- <pong: PingPongPort>
- }
- action {
- "printData(data);"
- }
- }
- Transition wait1: waitForPongSimple -> waitForPongSimple {
- triggers {
- <pongSimple: PingPongPort guard {
- "data < 10"
- }>
- }
- action {
- "// keep in mind that MrPong increments"
- "PingPongPort.pingSimple(data);"
- "System.out.printf(\"data: %d\\n\",data);"
- }
- }
- Transition next: waitForPongSimple -> waitForPong {
- triggers {
- <pongSimple: PingPongPort>
- }
- action {
- "System.out.printf(\"data: %d\\n\",data);"
- ""
- "DemoData d = new DemoData();"
- "// send the default values"
- "PingPongPort.ping(d);"
- "d.int32Val=815;"
- "for (int i = 0; i<d.int8Array.length;i++){"
- "\td.int8Array[i]=(byte)(i+100);"
- "\t}"
- "d.stringVal=\"some contents\";"
- "d.float64Val=3.141234;"
- "PingPongPort.ping(d);"
- }
- }
- Transition init0: initial -> waitForPongSimple {
- action {
- "PingPongPort.pingSimple(0);"
- }
- }
- State waitForPong
- State waitForPongSimple
- }
- }
- }
-
- ActorClass MrPong {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition init: initial -> looping { }
- Transition tr0: looping -> looping {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong(data);"
- }
- }
- Transition tr1: looping -> looping {
- triggers {
- <pingSimple: PingPongPort>
- }
- action {
- "PingPongPort.pongSimple(data+1);"
- }
- }
- State looping
- }
- }
- }
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data: int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data: int32)
- }
- }
-
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [10]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior
deleted file mode 100644
index 5cc9df396..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior
+++ /dev/null
@@ -1,173 +0,0 @@
-<?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 MrPing" 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 //@connections.3/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </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="614" height="552" x="154" y="-10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="534" height="472" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="534" height="472" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPing$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="534" 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="78" y="84">
- <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="../SendingData.room#StateGraph:MrPing$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" 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="264" height="133" x="164" y="279">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="204" height="73" 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="179" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="102" y="67">
- <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="102" y="67">
- <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="102" y="67">
- <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="../SendingData.room#SimpleState:MrPing$waitForPong"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" incomingConnections="//@connections.0 //@connections.2" 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="204" height="73" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="waitForPong"/>
- </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="235" height="148" x="178" y="99">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="175" height="88" 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="150" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="87" y="82">
- <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="87" y="82">
- <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="87" y="82">
- <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="../SendingData.room#SimpleState:MrPing$waitForPongSimple"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.1 //@connections.3" 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="175" height="88" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="waitForPongSimple"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@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="../SendingData.room#TriggeredTransition:MrPing$wait2"/>
- </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="-83" y="14" font="//@fonts.0" value="wait2: &lt;pong:PingPon..."/>
- </connectionDecorators>
- <bendpoints x="389" y="434"/>
- <bendpoints x="488" y="434"/>
- </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="../SendingData.room#TriggeredTransition:MrPing$wait1"/>
- </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="-73" y="-19" font="//@fonts.0" value="wait1: &lt;pongSimple:P..."/>
- </connectionDecorators>
- <bendpoints x="486" y="65"/>
- <bendpoints x="401" y="65"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@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="../SendingData.room#TriggeredTransition:MrPing$next"/>
- </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="-1" y="-12" font="//@fonts.0" value="next: &lt;pongSimple:Pi..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@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="../SendingData.room#InitialTransition:MrPing$initial"/>
- </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="init"/>
- </connectionDecorators>
- </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.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure
deleted file mode 100644
index d48bc76f2..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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 MrPong" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="651" height="399" x="109" y="14">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="571" height="319" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="571" height="319" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="285">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPong$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior
deleted file mode 100644
index 3b478f939..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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 SendingDataTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </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="669" height="453" x="102" y="48">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="589" height="373" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="589" height="373" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:SendingDataTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="589" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure
deleted file mode 100644
index 80e5352bb..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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 SendingDataTop" 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">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="771" height="360" x="17" y="-11">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="691" height="280" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="691" height="280" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="104" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingDataTop$ref0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ref0&#xA;(MrPing)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="43">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPing$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="416" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingDataTop$ref1"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" 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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ref1&#xA;(MrPong)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="44">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPong$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="PingPongPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#Binding:SendingDataTop$PingPongPort!ref0-PingPongPort!ref1"/>
- </link>
- </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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure
deleted file mode 100644
index f65c116db..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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 SendingData_LogSystem" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#LogicalSystem:SendingData_LogSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="599" height="398" x="55" y="-21">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="519" height="318" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="519" height="318" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#LogicalSystem:SendingData_LogSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="174" y="109">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SubSystemRef:SendingData_LogSystem$SendingDataAppl"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendingDataAppl&#xA;(SendingData_SubSystem)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure
deleted file mode 100644
index 89cada8d6..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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 SendingData_SubSystem" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#SubSystemClass:SendingData_SubSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="584" height="396" x="145" y="35">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="504" height="316" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="504" height="316" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SubSystemClass:SendingData_SubSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="157" y="109">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingData_SubSystem$SendigDataTopRef"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendigDataTopRef&#xA;(SendingDataTop)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room
new file mode 100644
index 000000000..a5d185350
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room
@@ -0,0 +1,32 @@
+RoomModel TrafficLight_Model {
+
+ import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room"
+ import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
+ import room.basic.service.tcp.* from "../../../org.eclipse.etrice.modellib.java/models/TcpService.room"
+
+ LogicalSystem LogSys1 {
+ SubSystemRef subSysRef1:SubSysClass1
+ }
+ SubSystemClass SubSysClass1 {
+ ActorRef actorRef1:TrafficLightTop
+ LogicalThread defaultThread
+ }
+ ActorClass TrafficLightTop {
+ Structure {
+ ActorRef tlInterface: TrafficLightInterface
+ }
+ Behavior { }
+ }
+ ActorClass TrafficLightInterface {
+ Structure {
+ conjugated Port control: PTcpControl
+ conjugated Port payload: PTcpPayload
+ ActorRef tlTCPClient: ATcpClient
+ Binding payload and tlTCPClient.PayloadPort
+ Binding control and tlTCPClient.ControlPort
+ }
+ Behavior { }
+ }
+
+
+} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.System_HelloWorld.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.SubSysClass1.structure
index 39e0d87b4..4ae2cedf2 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.System_HelloWorld.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.SubSysClass1.structure
@@ -1,38 +1,38 @@
-<?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 System_HelloWorld" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#LogicalSystem:System_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="624" height="406" x="138" y="38">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="544" height="326" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="544" height="326" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#LogicalSystem:System_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="188" y="118">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemRef:System_HelloWorld$subsystem"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="subsystem&#xA;(SubSystem_HelloWorld)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
+<?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 SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../TrafficLight.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#SubSystemClass:SubSysClass1"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="320" y="170">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorRef:SubSysClass1$actorRef1"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1&#xA;(TrafficLightTop)"/>
+ </children>
+ </children>
+ </children>
+ <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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure
new file mode 100644
index 000000000..c26c8ddae
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure
@@ -0,0 +1,110 @@
+<?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 TrafficLightInterface" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.0/@children.2/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightInterface"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightInterface"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="157" y="305">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorRef:TrafficLightInterface$tlTCPClient"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="tlTCPClient&#xA;(ATcpClient)"/>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value=""/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="59">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="file:/C:/entw/projekte/eTrice/repositories/FlatWorld/org.eclipse.etrice.modellib.java/models/TcpService.room#Port:ATcpClient$ControlPort"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value=""/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="119">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="file:/C:/entw/projekte/eTrice/repositories/FlatWorld/org.eclipse.etrice.modellib.java/models/TcpService.room#Port:ATcpClient$PayloadPort"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PayloadPort"/>
+ </children>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value="C"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="142" y="159">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#Port:TrafficLightInterface$control"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="control"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="port"/>
+ <properties key="item-kind" value="C"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="363" y="152">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#Port:TrafficLightInterface$payload"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="payload"/>
+ </children>
+ </children>
+ </children>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.0/@children.2/@anchors.0">
+ <properties key="obj-type" value="bind"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../TrafficLight.room#Binding:TrafficLightInterface$payload!.-PayloadPort!tlTCPClient"/>
+ </link>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.0/@children.1/@anchors.0">
+ <properties key="obj-type" value="bind"/>
+ <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+ <link>
+ <businessObjects href="../TrafficLight.room#Binding:TrafficLightInterface$control!.-ControlPort!tlTCPClient"/>
+ </link>
+ </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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.LogSys_PedLights.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightTop.structure
index a0bbb32ed..6e2ffc37f 100644
--- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.LogSys_PedLights.structure
+++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightTop.structure
@@ -1,38 +1,38 @@
-<?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 LogSys_PedLights" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#LogicalSystem:LogSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="614" height="396" x="62" y="-4">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="534" height="316" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="534" height="316" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#LogicalSystem:LogSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="172" y="121">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemRef:LogSys_PedLights$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application&#xA;(SubSys_PedLights)"/>
- </children>
- </children>
- </children>
- <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"/>
-</pi:Diagram>
+<?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 TrafficLightTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightTop"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="cls"/>
+ <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:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightTop"/>
+ </link>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="ref"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="133" y="209">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="150" y="50"/>
+ <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="145" y="65"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../TrafficLight.room#ActorRef:TrafficLightTop$tlInterface"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@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="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="tlInterface&#xA;(TrafficLightInterface)"/>
+ </children>
+ </children>
+ </children>
+ <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"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room b/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room
deleted file mode 100644
index 004ff9cc8..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room
+++ /dev/null
@@ -1,121 +0,0 @@
-RoomModel PingPong {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
-
- LogicalSystem System_PingPong {
- SubSystemRef subsystem: SubSystem_PingPong
- }
-
- SubSystemClass SubSystem_PingPong {
- ActorRef application: PingPongTop
- ActorRef services: ATimingService
- LayerConnection ref application satisfied_by services.timer
- LogicalThread mrPingThread
- LogicalThread mrPong1Thread
- ActorInstanceMapping application/MrPing -> mrPingThread
- ActorInstanceMapping application/MrPong1 -> mrPong1Thread
- }
-
- // automatically inserted App_SubSystem_PedLightController
- ActorClass PingPongTop {
- Structure {
- ActorRef MrPing: MrPingActor
- ActorRef MrPong1: MrPongActor1
- // ActorRef MrPong2: MrPongActor2
- Binding MrPing.PingPongPort and MrPong1.PingPongPort
- }
- }
-
- ActorClass MrPingActor {
- Interface {
- conjugated Port PingPongPort [2]: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForTimer {
- action {
- "timer.startTimeout(1000);"
- }
- }
- Transition tr1: waitForTimer -> waitForPong {
- triggers {
- <timeout: timer>
- }
- action {
- "PingPongPort.ping();"
- }
- }
- Transition tr2: waitForPong -> waitForTimer {
- triggers {
- <pong: PingPongPort>
- }
- action {
- "timer.startTimeout(1000);"
- }
- }
- State waitForTimer { }
- State waitForPong { }
- }
- }
- }
-
- ActorClass MrPongActor1 {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForPing { }
- Transition myTrigger: waitForPing -> waitForPing {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong();"
- }
- }
- State waitForPing { }
- }
- }
- }
-
-/* ActorClass MrPongActor2 {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForPing { }
- Transition myTrigger: waitForPing -> waitForPing {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong();"
- }
- }
- State waitForPing { }
- }
- }
- }*/
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping()
- }
- outgoing {
- Message pong()
- }
- }
-
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt b/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt
new file mode 100644
index 000000000..1dc2b35ab
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt
@@ -0,0 +1,4 @@
+This directory is an eTrice code generation target.
+It will be erased every time the generator is executed.
+
+DO NOT PLACE OTHER FILES HERE!
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java
deleted file mode 100644
index b2549223d..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java
+++ /dev/null
@@ -1,330 +0,0 @@
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class Blinky extends ActorClassBase {
-
- /*--------------------- begin user code ---------------------*/
- private PedestrianLightWndNoTcp light = new PedestrianLightWndNoTcp();
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- /*--------------------- end user code ---------------------*/
-
- //--------------------- ports
- protected BlinkyControlProtocollPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void Blinky_dtor() {
- light.closeWindow();
- }
-
- //--------------------- construction
- public Blinky(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Blinky");
-
- // initialize attributes
-
- // own ports
- ControlPort = new BlinkyControlProtocollPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public BlinkyControlProtocollPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
- public void destroy(){
- Blinky_dtor();
- super.destroy();
- }
-
- /* state IDs */
- public static final int STATE_blinking = 2;
- public static final int STATE_off = 3;
- public static final int STATE_blinking_on = 4;
- public static final int STATE_blinking_off = 5;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__off = 1;
- public static final int CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort = 2;
- public static final int CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort = 3;
- public static final int CHAIN_blinking_TRANS_INITIAL_TO__on = 4;
- public static final int CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer = 5;
- public static final int CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer = 6;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__start = IFITEM_ControlPort + EVT_SHIFT*BlinkyControlProtocoll.IN_start;
- public static final int TRIG_ControlPort__stop = IFITEM_ControlPort + EVT_SHIFT*BlinkyControlProtocoll.IN_stop;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","blinking",
- "off",
- "blinking_on",
- "blinking_off"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
- protected void entry_blinking_on() {
- timer.startTimeout(1000);
- carLights.setState(TrafficLight3.YELLOW);
- }
- protected void entry_blinking_off() {
- timer.startTimeout(1000);
- carLights.setState(TrafficLight3.OFF);
- }
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__off() {
- carLights = light.getCarLights();
- pedLights = light.getPedLights();
- carLights.setState(TrafficLight3.OFF);
- pedLights.setState(TrafficLight2.OFF);
- }
- protected void action_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort(InterfaceItemBase ifitem) {
- timer.kill();
- carLights.setState(TrafficLight3.OFF);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- case STATE_blinking:
- this.history[STATE_TOP] = STATE_blinking;
- current = STATE_TOP;
- break;
- case STATE_blinking_on:
- this.history[STATE_blinking] = STATE_blinking_on;
- current = STATE_blinking;
- break;
- case STATE_blinking_off:
- this.history[STATE_blinking] = STATE_blinking_off;
- current = STATE_blinking;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__off:
- {
- action_TRANS_INITIAL_TO__off();
- return STATE_off;
- }
- case CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort:
- {
- return STATE_blinking_on;
- }
- case CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort:
- {
- action_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort(ifitem);
- return STATE_off;
- }
- case CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer:
- {
- return STATE_blinking_off;
- }
- case CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer:
- {
- return STATE_blinking_on;
- }
- case CHAIN_blinking_TRANS_INITIAL_TO__on:
- {
- return STATE_blinking_on;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_blinking:
- // state has a sub graph
- // with init transition
- if (this.history[STATE_blinking]==NO_STATE) {
- state = executeTransitionChain(CHAIN_blinking_TRANS_INITIAL_TO__on, null, null);
- }
- else {
- state = this.history[STATE_blinking];
- }
- break;
- case STATE_blinking_on:
- if (!(skip_entry || handler)) entry_blinking_on();
- // in leaf state: return state id
- return STATE_blinking_on;
- case STATE_blinking_off:
- if (!(skip_entry || handler)) entry_blinking_off();
- // in leaf state: return state id
- return STATE_blinking_off;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__off;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_off:
- switch(trigger) {
- case TRIG_ControlPort__start:
- {
- chain = CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blinking_on:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer;
- catching_state = STATE_blinking;
- }
- break;
- case TRIG_ControlPort__stop:
- {
- chain = CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blinking_off:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer;
- catching_state = STATE_blinking;
- }
- break;
- case TRIG_ControlPort__stop:
- {
- chain = CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java
deleted file mode 100644
index 8cede1efa..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class BlinkyControlProtocoll {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int IN_start = 1;
- public static final int IN_stop = 2;
- public static final int MSG_MAX = 3;
-
-
- private static String messageStrings[] = {"MIN", "start","stop","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class BlinkyControlProtocollPort extends PortBase {
- // constructors
- public BlinkyControlProtocollPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public BlinkyControlProtocollPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- }
-
- // replicated port class
- static public class BlinkyControlProtocollReplPort extends ReplicatedPortBase {
-
- public BlinkyControlProtocollReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public BlinkyControlProtocollPort get(int idx) {
- return (BlinkyControlProtocollPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new BlinkyControlProtocollPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- }
-
-
- // port class
- static public class BlinkyControlProtocollConjPort extends PortBase {
- // constructors
- public BlinkyControlProtocollConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public BlinkyControlProtocollConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void start() {
- if (messageStrings[ IN_start] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_start]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_start));
- }
- public void stop() {
- if (messageStrings[ IN_stop] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_stop]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_stop));
- }
- }
-
- // replicated port class
- static public class BlinkyControlProtocollConjReplPort extends ReplicatedPortBase {
-
- public BlinkyControlProtocollConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public BlinkyControlProtocollConjPort get(int idx) {
- return (BlinkyControlProtocollConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new BlinkyControlProtocollConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void start(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).start();
- }
- }
- public void stop(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).stop();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java
deleted file mode 100644
index 85b97a29a..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-
-
-public class BlinkyController extends ActorClassBase {
-
-
- //--------------------- ports
- protected BlinkyControlProtocollConjPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public BlinkyController(IRTObject parent, String name) {
- super(parent, name);
- setClassName("BlinkyController");
-
- // initialize attributes
-
- // own ports
- ControlPort = new BlinkyControlProtocollConjPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public BlinkyControlProtocollConjPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_on = 2;
- public static final int STATE_off = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__on = 1;
- public static final int CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer = 2;
- public static final int CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","on",
- "off"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__on() {
- timer.startTimeout(5000);
- ControlPort.start();
- }
- protected void action_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.stop();
- timer.startTimeout(5000);
- }
- protected void action_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.start();
- timer.startTimeout(5000);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_on:
- this.history[STATE_TOP] = STATE_on;
- current = STATE_TOP;
- break;
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__on:
- {
- action_TRANS_INITIAL_TO__on();
- return STATE_on;
- }
- case CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer:
- {
- action_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer(ifitem);
- return STATE_off;
- }
- case CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer:
- {
- action_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer(ifitem);
- return STATE_on;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_on:
- // in leaf state: return state id
- return STATE_on;
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__on;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_on:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_off:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java
deleted file mode 100644
index f83f65379..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-
-
-public class BlinkyTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public BlinkyTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("BlinkyTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new Blinky(this, "blinky");
- new BlinkyController(this, "controller");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java
deleted file mode 100644
index 2a33836a9..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSystem_Blinky extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSystem_Blinky(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_Blinky/subsystem", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/blinky/ControlPort", "/System_Blinky/subsystem/application/controller/ControlPort");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/blinky/timer", "/System_Blinky/subsystem/timingService/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/controller/ControlPort", "/System_Blinky/subsystem/application/blinky/ControlPort");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/controller/timer", "/System_Blinky/subsystem/timingService/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/timingService/timer", "/System_Blinky/subsystem/application/blinky/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/timingService/timer", "/System_Blinky/subsystem/application/controller/timer");
-
- // sub actors
- new BlinkyTop(this, "application");
- new ATimingService(this, "timingService");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java
deleted file mode 100644
index 74e97a9a5..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_BlinkyRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_Blinky");
- SubSystem_Blinky main_component = new SubSystem_Blinky(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java
deleted file mode 100644
index 810a8d89f..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-
-public class HelloWorldTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public HelloWorldTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("HelloWorldTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_state0 = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__state0 = 1;
-
- /* triggers */
- public static final int POLLING = 0;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","state0"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__state0() {
- System.out.println("HelloWorld !");
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_state0:
- this.history[STATE_TOP] = STATE_state0;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__state0:
- {
- action_TRANS_INITIAL_TO__state0();
- return STATE_state0;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_state0:
- // in leaf state: return state id
- return STATE_state0;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__state0;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_state0:
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java
deleted file mode 100644
index fd182c111..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-
-
-public class SubSystem_HelloWorld extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSystem_HelloWorld(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_HelloWorld/subsystem", THREAD__DEFAULT);
-
- // port to peer port mappings
-
- // sub actors
- new HelloWorldTop(this, "application");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java
deleted file mode 100644
index 0c23b48e7..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_HelloWorldRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_HelloWorld");
- SubSystem_HelloWorld main_component = new SubSystem_HelloWorld(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java
deleted file mode 100644
index cb68d6405..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java
+++ /dev/null
@@ -1,364 +0,0 @@
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PedLightsController.PedControlProtocol.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class Controller extends ActorClassBase {
-
-
- //--------------------- ports
- protected PedControlProtocolPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public Controller(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Controller");
-
- // initialize attributes
-
- // own ports
- ControlPort = new PedControlProtocolPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PedControlProtocolPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_off = 2;
- public static final int STATE_carsGreen = 3;
- public static final int STATE_carsYellow = 4;
- public static final int STATE_carsRed = 5;
- public static final int STATE_carsYellowRed = 6;
- public static final int STATE_carsGreen2 = 7;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__off = 1;
- public static final int CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort = 2;
- public static final int CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer = 3;
- public static final int CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer = 4;
- public static final int CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer = 5;
- public static final int CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer = 6;
- public static final int CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer = 7;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__start = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.IN_start;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","off",
- "carsGreen",
- "carsYellow",
- "carsRed",
- "carsYellowRed",
- "carsGreen2"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.GREEN);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.YELLOW);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(1500);
- ControlPort.setCarLights(TrafficLight3.RED);
- ControlPort.setPedLights(TrafficLight2.GREEN);
- }
- protected void action_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.YELLOW_RED);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.GREEN);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.setCarLights(TrafficLight3.OFF);
- ControlPort.setPedLights(TrafficLight2.OFF);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- case STATE_carsGreen:
- this.history[STATE_TOP] = STATE_carsGreen;
- current = STATE_TOP;
- break;
- case STATE_carsYellow:
- this.history[STATE_TOP] = STATE_carsYellow;
- current = STATE_TOP;
- break;
- case STATE_carsRed:
- this.history[STATE_TOP] = STATE_carsRed;
- current = STATE_TOP;
- break;
- case STATE_carsYellowRed:
- this.history[STATE_TOP] = STATE_carsYellowRed;
- current = STATE_TOP;
- break;
- case STATE_carsGreen2:
- this.history[STATE_TOP] = STATE_carsGreen2;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__off:
- {
- return STATE_off;
- }
- case CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort:
- {
- action_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort(ifitem);
- return STATE_carsGreen;
- }
- case CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer:
- {
- action_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer(ifitem);
- return STATE_carsYellow;
- }
- case CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer:
- {
- action_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer(ifitem);
- return STATE_carsRed;
- }
- case CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer:
- {
- action_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer(ifitem);
- return STATE_carsYellowRed;
- }
- case CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer:
- {
- action_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer(ifitem);
- return STATE_carsGreen2;
- }
- case CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer:
- {
- action_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer(ifitem);
- return STATE_off;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_carsGreen:
- // in leaf state: return state id
- return STATE_carsGreen;
- case STATE_carsYellow:
- // in leaf state: return state id
- return STATE_carsYellow;
- case STATE_carsRed:
- // in leaf state: return state id
- return STATE_carsRed;
- case STATE_carsYellowRed:
- // in leaf state: return state id
- return STATE_carsYellowRed;
- case STATE_carsGreen2:
- // in leaf state: return state id
- return STATE_carsGreen2;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__off;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_off:
- switch(trigger) {
- case TRIG_ControlPort__start:
- {
- chain = CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsGreen:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsYellow:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsRed:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsYellowRed:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsGreen2:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java
deleted file mode 100644
index f6480448b..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import PedLightsController.PedControlProtocol.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class GuiAdapter extends ActorClassBase {
-
- /*--------------------- begin user code ---------------------*/
- private PedestrianLightWndNoTcp lights = new PedestrianLightWndNoTcp("Pedestrian Lights"," external port connection ");
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- /*--------------------- end user code ---------------------*/
-
- //--------------------- ports
- protected PedControlProtocolConjPort ControlPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void GuiAdapter_dtor() {
- lights.closeWindow();
- }
-
- //--------------------- construction
- public GuiAdapter(IRTObject parent, String name) {
- super(parent, name);
- setClassName("GuiAdapter");
-
- // initialize attributes
-
- // own ports
- ControlPort = new PedControlProtocolConjPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PedControlProtocolConjPort getControlPort (){
- return this.ControlPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
- public void destroy(){
- GuiAdapter_dtor();
- super.destroy();
- }
-
- /* state IDs */
- public static final int STATE_running = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__running = 1;
- public static final int CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0 = 2;
- public static final int CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1 = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__setCarLights = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.OUT_setCarLights;
- public static final int TRIG_ControlPort__setPedLights = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.OUT_setPedLights;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","running"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__running() {
- carLights=lights.getCarLights();
- pedLights=lights.getPedLights();
- carLights.setState(TrafficLight3.OFF);
- pedLights.setState(TrafficLight2.OFF);
- lights.setPort(ControlPort);
- }
- protected void action_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0(InterfaceItemBase ifitem, int state) {
- carLights.setState(state);
- }
- protected void action_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1(InterfaceItemBase ifitem, int state) {
- pedLights.setState(state);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_running:
- this.history[STATE_TOP] = STATE_running;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__running:
- {
- action_TRANS_INITIAL_TO__running();
- return STATE_running;
- }
- case CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0:
- {
- int state = (Integer) generic_data;
- action_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0(ifitem, state);
- return STATE_running;
- }
- case CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1:
- {
- int state = (Integer) generic_data;
- action_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1(ifitem, state);
- return STATE_running;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_running:
- // in leaf state: return state id
- return STATE_running;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__running;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_running:
- switch(trigger) {
- case TRIG_ControlPort__setCarLights:
- {
- chain = CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_ControlPort__setPedLights:
- {
- chain = CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java
deleted file mode 100644
index 0cbcfb76c..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PedControlProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_setCarLights = 1;
- public static final int OUT_setPedLights = 2;
- public static final int IN_start = 3;
- public static final int MSG_MAX = 4;
-
-
- private static String messageStrings[] = {"MIN", "setCarLights","setPedLights", "start","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PedControlProtocolPort extends PortBase {
- // constructors
- public PedControlProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PedControlProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void setCarLights(int state) {
- if (messageStrings[ OUT_setCarLights] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_setCarLights]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_setCarLights, state));
- }
- public void setPedLights(int state) {
- if (messageStrings[ OUT_setPedLights] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_setPedLights]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_setPedLights, state));
- }
- }
-
- // replicated port class
- static public class PedControlProtocolReplPort extends ReplicatedPortBase {
-
- public PedControlProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PedControlProtocolPort get(int idx) {
- return (PedControlProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PedControlProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void setCarLights(int state){
- for (int i=0; i<getReplication(); ++i) {
- get(i).setCarLights( state);
- }
- }
- public void setPedLights(int state){
- for (int i=0; i<getReplication(); ++i) {
- get(i).setPedLights( state);
- }
- }
- }
-
-
- // port class
- static public class PedControlProtocolConjPort extends PortBase {
- // constructors
- public PedControlProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PedControlProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void start() {
- if (messageStrings[ IN_start] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_start]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_start));
- }
- }
-
- // replicated port class
- static public class PedControlProtocolConjReplPort extends ReplicatedPortBase {
-
- public PedControlProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PedControlProtocolConjPort get(int idx) {
- return (PedControlProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PedControlProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void start(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).start();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java
deleted file mode 100644
index 22418baf0..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PedLightsController.PedControlProtocol.*;
-
-
-
-public class PedLightsTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public PedLightsTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("PedLightsTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new GuiAdapter(this, "adapter");
- new Controller(this, "controller");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java
deleted file mode 100644
index 2ac1c0750..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSys_PedLights extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSys_PedLights(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/LogSys_PedLights/application", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/adapter/ControlPort", "/LogSys_PedLights/application/PedLightsTopRef/controller/ControlPort");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/controller/ControlPort", "/LogSys_PedLights/application/PedLightsTopRef/adapter/ControlPort");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/controller/timer", "/LogSys_PedLights/application/timingService/timer");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/timingService/timer", "/LogSys_PedLights/application/PedLightsTopRef/controller/timer");
-
- // sub actors
- new PedLightsTop(this, "PedLightsTopRef");
- new ATimingService(this, "timingService");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java
deleted file mode 100644
index ebe463768..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component application
- * it instantiates application and starts and ends the lifecycle
- */
-
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSys_PedLightsRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("LogSys_PedLights");
- SubSys_PedLights main_component = new SubSys_PedLights(sys, "application");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java
deleted file mode 100644
index 3bf533c81..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PingPong.PingPongProtocol.*;
-
-
-
-public class MrPingActor extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolConjReplPort PingPongPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPingActor(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPingActor");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolConjReplPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolConjReplPort getPingPongPort (){
- return this.PingPongPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForTimer = 2;
- public static final int STATE_waitForPong = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForTimer = 1;
- public static final int CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer = 2;
- public static final int CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__pong = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pong;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForTimer",
- "waitForPong"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__waitForTimer() {
- timer.startTimeout(1000);
- }
- protected void action_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer(InterfaceItemBase ifitem) {
- PingPongPort.ping();
- }
- protected void action_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort(InterfaceItemBase ifitem) {
- timer.startTimeout(1000);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForTimer:
- this.history[STATE_TOP] = STATE_waitForTimer;
- current = STATE_TOP;
- break;
- case STATE_waitForPong:
- this.history[STATE_TOP] = STATE_waitForPong;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__waitForTimer:
- {
- action_TRANS_INITIAL_TO__waitForTimer();
- return STATE_waitForTimer;
- }
- case CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer:
- {
- action_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer(ifitem);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort:
- {
- action_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort(ifitem);
- return STATE_waitForTimer;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForTimer:
- // in leaf state: return state id
- return STATE_waitForTimer;
- case STATE_waitForPong:
- // in leaf state: return state id
- return STATE_waitForPong;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForTimer;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForTimer:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_waitForPong:
- switch(trigger) {
- case TRIG_PingPongPort__pong:
- {
- chain = CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java
deleted file mode 100644
index 16c7f3fae..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import PingPong.PingPongProtocol.*;
-
-
-
-public class MrPongActor1 extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPongActor1(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPongActor1");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForPing = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForPing = 1;
- public static final int CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger = 2;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__ping = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_ping;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForPing"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger(InterfaceItemBase ifitem) {
- PingPongPort.pong();
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForPing:
- this.history[STATE_TOP] = STATE_waitForPing;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__waitForPing:
- {
- return STATE_waitForPing;
- }
- case CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger:
- {
- action_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger(ifitem);
- return STATE_waitForPing;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForPing:
- // in leaf state: return state id
- return STATE_waitForPing;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForPing;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForPing:
- switch(trigger) {
- case TRIG_PingPongPort__ping:
- {
- chain = CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java
deleted file mode 100644
index 18418ee2d..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PingPongProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_pong = 1;
- public static final int IN_ping = 2;
- public static final int MSG_MAX = 3;
-
-
- private static String messageStrings[] = {"MIN", "pong", "ping","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PingPongProtocolPort extends PortBase {
- // constructors
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void pong() {
- if (messageStrings[ OUT_pong] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pong]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_pong));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolPort get(int idx) {
- return (PingPongProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void pong(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pong();
- }
- }
- }
-
-
- // port class
- static public class PingPongProtocolConjPort extends PortBase {
- // constructors
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void ping() {
- if (messageStrings[ IN_ping] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_ping]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_ping));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolConjReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolConjPort get(int idx) {
- return (PingPongProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void ping(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).ping();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java
deleted file mode 100644
index cad7269bb..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PingPong.PingPongProtocol.*;
-
-
-
-public class PingPongTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public PingPongTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("PingPongTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new MrPingActor(this, "MrPing");
- new MrPongActor1(this, "MrPong1");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java
deleted file mode 100644
index 83af1259c..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSystem_PingPong extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
- public final int THREAD_MRPINGTHREAD = 1;
- public final int THREAD_MRPONG1THREAD = 2;
-
-
- public SubSystem_PingPong(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_MRPINGTHREAD, "MessageService_mrPingThread" /*, thread_prio */));
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_MRPONG1THREAD, "MessageService_mrPong1Thread" /*, thread_prio */));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem", THREAD__DEFAULT);
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem/application/MrPing", THREAD_MRPINGTHREAD);
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem/application/MrPong1", THREAD_MRPONG1THREAD);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPing/PingPongPort", "/System_PingPong/subsystem/application/MrPong1/PingPongPort");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPing/timer", "/System_PingPong/subsystem/services/timer");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPong1/PingPongPort", "/System_PingPong/subsystem/application/MrPing/PingPongPort");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/services/timer", "/System_PingPong/subsystem/application/MrPing/timer");
-
- // sub actors
- new PingPongTop(this, "application");
- new ATimingService(this, "services");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java
deleted file mode 100644
index ac86874f3..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_PingPongRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_PingPong");
- SubSystem_PingPong main_component = new SubSystem_PingPong(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java
deleted file mode 100644
index 1a9b8281f..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package SendingData;
-
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-public class DemoData {
-
-
- /*--------------------- attributes ---------------------*/
- int int32Val;
- byte int8Array[];
- double float64Val;
- String stringVal;
-
- //--------------------- attribute setters and getters
- public void setInt32Val (int int32Val) {
- this.int32Val = int32Val;
- }
- public int getInt32Val () {
- return this.int32Val;
- }
- public void setInt8Array (byte[] int8Array) {
- this.int8Array = int8Array;
- }
- public byte[] getInt8Array () {
- return this.int8Array;
- }
- public void setFloat64Val (double float64Val) {
- this.float64Val = float64Val;
- }
- public double getFloat64Val () {
- return this.float64Val;
- }
- public void setStringVal (String stringVal) {
- this.stringVal = stringVal;
- }
- public String getStringVal () {
- return this.stringVal;
- }
-
- /*--------------------- operations ---------------------*/
-
- // default constructor
- public DemoData() {
- super();
-
- // initialize attributes
- this.setInt32Val(4711);
- this.setInt8Array(new byte[] { (byte)1, (byte)2, (byte)3, (byte)4, (byte)5, (byte)6, (byte)7, (byte)8, (byte)9, (byte)10 });
- this.setFloat64Val(0.0d);
- this.setStringVal("\"empty\"");
- }
-
- // constructor using fields
- public DemoData(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- super();
-
- this.int32Val = int32Val;
- this.int8Array = int8Array;
- this.float64Val = float64Val;
- this.stringVal = stringVal;
- }
-
- // deep copy
- public DemoData deepCopy() {
- DemoData copy = new DemoData();
- copy.int32Val = int32Val;
- for (int i=0;i<int8Array.length;i++){
- copy.int8Array[i] = int8Array[i];
- }
- copy.float64Val = float64Val;
- copy.stringVal = stringVal;
- return copy;
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java
deleted file mode 100644
index d4d0f05d8..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class MrPing extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolConjPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void printData(DemoData d) {
- System.out.printf("d.int32Val: %d\n",d.int32Val);
- System.out.printf("d.float64Val: %f\n",d.float64Val);
- System.out.printf("d.int8Array: ");
- for(int i = 0; i<d.int8Array.length; i++) {
- System.out.printf("%d ",d.int8Array[i]);}
- System.out.printf("\nd.stringVal: %s\n",d.stringVal);
- }
-
- //--------------------- construction
- public MrPing(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPing");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolConjPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolConjPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForPong = 2;
- public static final int STATE_waitForPongSimple = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForPongSimple = 1;
- public static final int CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort = 2;
- public static final int CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1 = 3;
- public static final int CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2 = 4;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__pong = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pong;
- public static final int TRIG_PingPongPort__pongSimple = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pongSimple;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForPong",
- "waitForPongSimple"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2(InterfaceItemBase ifitem, DemoData data) {
- printData(data);
- }
- protected void action_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1(InterfaceItemBase ifitem, int data) {
- // keep in mind that MrPong increments
- PingPongPort.pingSimple(data);
- System.out.printf("data: %d\n",data);
- }
- protected void action_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort(InterfaceItemBase ifitem, int data) {
- System.out.printf("data: %d\n",data);
-
- DemoData d = new DemoData();
- // send the default values
- PingPongPort.ping(d);
- d.int32Val=815;
- for (int i = 0; i<d.int8Array.length;i++){
- d.int8Array[i]=(byte)(i+100);
- }
- d.stringVal="some contents";
- d.float64Val=3.141234;
- PingPongPort.ping(d);
- }
- protected void action_TRANS_INITIAL_TO__waitForPongSimple() {
- PingPongPort.pingSimple(0);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForPong:
- this.history[STATE_TOP] = STATE_waitForPong;
- current = STATE_TOP;
- break;
- case STATE_waitForPongSimple:
- this.history[STATE_TOP] = STATE_waitForPongSimple;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2:
- {
- DemoData data = (DemoData) generic_data;
- action_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2(ifitem, data);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1:
- {
- int data = (Integer) generic_data;
- action_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1(ifitem, data);
- return STATE_waitForPongSimple;
- }
- case CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort:
- {
- int data = (Integer) generic_data;
- action_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort(ifitem, data);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_INITIAL_TO__waitForPongSimple:
- {
- action_TRANS_INITIAL_TO__waitForPongSimple();
- return STATE_waitForPongSimple;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForPong:
- // in leaf state: return state id
- return STATE_waitForPong;
- case STATE_waitForPongSimple:
- // in leaf state: return state id
- return STATE_waitForPongSimple;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForPongSimple;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForPong:
- switch(trigger) {
- case TRIG_PingPongPort__pong:
- {
- chain = CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_waitForPongSimple:
- switch(trigger) {
- case TRIG_PingPongPort__pongSimple:
- { int data = (Integer) generic_data;
- if (data < 10)
- {
- chain = CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1;
- catching_state = STATE_TOP;
- } else
- {
- chain = CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort;
- catching_state = STATE_TOP;
- }
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java
deleted file mode 100644
index 43c1b9d0e..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class MrPong extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPong(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPong");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_looping = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__looping = 1;
- public static final int CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0 = 2;
- public static final int CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1 = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__ping = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_ping;
- public static final int TRIG_PingPongPort__pingSimple = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_pingSimple;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","looping"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0(InterfaceItemBase ifitem, DemoData data) {
- PingPongPort.pong(data);
- }
- protected void action_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1(InterfaceItemBase ifitem, int data) {
- PingPongPort.pongSimple(data+1);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_looping:
- this.history[STATE_TOP] = STATE_looping;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__looping:
- {
- return STATE_looping;
- }
- case CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0:
- {
- DemoData data = (DemoData) generic_data;
- action_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0(ifitem, data);
- return STATE_looping;
- }
- case CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1:
- {
- int data = (Integer) generic_data;
- action_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1(ifitem, data);
- return STATE_looping;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_looping:
- // in leaf state: return state id
- return STATE_looping;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__looping;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_looping:
- switch(trigger) {
- case TRIG_PingPongPort__ping:
- {
- chain = CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_PingPongPort__pingSimple:
- {
- chain = CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java
deleted file mode 100644
index e5d4e3d77..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PingPongProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_pong = 1;
- public static final int OUT_pongSimple = 2;
- public static final int IN_ping = 3;
- public static final int IN_pingSimple = 4;
- public static final int MSG_MAX = 5;
-
-
- private static String messageStrings[] = {"MIN", "pong","pongSimple", "ping","pingSimple","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PingPongProtocolPort extends PortBase {
- // constructors
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void pong(DemoData data) {
- if (messageStrings[ OUT_pong] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pong]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_pong, data.deepCopy()));
- }
- public void pong(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- pong(new DemoData(int32Val, int8Array, float64Val, stringVal));
- }
- public void pongSimple(int data) {
- if (messageStrings[ OUT_pongSimple] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pongSimple]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_pongSimple, data));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolPort get(int idx) {
- return (PingPongProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void pong(DemoData data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pong( data);
- }
- }
- public void pongSimple(int data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pongSimple( data);
- }
- }
- }
-
-
- // port class
- static public class PingPongProtocolConjPort extends PortBase {
- // constructors
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void ping(DemoData data) {
- if (messageStrings[ IN_ping] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_ping]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_ping, data.deepCopy()));
- }
- public void ping(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- ping(new DemoData(int32Val, int8Array, float64Val, stringVal));
- }
- public void pingSimple(int data) {
- if (messageStrings[ IN_pingSimple] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pingSimple]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_pingSimple, data));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolConjReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolConjPort get(int idx) {
- return (PingPongProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void ping(DemoData data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).ping( data);
- }
- }
- public void pingSimple(int data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pingSimple( data);
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java
deleted file mode 100644
index 6dd5d3ceb..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class SendingDataTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public SendingDataTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("SendingDataTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new MrPing(this, "ref0");
- new MrPong(this, "ref1");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java
deleted file mode 100644
index 2f1fe6086..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-
-
-public class SendingData_SubSystem extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SendingData_SubSystem(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/SendingData_LogSystem/SendingDataAppl", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref0/PingPongPort", "/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref1/PingPongPort");
- msgSvcCtrl.addPathToPeer("/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref1/PingPongPort", "/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref0/PingPongPort");
-
- // sub actors
- new SendingDataTop(this, "SendigDataTopRef");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java
deleted file mode 100644
index 36d5977b7..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component SendingDataAppl
- * it instantiates SendingDataAppl and starts and ends the lifecycle
- */
-
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SendingData_SubSystemRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("SendingData_LogSystem");
- SendingData_SubSystem main_component = new SendingData_SubSystem(sys, "SendingDataAppl");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java
deleted file mode 100644
index ee2e52db4..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * 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
- *******************************************************************************/
-
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-//This is used for PedLightController tutorial and must be disabled for Blinky
-import PedLightsController.PedControlProtocol.*;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class PedestrianLightWndNoTcp extends Frame
-implements ActionListener {
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- Button requestButton;
- TextField statusLine;
-
- //This is used for PedLightController tutorial and must be disabled for Blinky
- private PedControlProtocolConjPort port=null;
-
- // Constructors
- public PedestrianLightWndNoTcp(){
- super("PedastrianLightsGUI");
- setupWindow();
- statusLine.setText(" direct connection");
- }
-
- public PedestrianLightWndNoTcp(String wnd, String but){
- super(wnd);
- setupWindow();
- statusLine.setText(but);
- }
-
- private void setupWindow(){
- GridBagLayout layout = new GridBagLayout();
- GridBagConstraints gbc;
- carLights = new TrafficLight3(TrafficLight3.OFF);
- pedLights = new TrafficLight2(TrafficLight2.OFF);
- statusLine = new TextField();
- requestButton = new Button("REQUEST");
- requestButton.setEnabled(false);
- addWindowListener(new WindowClosingAdapter(true));
-
- setLayout(layout);
-
- gbc=makeGbc(0,1,1,1);
- layout.setConstraints(carLights,gbc);
- add(carLights);
-
- gbc=makeGbc(1,1,1,1);
- layout.setConstraints(pedLights,gbc);
- add(pedLights);
-
- statusLine.setText("");
- statusLine.setEditable(false);
- statusLine.setFocusable(false);
- gbc = makeGbc(0,0,2,1);
- gbc.fill = GridBagConstraints.BOTH;
- layout.setConstraints(statusLine,gbc);
- add(statusLine);
-
- gbc = makeGbc(0,2,2,1);
- gbc.fill = GridBagConstraints.BOTH;
- layout.setConstraints(requestButton,gbc);
- add(requestButton);
-
- pack();
- setVisible(true);
-
- requestButton.addActionListener(this);
- requestButton.setEnabled(true);
-
- carLights.setState(TrafficLight3.RED);
- pedLights.setState(TrafficLight2.RED);
- }
-
- public TrafficLight3 getCarLights(){
- return carLights;
- }
-
- public TrafficLight2 getPedLights(){
- return pedLights;
- }
-
- private GridBagConstraints makeGbc(int x, int y, int width, int height){
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.gridx = x;
- gbc.gridy = y;
- gbc.gridwidth = width;
- gbc.gridheight = height;
- gbc.weightx = 1;
- gbc.weighty = 1;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.insets = new Insets(1,1,1,1);
- return gbc;
- }
-
- public void actionPerformed(ActionEvent arg0) {
- // TODO Auto-generated method stub
- String s = arg0.getActionCommand();
-
- if (s.equals("REQUEST")) {
- System.out.println("Taste gedrückt");
- // This is used for PedLightController tutorial and must be disabled for Blinky
- if (port != null) port.start();
- }
- }
- public void closeWindow(){
- this.setVisible(false);
- this.dispose();
- // System.exit(0);
- }
-
-// This is used for PedLightController tutorial and must be disabled for Blinky
- public void setPort(PedControlProtocolConjPort p){
- port=p;
- }
-} \ No newline at end of file
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java
deleted file mode 100644
index 1cc55ff32..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * 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
- *******************************************************************************/
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import java.awt.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class TrafficLight2 extends Canvas {
- // Traffic light has 3 states
- // 0 = red
- // 1 = green
- // 2 = off
- public static final int RED=0;
- public static final int GREEN=1;
- public static final int OFF=2;
-
- private int state;
-
- public TrafficLight2(int state){
- this.state = state;
- }
- public TrafficLight2(){
- this.state = 0;
- }
-
- private int singleLightSize = 20;
- private int xPosition = 5;
- private int gap = 5;
-
- public void paint(Graphics g){
- Color lightRed = new Color(255,0,0);
- Color darkRed = new Color (127,0,0);
- Color lightGreen = new Color (0,255,0);
- Color darkGreen = new Color (0,127,0);
-
- Color colors [][] = {
- {lightRed,darkGreen},
- {darkRed,lightGreen},
- {darkRed,darkGreen}
- };
-
- // set Background
- g.setColor(Color.lightGray);
- g.fillRect(0,0,getSize().width,getSize().height);
- // draw boarder
- g.setColor(Color.BLACK);
- g.drawRect(0,0,getSize().width-1,getSize().height-1);
-
- for (int i = 0; i<2; i++) {
- g.setColor(colors[state][i]);
- g.fillOval(xPosition,i*singleLightSize+gap,singleLightSize,singleLightSize);
- g.setColor(Color.black);
- g.drawOval(xPosition,i*singleLightSize+gap,singleLightSize-1,singleLightSize-1);
- }
- }
-
- public Dimension getPreferredSize(){
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 2 + 2 * gap);
- }
-
- public Dimension getMinimumSize()
- {
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 2 + 2 * gap);
- }
-
- public void setState(int state)
- {
- // avoid array error
- if (state < 3){
- this.state = state;
- repaint();
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java
deleted file mode 100644
index a646bdf7c..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * 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
- *******************************************************************************/
-
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import java.awt.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class TrafficLight3 extends Canvas {
- // Traffic light has 5 states
- // 0 = red
- // 1 = yellowRed
- // 2 = green
- // 3 = yellow
- // 4 = OFF
- public static final int RED=0;
- public static final int YELLOW_RED=1;
- public static final int GREEN=2;
- public static final int YELLOW=3;
- public static final int OFF=4;
-
- private int state;
-
- public TrafficLight3(int state){
- this.state = state;
- }
- public TrafficLight3(){
- this.state = 0;
- }
-
- private int singleLightSize = 20;
- private int xPosition = 5;
- private int gap = 5;
-
- public void paint(Graphics g){
- Color lightRed = new Color(255,0,0);
- Color darkRed = new Color (127,0,0);
- Color lightGreen = new Color (0,255,0);
- Color darkGreen = new Color (0,127,0);
- Color lightYellow = new Color (255,255,0);
- Color darkYellow = new Color (127,127,0);
-
- Color colors [][] = {
- {lightRed,darkYellow,darkGreen},
- {lightRed,lightYellow,darkGreen},
- {darkRed,darkYellow,lightGreen},
- {darkRed,lightYellow,darkGreen},
- {darkRed,darkYellow,darkGreen}
- };
-
-
- // set Background
- g.setColor(Color.lightGray);
- g.fillRect(0,0,getSize().width,getSize().height);
- // draw boarder
- g.setColor(Color.BLACK);
- g.drawRect(0,0,getSize().width-1,getSize().height-1);
-
- for (int i = 0; i<3; i++) {
- g.setColor(colors[state][i]);
- g.fillOval(xPosition,i*singleLightSize+gap,singleLightSize,singleLightSize);
- g.setColor(Color.black);
- g.drawOval(xPosition,i*singleLightSize+gap,singleLightSize-1,singleLightSize-1);
- }
- }
-
- public Dimension getPreferredSize(){
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 3 + 2 * gap);
- }
-
- public Dimension getMinimumSize()
- {
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 3 + 2 * gap);
- }
-
- public void setState(int state)
- {
- if (state < 5){
- this.state = state;
- repaint();
- }
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java
deleted file mode 100644
index 058760cee..000000000
--- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * 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
- *******************************************************************************/
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-
-/* WindowClosingAdapter.java */
-
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
-**/
-public class WindowClosingAdapter
-extends WindowAdapter
-{
- private boolean exitSystem;
-
- public WindowClosingAdapter(boolean exitSystem)
- {
- this.exitSystem = exitSystem;
- }
-
- public WindowClosingAdapter()
- {
- this(false);
- }
-
- public void windowClosing(WindowEvent event)
- {
- event.getWindow().setVisible(false);
- event.getWindow().dispose();
- if (exitSystem) {
- System.exit(0);
- }
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior
index bb1476751..560577977 100644
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior
+++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior
@@ -1,631 +1,631 @@
-<?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 TrafficLight" 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 //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.1/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@children.0/@children.7/@link //@connections.8/@link //@children.0/@children.8/@link //@connections.9/@link //@children.0/@children.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@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="../trafficlight.example.room#ActorClass:TrafficLight"/>
- </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="597" height="533" x="-26" y="-11">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="517" 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="69" y="67">
- <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="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" 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="142" height="90" x="236" y="42">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="82" 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="57" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="41" 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="41" 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="41" 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="../trafficlight.example.room#SimpleState:TrafficLight$OpenSocket"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" 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="82" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="OpenSocket"/>
- </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="110" y="317">
- <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" incomingConnections="//@connections.6"/>
- <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="CarYellow"/>
- </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="110" y="204">
- <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5 //@connections.11"/>
- <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="PedRed"/>
- </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="110" y="396">
- <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" incomingConnections="//@connections.7"/>
- <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="CarGreen"/>
- </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="139" height="90" x="239" y="122">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="79" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="54" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" 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="39" 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="39" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5 //@connections.8"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="79" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="35">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="33"/>
- <points x="33" y="27"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="27"/>
- <points x="33" y="33"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </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="135" height="90" x="345" y="204">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="75" 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="50" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="37" 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="37" 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="37" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.8 //@connections.12"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="75" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow2"/>
- </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="353" y="317">
- <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.9"/>
- <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="CarRed"/>
- </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="128" height="90" x="349" y="396">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="68" 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="43" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="34" 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="34" 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="34" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.10"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="68" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedGreen"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="../trafficlight.example.room#StateGraph:TrafficLight$Off_Blinking$sg"/>
- </link>
- <children>
- <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="/Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="360">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="47"/>
- <points x="47" y="33"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="33"/>
- <points x="47" y="47"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="true" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$On"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2"/>
- <children>
- <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="On"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" 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="472" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$Off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1"/>
- <children>
- <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="Off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#ContinuationTransition:TrafficLight$Off_Blinking$tr0"/>
- </link>
- <connectionDecorators 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 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: "/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr1"/>
- </link>
- <connectionDecorators 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 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;timeout:blinke..."/>
- </connectionDecorators>
- <bendpoints x="449" y="228"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr2"/>
- </link>
- <connectionDecorators 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 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="tr2: &lt;timeout:blinke..."/>
- </connectionDecorators>
- <bendpoints x="444" y="181"/>
- </connections>
- <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="../trafficlight.example.room#InitialTransition:TrafficLight$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.6/@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr0"/>
- </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="-71" y="-16" font="//@fonts.0" value="tr0: &lt;established:tc..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr2"/>
- </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="-62" y="-14" font="//@fonts.0" value="tr2: &lt;greenForCar:co..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr3"/>
- </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="-55" y="-2" font="//@fonts.0" value="tr3: &lt;timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr1"/>
- </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="-55" y="-17" font="//@fonts.0" value="tr1: &lt;timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr4"/>
- </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="-26" y="-10" font="//@fonts.0" value="tr4: &lt;greenForPed:co..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr5"/>
- </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="-29" y="2" font="//@fonts.0" value="tr5: &lt;timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.9/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr6"/>
- </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="-30" y="-14" font="//@fonts.0" value="tr6: &lt;timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr7"/>
- </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="-88" y="-55" font="//@fonts.0" value="tr7: &lt;greenForCar:co..."/>
- </connectionDecorators>
- <bendpoints x="248" y="265"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr8"/>
- </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="-87" y="38" font="//@fonts.0" value="tr8: &lt;greenForPed:co..."/>
- </connectionDecorators>
- <bendpoints x="246" y="407"/>
- </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>
+<?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 TrafficLight" 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 //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.1/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@children.0/@children.7/@link //@connections.8/@link //@children.0/@children.8/@link //@connections.9/@link //@children.0/@children.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@link" verticalGridUnit="10" version="0.10.0">
+ <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+ <link>
+ <businessObjects href="../trafficlight.example.room#ActorClass:TrafficLight"/>
+ </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="597" height="533" x="-26" y="-11">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
+ </link>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="517" 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="69" y="67">
+ <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="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" 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="142" height="90" x="236" y="42">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="82" 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="57" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="41" 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="41" 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="41" 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="../trafficlight.example.room#SimpleState:TrafficLight$OpenSocket"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" 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="82" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="OpenSocket"/>
+ </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="110" y="317">
+ <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" incomingConnections="//@connections.6"/>
+ <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="CarYellow"/>
+ </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="110" y="204">
+ <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedRed"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5 //@connections.11"/>
+ <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="PedRed"/>
+ </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="110" y="396">
+ <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarGreen"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" incomingConnections="//@connections.7"/>
+ <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="CarGreen"/>
+ </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="139" height="90" x="239" y="122">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="79" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="54" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" 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="39" 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="39" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5 //@connections.8"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="79" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off_Blinking"/>
+ </children>
+ <children xsi:type="pi:ContainerShape" visible="true" active="true">
+ <properties key="obj-type" value="trp"/>
+ <properties key="item-kind" value="entp"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="35">
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
+ <points x="27" y="33"/>
+ <points x="33" y="27"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
+ <points x="27" y="27"/>
+ <points x="33" y="33"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@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="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
+ </children>
+ </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="135" height="90" x="345" y="204">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="75" 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="50" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="37" 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="37" 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="37" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow2"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.8 //@connections.12"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="75" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow2"/>
+ </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="353" y="317">
+ <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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$CarRed"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.9"/>
+ <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="CarRed"/>
+ </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="128" height="90" x="349" y="396">
+ <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="68" 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="43" y="3" cornerHeight="5" cornerWidth="5"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="34" 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="34" 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="34" 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="../trafficlight.example.room#SimpleState:TrafficLight$PedGreen"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.10"/>
+ <children visible="true">
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="68" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedGreen"/>
+ </children>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" 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="../trafficlight.example.room#StateGraph:TrafficLight$Off_Blinking$sg"/>
+ </link>
+ <children>
+ <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="/Off_Blinking"/>
+ </children>
+ <children xsi:type="pi:ContainerShape" active="true">
+ <properties key="obj-type" value="trp"/>
+ <properties key="item-kind" value="entp"/>
+ <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="360">
+ <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+ <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
+ <points x="33" y="47"/>
+ <points x="47" y="33"/>
+ </graphicsAlgorithmChildren>
+ <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
+ <points x="33" y="33"/>
+ <points x="47" y="47"/>
+ </graphicsAlgorithmChildren>
+ </graphicsAlgorithm>
+ <link>
+ <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
+ <children>
+ <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" 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="true" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$On"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2"/>
+ <children>
+ <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="On"/>
+ </children>
+ </children>
+ <children xsi:type="pi:ContainerShape" 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="472" 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="true" 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="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$Off"/>
+ </link>
+ <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1"/>
+ <children>
+ <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="Off"/>
+ </children>
+ </children>
+ </children>
+ <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#ContinuationTransition:TrafficLight$Off_Blinking$tr0"/>
+ </link>
+ <connectionDecorators 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 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: "/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr1"/>
+ </link>
+ <connectionDecorators 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 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;timeout:blinke..."/>
+ </connectionDecorators>
+ <bendpoints x="449" y="228"/>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr2"/>
+ </link>
+ <connectionDecorators 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 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="tr2: &lt;timeout:blinke..."/>
+ </connectionDecorators>
+ <bendpoints x="444" y="181"/>
+ </connections>
+ <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="../trafficlight.example.room#InitialTransition:TrafficLight$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.6/@children.1/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr0"/>
+ </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="-71" y="-16" font="//@fonts.0" value="tr0: &lt;established:tc..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr2"/>
+ </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="-62" y="-14" font="//@fonts.0" value="tr2: &lt;greenForCar:co..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr3"/>
+ </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="-55" y="-2" font="//@fonts.0" value="tr3: &lt;timeout:timeou..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr1"/>
+ </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="-55" y="-17" font="//@fonts.0" value="tr1: &lt;timeout:timeou..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr4"/>
+ </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="-26" y="-10" font="//@fonts.0" value="tr4: &lt;greenForPed:co..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr5"/>
+ </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="-29" y="2" font="//@fonts.0" value="tr5: &lt;timeout:timeou..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.9/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr6"/>
+ </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="-30" y="-14" font="//@fonts.0" value="tr6: &lt;timeout:timeou..."/>
+ </connectionDecorators>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.4/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr7"/>
+ </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="-88" y="-55" font="//@fonts.0" value="tr7: &lt;greenForCar:co..."/>
+ </connectionDecorators>
+ <bendpoints x="248" y="265"/>
+ </connections>
+ <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@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="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr8"/>
+ </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="-87" y="38" font="//@fonts.0" value="tr8: &lt;greenForPed:co..."/>
+ </connectionDecorators>
+ <bendpoints x="246" y="407"/>
+ </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.tutorials.simulators.trafficlight.example/model/trafficlight.example.room b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room
index 025dad81d..9094d4e6a 100644
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room
+++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room
@@ -14,9 +14,7 @@
RoomModel trafficlight.example {
import room.basic.types.* from "../../org.eclipse.etrice.modellib.java/models/Types.room"
-
import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib.java/models/TimingService.room"
-
import room.basic.service.tcp.* from "../../org.eclipse.etrice.modellib.java/models/TcpService.room"
LogicalSystem LSTraffic {
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java
deleted file mode 100644
index ef5a2832c..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package PiModel;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.tcp.*;
-import room.basic.service.timing.*;
-import trafficlight.connector.*;
-
-import trafficlight.connector.PMqtt.*;
-import room.basic.service.tcp.PTcpControl.*;
-import room.basic.service.tcp.PTcpPayload.*;
-import room.basic.service.timing.PTimer.*;
-import trafficlight.connector.PTrafficLightInterface.*;
-
-
-
-public class Application extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public Application(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Application");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new ATcpClient(this, "tcpIp");
- new TrafficLightInterface(this, "tfIf");
- new Comtroller(this, "controller");
- new MqttWrapperActor(this, "mqtt");
-
- }
-
- /* --------------------- attribute setters and getters */
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java
deleted file mode 100644
index 4f6cfc869..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package PiModel;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-import trafficlight.connector.*;
-
-import trafficlight.connector.PMqtt.*;
-import room.basic.service.timing.PTimer.*;
-import trafficlight.connector.PTrafficLightInterface.*;
-
-
-
-public class Comtroller extends ActorClassBase {
-
-
- //--------------------- ports
- protected PTrafficLightInterfaceConjPort traffic = null;
- protected PMqttConjPort mqtt = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_traffic = 1;
- public static final int IFITEM_mqtt = 2;
- public static final int IFITEM_timer = 3;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public Comtroller(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Comtroller");
-
- // initialize attributes
-
- // own ports
- traffic = new PTrafficLightInterfaceConjPort(this, "traffic", IFITEM_traffic);
- mqtt = new PMqttConjPort(this, "mqtt", IFITEM_mqtt);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- /* --------------------- attribute setters and getters */
-
-
- //--------------------- port getters
- public PTrafficLightInterfaceConjPort getTraffic (){
- return this.traffic;
- }
- public PMqttConjPort getMqtt (){
- return this.mqtt;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_Initialized = 2;
- public static final int STATE_Initialize = 3;
- public static final int STATE_Initialized_On = 4;
- public static final int STATE_Initialized_Off = 5;
- public static final int STATE_MQTTInit = 6;
- public static final int STATE_MAX = 7;
-
- /* transition chains */
- public static final int CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer = 1;
- public static final int CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer = 2;
- public static final int CHAIN_TRANS_INITIAL_TO__MQTTInit = 3;
- public static final int CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic = 4;
- public static final int CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt = 5;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_mqtt__connected = IFITEM_mqtt + EVT_SHIFT*PMqtt.OUT_connected;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
- public static final int TRIG_traffic__initialized = IFITEM_traffic + EVT_SHIFT*PTrafficLightInterface.OUT_initialized;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","Initialized",
- "Initialize",
- "Initialized_On",
- "Initialized_Off",
- "MQTTInit"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
- protected void entry_Initialize() {
- traffic.initialize();
- }
- protected void entry_Initialized() {
- traffic.pedRed();
- mqtt.publish(new DMqttMessage("eTrice/TraaficLight/Controller", "State: Initialized", true, 1));
- }
- protected void entry_Initialized_On() {
- traffic.pedRed();
- traffic.carRed();
- timer.startTimeout(1000);
- }
- protected void exit_Initialized_On() {
- traffic.pedOff();
- traffic.carOff();
- }
- protected void entry_Initialized_Off() {
- timer.startTimeout(1000);
- }
- protected void entry_MQTTInit() {
- mqtt.connect(new DMqttConfig("tcp://m2m.eclipse.org:1883", "eTrice-Paho-Tester"));
- }
-
- /* Action Codes */
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
- private void exitTo(int current, int to) {
- while (current!=to) {
- switch (current) {
- case STATE_Initialize:
- this.history[STATE_TOP] = STATE_Initialize;
- current = STATE_TOP;
- break;
- case STATE_Initialized:
- this.history[STATE_TOP] = STATE_Initialized;
- current = STATE_TOP;
- break;
- case STATE_Initialized_On:
- exit_Initialized_On();
- this.history[STATE_Initialized] = STATE_Initialized_On;
- current = STATE_Initialized;
- break;
- case STATE_Initialized_Off:
- this.history[STATE_Initialized] = STATE_Initialized_Off;
- current = STATE_Initialized;
- break;
- case STATE_MQTTInit:
- this.history[STATE_TOP] = STATE_MQTTInit;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__MQTTInit:
- {
- return STATE_MQTTInit;
- }
- case CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic:
- {
- entry_Initialized();
- return STATE_Initialized_On;
- }
- case CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt:
- {
- return STATE_Initialize;
- }
- case CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer:
- {
- return STATE_Initialized_Off;
- }
- case CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer:
- {
- return STATE_Initialized_On;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state) {
- boolean skip_entry = false;
- if (state >= STATE_MAX) {
- state = (state - STATE_MAX);
- skip_entry = true;
- }
- while (true) {
- switch (state) {
- case STATE_Initialize:
- if (!(skip_entry)) entry_Initialize();
- /* in leaf state: return state id */
- return STATE_Initialize;
- case STATE_Initialized:
- if (!(skip_entry)) entry_Initialized();
- /* state has a sub graph */
- /* without init transition */
- state = this.history[STATE_Initialized];
- break;
- case STATE_Initialized_On:
- if (!(skip_entry)) entry_Initialized_On();
- /* in leaf state: return state id */
- return STATE_Initialized_On;
- case STATE_Initialized_Off:
- if (!(skip_entry)) entry_Initialized_Off();
- /* in leaf state: return state id */
- return STATE_Initialized_Off;
- case STATE_MQTTInit:
- if (!(skip_entry)) entry_MQTTInit();
- /* in leaf state: return state id */
- return STATE_MQTTInit;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = false;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__MQTTInit;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_Initialize:
- switch(trigger) {
- case TRIG_traffic__initialized:
- {
- chain = CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Initialized_On:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer;
- catching_state = STATE_Initialized;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Initialized_Off:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer;
- catching_state = STATE_Initialized;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_MQTTInit:
- switch(trigger) {
- case TRIG_mqtt__connected:
- {
- chain = CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state);
- {
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next);
- setState(next);
- }
- }
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java
deleted file mode 100644
index 462725efe..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package PiModel;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.tcp.*;
-import room.basic.service.timing.*;
-import trafficlight.connector.*;
-
-
-public class PiSubSys extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
- public final int THREAD_DEFAULTTHREAD = 1;
-
-
- public PiSubSys(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_DEFAULTTHREAD, "MessageService_defaultThread" /*, thread_prio */));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/PiSystem/piSubSys", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tcpIp/ControlPort", "/PiSystem/piSubSys/application/tfIf/control");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tcpIp/PayloadPort", "/PiSystem/piSubSys/application/tfIf/payload");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/payload", "/PiSystem/piSubSys/application/tcpIp/PayloadPort");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/control", "/PiSystem/piSubSys/application/tcpIp/ControlPort");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/fct", "/PiSystem/piSubSys/application/controller/traffic");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/traffic", "/PiSystem/piSubSys/application/tfIf/fct");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/mqtt", "/PiSystem/piSubSys/application/mqtt/fct");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/timer", "/PiSystem/piSubSys/timing/timer");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/mqtt/fct", "/PiSystem/piSubSys/application/controller/mqtt");
- msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/timing/timer", "/PiSystem/piSubSys/application/controller/timer");
-
- // sub actors
- new Application(this, "application");
- new ATimingService(this, "timing");
-
- // apply instance attribute configurations
- {
- TrafficLightInterface inst = (TrafficLightInterface) getObject("/PiSystem/piSubSys/application/tfIf");
- if (inst!=null) {
- inst.getTcpConfig().setIPAddr("192.168.137.1");
- inst.getTcpConfig().setTcpPort(4441);
- }
- }
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java
deleted file mode 100644
index 71a4e4779..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @author generated by eTrice
- *
- * this class contains the main function running component piSubSys
- * it instantiates piSubSys and starts and ends the lifecycle
- */
-
-package PiModel;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class PiSubSysRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("PiSystem");
- PiSubSys main_component = new PiSubSys(sys, "piSubSys");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java
deleted file mode 100644
index 937b501b0..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package trafficlight.connector;
-
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-public class DMqttConfig {
-
-
- /*--------------------- attributes ---------------------*/
- String url;
- String id;
-
- /* --------------------- attribute setters and getters */
- public void setUrl (String url) {
- this.url = url;
- }
- public String getUrl () {
- return this.url;
- }
- public void setId (String id) {
- this.id = id;
- }
- public String getId () {
- return this.id;
- }
-
- /*--------------------- operations ---------------------*/
-
- // default constructor
- public DMqttConfig() {
- super();
-
- // initialize attributes
- this.setUrl("");
- this.setId("");
- }
-
- // constructor using fields
- public DMqttConfig(String url, String id) {
- super();
-
- this.url = url;
- this.id = id;
- }
-
- // deep copy
- public DMqttConfig deepCopy() {
- DMqttConfig copy = new DMqttConfig();
- copy.url = url;
- copy.id = id;
- return copy;
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java
deleted file mode 100644
index bb1d196e6..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package trafficlight.connector;
-
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-public class DMqttMessage {
-
-
- /*--------------------- attributes ---------------------*/
- String topic;
- String payload;
- boolean retained;
- int qos;
-
- /* --------------------- attribute setters and getters */
- public void setTopic (String topic) {
- this.topic = topic;
- }
- public String getTopic () {
- return this.topic;
- }
- public void setPayload (String payload) {
- this.payload = payload;
- }
- public String getPayload () {
- return this.payload;
- }
- public void setRetained (boolean retained) {
- this.retained = retained;
- }
- public boolean getRetained () {
- return this.retained;
- }
- public void setQos (int qos) {
- this.qos = qos;
- }
- public int getQos () {
- return this.qos;
- }
-
- /*--------------------- operations ---------------------*/
-
- // default constructor
- public DMqttMessage() {
- super();
-
- // initialize attributes
- this.setTopic("");
- this.setPayload("");
- }
-
- // constructor using fields
- public DMqttMessage(String topic, String payload, boolean retained, int qos) {
- super();
-
- this.topic = topic;
- this.payload = payload;
- this.retained = retained;
- this.qos = qos;
- }
-
- // deep copy
- public DMqttMessage deepCopy() {
- DMqttMessage copy = new DMqttMessage();
- copy.topic = topic;
- copy.payload = payload;
- copy.retained = retained;
- copy.qos = qos;
- return copy;
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java
deleted file mode 100644
index c80c15bbb..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package trafficlight.connector;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import trafficlight.connector.PMqtt.*;
-
-/*--------------------- begin user code ---------------------*/
-import de.protos.etrice.automation.m2m.mqtt.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class MqttWrapperActor extends ActorClassBase {
-
-
- //--------------------- ports
- protected PMqttPort fct = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_fct = 1;
-
- /*--------------------- attributes ---------------------*/
- MqttWrapper connectionMQTT;
- boolean open;
- /*--------------------- operations ---------------------*/
- public void MqttWrapperActor_dtor() {
- connectionMQTT.disconnect();
- }
-
- //--------------------- construction
- public MqttWrapperActor(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MqttWrapperActor");
-
- // initialize attributes
- this.setConnectionMQTT(new MqttWrapper());
- this.setOpen(false);
-
- // own ports
- fct = new PMqttPort(this, "fct", IFITEM_fct);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- /* --------------------- attribute setters and getters */
- public void setConnectionMQTT (MqttWrapper connectionMQTT) {
- this.connectionMQTT = connectionMQTT;
- }
- public MqttWrapper getConnectionMQTT () {
- return this.connectionMQTT;
- }
- public void setOpen (boolean open) {
- this.open = open;
- }
- public boolean getOpen () {
- return this.open;
- }
-
-
- //--------------------- port getters
- public PMqttPort getFct (){
- return this.fct;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
- public void destroy(){
- MqttWrapperActor_dtor();
- super.destroy();
- }
-
- /* state IDs */
- public static final int STATE_NotInitialized = 2;
- public static final int STATE_Connected = 3;
- public static final int STATE_MAX = 4;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__NotInitialized = 1;
- public static final int CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct = 2;
- public static final int CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3 = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_fct__connect = IFITEM_fct + EVT_SHIFT*PMqtt.IN_connect;
- public static final int TRIG_fct__publish = IFITEM_fct + EVT_SHIFT*PMqtt.IN_publish;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","NotInitialized",
- "Connected"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct(InterfaceItemBase ifitem, DMqttConfig config) {
- open=false;
- connectionMQTT.connect(config.url, config.id);
- //connectionMQTT.connect(new DMqttConfig("tcp://m2m.eclipse.org:1883", "eTrice-Paho-Tester"));
- open=true;
- }
- protected void action_TRANS_tr2_FROM_cp0_TO_Connected_COND_tr2(InterfaceItemBase ifitem, DMqttConfig config) {
- fct.connected();
- }
- protected void action_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3(InterfaceItemBase ifitem, DMqttMessage message) {
- connectionMQTT.publishString(message.topic, message.payload, message.retained, message.qos);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
- private void exitTo(int current, int to) {
- while (current!=to) {
- switch (current) {
- case STATE_NotInitialized:
- this.history[STATE_TOP] = STATE_NotInitialized;
- current = STATE_TOP;
- break;
- case STATE_Connected:
- this.history[STATE_TOP] = STATE_Connected;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__NotInitialized:
- {
- return STATE_NotInitialized;
- }
- case CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct:
- {
- DMqttConfig config = (DMqttConfig) generic_data;
- action_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct(ifitem, config);
- if (open==true) {
- action_TRANS_tr2_FROM_cp0_TO_Connected_COND_tr2(ifitem, config);
- return STATE_Connected;}
- else {
- return STATE_NotInitialized;}
- }
- case CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3:
- {
- DMqttMessage message = (DMqttMessage) generic_data;
- action_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3(ifitem, message);
- return STATE_Connected;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state) {
- boolean skip_entry = false;
- if (state >= STATE_MAX) {
- state = (state - STATE_MAX);
- skip_entry = true;
- }
- while (true) {
- switch (state) {
- case STATE_NotInitialized:
- /* in leaf state: return state id */
- return STATE_NotInitialized;
- case STATE_Connected:
- /* in leaf state: return state id */
- return STATE_Connected;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = false;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__NotInitialized;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_NotInitialized:
- switch(trigger) {
- case TRIG_fct__connect:
- {
- chain = CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Connected:
- switch(trigger) {
- case TRIG_fct__publish:
- {
- chain = CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state);
- {
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next);
- setState(next);
- }
- }
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java
deleted file mode 100644
index b3a2b48f0..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package trafficlight.connector;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PMqtt {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_connected = 1;
- public static final int IN_connect = 2;
- public static final int IN_publish = 3;
- public static final int MSG_MAX = 4;
-
-
- private static String messageStrings[] = {"MIN", "connected", "connect","publish","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PMqttPort extends PortBase {
- // constructors
- public PMqttPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PMqttPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void connected() {
- if (messageStrings[ OUT_connected] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_connected]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_connected));
- }
- }
-
- // replicated port class
- static public class PMqttReplPort extends ReplicatedPortBase {
-
- public PMqttReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PMqttPort get(int idx) {
- return (PMqttPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PMqttPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void connected(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).connected();
- }
- }
- }
-
-
- // port class
- static public class PMqttConjPort extends PortBase {
- // constructors
- public PMqttConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PMqttConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void connect(DMqttConfig config) {
- if (messageStrings[ IN_connect] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_connect]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_connect, config.deepCopy()));
- }
- public void connect(String url, String id) {
- connect(new DMqttConfig(url, id));
- }
- public void publish(DMqttMessage message) {
- if (messageStrings[ IN_publish] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_publish]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_publish, message.deepCopy()));
- }
- public void publish(String topic, String payload, boolean retained, int qos) {
- publish(new DMqttMessage(topic, payload, retained, qos));
- }
- }
-
- // replicated port class
- static public class PMqttConjReplPort extends ReplicatedPortBase {
-
- public PMqttConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PMqttConjPort get(int idx) {
- return (PMqttConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PMqttConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void connect(DMqttConfig config){
- for (int i=0; i<getReplication(); ++i) {
- get(i).connect( config);
- }
- }
- public void publish(DMqttMessage message){
- for (int i=0; i<getReplication(); ++i) {
- get(i).publish( message);
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java
deleted file mode 100644
index 3a6be752d..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java
+++ /dev/null
@@ -1,279 +0,0 @@
-package trafficlight.connector;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PTrafficLightInterface {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_initialized = 1;
- public static final int OUT_request = 2;
- public static final int IN_initialize = 3;
- public static final int IN_pedRed = 4;
- public static final int IN_pedGreen = 5;
- public static final int IN_pedOff = 6;
- public static final int IN_carRed = 7;
- public static final int IN_carYellow = 8;
- public static final int IN_carGreen = 9;
- public static final int IN_carOff = 10;
- public static final int MSG_MAX = 11;
-
-
- private static String messageStrings[] = {"MIN", "initialized","request", "initialize","pedRed","pedGreen","pedOff","carRed","carYellow","carGreen","carOff","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PTrafficLightInterfacePort extends PortBase {
- // constructors
- public PTrafficLightInterfacePort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PTrafficLightInterfacePort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void initialized() {
- if (messageStrings[ OUT_initialized] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_initialized]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_initialized));
- }
- public void request() {
- if (messageStrings[ OUT_request] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_request]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_request));
- }
- }
-
- // replicated port class
- static public class PTrafficLightInterfaceReplPort extends ReplicatedPortBase {
-
- public PTrafficLightInterfaceReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PTrafficLightInterfacePort get(int idx) {
- return (PTrafficLightInterfacePort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PTrafficLightInterfacePort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void initialized(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).initialized();
- }
- }
- public void request(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).request();
- }
- }
- }
-
-
- // port class
- static public class PTrafficLightInterfaceConjPort extends PortBase {
- // constructors
- public PTrafficLightInterfaceConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PTrafficLightInterfaceConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void initialize() {
- if (messageStrings[ IN_initialize] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_initialize]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_initialize));
- }
- public void pedRed() {
- if (messageStrings[ IN_pedRed] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedRed]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedRed));
- }
- public void pedGreen() {
- if (messageStrings[ IN_pedGreen] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedGreen]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedGreen));
- }
- public void pedOff() {
- if (messageStrings[ IN_pedOff] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedOff]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedOff));
- }
- public void carRed() {
- if (messageStrings[ IN_carRed] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carRed]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carRed));
- }
- public void carYellow() {
- if (messageStrings[ IN_carYellow] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carYellow]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carYellow));
- }
- public void carGreen() {
- if (messageStrings[ IN_carGreen] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carGreen]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carGreen));
- }
- public void carOff() {
- if (messageStrings[ IN_carOff] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carOff]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carOff));
- }
- }
-
- // replicated port class
- static public class PTrafficLightInterfaceConjReplPort extends ReplicatedPortBase {
-
- public PTrafficLightInterfaceConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PTrafficLightInterfaceConjPort get(int idx) {
- return (PTrafficLightInterfaceConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PTrafficLightInterfaceConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void initialize(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).initialize();
- }
- }
- public void pedRed(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pedRed();
- }
- }
- public void pedGreen(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pedGreen();
- }
- }
- public void pedOff(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pedOff();
- }
- }
- public void carRed(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).carRed();
- }
- }
- public void carYellow(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).carYellow();
- }
- }
- public void carGreen(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).carGreen();
- }
- }
- public void carOff(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).carOff();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java
deleted file mode 100644
index 52d3fbf85..000000000
--- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java
+++ /dev/null
@@ -1,419 +0,0 @@
-package trafficlight.connector;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.tcp.*;
-
-import room.basic.service.tcp.PTcpControl.*;
-import room.basic.service.tcp.PTcpPayload.*;
-import trafficlight.connector.PTrafficLightInterface.*;
-
-
-
-public class TrafficLightInterface extends ActorClassBase {
-
-
- //--------------------- ports
- protected PTcpPayloadConjPort payload = null;
- protected PTcpControlConjPort control = null;
- protected PTrafficLightInterfacePort fct = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_payload = 1;
- public static final int IFITEM_control = 2;
- public static final int IFITEM_fct = 3;
-
- /*--------------------- attributes ---------------------*/
- DTcpControl tcpConfig;
- /*--------------------- operations ---------------------*/
- public void sendString(String data) {
- payload.send(new DTcpPayload(1, data.length(), data.getBytes()));
- }
-
- //--------------------- construction
- public TrafficLightInterface(IRTObject parent, String name) {
- super(parent, name);
- setClassName("TrafficLightInterface");
-
- // initialize attributes
- this.setTcpConfig(new DTcpControl());
-
- // own ports
- payload = new PTcpPayloadConjPort(this, "payload", IFITEM_payload);
- control = new PTcpControlConjPort(this, "control", IFITEM_control);
- fct = new PTrafficLightInterfacePort(this, "fct", IFITEM_fct);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- /* --------------------- attribute setters and getters */
- public void setTcpConfig (DTcpControl tcpConfig) {
- this.tcpConfig = tcpConfig;
- }
- public DTcpControl getTcpConfig () {
- return this.tcpConfig;
- }
-
-
- //--------------------- port getters
- public PTcpPayloadConjPort getPayload (){
- return this.payload;
- }
- public PTcpControlConjPort getControl (){
- return this.control;
- }
- public PTrafficLightInterfacePort getFct (){
- return this.fct;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_Uninitialized = 2;
- public static final int STATE_Initializing = 3;
- public static final int STATE_Running = 4;
- public static final int STATE_MAX = 5;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__Uninitialized = 1;
- public static final int CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct = 2;
- public static final int CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol = 3;
- public static final int CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2 = 4;
- public static final int CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3 = 5;
- public static final int CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4 = 6;
- public static final int CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5 = 7;
- public static final int CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6 = 8;
- public static final int CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7 = 9;
- public static final int CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8 = 10;
- public static final int CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9 = 11;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_control__established = IFITEM_control + EVT_SHIFT*PTcpControl.OUT_established;
- public static final int TRIG_fct__carGreen = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carGreen;
- public static final int TRIG_fct__carOff = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carOff;
- public static final int TRIG_fct__carRed = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carRed;
- public static final int TRIG_fct__carYellow = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carYellow;
- public static final int TRIG_fct__initialize = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_initialize;
- public static final int TRIG_fct__pedGreen = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedGreen;
- public static final int TRIG_fct__pedOff = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedOff;
- public static final int TRIG_fct__pedRed = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedRed;
- public static final int TRIG_payload__receive = IFITEM_payload + EVT_SHIFT*PTcpPayload.OUT_receive;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","Uninitialized",
- "Initializing",
- "Running"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct(InterfaceItemBase ifitem) {
- control.open(tcpConfig);
- }
- protected void action_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol(InterfaceItemBase ifitem) {
- fct.initialized();
- }
- protected void action_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2(InterfaceItemBase ifitem) {
- sendString(new String("pedLights=red\n"));
- }
- protected void action_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3(InterfaceItemBase ifitem) {
- sendString(new String("pedLights=off\n"));
- }
- protected void action_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4(InterfaceItemBase ifitem) {
- sendString(new String("pedLights=green\n"));
- }
- protected void action_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5(InterfaceItemBase ifitem) {
- sendString(new String("carLights=red\n"));
- }
- protected void action_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6(InterfaceItemBase ifitem) {
- sendString(new String("carLights=yellow\n"));
- }
- protected void action_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7(InterfaceItemBase ifitem) {
- sendString(new String("carLights=green\n"));
- }
- protected void action_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8(InterfaceItemBase ifitem) {
- sendString(new String("carLights=off\n"));
- }
- protected void action_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9(InterfaceItemBase ifitem, DTcpPayload data) {
- fct.request();
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
- private void exitTo(int current, int to) {
- while (current!=to) {
- switch (current) {
- case STATE_Uninitialized:
- this.history[STATE_TOP] = STATE_Uninitialized;
- current = STATE_TOP;
- break;
- case STATE_Initializing:
- this.history[STATE_TOP] = STATE_Initializing;
- current = STATE_TOP;
- break;
- case STATE_Running:
- this.history[STATE_TOP] = STATE_Running;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__Uninitialized:
- {
- return STATE_Uninitialized;
- }
- case CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct:
- {
- action_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct(ifitem);
- return STATE_Initializing;
- }
- case CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol:
- {
- action_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2:
- {
- action_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3:
- {
- action_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4:
- {
- action_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5:
- {
- action_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6:
- {
- action_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7:
- {
- action_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8:
- {
- action_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8(ifitem);
- return STATE_Running;
- }
- case CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9:
- {
- DTcpPayload data = (DTcpPayload) generic_data;
- action_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9(ifitem, data);
- return STATE_Running;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state) {
- boolean skip_entry = false;
- if (state >= STATE_MAX) {
- state = (state - STATE_MAX);
- skip_entry = true;
- }
- while (true) {
- switch (state) {
- case STATE_Uninitialized:
- /* in leaf state: return state id */
- return STATE_Uninitialized;
- case STATE_Initializing:
- /* in leaf state: return state id */
- return STATE_Initializing;
- case STATE_Running:
- /* in leaf state: return state id */
- return STATE_Running;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = false;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__Uninitialized;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_Uninitialized:
- switch(trigger) {
- case TRIG_fct__initialize:
- {
- chain = CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Initializing:
- switch(trigger) {
- case TRIG_control__established:
- {
- chain = CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Running:
- switch(trigger) {
- case TRIG_fct__pedRed:
- {
- chain = CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__pedOff:
- {
- chain = CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__pedGreen:
- {
- chain = CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__carRed:
- {
- chain = CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__carYellow:
- {
- chain = CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__carGreen:
- {
- chain = CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_fct__carOff:
- {
- chain = CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_payload__receive:
- {
- chain = CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state);
- {
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next);
- setState(next);
- }
- }
- }
-};

Back to the top