Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schuetz2013-07-04 11:26:05 -0400
committerThomas Schuetz2013-07-04 11:26:05 -0400
commita87f64917729115cd3876125bb1d1ef0ace36638 (patch)
tree9f4f7bc99a488f7d046a0e32d94ca1ff196ab4af /examples/org.eclipse.etrice.tutorials.c
parent66522cebc52744803349b6683f3dbc3922ebd241 (diff)
downloadorg.eclipse.etrice-a87f64917729115cd3876125bb1d1ef0ace36638.tar.gz
org.eclipse.etrice-a87f64917729115cd3876125bb1d1ef0ace36638.tar.xz
org.eclipse.etrice-a87f64917729115cd3876125bb1d1ef0ace36638.zip
[tutorials] restructured tutorials, minor changes to modellibs in java
Diffstat (limited to 'examples/org.eclipse.etrice.tutorials.c')
-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.behavior87
-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
34 files changed, 409 insertions, 3758 deletions
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.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior
new file mode 100644
index 000000000..0c8e06d04
--- /dev/null
+++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior
@@ -0,0 +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.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 ---------------------*/
-

Back to the top