diff options
Diffstat (limited to 'examples')
121 files changed, 2198 insertions, 13644 deletions
diff --git a/examples/org.eclipse.etrice.generator.c.reference/.cproject b/examples/org.eclipse.etrice.generator.c.reference/.cproject index bc4bd4111..3dc78979c 100644 --- a/examples/org.eclipse.etrice.generator.c.reference/.cproject +++ b/examples/org.eclipse.etrice.generator.c.reference/.cproject @@ -1,173 +1,175 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" moduleId="org.eclipse.cdt.core.settings" name="Debug">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" name="Debug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
- <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.918285240" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1377401325" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1914462916" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="false" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base">
- <outputEntries>
- <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
- <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
- </outputEntries>
- </builder>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2128193487" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
- <option id="gnu.both.asm.option.include.paths.646571697" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/common}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/platforms/generic}""/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1636502349" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1852443642" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1864486752" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.321169512" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.1151544407" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
- <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.836528711" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.1206340557" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
- <option id="gnu.c.compiler.option.include.paths.937550345" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src-gen}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}""/>
- </option>
- <option id="gnu.c.compiler.option.misc.other.674019116" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -Wconversion" valueType="string"/>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.215126527" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2141539090" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug">
- <option id="gnu.c.link.option.libs.1886054812" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
- <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="org.eclipse.etrice.runtime.c"/>
- </option>
- <option id="gnu.c.link.option.paths.1410926104" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/PosixDebug}""/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1941302758" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
- <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
- <additionalInput kind="additionalinput" paths="$(LIBS)"/>
- </inputType>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1915798937" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/>
- </toolChain>
- </folderInfo>
- <sourceEntries>
- <entry excluding="src-gen-info|src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- </sourceEntries>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
- <externalSettings containerId="org.eclipse.etrice.runtime.c;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
- <externalSetting>
- <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Debug"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/PosixDebug"/>
- <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
- </externalSetting>
- </externalSettings>
- </storageModule>
- </cconfiguration>
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" moduleId="org.eclipse.cdt.core.settings" name="Release">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" name="Release" parent="cdt.managedbuild.config.gnu.mingw.exe.release">
- <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.release.44614125" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.release">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.release.1563670810" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.release"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Release}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.748437960" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release.2087319745" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release">
- <option id="gnu.both.asm.option.include.paths.2089558096" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1375308303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.245787891" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release.1042972525" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release">
- <option id="gnu.cpp.compiler.mingw.exe.release.option.optimization.level.1950851559" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.release.option.debugging.level.373334651" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release">
- <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.mingw.exe.release.option.optimization.level.554911279" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.release.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.mingw.exe.release.option.debugging.level.331396171" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
- <option id="gnu.c.compiler.option.include.paths.1226733508" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src}""/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.156681579" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release.1192709765" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release">
- <option id="gnu.c.link.option.libs.2121552378" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
- <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/>
- </option>
- <option id="gnu.c.link.option.paths.1610581119" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/Release}""/>
- </option>
- <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1107454825" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
- <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
- <additionalInput kind="additionalinput" paths="$(LIBS)"/>
- </inputType>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release.1557729682" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release"/>
- </toolChain>
- </folderInfo>
- <sourceEntries>
- <entry excluding="src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
- <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src-gen-ts"/>
- </sourceEntries>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
- <externalSettings containerId="org.eclipse.etrice.runtime.c;cdt.managedbuild.config.gnu.mingw.lib.release.406040144" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
- <externalSetting>
- <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
- <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Release"/>
- <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
- </externalSetting>
- </externalSettings>
- </storageModule>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="org.eclipse.etrice.generator.c.reference.cdt.managedbuild.target.gnu.mingw.exe.44532741" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550;cdt.managedbuild.config.gnu.mingw.exe.debug.54263550.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303;cdt.managedbuild.tool.gnu.c.compiler.input.215126527">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435;cdt.managedbuild.config.gnu.mingw.exe.release.1445732435.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430;cdt.managedbuild.tool.gnu.c.compiler.input.156681579">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="refreshScope" versionNumber="2">
- <configuration configurationName="Release">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
- </configuration>
- <configuration configurationName="Debug">
- <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?fileVersion 4.0.0?> + +<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> + <storageModule moduleId="org.eclipse.cdt.core.settings"> + <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" moduleId="org.eclipse.cdt.core.settings" name="Debug"> + <externalSettings/> + <extensions> + <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550" name="Debug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug"> + <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550." name="/" resourcePath=""> + <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.918285240" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug"> + <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1377401325" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/> + <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1914462916" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="false" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"> + <outputEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/> + </outputEntries> + </builder> + <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.2128193487" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug"> + <option id="gnu.both.asm.option.include.paths.646571697" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/common}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.generator.c.reference/org.eclipse.etrice.runtime.c/src/platforms/generic}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1636502349" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1852443642" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1864486752" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug"> + <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.321169512" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/> + <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.1151544407" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug"> + <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.836528711" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/> + <option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.1206340557" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/> + <option id="gnu.c.compiler.option.include.paths.937550345" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src-gen}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}""/> + </option> + <option id="gnu.c.compiler.option.misc.other.674019116" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -Wconversion" valueType="string"/> + <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.215126527" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.2141539090" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug"> + <option id="gnu.c.link.option.libs.1886054812" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> + <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="org.eclipse.etrice.runtime.c"/> + </option> + <option id="gnu.c.link.option.paths.1410926104" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/Debug}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/PosixDebug}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1941302758" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> + <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> + <additionalInput kind="additionalinput" paths="$(LIBS)"/> + </inputType> + </tool> + <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.1915798937" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry excluding="src-gen-info|src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"> + <externalSettings containerId="org.eclipse.etrice.runtime.c;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"> + <externalSetting> + <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/> + <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Debug"/> + <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/PosixDebug"/> + <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/> + </externalSetting> + </externalSettings> + </storageModule> + </cconfiguration> + <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" moduleId="org.eclipse.cdt.core.settings" name="Release"> + <externalSettings/> + <extensions> + <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435" name="Release" parent="cdt.managedbuild.config.gnu.mingw.exe.release"> + <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435." name="/" resourcePath=""> + <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.release.44614125" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.release"> + <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.release.1563670810" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.release"/> + <builder buildPath="${workspace_loc:/org.eclipse.etrice.generator.c.reference/Release}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.748437960" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release.2087319745" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.release"> + <option id="gnu.both.asm.option.include.paths.2089558096" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1375308303" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.245787891" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/> + <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release.1042972525" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.release"> + <option id="gnu.cpp.compiler.mingw.exe.release.option.optimization.level.1950851559" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/> + <option id="gnu.cpp.compiler.mingw.exe.release.option.debugging.level.373334651" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release"> + <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.mingw.exe.release.option.optimization.level.554911279" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.release.option.optimization.level" valueType="enumerated"/> + <option id="gnu.c.compiler.mingw.exe.release.option.debugging.level.331396171" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> + <option id="gnu.c.compiler.option.include.paths.1226733508" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.156681579" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> + </tool> + <tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release.1192709765" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.release"> + <option id="gnu.c.link.option.libs.2121552378" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs"> + <listOptionValue builtIn="false" value="org.eclipse.etrice.runtime.c"/> + </option> + <option id="gnu.c.link.option.paths.1610581119" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths"> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/Release}""/> + </option> + <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1107454825" superClass="cdt.managedbuild.tool.gnu.c.linker.input"> + <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> + <additionalInput kind="additionalinput" paths="$(LIBS)"/> + </inputType> + </tool> + <tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release.1557729682" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.release"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry excluding="src-gen-ts|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src-gen-ts"/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"> + <externalSettings containerId="org.eclipse.etrice.runtime.c;cdt.managedbuild.config.gnu.mingw.lib.release.406040144" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"> + <externalSetting> + <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/> + <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/Release"/> + <entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/> + </externalSetting> + </externalSettings> + </storageModule> + </cconfiguration> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <project id="org.eclipse.etrice.generator.c.reference.cdt.managedbuild.target.gnu.mingw.exe.44532741" name="Executable" projectType="cdt.managedbuild.target.gnu.mingw.exe"/> + </storageModule> + <storageModule moduleId="scannerConfiguration"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> + <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.54263550;cdt.managedbuild.config.gnu.mingw.exe.debug.54263550.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.1547425303;cdt.managedbuild.tool.gnu.c.compiler.input.215126527"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> + </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.release.1445732435;cdt.managedbuild.config.gnu.mingw.exe.release.1445732435.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.release.1378403430;cdt.managedbuild.tool.gnu.c.compiler.input.156681579"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/> + </scannerConfigBuildInfo> + </storageModule> + <storageModule moduleId="refreshScope" versionNumber="2"> + <configuration configurationName="Release"> + <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/> + </configuration> + <configuration configurationName="Debug"> + <resource resourceType="PROJECT" workspacePath="/org.eclipse.etrice.generator.c.reference"/> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> + <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> +</cproject> diff --git a/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch b/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch index 790dacc4e..e703e2791 100644 --- a/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch +++ b/examples/org.eclipse.etrice.generator.c.reference/gen_MSCgen.launch @@ -5,7 +5,7 @@ <booleanAttribute key="GenInstanceDiagram" value="false"/> <stringAttribute key="GenModelPath" value=""/> <booleanAttribute key="Lib" value="false"/> -<booleanAttribute key="MSC" value="true"/> +<booleanAttribute key="MSC" value="false"/> <listAttribute key="ModelFiles"> <listEntry value="${workspace_loc:/org.eclipse.etrice.generator.c.reference/model/MSCgen/MSCgen.etmap}"/> </listAttribute> diff --git a/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq b/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq index 395fbc360..e69de29bb 100644 --- a/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq +++ b/examples/org.eclipse.etrice.generator.c.reference/tmp/log/msc.seq @@ -1,62 +0,0 @@ -/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >-- /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/sender >>> SendingData
-/LogSys1/subSysRef1/actorRef1/sender --> /LogSys1/subSysRef1/actorRef1/receiver sendData
-/LogSys1/subSysRef1/actorRef1/receiver >-- /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/receiver >>> WaitingForData
-/LogSys1/subSysRef1/actorRef1/receiver --> /LogSys1/subSysRef1/actorRef1/sender receivedData
-/LogSys1/subSysRef1/actorRef1/sender >>> Done
diff --git a/examples/org.eclipse.etrice.tutorials.c/.cproject b/examples/org.eclipse.etrice.tutorials.c/.cproject index e044f2e17..b88d34c91 100644 --- a/examples/org.eclipse.etrice.tutorials.c/.cproject +++ b/examples/org.eclipse.etrice.tutorials.c/.cproject @@ -1,85 +1,89 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" moduleId="org.eclipse.cdt.core.settings" name="MinGWDebug">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761" name="MinGWDebug" parent="cdt.managedbuild.config.gnu.mingw.exe.debug">
- <folderInfo id="cdt.managedbuild.config.gnu.mingw.exe.debug.332073761." name="/" resourcePath="">
- <toolChain id="cdt.managedbuild.toolchain.gnu.mingw.exe.debug.398564850" name="MinGW GCC" superClass="cdt.managedbuild.toolchain.gnu.mingw.exe.debug">
- <targetPlatform id="cdt.managedbuild.target.gnu.platform.mingw.exe.debug.1829109580" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.mingw.exe.debug"/>
- <builder buildPath="${workspace_loc:/org.eclipse.etrice.tutorials.c/Debug}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.856247028" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.1509057272" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
- <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1460359562" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.48213125" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
- <tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug.1958071026" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.exe.debug">
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level.1447113587" name="Optimization Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
- <option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.559425075" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
- </tool>
- <tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.137613907" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug">
- <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.mingw.exe.debug.option.optimization.level.1729303001" name="Optimization Level" superClass="gnu.c.compiler.mingw.exe.debug.option.optimization.level" valueType="enumerated"/>
- <option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.145157070" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
- <option id="gnu.c.compiler.option.include.paths.327861845" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.modellib.c/src-gen}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}""/>
- </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=""${workspace_loc:/org.eclipse.etrice.runtime.c/DebugMinGW}""/>
- <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.modellib.c/MinGWDebug}""/>
- </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=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src-gen}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.modellib.c/src-gen}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}""/> + </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=""${workspace_loc:/org.eclipse.etrice.runtime.c/MinGWDebug}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/org.eclipse.etrice.modellib.c/MinGWDebug}""/> + </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 Binary files differdeleted file mode 100644 index 14c3de929..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/gui/trafficlight.jar +++ /dev/null diff --git a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap index 55feae91f..52a10ec55 100644 --- a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap +++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.etmap @@ -1,11 +1,10 @@ -MappingModel MappingModel1 {
- import RoomModel1.* from "HelloWorld.room"
- import PhysicalModel1.* from "HelloWorld.etphys"
-
- Mapping LogSys1 -> PhysSys1 {
- SubSystemMapping SubSysRef1 -> nodeRef1 {
- ThreadMapping defaultThread -> PhysicalThread1
- }
- }
-
+MappingModel MappingModel1 { + import HelloWorld_Model.* from "HelloWorld.room" + import PhysicalModel1.* from "HelloWorld.etphys" + Mapping LogSys1 -> PhysSys1 { + SubSystemMapping subSysRef1 -> nodeRef1 { + ThreadMapping defaultThread -> PhysicalThread1 + } + } + }
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room index da396e27f..0a0a251b1 100644 --- a/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room +++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/HelloWorld.room @@ -1,14 +1,23 @@ -RoomModel RoomModel1 {
-
- LogicalSystem LogSys1 {
- SubSystemRef SubSysRef1: SubSysClass1
- }
-
- SubSystemClass SubSysClass1 {
- ActorRef ActorRef1: ActorClass1
- LogicalThread defaultThread
- }
-
- ActorClass ActorClass1 { }
-
+RoomModel HelloWorld_Model { + LogicalSystem LogSys1 { + SubSystemRef subSysRef1:SubSysClass1 + } + SubSystemClass SubSysClass1 { + ActorRef actorRef1:HelloWorldTop + LogicalThread defaultThread + } + ActorClass HelloWorldTop { + Structure { } + Behavior { + StateMachine { + Transition init: initial -> state0 { + action { + "printf(\"Hello World\");" + } + } + State state0 + } + } + } + }
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.behavior b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior index 09c1a6271..0c8e06d04 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.behavior +++ b/examples/org.eclipse.etrice.tutorials.c/model/HelloWorld/diagrams/HelloWorld_Model.HelloWorldTop.behavior @@ -1,87 +1,87 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="617" height="413" x="141" y="12">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="537" height="333" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="537" height="333" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="537" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="206" height="166" x="219" y="121">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="146" height="106" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="121" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="73" y="100">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="73" y="100">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="73" y="100">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="146" height="106" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="340" y="120"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/> + </connectionDecorators> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap new file mode 100644 index 000000000..026947fa5 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etmap @@ -0,0 +1,11 @@ +MappingModel MappingModel1 { + import PingPong_Model.* from "PingPong.room" + import PhysicalModel1.* from "PingPong.etphys" + + Mapping LogSys1 -> PhysSys1 { + SubSystemMapping subSysRef1 -> nodeRef1 { + ThreadMapping defaultThread -> PhysicalThread1 + } + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etphys b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etphys index a78e6e2c5..3aa74258a 100644 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etphys +++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.etphys @@ -1,13 +1,13 @@ PhysicalModel PhysicalModel1 { + PhysicalSystem PhysSys1 { - NodeRef node1 : NodeClass1 + NodeRef nodeRef1 : NodeClass1 } NodeClass NodeClass1 { runtime = RuntimeClass1 priomin = -10 priomax = 10 - DefaultThread PhysicalThread1 { execmode = blocked prio = 0 @@ -19,5 +19,6 @@ PhysicalModel PhysicalModel1 { RuntimeClass RuntimeClass1 { model = multiThreaded - } -}
\ No newline at end of file + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room new file mode 100644 index 000000000..77124505d --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/model/PingPong/PingPong.room @@ -0,0 +1,80 @@ +RoomModel PingPong_Model { + + LogicalSystem LogSys1 { + SubSystemRef subSysRef1: SubSysClass1 + } + + SubSystemClass SubSysClass1 { + ActorRef actorRef1: PingPongTop + LogicalThread defaultThread + } + + ActorClass PingPongTop { + Structure { + ActorRef sender: Sender + ActorRef receiver: Receiver + Binding receiver.sender and sender.receiver + } + Behavior { } + } + + ActorClass Sender { + Interface { + conjugated Port receiver: PPingPong + } + Structure { + external Port receiver + } + Behavior { + StateMachine { + Transition init: initial -> SendingPing { } + Transition tr0: SendingPing -> ReceivedPong { + triggers { + <pong: receiver> + } + } + State SendingPing { + entry { + "receiver.ping();" + } + } + State ReceivedPong + } + } + } + + ActorClass Receiver { + Interface { + Port sender: PPingPong + } + Structure { + external Port sender + } + Behavior { + StateMachine { + Transition init: initial -> WaingForPing { } + Transition tr0: WaingForPing -> ReceivedPing { + triggers { + <ping: sender> + } + } + State WaingForPing + State ReceivedPing { + entry { + "sender.pong();" + } + } + } + } + } + + ProtocolClass PPingPong { + incoming { + Message ping() + } + outgoing { + Message pong() + } + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room b/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room deleted file mode 100644 index 23d9c1b8e..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/RemoveComment/RemoveComment.room +++ /dev/null @@ -1,181 +0,0 @@ -RoomModel RemoveComment {
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.c/model/Types.room"
-
- PrimitiveType file:ptInteger -> FILE default "0"
-
- SubSystemClass RemoveCommentSubSys {
- ActorRef Topref:ATop
- }
- ActorClass ATop {
- Structure {
- ActorRef reader: AFileReader
- ActorRef cParser: ACParser
- Binding reader.outPort and cParser.readerPort
- }
- Behavior { }
- }
- ActorClass AFileReader{
- Interface {
- Port outPort: FileReaderProtocol
- }
- Structure {
- usercode3{"#include <stdio.h>"
- }
- external Port outPort
- Attribute f:file ref
- }
- Behavior {
- StateMachine {
- Transition init: initial -> reading {
- action {
- "if ((f = fopen(\"test.txt\",\"r\")) != 0) {"
- "\tprintf(\"file open ok !\\r\\n\");"
- "\t}"
- "\telse {"
- "\tprintf(\"file not found !\\r\\n\");"
- "\tSubSysClass_shutdown();"
- "\t}"
- }
- }
- Transition tr0: reading -> reading {
- triggers {
- <getNextChar: outPort>
- }
- action {
- "int8 c;"
- "if ((c=fgetc(f)) != EOF) {"
- "\toutPort.nextChar(c);"
- "\t}"
- "\telse {"
- "\tfclose(f);"
- "\tprintf(\"file closed !\\r\\n\");"
- "\tSubSysClass_shutdown();"
- "\t}"
- }
- }
- State reading
- }
- }
- }
- ActorClass ACParser{
- Interface {
- conjugated Port readerPort: FileReaderProtocol
- }
- Structure {
- external Port readerPort
- }
- Behavior {
- StateMachine {
- Transition init: initial -> code {
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr0: code -> cp cp0 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr1: cp cp0 -> code {
- action {
- "printf(\"%c\",c);"
- }
- }
- Transition tr2: cp cp0 -> firstSlash {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr3: firstSlash -> cp cp1 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr4: cp cp1 -> cp cp4
- Transition tr5: cp cp1 -> blockComment {
- cond {
- "c==\'*\'"
- }
- }
- Transition tr6: blockComment -> cp cp2 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr7: cp cp2 -> blockComment
- Transition tr8: cp cp2 -> firstStar {
- cond {
- "c==\'*\'"
- }
- }
- Transition tr9: firstStar -> cp cp3 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr10: cp cp3 -> blockComment
- Transition tr11: cp cp3 -> code {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr12: cp cp4 -> code {
- action {
- "printf(\"%c%c\",\'/\',c);"
- }
- }
- Transition tr13: cp cp4 -> lineComment {
- cond {
- "c==\'/\'"
- }
- }
- Transition tr14: cp cp5 -> lineComment
- Transition tr15: lineComment -> cp cp5 {
- triggers {
- <nextChar: readerPort>
- }
- action {
- "readerPort.getNextChar();"
- }
- }
- Transition tr16: cp cp5 -> code {
- cond {
- "c==\'\\n\'"
- }
- }
- ChoicePoint cp0
- ChoicePoint cp1
- ChoicePoint cp2
- ChoicePoint cp3
- ChoicePoint cp4
- ChoicePoint cp5
- State code
- State firstSlash
- State blockComment
- State firstStar
- State lineComment
- }
- }
- }
-
- ProtocolClass FileReaderProtocol {
- incoming {
- Message getNextChar()
- }
- outgoing {
- Message nextChar(c:char)
- }
- }
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap new file mode 100644 index 000000000..b806bf580 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etmap @@ -0,0 +1,11 @@ +MappingModel MappingModel1 { + import TrafficLight_Model.* from "TrafficLight.room" + import PhysicalModel1.* from "TrafficLight.etphys" + + Mapping LogSys1 -> PhysSys1 { + SubSystemMapping subSysRef1 -> nodeRef1 { + ThreadMapping defaultThread -> PhysicalThread1 + } + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys new file mode 100644 index 000000000..3aa74258a --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.etphys @@ -0,0 +1,24 @@ +PhysicalModel PhysicalModel1 { + + PhysicalSystem PhysSys1 { + NodeRef nodeRef1 : NodeClass1 + } + + NodeClass NodeClass1 { + runtime = RuntimeClass1 + priomin = -10 + priomax = 10 + DefaultThread PhysicalThread1 { + execmode = blocked + prio = 0 + stacksize = 1024 + msgblocksize = 32 + msgpoolsize = 10 + } + } + + RuntimeClass RuntimeClass1 { + model = multiThreaded + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room new file mode 100644 index 000000000..23f78e9a7 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/model/TrafficLight/TrafficLight.room @@ -0,0 +1,14 @@ +RoomModel TrafficLight_Model { + + LogicalSystem LogSys1 { + SubSystemRef subSysRef1: SubSysClass1 + } + + SubSystemClass SubSysClass1 { + ActorRef actorRef1: TrafficLightTop + LogicalThread defaultThread + } + + ActorClass TrafficLightTop { } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior deleted file mode 100644 index ebf5d1103..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/diagrams/trafficlight.example.TrafficController.behavior +++ /dev/null @@ -1,630 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of TrafficController" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@children.0/@children.8/@link //@children.0/@children.9/@link //@children.0/@children.10/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@connections.9/@link //@connections.10/@link //@connections.11/@link" verticalGridUnit="10" version="0.9.2">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="680" height="812"/>
- <link>
- <businessObjects href="../trafficlight.example.room#ActorClass:TrafficController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="701" height="832" x="-10" y="-10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="621" height="752" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="621" height="752" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficController$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="621" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="318" y="60">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficController$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="278" y="126">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$Idle"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Idle"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="168" height="90" x="63" y="414">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="108" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="83" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="54" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$Light1GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.4 //@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="108" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Light1GreenForCars"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="214" height="90" x="231" y="222">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="154" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="129" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="77" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="77" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="77" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$SwitchToLight1GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2 //@connections.3" incomingConnections="//@connections.1 //@connections.11" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="154" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SwitchToLight1GreenForCars"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="87" y="318">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$state0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="279" y="318">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$state1"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.6/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state1"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="214" height="90" x="40" y="510">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="154" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="129" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="77" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="77" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="77" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$SwitchToLight2GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7 //@connections.8" incomingConnections="//@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.7/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="154" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SwitchToLight2GreenForCars"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="87" y="606">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$state2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.8/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state2"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="279" y="606">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$state3"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.9/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state3"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="168" height="90" x="254" y="702">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="108" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="83" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="54" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficController$Light2GreenForCars"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.9 //@connections.10" referencedGraphicsAlgorithm="//@children.0/@children.10/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="108" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Light2GreenForCars"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#InitialTransition:TrafficController$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="2" y="-9" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- <bendpoints x="328" y="91"/>
- <bendpoints x="328" y="105"/>
- <bendpoints x="328" y="119"/>
- <bendpoints x="328" y="133"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.4/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficController$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="11" y="-7" font="//@fonts.0" value="tr0: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <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: <greenForPed:co..."/>
- </connectionDecorators>
- <bendpoints x="241" y="579"/>
- <bendpoints x="240" y="584"/>
- <bendpoints x="239" y="589"/>
- <bendpoints x="239" y="594"/>
- <bendpoints x="238" y="599"/>
- <bendpoints x="238" y="607"/>
- <bendpoints x="238" y="616"/>
- <bendpoints x="239" y="624"/>
- <bendpoints x="240" y="632"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room deleted file mode 100644 index d541b8011..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/test.room +++ /dev/null @@ -1,16 +0,0 @@ -RoomModel wer { - LogicalSystem LogSysName { - SubSystemRef SubSysRefName:SubSysClassName - - } - SubSystemClass SubSysClassName { - ActorRef ActorRefName:ActorClassName - - } - ActorClass ActorClassName { - } - - } - - -
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config deleted file mode 100644 index 1c78c0799..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.config +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 protos software gmbh (http://www.protos.de). - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * CONTRIBUTORS: - * Thomas Schuetz (initial contribution) - * - *******************************************************************************/ -ConfigModel trafficlight.example.config { - - import trafficlight.example.* from "trafficlight.example.room" - - ActorInstanceConfig LSTraffic/main/application/light1{ - Attr ipConfig{ - Attr IPAddr="127.0.0.1" - Attr TcpPort=4441 - } - } - - ActorInstanceConfig LSTraffic/main/application/light2 { - Attr ipConfig{ - Attr IPAddr="127.0.0.1" - Attr TcpPort=4442 - } - } - -} diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap deleted file mode 100644 index b76743986..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.etmap +++ /dev/null @@ -1,17 +0,0 @@ -MappingModel MappingModel1 { - - import trafficlight.example.* from "trafficlight.example.room" - import PhysicalModel1.* from "trafficlight.example.etphys" - - Mapping cGenRef.LS -> cGenRef.Sys { - SubSystemMapping sys1 -> node1 { - ThreadMapping dflt_thread -> PhysicalThread1 - ThreadMapping other_thread -> PhysicalThread1 - //ThreadMapping other_thread -> PhysicalThread2 - } -// SubSystemMapping sys2 -> node2 { -// ThreadMapping dflt_thread -> PhysicalThread1 -// ThreadMapping other_thread -> PhysicalThread2 -// } - } -}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room b/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room deleted file mode 100644 index 1b69d6c26..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/model/trafficlight/trafficlight.example.room +++ /dev/null @@ -1,318 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 protos software gmbh (http://www.protos.de). - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * CONTRIBUTORS: - * Thomas Schuetz (initial contribution) - * - *******************************************************************************/ - - -RoomModel trafficlight.example { - - import room.basic.types.* from "../../../org.eclipse.etrice.modellib.c/model/Types.room" - - import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.c/model/TimingService.room" - - import room.basic.service.tcp.* from "../../../org.eclipse.etrice.modellib.c/model/TcpService.room" - - LogicalSystem LSTraffic { - SubSystemRef main: SSTraffic - } - - SubSystemClass SSTraffic ["Subsystem of Trafficlight Example Application. The Subsystem contains all Actors of the application."] { - ActorRef application: TrafficlightExampleApplication ["reference to application"] - ActorRef TimingService: ATimingService ["reference to timing service"] - LayerConnection ref application satisfied_by TimingService.timer - - LogicalThread dflt_thread - } - - ActorClass TrafficlightExampleApplication ["Toplevel Actor of the Trafficlight Example Application."]{ - Structure { - - ActorRef light1: TrafficLight ["first traffic light"] - ActorRef light2: TrafficLight ["second traffic light"] - ActorRef controller: TrafficController ["controller for coordination of the traffic lights"] - Binding controller.light1 and light1.controller - Binding controller.light2 and light2.controller - } - Behavior { } - } - - ActorClass TrafficController ["The TrafficController coordinates two traffic lights (directions)."] { - Interface { - conjugated Port light1: PTrafficLight ["port to control traffic light 1"] - conjugated Port light2: PTrafficLight ["port to control traffic light 2"] - } - Structure { - usercode1 { - "#include \"platform/etTcpSockets.h\"" - } - external Port light1 - external Port light2 - SAP timeout: PTimer - } - Behavior { - Operation TrafficController() { - "etInitSockets();" - } - Operation ~TrafficController() { - "etCleanupSockets();" - } - StateMachine { - Transition init: initial -> Idle { } - Transition tr0: Idle -> SwitchToLight1GreenForCars { - triggers { - <timeout: timeout> - } - } - Transition tr1: SwitchToLight1GreenForCars -> state0 { - triggers { - <greenForCarDone: light1> - } - } - Transition tr2: SwitchToLight1GreenForCars -> state1 { - triggers { - <greenForPedDone: light2> - } - } - Transition tr3: state1 -> Light1GreenForCars { - triggers { - <greenForCarDone: light1> - } - } - Transition tr4: state0 -> Light1GreenForCars { - triggers { - <greenForPedDone: light2> - } - } - Transition tr5: Light1GreenForCars -> SwitchToLight2GreenForCars { - triggers { - <timeout: timeout> - } - } - Transition tr6: SwitchToLight2GreenForCars -> state2 { - triggers { - <greenForPedDone: light1> - } - } - Transition tr7: SwitchToLight2GreenForCars -> state3 { - triggers { - <greenForCarDone: light2> - } - } - Transition tr8: state2 -> Light2GreenForCars { - triggers { - <greenForCarDone: light2> - } - } - Transition tr9: state3 -> Light2GreenForCars { - triggers { - <greenForPedDone: light1> - } - } - Transition tr10: Light2GreenForCars -> SwitchToLight1GreenForCars { - triggers { - <timeout: timeout> - } - } - State Idle { - entry { - "timeout.startTimeout(3000);" - } - } - State Light1GreenForCars { - entry { - "timeout.startTimeout(10000);" - } - } - State SwitchToLight1GreenForCars { - entry { - "light1.greenForCar();" - "light2.greenForPed();" - } - } - State state0 - State state1 - State SwitchToLight2GreenForCars { - entry { - "light1.greenForPed();" - "light2.greenForCar();" - } - } - State state2 - State state3 - State Light2GreenForCars { - entry { - "timeout.startTimeout(10000);" - } - } - } - } - } - - ActorClass TrafficLight ["This Actor is responsible for controlling a single traffic light via socket. It uses a socket client for communication."] { - Interface { - Port controller: PTrafficLight - } - Structure { - external Port controller - conjugated Port tcpCtrl: PTcpControl - conjugated Port tcpPayload: PTcpPayload - SAP timeout: PTimer - SAP blinkerTimeout: PTimer - Attribute ipConfig: DTcpControl ["configuration of the IP-port for the communication with the Traffic Light GUI"] - ActorRef trafficLightSocket: ATcpClient - Binding trafficLightSocket.ControlPort and tcpCtrl - Binding trafficLightSocket.PayloadPort and tcpPayload - } - Behavior { - Operation sendString(text: string)["convenience function for sending a string over the socket"] { - " - static DTcpPayload pl; - strcpy(pl.data, text); - pl.length = strlen(text); - tcpPayload.send(&pl); - " - } - StateMachine { - Transition init: initial -> OpenSocket { } - Transition tr0: OpenSocket -> tp0 of Off_Blinking { - triggers { - <established: tcpCtrl> - } - } - Transition tr2: Off_Blinking -> PedRed { - triggers { - <greenForCar: controller> - } - } - Transition tr3: PedRed -> CarYellow { - triggers { - <timeout: timeout> - } - } - Transition tr1: CarYellow -> CarGreen { - triggers { - <timeout: timeout> - } - } - Transition tr4: Off_Blinking -> CarYellow2 { - triggers { - <greenForPed: controller> - } - } - Transition tr5: CarYellow2 -> CarRed { - triggers { - <timeout: timeout> - } - } - Transition tr6: CarRed -> PedGreen { - triggers { - <timeout: timeout> - } - } - Transition tr7: PedGreen -> PedRed { - triggers { - <greenForCar: controller> - } - } - Transition tr8: CarGreen -> CarYellow2 { - triggers { - <greenForPed: controller> - } - } - State OpenSocket { - entry { - "tcpCtrl.open(&(ipConfig));" - } - } - State CarYellow { - entry { - "sendString(\"carLights=yellow\\n\");" - "timeout.startTimeout(1000);" - } - } - State PedRed { - entry { - "sendString(\"pedLights=red\\n\");" - "sendString(\"carLights=red\\n\");" - "timeout.startTimeout(1000);" - } - } - State CarGreen { - entry { - "sendString(\"carLights=green\\n\");" - "controller.greenForCarDone();" - } - } - State Off_Blinking { - subgraph { - Transition tr0: my tp0 -> On - Transition tr1: On -> Off { - triggers { - <timeout: blinkerTimeout> - } - } - Transition tr2: Off -> On { - triggers { - <timeout: blinkerTimeout> - } - } - EntryPoint tp0 - State On { - entry { - "sendString(\"carLights=red\\n\");" - "sendString(\"pedLights=red\\n\");" - "blinkerTimeout.startTimeout(500);" - } - exit { - "sendString(\"carLights=off\\n\");" - "sendString(\"pedLights=off\\n\");" - } - } - State Off { - entry { - "blinkerTimeout.startTimeout(500);" - } - } - } - } - State CarYellow2 { - entry { - "sendString(\"carLights=yellow\\n\");" - "timeout.startTimeout(1000);" - } - } - State CarRed { - entry { - "sendString(\"carLights=red\\n\");" - "timeout.startTimeout(1000);" - } - } - State PedGreen { - entry { - "sendString(\"pedLights=green\\n\");" - "controller.greenForPedDone();" - } - } - } - } - } - - ProtocolClass PTrafficLight { - incoming { - Message greenForCar() ["trigger green for car"] - Message greenForPed() ["trigger green for pedestrians"] - } - outgoing { - Message greenForCarDone() ["positive response for greenForCar - is sent when switch is over"] - Message greenForPedDone() ["positive response for greenForPed - is sent when switch is over"] - } - } - -}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch b/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch deleted file mode 100644 index a75abfd4d..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4441.launch +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:javaw}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-jar trafficlight.jar 4441"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.etrice.tutorials.c/gui}"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch b/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch deleted file mode 100644 index d47f132cc..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/run_trafficlight_port_4442.launch +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:javaw}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-jar trafficlight.jar 4442"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.etrice.tutorials.c/gui}"/>
-</launchConfiguration>
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt b/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt new file mode 100644 index 000000000..1dc2b35ab --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.c/src-gen-info/readme.txt @@ -0,0 +1,4 @@ +This directory is an eTrice code generation target. +It will be erased every time the generator is executed. + +DO NOT PLACE OTHER FILES HERE! diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c deleted file mode 100644 index a75a969f6..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.c +++ /dev/null @@ -1,133 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Source File of ProtocolClass PTrafficLight
- *
- */
-
-#include "PTrafficLight.h"
-#include "debugging/etMSCLogger.h"
-
-
-/*--------------------- port methods */
-
-void PTrafficLightPort_greenForCarDone(const PTrafficLightPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightPort", "greenForCarDone")
- etPort_sendMessage(self, PTrafficLight_OUT_greenForCarDone, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForCarDone_broadcast(const PTrafficLightReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForCarDone")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_OUT_greenForCarDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForCarDone(const PTrafficLightReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForCarDone")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_OUT_greenForCarDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void PTrafficLightPort_greenForPedDone(const PTrafficLightPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightPort", "greenForPedDone")
- etPort_sendMessage(self, PTrafficLight_OUT_greenForPedDone, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForPedDone_broadcast(const PTrafficLightReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForPedDone")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_OUT_greenForPedDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightReplPort_greenForPedDone(const PTrafficLightReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightReplPort", "greenForPedDone")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_OUT_greenForPedDone, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-etInt32 PTrafficLightReplPort_getReplication(const PTrafficLightReplPort* self) {
- return ((etReplPort*)self)->size;
-}
-
-
-
-void PTrafficLightConjPort_greenForCar(const PTrafficLightConjPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjPort", "greenForCar")
- etPort_sendMessage(self, PTrafficLight_IN_greenForCar, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForCar_broadcast(const PTrafficLightConjReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForCar")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_IN_greenForCar, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForCar(const PTrafficLightConjReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForCar")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_IN_greenForCar, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void PTrafficLightConjPort_greenForPed(const PTrafficLightConjPort* self) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjPort", "greenForPed")
- etPort_sendMessage(self, PTrafficLight_IN_greenForPed, 0, NULL);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForPed_broadcast(const PTrafficLightConjReplPort* self) {
- int i;
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForPed")
- for (i=0; i<((etReplPort*)self)->size; ++i) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[i]), PTrafficLight_IN_greenForPed, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-void PTrafficLightConjReplPort_greenForPed(const PTrafficLightConjReplPort* self, int idx) {
- ET_MSC_LOGGER_SYNC_ENTRY("PTrafficLightConjReplPort", "greenForPed")
- if (0<=idx && idx<((etReplPort*)self)->size) {
- etPort_sendMessage(((etPort*)&((etReplPort*)self)->ports[idx]), PTrafficLight_IN_greenForPed, 0, NULL);
- }
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-etInt32 PTrafficLightConjReplPort_getReplication(const PTrafficLightConjReplPort* self) {
- return ((etReplPort*)self)->size;
-}
-
-
-
-/*--------------------- debug helpers */
-
-/* message names as strings for debugging (generate MSC) */
-static const char* const PTrafficLight_messageStrings[] = {"MIN", "greenForCarDone","greenForPedDone","greenForCar", "greenForPed", "MAX"};
-
-const char* PTrafficLight_getMessageString(int msg_id) {
- if (msg_id<PTrafficLight_MSG_MIN || msg_id>PTrafficLight_MSG_MAX+1){
- /* id out of range */
- return "Message ID out of range";
- }
- else{
- return PTrafficLight_messageStrings[msg_id];
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h deleted file mode 100644 index 72c855040..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/PTrafficLight.h +++ /dev/null @@ -1,62 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Header File of ProtocolClass PTrafficLight
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_
-#define _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_
-
-#include "etDatatypes.h"
-#include "modelbase/etPort.h"
-
-
-
-
-/* message IDs */
-enum PTrafficLight_msg_ids {
- PTrafficLight_MSG_MIN = 0,
- PTrafficLight_OUT_greenForCarDone = 1,
- PTrafficLight_OUT_greenForPedDone = 2,
- PTrafficLight_IN_greenForCar = 3,
- PTrafficLight_IN_greenForPed = 4,
- PTrafficLight_MSG_MAX = 5
-};
-
-/*--------------------- port structs and methods */
-typedef etPort PTrafficLightPort;
-typedef etReplPort PTrafficLightReplPort;
-
-
-void PTrafficLightPort_greenForCarDone(const PTrafficLightPort* self);
-void PTrafficLightReplPort_greenForCarDone_broadcast(const PTrafficLightReplPort* self);
-void PTrafficLightReplPort_greenForCarDone(const PTrafficLightReplPort* self, int idx);
-void PTrafficLightPort_greenForPedDone(const PTrafficLightPort* self);
-void PTrafficLightReplPort_greenForPedDone_broadcast(const PTrafficLightReplPort* self);
-void PTrafficLightReplPort_greenForPedDone(const PTrafficLightReplPort* self, int idx);
-
-
-etInt32 PTrafficLightReplPort_getReplication(const PTrafficLightReplPort* self);
-typedef etPort PTrafficLightConjPort;
-typedef etReplPort PTrafficLightConjReplPort;
-
-
-void PTrafficLightConjPort_greenForCar(const PTrafficLightConjPort* self);
-void PTrafficLightConjReplPort_greenForCar_broadcast(const PTrafficLightConjReplPort* self);
-void PTrafficLightConjReplPort_greenForCar(const PTrafficLightConjReplPort* self, int idx);
-void PTrafficLightConjPort_greenForPed(const PTrafficLightConjPort* self);
-void PTrafficLightConjReplPort_greenForPed_broadcast(const PTrafficLightConjReplPort* self);
-void PTrafficLightConjReplPort_greenForPed(const PTrafficLightConjReplPort* self, int idx);
-
-
-etInt32 PTrafficLightConjReplPort_getReplication(const PTrafficLightConjReplPort* self);
-
-/*--------------------- debug helpers */
-
-/* get message string for message id */
-const char* PTrafficLight_getMessageString(int msg_id);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_PTRAFFICLIGHT_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c deleted file mode 100644 index 3a7506ae2..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.c +++ /dev/null @@ -1,460 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficController
- *
- */
-
-#include "TrafficController.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_light1 = 1,
- IFITEM_light2 = 2,
- IFITEM_timeout = 3
-};
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_Idle = 2,
- STATE_Light1GreenForCars = 3,
- STATE_SwitchToLight1GreenForCars = 4,
- STATE_state0 = 5,
- STATE_state1 = 6,
- STATE_SwitchToLight2GreenForCars = 7,
- STATE_state2 = 8,
- STATE_state3 = 9,
- STATE_Light2GreenForCars = 10,
- STATE_MAX = 11
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__Idle = 1,
- CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout = 2,
- CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1 = 3,
- CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2 = 4,
- CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1 = 5,
- CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2 = 6,
- CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout = 7,
- CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1 = 8,
- CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2 = 9,
- CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2 = 10,
- CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1 = 11,
- CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout = 12
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_light1__greenForCarDone = IFITEM_light1 + EVT_SHIFT*PTrafficLight_OUT_greenForCarDone,
- TRIG_light2__greenForCarDone = IFITEM_light2 + EVT_SHIFT*PTrafficLight_OUT_greenForCarDone,
- TRIG_timeout__timeout = IFITEM_timeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_light2__greenForPedDone = IFITEM_light2 + EVT_SHIFT*PTrafficLight_OUT_greenForPedDone,
- TRIG_light1__greenForPedDone = IFITEM_light1 + EVT_SHIFT*PTrafficLight_OUT_greenForPedDone
-};
-
-
-static void setState(TrafficController* self, etInt16 new_state) {
- self->state = new_state;
-}
-
-static etInt16 getState(TrafficController* self) {
- return self->state;
-}
-
-/* Entry and Exit Codes */
-static void entry_Idle(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 3000) /* ORIG: timeout.startTimeout(3000) */;
-}
-static void entry_Light1GreenForCars(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 10000) /* ORIG: timeout.startTimeout(10000) */;
-}
-static void entry_SwitchToLight1GreenForCars(TrafficController* self) {
- PTrafficLightConjPort_greenForCar(&self->constData->light1) /* ORIG: light1.greenForCar() */;
- PTrafficLightConjPort_greenForPed(&self->constData->light2) /* ORIG: light2.greenForPed() */;
-}
-static void entry_SwitchToLight2GreenForCars(TrafficController* self) {
- PTrafficLightConjPort_greenForPed(&self->constData->light1) /* ORIG: light1.greenForPed() */;
- PTrafficLightConjPort_greenForCar(&self->constData->light2) /* ORIG: light2.greenForCar() */;
-}
-static void entry_Light2GreenForCars(TrafficController* self) {
- PTimerConjPort_startTimeout(&self->constData->timeout, 10000) /* ORIG: timeout.startTimeout(10000) */;
-}
-
-/* Action Codes */
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
-static void exitTo(TrafficController* self, etInt16 current, etInt16 to) {
- while (current!=to) {
- switch (current) {
- case STATE_Idle:
- self->history[STATE_TOP] = STATE_Idle;
- current = STATE_TOP;
- break;
- case STATE_Light1GreenForCars:
- self->history[STATE_TOP] = STATE_Light1GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_SwitchToLight1GreenForCars:
- self->history[STATE_TOP] = STATE_SwitchToLight1GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_state0:
- self->history[STATE_TOP] = STATE_state0;
- current = STATE_TOP;
- break;
- case STATE_state1:
- self->history[STATE_TOP] = STATE_state1;
- current = STATE_TOP;
- break;
- case STATE_SwitchToLight2GreenForCars:
- self->history[STATE_TOP] = STATE_SwitchToLight2GreenForCars;
- current = STATE_TOP;
- break;
- case STATE_state2:
- self->history[STATE_TOP] = STATE_state2;
- current = STATE_TOP;
- break;
- case STATE_state3:
- self->history[STATE_TOP] = STATE_state3;
- current = STATE_TOP;
- break;
- case STATE_Light2GreenForCars:
- self->history[STATE_TOP] = STATE_Light2GreenForCars;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
-static etInt16 executeTransitionChain(TrafficController* self, int chain, const InterfaceItemBase* ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__Idle:
- {
- return STATE_Idle;
- }
- case CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight1GreenForCars;
- }
- case CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1:
- {
- return STATE_state0;
- }
- case CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2:
- {
- return STATE_state1;
- }
- case CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1:
- {
- return STATE_Light1GreenForCars;
- }
- case CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2:
- {
- return STATE_Light1GreenForCars;
- }
- case CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight2GreenForCars;
- }
- case CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1:
- {
- return STATE_state2;
- }
- case CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2:
- {
- return STATE_state3;
- }
- case CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2:
- {
- return STATE_Light2GreenForCars;
- }
- case CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1:
- {
- return STATE_Light2GreenForCars;
- }
- case CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout:
- {
- return STATE_SwitchToLight1GreenForCars;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
-static etInt16 enterHistory(TrafficController* self, etInt16 state) {
- boolean skip_entry = FALSE;
- if (state >= STATE_MAX) {
- state = (etInt16) (state - STATE_MAX);
- skip_entry = TRUE;
- }
- while (TRUE) {
- switch (state) {
- case STATE_Idle:
- if (!(skip_entry)) entry_Idle(self);
- /* in leaf state: return state id */
- return STATE_Idle;
- case STATE_Light1GreenForCars:
- if (!(skip_entry)) entry_Light1GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_Light1GreenForCars;
- case STATE_SwitchToLight1GreenForCars:
- if (!(skip_entry)) entry_SwitchToLight1GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_SwitchToLight1GreenForCars;
- case STATE_state0:
- /* in leaf state: return state id */
- return STATE_state0;
- case STATE_state1:
- /* in leaf state: return state id */
- return STATE_state1;
- case STATE_SwitchToLight2GreenForCars:
- if (!(skip_entry)) entry_SwitchToLight2GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_SwitchToLight2GreenForCars;
- case STATE_state2:
- /* in leaf state: return state id */
- return STATE_state2;
- case STATE_state3:
- /* in leaf state: return state id */
- return STATE_state3;
- case STATE_Light2GreenForCars:
- if (!(skip_entry)) entry_Light2GreenForCars(self);
- /* in leaf state: return state id */
- return STATE_Light2GreenForCars;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = FALSE;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
-}
-
-static void TrafficController_executeInitTransition(TrafficController* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__Idle;
- etInt16 next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void TrafficController_receiveEvent(TrafficController* self, InterfaceItemBase* ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- etInt16 catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState(self)) {
- case STATE_Idle:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr0_FROM_Idle_TO_SwitchToLight1GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Light1GreenForCars:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_Light1GreenForCars_TO_SwitchToLight2GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_SwitchToLight1GreenForCars:
- switch(trigger) {
- case TRIG_light1__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr1_FROM_SwitchToLight1GreenForCars_TO_state0_BY_greenForCarDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_light2__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr2_FROM_SwitchToLight1GreenForCars_TO_state1_BY_greenForPedDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state0:
- switch(trigger) {
- case TRIG_light2__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr4_FROM_state0_TO_Light1GreenForCars_BY_greenForPedDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state1:
- switch(trigger) {
- case TRIG_light1__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr3_FROM_state1_TO_Light1GreenForCars_BY_greenForCarDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_SwitchToLight2GreenForCars:
- switch(trigger) {
- case TRIG_light1__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr6_FROM_SwitchToLight2GreenForCars_TO_state2_BY_greenForPedDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_light2__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr7_FROM_SwitchToLight2GreenForCars_TO_state3_BY_greenForCarDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state2:
- switch(trigger) {
- case TRIG_light2__greenForCarDone:
- {
- chain = CHAIN_TRANS_tr8_FROM_state2_TO_Light2GreenForCars_BY_greenForCarDonelight2;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_state3:
- switch(trigger) {
- case TRIG_light1__greenForPedDone:
- {
- chain = CHAIN_TRANS_tr9_FROM_state3_TO_Light2GreenForCars_BY_greenForPedDonelight1;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Light2GreenForCars:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr10_FROM_Light2GreenForCars_TO_SwitchToLight1GreenForCars_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, getState(self), catching_state);
- {
- etInt16 next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next);
- setState(self, next);
- }
- }
-}
-
-void TrafficController_init(TrafficController* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficController", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<TRAFFICCONTROLLER_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- TrafficController_executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficController_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficController", "_receiveMessage")
-
- TrafficController_receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-void TrafficController_ctor(TrafficController* self) {
- etInitSockets();
-}
-void TrafficController_dtor(TrafficController* self) {
- etCleanupSockets();
-}
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h deleted file mode 100644 index 852dbfb1e..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficController.h +++ /dev/null @@ -1,68 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficController
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-/*--------------------- begin user code ---------------------*/
-#include "platform/etTcpSockets.h"
-/*--------------------- end user code ---------------------*/
-
-typedef struct TrafficController TrafficController;
-
-/* const part of ActorClass (ROM) */
-typedef struct TrafficController_const {
- /* simple ports */
- const PTrafficLightConjPort light1;
- const PTrafficLightConjPort light2;
-
- /* data receive ports */
-
- /* saps */
- const PTimerConjPort timeout;
-
- /* replicated ports */
-
- /* services */
-} TrafficController_const;
-
-
-/* constant for state machine data */
-#define TRAFFICCONTROLLER_HISTORY_SIZE 2
-
-/* variable part of ActorClass (RAM) */
-struct TrafficController {
- const TrafficController_const* const constData;
-
- /* data send ports */
-
- /*--------------------- attributes ---------------------*/
-
-
- /* state machine variables */
- etInt16 state;
- etInt16 history[TRAFFICCONTROLLER_HISTORY_SIZE];
-};
-
-void TrafficController_init(TrafficController* self);
-
-void TrafficController_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-void TrafficController_ctor(TrafficController* self);
-void TrafficController_dtor(TrafficController* self);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICCONTROLLER_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c deleted file mode 100644 index 4e40db6f2..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.c +++ /dev/null @@ -1,515 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficLight
- *
- */
-
-#include "TrafficLight.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_controller = 1,
- IFITEM_tcpCtrl = 2,
- IFITEM_tcpPayload = 3,
- IFITEM_timeout = 4,
- IFITEM_blinkerTimeout = 5
-};
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_Off_Blinking = 2,
- STATE_OpenSocket = 3,
- STATE_CarYellow = 4,
- STATE_PedRed = 5,
- STATE_CarGreen = 6,
- STATE_Off_Blinking_On = 7,
- STATE_Off_Blinking_Off = 8,
- STATE_CarYellow2 = 9,
- STATE_CarRed = 10,
- STATE_PedGreen = 11,
- STATE_MAX = 12
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__OpenSocket = 1,
- CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl = 2,
- CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller = 3,
- CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout = 4,
- CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout = 5,
- CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller = 6,
- CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout = 7,
- CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout = 8,
- CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller = 9,
- CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller = 10,
- CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout = 11,
- CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout = 12
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_controller__greenForCar = IFITEM_controller + EVT_SHIFT*PTrafficLight_IN_greenForCar,
- TRIG_timeout__timeout = IFITEM_timeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_blinkerTimeout__timeout = IFITEM_blinkerTimeout + EVT_SHIFT*PTimer_OUT_timeout,
- TRIG_controller__greenForPed = IFITEM_controller + EVT_SHIFT*PTrafficLight_IN_greenForPed,
- TRIG_tcpCtrl__established = IFITEM_tcpCtrl + EVT_SHIFT*PTcpControl_OUT_established
-};
-
-
-static void setState(TrafficLight* self, etInt16 new_state) {
- self->state = new_state;
-}
-
-static etInt16 getState(TrafficLight* self) {
- return self->state;
-}
-
-/* Entry and Exit Codes */
-static void entry_OpenSocket(TrafficLight* self) {
- PTcpControlConjPort_open(&self->constData->tcpCtrl, &(self->ipConfig /* ORIG: ipConfig */)) /* ORIG: tcpCtrl.open(&(ipConfig)) */;
-}
-static void entry_CarYellow(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=yellow\n") /* ORIG: sendString("carLights=yellow\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_PedRed(TrafficLight* self) {
- TrafficLight_sendString(self, "pedLights=red\n") /* ORIG: sendString("pedLights=red\n") */;
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_CarGreen(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=green\n") /* ORIG: sendString("carLights=green\n") */;
- PTrafficLightPort_greenForCarDone(&self->constData->controller) /* ORIG: controller.greenForCarDone() */;
-}
-static void entry_Off_Blinking_On(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- TrafficLight_sendString(self, "pedLights=red\n") /* ORIG: sendString("pedLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->blinkerTimeout, 500) /* ORIG: blinkerTimeout.startTimeout(500) */;
-}
-static void exit_Off_Blinking_On(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=off\n") /* ORIG: sendString("carLights=off\n") */;
- TrafficLight_sendString(self, "pedLights=off\n") /* ORIG: sendString("pedLights=off\n") */;
-}
-static void entry_Off_Blinking_Off(TrafficLight* self) {
- PTimerConjPort_startTimeout(&self->constData->blinkerTimeout, 500) /* ORIG: blinkerTimeout.startTimeout(500) */;
-}
-static void entry_CarYellow2(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=yellow\n") /* ORIG: sendString("carLights=yellow\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_CarRed(TrafficLight* self) {
- TrafficLight_sendString(self, "carLights=red\n") /* ORIG: sendString("carLights=red\n") */;
- PTimerConjPort_startTimeout(&self->constData->timeout, 1000) /* ORIG: timeout.startTimeout(1000) */;
-}
-static void entry_PedGreen(TrafficLight* self) {
- TrafficLight_sendString(self, "pedLights=green\n") /* ORIG: sendString("pedLights=green\n") */;
- PTrafficLightPort_greenForPedDone(&self->constData->controller) /* ORIG: controller.greenForPedDone() */;
-}
-
-/* Action Codes */
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- */
-static void exitTo(TrafficLight* self, etInt16 current, etInt16 to) {
- while (current!=to) {
- switch (current) {
- case STATE_OpenSocket:
- self->history[STATE_TOP] = STATE_OpenSocket;
- current = STATE_TOP;
- break;
- case STATE_CarYellow:
- self->history[STATE_TOP] = STATE_CarYellow;
- current = STATE_TOP;
- break;
- case STATE_PedRed:
- self->history[STATE_TOP] = STATE_PedRed;
- current = STATE_TOP;
- break;
- case STATE_CarGreen:
- self->history[STATE_TOP] = STATE_CarGreen;
- current = STATE_TOP;
- break;
- case STATE_Off_Blinking:
- self->history[STATE_TOP] = STATE_Off_Blinking;
- current = STATE_TOP;
- break;
- case STATE_Off_Blinking_On:
- exit_Off_Blinking_On(self);
- self->history[STATE_Off_Blinking] = STATE_Off_Blinking_On;
- current = STATE_Off_Blinking;
- break;
- case STATE_Off_Blinking_Off:
- self->history[STATE_Off_Blinking] = STATE_Off_Blinking_Off;
- current = STATE_Off_Blinking;
- break;
- case STATE_CarYellow2:
- self->history[STATE_TOP] = STATE_CarYellow2;
- current = STATE_TOP;
- break;
- case STATE_CarRed:
- self->history[STATE_TOP] = STATE_CarRed;
- current = STATE_TOP;
- break;
- case STATE_PedGreen:
- self->history[STATE_TOP] = STATE_PedGreen;
- current = STATE_TOP;
- break;
- default:
- /* should not occur */
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa
- */
-static etInt16 executeTransitionChain(TrafficLight* self, int chain, const InterfaceItemBase* ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__OpenSocket:
- {
- return STATE_OpenSocket;
- }
- case CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl:
- {
- return STATE_Off_Blinking_On;
- }
- case CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller:
- {
- return STATE_PedRed;
- }
- case CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout:
- {
- return STATE_CarYellow;
- }
- case CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout:
- {
- return STATE_CarGreen;
- }
- case CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller:
- {
- return STATE_CarYellow2;
- }
- case CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout:
- {
- return STATE_CarRed;
- }
- case CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout:
- {
- return STATE_PedGreen;
- }
- case CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller:
- {
- return STATE_PedRed;
- }
- case CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller:
- {
- return STATE_CarYellow2;
- }
- case CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout:
- {
- return STATE_Off_Blinking_Off;
- }
- case CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout:
- {
- return STATE_Off_Blinking_On;
- }
- default:
- /* should not occur */
- break;
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @return - the ID of the final leaf state
- */
-static etInt16 enterHistory(TrafficLight* self, etInt16 state) {
- boolean skip_entry = FALSE;
- if (state >= STATE_MAX) {
- state = (etInt16) (state - STATE_MAX);
- skip_entry = TRUE;
- }
- while (TRUE) {
- switch (state) {
- case STATE_OpenSocket:
- if (!(skip_entry)) entry_OpenSocket(self);
- /* in leaf state: return state id */
- return STATE_OpenSocket;
- case STATE_CarYellow:
- if (!(skip_entry)) entry_CarYellow(self);
- /* in leaf state: return state id */
- return STATE_CarYellow;
- case STATE_PedRed:
- if (!(skip_entry)) entry_PedRed(self);
- /* in leaf state: return state id */
- return STATE_PedRed;
- case STATE_CarGreen:
- if (!(skip_entry)) entry_CarGreen(self);
- /* in leaf state: return state id */
- return STATE_CarGreen;
- case STATE_Off_Blinking:
- /* state has a sub graph */
- /* without init transition */
- state = self->history[STATE_Off_Blinking];
- break;
- case STATE_Off_Blinking_On:
- if (!(skip_entry)) entry_Off_Blinking_On(self);
- /* in leaf state: return state id */
- return STATE_Off_Blinking_On;
- case STATE_Off_Blinking_Off:
- if (!(skip_entry)) entry_Off_Blinking_Off(self);
- /* in leaf state: return state id */
- return STATE_Off_Blinking_Off;
- case STATE_CarYellow2:
- if (!(skip_entry)) entry_CarYellow2(self);
- /* in leaf state: return state id */
- return STATE_CarYellow2;
- case STATE_CarRed:
- if (!(skip_entry)) entry_CarRed(self);
- /* in leaf state: return state id */
- return STATE_CarRed;
- case STATE_PedGreen:
- if (!(skip_entry)) entry_PedGreen(self);
- /* in leaf state: return state id */
- return STATE_PedGreen;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- default:
- /* should not occur */
- break;
- }
- skip_entry = FALSE;
- }
- /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */
-}
-
-static void TrafficLight_executeInitTransition(TrafficLight* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__OpenSocket;
- etInt16 next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void TrafficLight_receiveEvent(TrafficLight* self, InterfaceItemBase* ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- etInt16 catching_state = NO_STATE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState(self)) {
- case STATE_OpenSocket:
- switch(trigger) {
- case TRIG_tcpCtrl__established:
- {
- chain = CHAIN_TRANS_tr0_FROM_OpenSocket_TO_Off_Blinking_tp0_BY_establishedtcpCtrl;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarYellow:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_CarYellow_TO_CarGreen_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_PedRed:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr3_FROM_PedRed_TO_CarYellow_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarGreen:
- switch(trigger) {
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr8_FROM_CarGreen_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Off_Blinking_On:
- switch(trigger) {
- case TRIG_blinkerTimeout__timeout:
- {
- chain = CHAIN_Off_Blinking_TRANS_tr1_FROM_On_TO_Off_BY_timeoutblinkerTimeout;
- catching_state = STATE_Off_Blinking;
- }
- break;
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_Off_Blinking_Off:
- switch(trigger) {
- case TRIG_blinkerTimeout__timeout:
- {
- chain = CHAIN_Off_Blinking_TRANS_tr2_FROM_Off_TO_On_BY_timeoutblinkerTimeout;
- catching_state = STATE_Off_Blinking;
- }
- break;
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr2_FROM_Off_Blinking_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_controller__greenForPed:
- {
- chain = CHAIN_TRANS_tr4_FROM_Off_Blinking_TO_CarYellow2_BY_greenForPedcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarYellow2:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_CarYellow2_TO_CarRed_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_CarRed:
- switch(trigger) {
- case TRIG_timeout__timeout:
- {
- chain = CHAIN_TRANS_tr6_FROM_CarRed_TO_PedGreen_BY_timeouttimeout;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- case STATE_PedGreen:
- switch(trigger) {
- case TRIG_controller__greenForCar:
- {
- chain = CHAIN_TRANS_tr7_FROM_PedGreen_TO_PedRed_BY_greenForCarcontroller;
- catching_state = STATE_TOP;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- break;
- default:
- /* should not occur */
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, getState(self), catching_state);
- {
- etInt16 next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next);
- setState(self, next);
- }
- }
-}
-
-void TrafficLight_init(TrafficLight* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficLight", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<TRAFFICLIGHT_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- TrafficLight_executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficLight_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficLight", "_receiveMessage")
-
- TrafficLight_receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-void TrafficLight_sendString(TrafficLight* self, charPtr text) {
-
- static DTcpPayload pl;
- strcpy(pl.data, text);
- pl.length = strlen(text);
- PTcpPayloadConjPort_send(&self->constData->tcpPayload, &pl) /* ORIG: tcpPayload.send(&pl) */;
-}
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h deleted file mode 100644 index 36f4114bf..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficLight.h +++ /dev/null @@ -1,70 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficLight
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/tcp/DTcpControl.h"
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-typedef struct TrafficLight TrafficLight;
-
-/* const part of ActorClass (ROM) */
-typedef struct TrafficLight_const {
- /* simple ports */
- const PTrafficLightPort controller;
- const PTcpControlConjPort tcpCtrl;
- const PTcpPayloadConjPort tcpPayload;
-
- /* data receive ports */
-
- /* saps */
- const PTimerConjPort timeout;
- const PTimerConjPort blinkerTimeout;
-
- /* replicated ports */
-
- /* services */
-} TrafficLight_const;
-
-
-/* constant for state machine data */
-#define TRAFFICLIGHT_HISTORY_SIZE 3
-
-/* variable part of ActorClass (RAM) */
-struct TrafficLight {
- const TrafficLight_const* const constData;
-
- /* data send ports */
-
- /*--------------------- attributes ---------------------*/
- DTcpControl ipConfig;
-
-
- /* state machine variables */
- etInt16 state;
- etInt16 history[TRAFFICLIGHT_HISTORY_SIZE];
-};
-
-void TrafficLight_init(TrafficLight* self);
-
-void TrafficLight_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-void TrafficLight_sendString(TrafficLight* self, charPtr text);
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHT_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c deleted file mode 100644 index 043106785..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.c +++ /dev/null @@ -1,40 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Source File of ActorClass TrafficlightExampleApplication
- *
- */
-
-#include "TrafficlightExampleApplication.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "osal/etMemory.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-/* interface item IDs */
-/* empty enum not generated */
-
-
-void TrafficlightExampleApplication_init(TrafficlightExampleApplication* self){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficlightExampleApplication", "init")
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void TrafficlightExampleApplication_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("TrafficlightExampleApplication", "_receiveMessage")
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h b/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h deleted file mode 100644 index 0fdf71576..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/src-gen/trafficlight/example/TrafficlightExampleApplication.h +++ /dev/null @@ -1,44 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Header File of ActorClass TrafficlightExampleApplication
- *
- */
-
-#ifndef _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_
-#define _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_
-
-#include "etDatatypes.h"
-#include "messaging/etMessage.h"
-
-#include "room/basic/service/tcp/PTcpControl.h"
-#include "room/basic/service/tcp/PTcpPayload.h"
-#include "room/basic/service/timing/PTimer.h"
-#include "trafficlight/example/PTrafficLight.h"
-
-
-typedef struct TrafficlightExampleApplication TrafficlightExampleApplication;
-
-/* const part of ActorClass (ROM) */
-/* this actor class has no ports and thus no constant data */
-
-
-/* variable part of ActorClass (RAM) */
-struct TrafficlightExampleApplication {
- /* This actor class has no data at all.
- But the private actor instance data is passed to all life cycle functions.
- By introducing the dummy data we keep this case simple
- */
- int dummy;
-};
-
-void TrafficlightExampleApplication_init(TrafficlightExampleApplication* self);
-
-void TrafficlightExampleApplication_receiveMessage(void* self, void* ifitem, const etMessage* msg);
-
-
-/*--------------------- operations ---------------------*/
-
-
-#endif /* _TRAFFICLIGHT_EXAMPLE_TRAFFICLIGHTEXAMPLEAPPLICATION_H_ */
-
diff --git a/examples/org.eclipse.etrice.tutorials.c/test.txt b/examples/org.eclipse.etrice.tutorials.c/test.txt deleted file mode 100644 index dfdd262e9..000000000 --- a/examples/org.eclipse.etrice.tutorials.c/test.txt +++ /dev/null @@ -1,325 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * Source File of ActorClass ACParser
- *
- */
-
-#include "ACParser.h"
-
-#include "modelbase/etActor.h"
-#include "debugging/etLogger.h"
-#include "debugging/etMSCLogger.h"
-#include "etUnit/etUnit.h"
-#include "platform/etMemory.h"
-
-#include "FileReaderProtocol.h"
-
-
-/* interface item IDs */
-enum interface_items {
- IFITEM_readerPort = 1
-};
-
-
-/* state IDs */
-enum state_ids {
- NO_STATE = 0,
- STATE_TOP = 1,
- STATE_code = 2,
- STATE_firstSlash = 3,
- STATE_blockComment = 4,
- STATE_firstStar = 5,
- STATE_lineComment = 6
-};
-
-/* transition chains */
-enum chain_ids {
- CHAIN_TRANS_INITIAL_TO__code = 1,
- CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort = 2,
- CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort = 3,
- CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort = 4,
- CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort = 5,
- CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort = 6
-};
-
-/* triggers */
-enum triggers {
- POLLING = 0,
- TRIG_readerPort__nextChar = IFITEM_readerPort + EVT_SHIFT*FileReaderProtocol_OUT_nextChar
-};
-
-
-static void setState(ACParser* self, int new_state) {
- self->state = new_state;
-}
-
-/* Entry and Exit Codes */
-
-/* Action Codes */
-static void action_TRANS_INITIAL_TO__code(ACParser* self) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr1_FROM_cp0_TO_code(ACParser* self, InterfaceItemBase ifitem, char c) {
- printf("%c",c);
-}
-static void action_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-static void action_TRANS_tr12_FROM_cp4_TO_code(ACParser* self, InterfaceItemBase ifitem, char c) {
- printf("%c%c",'/',c);
-}
-static void action_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort(ACParser* self, InterfaceItemBase ifitem, char c) {
- FileReaderProtocolConjPort_getNextChar(&self->constData->readerPort) /* ORIG: readerPort.getNextChar() */;
-}
-
-/**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
-static void exitTo(ACParser* self, int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_code:
- self->history[STATE_TOP] = STATE_code;
- current = STATE_TOP;
- break;
- case STATE_firstSlash:
- self->history[STATE_TOP] = STATE_firstSlash;
- current = STATE_TOP;
- break;
- case STATE_blockComment:
- self->history[STATE_TOP] = STATE_blockComment;
- current = STATE_TOP;
- break;
- case STATE_firstStar:
- self->history[STATE_TOP] = STATE_firstStar;
- current = STATE_TOP;
- break;
- case STATE_lineComment:
- self->history[STATE_TOP] = STATE_lineComment;
- current = STATE_TOP;
- break;
- }
- }
-}
-
-/**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
-static int executeTransitionChain(ACParser* self, int chain, InterfaceItemBase ifitem, void* generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__code:
- {
- action_TRANS_INITIAL_TO__code(self);
- return STATE_code;
- }
- case CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='/') {
- return STATE_firstSlash;}
- else {
- action_TRANS_tr1_FROM_cp0_TO_code(self, ifitem, c);
- return STATE_code;}
- }
- case CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='*') {
- return STATE_blockComment;}
- else {
- if (c=='/') {
- return STATE_lineComment;}
- else {
- action_TRANS_tr12_FROM_cp4_TO_code(self, ifitem, c);
- return STATE_code;}
- }
- }
- case CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='*') {
- return STATE_firstStar;}
- else {
- return STATE_blockComment;}
- }
- case CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='/') {
- return STATE_code;}
- else {
- return STATE_blockComment;}
- }
- case CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort:
- {
- char c = *((char*) generic_data);
- action_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort(self, ifitem, c);
- if (c=='\n') {
- return STATE_code;}
- else {
- return STATE_lineComment;}
- }
- }
- return NO_STATE;
-}
-
-/**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
-static int enterHistory(ACParser* self, int state, boolean handler, boolean skip_entry) {
- while (TRUE) {
- switch (state) {
- case STATE_code:
- // in leaf state: return state id
- return STATE_code;
- case STATE_firstSlash:
- // in leaf state: return state id
- return STATE_firstSlash;
- case STATE_blockComment:
- // in leaf state: return state id
- return STATE_blockComment;
- case STATE_firstStar:
- // in leaf state: return state id
- return STATE_firstStar;
- case STATE_lineComment:
- // in leaf state: return state id
- return STATE_lineComment;
- case STATE_TOP:
- state = self->history[STATE_TOP];
- break;
- }
- skip_entry = FALSE;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
-}
-
-static void executeInitTransition(ACParser* self) {
- int chain = CHAIN_TRANS_INITIAL_TO__code;
- int next = executeTransitionChain(self, chain, NULL, NULL);
- next = enterHistory(self, next, FALSE, FALSE);
- setState(self, next);
-}
-
-/* receiveEvent contains the main implementation of the FSM */
-static void receiveEvent(ACParser* self, InterfaceItemBase ifitem, int evt, void* generic_data) {
- int trigger = ifitem->localId + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = FALSE;
- boolean skip_entry = FALSE;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (self->state) {
- case STATE_code:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr0_FROM_code_TO_cp0_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_firstSlash:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr3_FROM_firstSlash_TO_cp1_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blockComment:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr6_FROM_blockComment_TO_cp2_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_firstStar:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr9_FROM_firstStar_TO_cp3_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_lineComment:
- switch(trigger) {
- case TRIG_readerPort__nextChar:
- {
- chain = CHAIN_TRANS_tr15_FROM_lineComment_TO_cp5_BY_nextCharreaderPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(self, self->state, catching_state, is_handler);
- int next = executeTransitionChain(self, chain, ifitem, generic_data);
- next = enterHistory(self, next, is_handler, skip_entry);
- setState(self, next);
- }
-}
-
-//******************************************
-// END of generated code for FSM
-//******************************************
-
-void ACParser_init(ACParser* self){
- ET_MSC_LOGGER_SYNC_ENTRY("ACParser", "init")
- self->state = STATE_TOP;
- {
- int i;
- for (i=0; i<ACPARSER_HISTORY_SIZE; ++i)
- self->history[i] = NO_STATE;
- }
- executeInitTransition(self);
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-void ACParser_receiveMessage(void* self, void* ifitem, const etMessage* msg){
- ET_MSC_LOGGER_SYNC_ENTRY("ACParser", "_receiveMessage")
-
- receiveEvent(self, (etPort*)ifitem, msg->evtID, (void*)(((char*)msg)+MEM_CEIL(sizeof(etMessage))));
-
- ET_MSC_LOGGER_SYNC_EXIT
-}
-
-
-/*--------------------- operations ---------------------*/
-
diff --git a/examples/org.eclipse.etrice.tutorials.java/.gitignore b/examples/org.eclipse.etrice.tutorials.java/.gitignore index 092357e47..c5b2f5b90 100644 --- a/examples/org.eclipse.etrice.tutorials.java/.gitignore +++ b/examples/org.eclipse.etrice.tutorials.java/.gitignore @@ -1 +1,5 @@ -bin
+bin +src-gen/* +!src-gen/readme.txt +src-gen-info/* +!src-gen-info/readme.txt diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_org.eclipse.etrice.tutorials.java.launch b/examples/org.eclipse.etrice.tutorials.java/gen_HelloWorldJava.launch index 1ebe241c5..dbc4238e0 100644 --- a/examples/org.eclipse.etrice.tutorials.java/gen_org.eclipse.etrice.tutorials.java.launch +++ b/examples/org.eclipse.etrice.tutorials.java/gen_HelloWorldJava.launch @@ -1,19 +1,15 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType">
-<booleanAttribute key="Debug" value="false"/>
-<booleanAttribute key="GenDocumentation" value="false"/>
-<booleanAttribute key="GenInstanceDiagram" value="false"/>
-<stringAttribute key="GenModelPath" value=""/>
-<booleanAttribute key="Lib" value="false"/>
-<booleanAttribute key="MSC" value="true"/>
-<listAttribute key="ModelFiles">
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room}"/>
-<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room}"/>
-</listAttribute>
-<booleanAttribute key="SaveGenModel" value="false"/>
-<booleanAttribute key="Verbose" value="true"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType"> +<booleanAttribute key="Debug" value="false"/> +<booleanAttribute key="GenDocumentation" value="false"/> +<booleanAttribute key="GenInstanceDiagram" value="false"/> +<stringAttribute key="GenModelPath" value=""/> +<booleanAttribute key="Lib" value="false"/> +<booleanAttribute key="MSC" value="true"/> +<listAttribute key="ModelFiles"> +<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room}"/> +</listAttribute> +<booleanAttribute key="SaveGenModel" value="false"/> +<booleanAttribute key="Verbose" value="false"/> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/> +</launchConfiguration> diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch b/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch new file mode 100644 index 000000000..f2c1044fe --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/gen_PingPongJava.launch @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType"> +<booleanAttribute key="Debug" value="false"/> +<booleanAttribute key="GenDocumentation" value="false"/> +<booleanAttribute key="GenInstanceDiagram" value="false"/> +<stringAttribute key="GenModelPath" value=""/> +<booleanAttribute key="Lib" value="false"/> +<booleanAttribute key="MSC" value="true"/> +<listAttribute key="ModelFiles"> +<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room}"/> +</listAttribute> +<booleanAttribute key="SaveGenModel" value="false"/> +<booleanAttribute key="Verbose" value="false"/> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/> +</launchConfiguration> diff --git a/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch b/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch new file mode 100644 index 000000000..ef69ae1d4 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/gen_TrafficLightJava.launch @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.etrice.generator.launch.java.launchConfigurationType"> +<booleanAttribute key="Debug" value="false"/> +<booleanAttribute key="GenDocumentation" value="false"/> +<booleanAttribute key="GenInstanceDiagram" value="false"/> +<stringAttribute key="GenModelPath" value=""/> +<booleanAttribute key="Lib" value="false"/> +<booleanAttribute key="MSC" value="true"/> +<listAttribute key="ModelFiles"> +<listEntry value="${workspace_loc:/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room}"/> +</listAttribute> +<booleanAttribute key="SaveGenModel" value="false"/> +<booleanAttribute key="Verbose" value="false"/> +<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/> +</launchConfiguration> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room deleted file mode 100644 index 67bba4bbc..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/Blinky.room +++ /dev/null @@ -1,149 +0,0 @@ -RoomModel Blinky {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
-
- LogicalSystem System_Blinky {
- SubSystemRef subsystem: SubSystem_Blinky
- }
-
- SubSystemClass SubSystem_Blinky {
- ActorRef application: BlinkyTop
- ActorRef timingService: ATimingService
- LayerConnection ref application satisfied_by timingService.timer
- }
-
- ActorClass BlinkyTop {
- Structure {
- ActorRef blinky: Blinky
- ActorRef controller: BlinkyController
- Binding blinky.ControlPort and controller.ControlPort
- }
- Behavior { }
- }
-
- ActorClass Blinky {
- Interface {
- Port ControlPort: BlinkyControlProtocoll
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- usercode2 {
- "private PedestrianLightWndNoTcp light = new PedestrianLightWndNoTcp();"
- "private TrafficLight3 carLights;"
- "private TrafficLight2 pedLights;"
- }
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- Operation ~Blinky() {
- "light.closeWindow();"
- }
- StateMachine {
- Transition init: initial -> off {
- action {
- "carLights = light.getCarLights();"
- "pedLights = light.getPedLights();"
- "carLights.setState(TrafficLight3.OFF);"
- "pedLights.setState(TrafficLight2.OFF);"
- }
- }
- Transition tr0: off -> tp0 of blinking {
- triggers {
- <start: ControlPort>
- }
- }
- Transition tr1: blinking -> off {
- triggers {
- <stop: ControlPort>
- }
- action {
- "timer.kill();"
- "carLights.setState(TrafficLight3.OFF);"
- }
- }
- State off
- State blinking {
- subgraph {
- Transition tr0: my tp0 -> on
- Transition tr1: on -> off {
- triggers {
- <timeout: timer>
- }
- }
- Transition tr2: off -> on {
- triggers {
- <timeout: timer>
- }
- }
- Transition init: initial -> on { }
- EntryPoint tp0
- State on {
- entry {
- "timer.startTimeout(1000);"
- "carLights.setState(TrafficLight3.YELLOW);"
- }
- }
- State off {
- entry {
- "timer.startTimeout(1000);"
- "carLights.setState(TrafficLight3.OFF);"
- }
- }
- }
- }
- }
- }
- }
-
- ActorClass BlinkyController {
- Interface {
- conjugated Port ControlPort: BlinkyControlProtocoll
- }
- Structure {
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition init: initial -> on {
- action {
- "timer.startTimeout(5000);"
- "ControlPort.start();"
- }
- }
- Transition goOff: on -> off {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.stop();"
- "timer.startTimeout(5000);"
- }
- }
- Transition goOn: off -> on {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.start();"
- "timer.startTimeout(5000);"
- }
- }
- State on
- State off { }
- }
- }
- }
-
- ProtocolClass BlinkyControlProtocoll {
- incoming {
- Message start()
- Message stop()
- }
- outgoing { }
- }
-
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior deleted file mode 100644 index f2353639c..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.behavior +++ /dev/null @@ -1,356 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Blinky" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.1/@link //@children.1/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.3/@children.1/@link //@children.1/@children.3/@link //@children.1/@children.4/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="789" height="397" x="101" y="42">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="709" height="317" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="709" height="317" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="709" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="162" height="124" x="164" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="102" height="64" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="77" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="58">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="58">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="58">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:Blinky$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.4 //@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="102" height="64" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="191" height="145" x="468" y="109">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="131" height="85" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="106" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="65" y="79">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="65" y="79">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="65" y="79">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:Blinky$blinking"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="131" height="85" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="26">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="33"/>
- <points x="33" y="27"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="27"/>
- <points x="33" y="33"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#EntryPoint:Blinky$blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.3/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="770" height="390" x="152" y="37">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="690" height="310" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="690" height="310" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$blinking$sg"/>
- </link>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="690" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:Blinky$blinking$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="144">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="47"/>
- <points x="47" y="33"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="33"/>
- <points x="47" y="47"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#EntryPoint:Blinky$blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tp0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="163" height="127" x="163" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="103" height="67" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="78" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="51" y="61">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="61">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="51" y="61">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:Blinky$blinking$on"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2 //@connections.3" referencedGraphicsAlgorithm="//@children.1/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="103" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="on"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="164" height="127" x="444" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="104" height="67" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="79" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="52" y="61">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="52" y="61">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="52" y="61">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:Blinky$blinking$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.1/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="104" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#ContinuationTransition:Blinky$blinking$tr0"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@children.4/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:Blinky$blinking$tr1"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-83" y="15" font="//@fonts.0" value="tr1: <timeoutTick:ti..."/>
- </connectionDecorators>
- <bendpoints x="533" y="276"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.4/@anchors.0" end="//@children.1/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:Blinky$blinking$tr2"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-71" y="-21" font="//@fonts.0" value="tr2: <timeoutTick:ti..."/>
- </connectionDecorators>
- <bendpoints x="534" y="169"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#InitialTransition:Blinky$blinking$initial"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#InitialTransition:Blinky$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@children.1/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:Blinky$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-81" y="-23" font="//@fonts.0" value="tr0: <start:ControlP..."/>
- </connectionDecorators>
- <bendpoints x="488" y="172"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:Blinky$tr1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-90" y="9" font="//@fonts.0" value="tr1: <stop:ControlPo..."/>
- </connectionDecorators>
- <bendpoints x="494" y="288"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure deleted file mode 100644 index aa487574a..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.structure +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of BlinkyController" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="663" height="445" x="87" y="38">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="583" height="365" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="583" height="365" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="291">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:BlinkyController$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior deleted file mode 100644 index c266e6635..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.behavior +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of BlinkyTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="654" height="436" x="59" y="10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="574" height="356" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="574" height="356" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:BlinkyTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="574" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure deleted file mode 100644 index 045db94e9..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.SubSystem_Blinky.structure +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSystem_Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#SubSystemClass:SubSystem_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="545" height="484" x="40" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="465" height="404" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="465" height="404" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SubSystemClass:SubSystem_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="143" y="88">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:SubSystem_Blinky$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application
(BlinkyTop)"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="143" y="256">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:SubSystem_Blinky$timingService"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timingService
(ATimingService)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="54">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="file:/C:/entw/projekte/eTrice/eTriceDevelopment/repositories/eTriceGIT/FlatWorld/org.eclipse.etrice.modellib.java/models/TimingService.room#SPPRef:ATimingService$timer"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timer"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:ManhattanConnection" visible="true" active="true" start="//@children.0/@children.0/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="conn"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#LayerConnection:SubSystem_Blinky$application-timingService!timer"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="-15" y="10"/>
- <points/>
- <points x="-15" y="-10"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room index 7e8d208d9..e2ff08cac 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room +++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/HelloWorld.room @@ -1,26 +1,23 @@ -RoomModel HelloWorld {
-
- LogicalSystem System_HelloWorld {
- SubSystemRef subsystem: SubSystem_HelloWorld
- }
-
- SubSystemClass SubSystem_HelloWorld {
- ActorRef application: HelloWorldTop
- LogicalThread defaultThread
- }
-
- ActorClass HelloWorldTop {
- Structure { }
- Behavior {
- StateMachine {
- Transition init: initial -> state0 {
- action {
- "System.out.println(\"HelloWorld !\");"
- }
- }
- State state0
- }
- }
- }
-
+RoomModel HelloWorld_Model { + LogicalSystem LogSys1 { + SubSystemRef subSysRef1:SubSysClass1 + } + SubSystemClass SubSysClass1 { + ActorRef actorRef1:HelloWorldTop + LogicalThread defaultThread + } + ActorClass HelloWorldTop { + Structure { } + Behavior { + StateMachine { + Transition init: initial -> state0 { + action { + "System.out.println(\"Hello World\");" + } + } + State state0 + } + } + } + }
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.behavior b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.behavior index c73561598..8c537eb0c 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.behavior +++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.behavior @@ -1,125 +1,87 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of GuiAdapter" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="582" height="454" x="108" y="16">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="502" height="374" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="502" height="374" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:GuiAdapter$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="502" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:GuiAdapter$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="198" height="127" x="216" y="159">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="138" height="67" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="113" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="69" y="61">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="69" y="61">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="69" y="61">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:GuiAdapter$running"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.0 //@connections.1 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="138" height="67" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="running"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#InitialTransition:GuiAdapter$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:GuiAdapter$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-64" y="-23" font="//@fonts.0" value="tr0: <setCarLights:C..."/>
- </connectionDecorators>
- <bendpoints x="452" y="150"/>
- <bendpoints x="395" y="150"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:GuiAdapter$tr1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-82" y="12" font="//@fonts.0" value="tr1: <setPedLights:C..."/>
- </connectionDecorators>
- <bendpoints x="430" y="322"/>
- <bendpoints x="374" y="322"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of HelloWorldTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="680" height="459" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="600" height="379" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="600" height="379" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="600" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="93" y="75"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#StateGraph:HelloWorldTop$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="244" y="140"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#SimpleState:HelloWorldTop$state0"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../HelloWorld.room#InitialTransition:HelloWorldTop$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/> + </connectionDecorators> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.structure index 1f6af31a7..ba44494ed 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.HelloWorldTop.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.HelloWorldTop.structure @@ -1,20 +1,20 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of HelloWorldTop" pictogramLinks="//@children.0/@link //@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="729" height="475" x="74" y="13">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="649" height="395" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="649" height="395" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/>
- </link>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of HelloWorldTop" pictogramLinks="//@children.0/@link //@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#ActorClass:HelloWorldTop"/> + </link> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.SubSystem_HelloWorld.structure b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.SubSysClass1.structure index aca3f61be..dedcab89b 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.SubSystem_HelloWorld.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/RoomModel1.SubSysClass1.structure @@ -1,38 +1,38 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSystem_HelloWorld" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemClass:SubSystem_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="665" height="381" x="86" y="13">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="585" height="301" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="585" height="301" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemClass:SubSystem_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="213" y="112">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#ActorRef:SubSystem_HelloWorld$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application
(HelloWorldTop)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../HelloWorld.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="674" height="460" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="594" height="380" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="594" height="380" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="212" y="145"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../HelloWorld.room#ActorRef:SubSysClass1$actorRef1"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1
(HelloWorldTop)"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room deleted file mode 100644 index d66496cfc..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/PedLightsController.room +++ /dev/null @@ -1,168 +0,0 @@ -RoomModel PedLightsController {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room"
-
- LogicalSystem LogSys_PedLights {
- SubSystemRef application: SubSys_PedLights
- }
-
- SubSystemClass SubSys_PedLights {
- ActorRef PedLightsTopRef: PedLightsTop
- ActorRef timingService: ATimingService
- LayerConnection ref PedLightsTopRef satisfied_by timingService.timer
- }
-
- ActorClass PedLightsTop {
- Structure {
- ActorRef adapter: GuiAdapter
- ActorRef controller: Controller
- Binding adapter.ControlPort and controller.ControlPort
- }
- Behavior { }
- }
-
- ActorClass GuiAdapter {
- Interface {
- conjugated Port ControlPort: PedControlProtocol
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- usercode2 {
- "private PedestrianLightWndNoTcp lights = new PedestrianLightWndNoTcp(\"Pedestrian Lights\",\" external port connection \");"
- "private TrafficLight3 carLights;"
- "private TrafficLight2 pedLights;"
- }
- external Port ControlPort
- }
- Behavior {
- Operation ~GuiAdapter() {
- "lights.closeWindow();"
- }
- StateMachine {
- Transition init: initial -> running {
- action {
- "carLights=lights.getCarLights();"
- "pedLights=lights.getPedLights();"
- "carLights.setState(TrafficLight3.OFF);"
- "pedLights.setState(TrafficLight2.OFF);"
- "lights.setPort(ControlPort);"
- }
- }
- Transition tr0: running -> running {
- triggers {
- <setCarLights: ControlPort>
- }
- action {
- "carLights.setState(state);"
- }
- }
- Transition tr1: running -> running {
- triggers {
- <setPedLights: ControlPort>
- }
- action {
- "pedLights.setState(state);"
- }
- }
- State running
- }
- }
- }
-
- ActorClass Controller {
- Interface {
- Port ControlPort: PedControlProtocol
- }
- Structure {
- usercode1 {
- "import org.eclipse.etrice.tutorials.PedLightGUI.*;"
- }
- external Port ControlPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition init: initial -> off { }
- Transition tr0: off -> carsGreen {
- triggers {
- <start: ControlPort>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.GREEN);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr1: carsGreen -> carsYellow {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.YELLOW);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr2: carsYellow -> carsRed {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(1500);"
- "ControlPort.setCarLights(TrafficLight3.RED);"
- "ControlPort.setPedLights(TrafficLight2.GREEN);"
- }
- }
- Transition tr3: carsRed -> carsYellowRed {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.YELLOW_RED);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr4: carsYellowRed -> carsGreen2 {
- triggers {
- <timeout: timer>
- }
- action {
- "timer.startTimeout(700);"
- "ControlPort.setCarLights(TrafficLight3.GREEN);"
- "ControlPort.setPedLights(TrafficLight2.RED);"
- }
- }
- Transition tr5: carsGreen2 -> off {
- triggers {
- <timeout: timer>
- }
- action {
- "ControlPort.setCarLights(TrafficLight3.OFF);"
- "ControlPort.setPedLights(TrafficLight2.OFF);"
- }
- }
- State off
- State carsGreen
- State carsYellow
- State carsRed
- State carsYellowRed
- State carsGreen2
- }
- }
- }
-
- ProtocolClass PedControlProtocol {
- incoming {
- Message start()
- }
- outgoing {
- Message setCarLights(state: int32)
- Message setPedLights(state: int32)
- }
- }
-
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior deleted file mode 100644 index d269a0f2e..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.behavior +++ /dev/null @@ -1,344 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Controller" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="548" height="521" x="175" y="-5">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="468" height="441" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="468" height="441" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:Controller$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="468" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="94" y="70">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:Controller$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="54" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="130" height="90" x="49" y="228">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="70" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="45" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="35" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="35" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="35" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$carsGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="70" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsGreen"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="133" height="90" x="47" y="331">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="73" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="48" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="36" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="36" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="36" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$carsYellow"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="73" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsYellow"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="275" y="331">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$carsRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsRed"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="156" height="90" x="257" y="228">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="96" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="71" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="48" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="48" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="48" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$carsYellowRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="96" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsYellowRed"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="137" height="90" x="266" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="77" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="52" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="38" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="38" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="38" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SimpleState:Controller$carsGreen2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.7/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="77" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="carsGreen2"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#InitialTransition:Controller$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="3" y="-14" font="//@fonts.0" value="tr0: <start:ControlP..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.4/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="5" y="-12" font="//@fonts.0" value="tr1: <timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.5/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr2"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-65" y="14" font="//@fonts.0" value="tr2: <timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.6/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr3"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="3" y="2" font="//@fonts.0" value="tr3: <timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr4"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-1" y="-8" font="//@fonts.0" value="tr4: <timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#TriggeredTransition:Controller$tr5"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-58" y="-22" font="//@fonts.0" value="tr5: <timeoutTick:ti..."/>
- </connectionDecorators>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure deleted file mode 100644 index d56ae06d0..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.Controller.structure +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of Controller" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="690" height="436" x="104" y="37">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="610" height="356" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="610" height="356" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:Controller"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="305">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:Controller$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure deleted file mode 100644 index fef19a9c5..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.GuiAdapter.structure +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of GuiAdapter" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="735" height="461" x="71" y="9">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="655" height="381" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="655" height="381" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:GuiAdapter"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="327">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:GuiAdapter$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior deleted file mode 100644 index e6f39db59..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.behavior +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of PedLightsTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="699" height="445" x="104" y="35">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="619" height="365" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="619" height="365" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#StateGraph:PedLightsTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="619" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure deleted file mode 100644 index 3db62f4ea..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.PedLightsTop.structure +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of PedLightsTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="795" height="343" x="31" y="12">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="715" height="263" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="715" height="263" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorClass:PedLightsTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="104" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:PedLightsTop$adapter"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="adapter
(GuiAdapter)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="47">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:GuiAdapter$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="ControlPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="440" y="97">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:PedLightsTop$controller"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="controller
(Controller)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#Port:Controller$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="ControlPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#Binding:PedLightsTop$ControlPort!adapter-ControlPort!controller"/>
- </link>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure b/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure deleted file mode 100644 index 2f64483e7..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.SubSys_PedLights.structure +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSys_PedLights" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemClass:SubSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="517" height="520" x="152" y="-18">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="437" height="440" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="437" height="440" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemClass:SubSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="128" y="81">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:SubSys_PedLights$PedLightsTopRef"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedLightsTopRef
(PedLightsTop)"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="128" y="264">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#ActorRef:SubSys_PedLights$timingService"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timingService
(ATimingService)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="54">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="file:/C:/entw/projekte/eTrice/eTriceDevelopment/repositories/eTriceGIT/FlatWorld/org.eclipse.etrice.modellib.java/models/TimingService.room#SPPRef:ATimingService$timer"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="timer"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:ManhattanConnection" visible="true" active="true" start="//@children.0/@children.0/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="conn"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../PedLightsController.room#LayerConnection:SubSys_PedLights$PedLightsTopRef-timingService!timer"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="-15" y="10"/>
- <points/>
- <points x="-15" y="-10"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room new file mode 100644 index 000000000..511b10917 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/PingPong.room @@ -0,0 +1,74 @@ +RoomModel PingPong_Model { + LogicalSystem LogSys1 { + SubSystemRef subSysRef1:SubSysClass1 + } + SubSystemClass SubSysClass1 { + ActorRef actorRef1:PingPongTop + LogicalThread defaultThread + } + ActorClass PingPongTop { + Structure { + ActorRef sender: Sender + ActorRef receiver: Receiver + Binding receiver.sender and sender.receiver + } + Behavior { } + } + ActorClass Sender { + Interface { + conjugated Port receiver: PPingPong + } + Structure { + external Port receiver + } + Behavior { + StateMachine { + Transition init: initial -> SendingPing { } + Transition tr0: SendingPing -> ReceivedPong { + triggers { + <pong: receiver> + } + } + State SendingPing { + entry { + "receiver.ping();" + } + } + State ReceivedPong + } + } + } + ActorClass Receiver { + Interface { + Port sender: PPingPong + } + Structure { + external Port sender + } + Behavior { + StateMachine { + Transition init: initial -> WaingForPing { } + Transition tr0: WaingForPing -> ReceivedPing { + triggers { + <ping: sender> + } + } + State WaingForPing + State ReceivedPing { + entry { + "sender.pong();" + } + } + } + } + } + ProtocolClass PPingPong { + incoming { + Message ping() + } + outgoing { + Message pong() + } + } + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.PingPongTop.structure index 02c8aaa8b..df1c00b56 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyTop.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.PingPongTop.structure @@ -1,89 +1,89 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of BlinkyTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="768" height="316" x="2" y="21">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="688" height="236" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="688" height="236" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="78" y="79">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:BlinkyTop$blinky"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="blinky
(Blinky)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="39">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:Blinky$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="ControlPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="401" y="79">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorRef:BlinkyTop$controller"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="controller
(BlinkyController)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="40">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:BlinkyController$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="ControlPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#Binding:BlinkyTop$ControlPort!blinky-ControlPort!controller"/>
- </link>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of PingPongTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.0/@children.0/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#ActorClass:PingPongTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorClass:PingPongTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="96" y="188"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorRef:PingPongTop$sender"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="33"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#Port:Sender$receiver"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver"/> + </children> + </children> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="sender
(Sender)"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="439" y="194"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorRef:PingPongTop$receiver"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver
(Receiver)"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="39"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#Port:Receiver$sender"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="sender"/> + </children> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@children.1/@anchors.0" end="//@children.0/@children.0/@children.0/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../PingPong.room#Binding:PingPongTop$sender!receiver-receiver!sender"/> + </link> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.behavior index d115cf0ad..8a5814fa8 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.BlinkyController.behavior +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.behavior @@ -1,154 +1,135 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of BlinkyController" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:BlinkyController"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="801" height="423" x="40" y="40">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="721" height="343" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="721" height="343" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:BlinkyController$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="721" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#StateGraph:BlinkyController$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="169" height="145" x="157" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="109" height="85" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="84" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="79">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="79">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="54" y="79">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:BlinkyController$on"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="109" height="85" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="on"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="194" height="157" x="444" y="114">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="134" height="97" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="109" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="67" y="91">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="67" y="91">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="67" y="91">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SimpleState:BlinkyController$off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="134" height="97" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#InitialTransition:BlinkyController$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:BlinkyController$goOff"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-69" y="30" font="//@fonts.0" value="goOff: <timeoutTick:..."/>
- </connectionDecorators>
- <bendpoints x="423" y="273"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../Blinky.room#TriggeredTransition:BlinkyController$goOn"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-66" y="-24" font="//@fonts.0" value="goOn: <timeoutTick:t..."/>
- </connectionDecorators>
- <bendpoints x="417" y="191"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Receiver" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@children.0/@children.3/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#ActorClass:Receiver"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#StateGraph:Receiver$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="99" y="73"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#StateGraph:Receiver$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="152" height="90" x="319" y="191"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="92" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="67" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#SimpleState:Receiver$WaingForPing"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="92" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="WaingForPing"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="148" height="90" x="319" y="353"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="88" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="63" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="44" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="44" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="44" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#SimpleState:Receiver$ReceivedPing"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="88" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ReceivedPing"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../PingPong.room#InitialTransition:Receiver$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../PingPong.room#TriggeredTransition:Receiver$tr0"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: <ping:sender>"/> + </connectionDecorators> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.structure index 1eaef1021..f6fe29974 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.Blinky.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Receiver.structure @@ -1,36 +1,36 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="641" height="388" x="105" y="80">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="561" height="308" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="561" height="308" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#ActorClass:Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="280">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#Port:Blinky$ControlPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of Receiver" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#ActorClass:Receiver"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorClass:Receiver"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="247"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#Port:Receiver$sender"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" value="sender"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.behavior b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.behavior index f8b256b15..aeda95987 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.behavior +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.behavior @@ -1,125 +1,135 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of MrPong" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="626" height="452" x="94" y="25">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="546" height="372" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="546" height="372" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPong$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="546" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="100" y="100">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPong$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="203" height="159" x="257" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="143" height="99" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="118" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="71" y="93">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="71" y="93">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="71" y="93">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SimpleState:MrPong$looping"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.0 //@connections.1 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="143" height="99" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="looping"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#InitialTransition:MrPong$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#TriggeredTransition:MrPong$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-73" y="-23" font="//@fonts.0" value="tr0: <ping:PingPongP..."/>
- </connectionDecorators>
- <bendpoints x="455" y="130"/>
- <bendpoints x="403" y="130"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#TriggeredTransition:MrPong$tr1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-61" y="9" font="//@fonts.0" value="tr1: <pingSimple:Pin..."/>
- </connectionDecorators>
- <bendpoints x="497" y="325"/>
- <bendpoints x="371" y="325"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of Sender" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@children.0/@children.3/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#ActorClass:Sender"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#StateGraph:Sender$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="83" y="63"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#StateGraph:Sender$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="143" height="90" x="312" y="147"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="83" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="58" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="41" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#SimpleState:Sender$SendingPing"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="83" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendingPing"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="152" height="90" x="299" y="279"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="92" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="67" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="46" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#SimpleState:Sender$ReceivedPong"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="92" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ReceivedPong"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../PingPong.room#InitialTransition:Sender$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../PingPong.room#TriggeredTransition:Sender$tr0"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: <pong:receiver>"/> + </connectionDecorators> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.structure index 431e5d325..981d0495f 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.Sender.structure @@ -1,36 +1,36 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of MrPing" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="632" height="391" x="134" y="57">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="552" height="311" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="552" height="311" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="276">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPing$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of Sender" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#ActorClass:Sender"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorClass:Sender"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="800" y="212"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#Port:Sender$receiver"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="receiver"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.System_Blinky.structure b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.SubSysClass1.structure index 2f89dc247..c5fedd2b8 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/Blinky/diagrams/Blinky.System_Blinky.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/PingPong/diagrams/RoomModel1.SubSysClass1.structure @@ -1,38 +1,38 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of System_Blinky" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../Blinky.room#LogicalSystem:System_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="522" height="343" x="88" y="72">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="442" height="263" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="442" height="263" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#LogicalSystem:System_Blinky"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="132" y="97">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../Blinky.room#SubSystemRef:System_Blinky$subsystem"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="subsystem
(SubSystem_Blinky)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../PingPong.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="320" y="170"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../PingPong.room#ActorRef:SubSysClass1$actorRef1"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1
(PingPongTop)"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room deleted file mode 100644 index e65fc55f5..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/SendingData.room +++ /dev/null @@ -1,139 +0,0 @@ -RoomModel SendingData {
-
- import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room"
-
- LogicalSystem SendingData_LogSystem {
- SubSystemRef SendingDataAppl: SendingData_SubSystem
- }
-
- SubSystemClass SendingData_SubSystem {
- ActorRef SendigDataTopRef: SendingDataTop
- }
-
- ActorClass SendingDataTop {
- Structure {
- ActorRef ref0: MrPing
- ActorRef ref1: MrPong
- Binding ref0.PingPongPort and ref1.PingPongPort
- }
- Behavior { }
- }
-
- ActorClass MrPing {
- Interface {
- conjugated Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
-
- Operation printData(d: DemoData) : void {
- "System.out.printf(\"d.int32Val: %d\\n\",d.int32Val);"
- "System.out.printf(\"d.float64Val: %f\\n\",d.float64Val);"
- "System.out.printf(\"d.int8Array: \");"
- "for(int i = 0; i<d.int8Array.length; i++) {"
- "System.out.printf(\"%d \",d.int8Array[i]);}"
- "System.out.printf(\"\\nd.stringVal: %s\\n\",d.stringVal);"
- }
-
- StateMachine {
- Transition wait2: waitForPong -> waitForPong {
- triggers {
- <pong: PingPongPort>
- }
- action {
- "printData(data);"
- }
- }
- Transition wait1: waitForPongSimple -> waitForPongSimple {
- triggers {
- <pongSimple: PingPongPort guard {
- "data < 10"
- }>
- }
- action {
- "// keep in mind that MrPong increments"
- "PingPongPort.pingSimple(data);"
- "System.out.printf(\"data: %d\\n\",data);"
- }
- }
- Transition next: waitForPongSimple -> waitForPong {
- triggers {
- <pongSimple: PingPongPort>
- }
- action {
- "System.out.printf(\"data: %d\\n\",data);"
- ""
- "DemoData d = new DemoData();"
- "// send the default values"
- "PingPongPort.ping(d);"
- "d.int32Val=815;"
- "for (int i = 0; i<d.int8Array.length;i++){"
- "\td.int8Array[i]=(byte)(i+100);"
- "\t}"
- "d.stringVal=\"some contents\";"
- "d.float64Val=3.141234;"
- "PingPongPort.ping(d);"
- }
- }
- Transition init0: initial -> waitForPongSimple {
- action {
- "PingPongPort.pingSimple(0);"
- }
- }
- State waitForPong
- State waitForPongSimple
- }
- }
- }
-
- ActorClass MrPong {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition init: initial -> looping { }
- Transition tr0: looping -> looping {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong(data);"
- }
- }
- Transition tr1: looping -> looping {
- triggers {
- <pingSimple: PingPongPort>
- }
- action {
- "PingPongPort.pongSimple(data+1);"
- }
- }
- State looping
- }
- }
- }
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping(data: DemoData)
- Message pingSimple(data: int32)
- }
- outgoing {
- Message pong(data: DemoData)
- Message pongSimple(data: int32)
- }
- }
-
- DataClass DemoData {
- Attribute int32Val: int32 = "4711"
- Attribute int8Array [10]: int8 = "{1,2,3,4,5,6,7,8,9,10}"
- Attribute float64Val: float64 = "0.0"
- Attribute stringVal: string = "\"empty\""
- }
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior deleted file mode 100644 index 5cc9df396..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPing.behavior +++ /dev/null @@ -1,173 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of MrPing" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPing"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="614" height="552" x="154" y="-10">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="534" height="472" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="534" height="472" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPing$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="534" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="78" y="84">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:MrPing$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="264" height="133" x="164" y="279">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="204" height="73" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="179" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="102" y="67">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="102" y="67">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="102" y="67">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SimpleState:MrPing$waitForPong"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" incomingConnections="//@connections.0 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="204" height="73" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="waitForPong"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="235" height="148" x="178" y="99">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="175" height="88" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="150" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="87" y="82">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="87" y="82">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="87" y="82">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SimpleState:MrPing$waitForPongSimple"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.1 //@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="175" height="88" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="waitForPongSimple"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#TriggeredTransition:MrPing$wait2"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-83" y="14" font="//@fonts.0" value="wait2: <pong:PingPon..."/>
- </connectionDecorators>
- <bendpoints x="389" y="434"/>
- <bendpoints x="488" y="434"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#TriggeredTransition:MrPing$wait1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-73" y="-19" font="//@fonts.0" value="wait1: <pongSimple:P..."/>
- </connectionDecorators>
- <bendpoints x="486" y="65"/>
- <bendpoints x="401" y="65"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#TriggeredTransition:MrPing$next"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-1" y="-12" font="//@fonts.0" value="next: <pongSimple:Pi..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#InitialTransition:MrPing$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure deleted file mode 100644 index d48bc76f2..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.MrPong.structure +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of MrPong" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="651" height="399" x="109" y="14">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="571" height="319" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="571" height="319" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:MrPong"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="285">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPong$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior deleted file mode 100644 index 3b478f939..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.behavior +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of SendingDataTop" pictogramLinks="//@link //@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="669" height="453" x="102" y="48">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="589" height="373" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="589" height="373" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#StateGraph:SendingDataTop$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="589" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure deleted file mode 100644 index 80e5352bb..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingDataTop.structure +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SendingDataTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.1/@link //@connections.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="771" height="360" x="17" y="-11">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="691" height="280" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="691" height="280" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorClass:SendingDataTop"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="104" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingDataTop$ref0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ref0
(MrPing)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value="C"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="43">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPing$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" value="PingPongPort"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="416" y="91">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingDataTop$ref1"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ref1
(MrPong)"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="port"/>
- <properties key="item-kind" value=""/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="44">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#Port:MrPong$PingPongPort"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="39" font="//@fonts.0" value="PingPongPort"/>
- </children>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.1/@anchors.0" end="//@children.0/@children.1/@children.1/@anchors.0">
- <properties key="obj-type" value="bind"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../SendingData.room#Binding:SendingDataTop$PingPongPort!ref0-PingPongPort!ref1"/>
- </link>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure deleted file mode 100644 index f65c116db..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_LogSystem.structure +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SendingData_LogSystem" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#LogicalSystem:SendingData_LogSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="599" height="398" x="55" y="-21">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="519" height="318" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="519" height="318" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#LogicalSystem:SendingData_LogSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="174" y="109">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SubSystemRef:SendingData_LogSystem$SendingDataAppl"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendingDataAppl
(SendingData_SubSystem)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure b/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure deleted file mode 100644 index 89cada8d6..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/SendingData/diagrams/SendingData.SendingData_SubSystem.structure +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SendingData_SubSystem" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../SendingData.room#SubSystemClass:SendingData_SubSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="584" height="396" x="145" y="35">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="504" height="316" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="504" height="316" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#SubSystemClass:SendingData_SubSystem"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="157" y="109">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../SendingData.room#ActorRef:SendingData_SubSystem$SendigDataTopRef"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="SendigDataTopRef
(SendingDataTop)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room new file mode 100644 index 000000000..a5d185350 --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/TrafficLight.room @@ -0,0 +1,32 @@ +RoomModel TrafficLight_Model { + + import room.basic.types.* from "../../../org.eclipse.etrice.modellib.java/models/Types.room" + import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room" + import room.basic.service.tcp.* from "../../../org.eclipse.etrice.modellib.java/models/TcpService.room" + + LogicalSystem LogSys1 { + SubSystemRef subSysRef1:SubSysClass1 + } + SubSystemClass SubSysClass1 { + ActorRef actorRef1:TrafficLightTop + LogicalThread defaultThread + } + ActorClass TrafficLightTop { + Structure { + ActorRef tlInterface: TrafficLightInterface + } + Behavior { } + } + ActorClass TrafficLightInterface { + Structure { + conjugated Port control: PTcpControl + conjugated Port payload: PTcpPayload + ActorRef tlTCPClient: ATcpClient + Binding payload and tlTCPClient.PayloadPort + Binding control and tlTCPClient.ControlPort + } + Behavior { } + } + + +}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.System_HelloWorld.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.SubSysClass1.structure index 39e0d87b4..4ae2cedf2 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/HelloWorld/diagrams/HelloWorld.System_HelloWorld.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.SubSysClass1.structure @@ -1,38 +1,38 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of System_HelloWorld" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../HelloWorld.room#LogicalSystem:System_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="624" height="406" x="138" y="38">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="544" height="326" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="544" height="326" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#LogicalSystem:System_HelloWorld"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="188" y="118">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../HelloWorld.room#SubSystemRef:System_HelloWorld$subsystem"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="subsystem
(SubSystem_HelloWorld)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of SubSysClass1" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../TrafficLight.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#SubSystemClass:SubSysClass1"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="320" y="170"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#ActorRef:SubSysClass1$actorRef1"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="actorRef1
(TrafficLightTop)"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure new file mode 100644 index 000000000..c26c8ddae --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightInterface.structure @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of TrafficLightInterface" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link //@children.0/@children.0/@children.1/@link //@children.0/@children.0/@children.2/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@connections.1/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightInterface"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightInterface"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="157" y="305"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#ActorRef:TrafficLightInterface$tlTCPClient"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="tlTCPClient
(ATcpClient)"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="59"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="file:/C:/entw/projekte/eTrice/repositories/FlatWorld/org.eclipse.etrice.modellib.java/models/TcpService.room#Port:ATcpClient$ControlPort"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="ControlPort"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value=""/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="119"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/> + </graphicsAlgorithm> + <link> + <businessObjects href="file:/C:/entw/projekte/eTrice/repositories/FlatWorld/org.eclipse.etrice.modellib.java/models/TcpService.room#Port:ATcpClient$PayloadPort"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PayloadPort"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="142" y="159"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#Port:TrafficLightInterface$control"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="control"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="port"/> + <properties key="item-kind" value="C"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="363" y="152"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#Port:TrafficLightInterface$payload"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="payload"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../TrafficLight.room#Binding:TrafficLightInterface$payload!.-PayloadPort!tlTCPClient"/> + </link> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.0/@children.1/@anchors.0"> + <properties key="obj-type" value="bind"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../TrafficLight.room#Binding:TrafficLightInterface$control!.-ControlPort!tlTCPClient"/> + </link> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.LogSys_PedLights.structure b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightTop.structure index a0bbb32ed..6e2ffc37f 100644 --- a/examples/org.eclipse.etrice.tutorials.java/model/PedLightsController/diagrams/PedLightsController.LogSys_PedLights.structure +++ b/examples/org.eclipse.etrice.tutorials.java/model/TrafficLight/diagrams/TrafficLight_Model.TrafficLightTop.structure @@ -1,38 +1,38 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of LogSys_PedLights" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.9.0">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../PedLightsController.room#LogicalSystem:LogSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="cls"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="614" height="396" x="62" y="-4">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="534" height="316" x="40" y="40"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="534" height="316" x="40" y="40"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#LogicalSystem:LogSys_PedLights"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="ref"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="172" y="121">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="150" y="50"/>
- <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="20" height="10" x="145" y="65"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../PedLightsController.room#SubSystemRef:LogSys_PedLights$application"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="application
(SubSys_PedLights)"/>
- </children>
- </children>
- </children>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.structure" name="Structure of TrafficLightTop" pictogramLinks="//@children.0/@link //@link //@children.0/@children.0/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="cls"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#ActorClass:TrafficLightTop"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="ref"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="133" y="209"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30"> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="150" y="50"/> + <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="145" y="65"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../TrafficLight.room#ActorRef:TrafficLightTop$tlInterface"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="tlInterface
(TrafficLightInterface)"/> + </children> + </children> + </children> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room b/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room deleted file mode 100644 index 004ff9cc8..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/model/scratch/PingPong.room +++ /dev/null @@ -1,121 +0,0 @@ -RoomModel PingPong {
-
- import room.basic.service.timing.* from "../../../org.eclipse.etrice.modellib.java/models/TimingService.room"
-
- LogicalSystem System_PingPong {
- SubSystemRef subsystem: SubSystem_PingPong
- }
-
- SubSystemClass SubSystem_PingPong {
- ActorRef application: PingPongTop
- ActorRef services: ATimingService
- LayerConnection ref application satisfied_by services.timer
- LogicalThread mrPingThread
- LogicalThread mrPong1Thread
- ActorInstanceMapping application/MrPing -> mrPingThread
- ActorInstanceMapping application/MrPong1 -> mrPong1Thread
- }
-
- // automatically inserted App_SubSystem_PedLightController
- ActorClass PingPongTop {
- Structure {
- ActorRef MrPing: MrPingActor
- ActorRef MrPong1: MrPongActor1
- // ActorRef MrPong2: MrPongActor2
- Binding MrPing.PingPongPort and MrPong1.PingPongPort
- }
- }
-
- ActorClass MrPingActor {
- Interface {
- conjugated Port PingPongPort [2]: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- SAP timer: PTimer
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForTimer {
- action {
- "timer.startTimeout(1000);"
- }
- }
- Transition tr1: waitForTimer -> waitForPong {
- triggers {
- <timeout: timer>
- }
- action {
- "PingPongPort.ping();"
- }
- }
- Transition tr2: waitForPong -> waitForTimer {
- triggers {
- <pong: PingPongPort>
- }
- action {
- "timer.startTimeout(1000);"
- }
- }
- State waitForTimer { }
- State waitForPong { }
- }
- }
- }
-
- ActorClass MrPongActor1 {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForPing { }
- Transition myTrigger: waitForPing -> waitForPing {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong();"
- }
- }
- State waitForPing { }
- }
- }
- }
-
-/* ActorClass MrPongActor2 {
- Interface {
- Port PingPongPort: PingPongProtocol
- }
- Structure {
- external Port PingPongPort
- }
- Behavior {
- StateMachine {
- Transition tr0: initial -> waitForPing { }
- Transition myTrigger: waitForPing -> waitForPing {
- triggers {
- <ping: PingPongPort>
- }
- action {
- "PingPongPort.pong();"
- }
- }
- State waitForPing { }
- }
- }
- }*/
-
- ProtocolClass PingPongProtocol {
- incoming {
- Message ping()
- }
- outgoing {
- Message pong()
- }
- }
-
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt b/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt new file mode 100644 index 000000000..1dc2b35ab --- /dev/null +++ b/examples/org.eclipse.etrice.tutorials.java/src-gen-info/readme.txt @@ -0,0 +1,4 @@ +This directory is an eTrice code generation target. +It will be erased every time the generator is executed. + +DO NOT PLACE OTHER FILES HERE! diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java deleted file mode 100644 index b2549223d..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/Blinky.java +++ /dev/null @@ -1,330 +0,0 @@ -package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class Blinky extends ActorClassBase {
-
- /*--------------------- begin user code ---------------------*/
- private PedestrianLightWndNoTcp light = new PedestrianLightWndNoTcp();
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- /*--------------------- end user code ---------------------*/
-
- //--------------------- ports
- protected BlinkyControlProtocollPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void Blinky_dtor() {
- light.closeWindow();
- }
-
- //--------------------- construction
- public Blinky(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Blinky");
-
- // initialize attributes
-
- // own ports
- ControlPort = new BlinkyControlProtocollPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public BlinkyControlProtocollPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
- public void destroy(){
- Blinky_dtor();
- super.destroy();
- }
-
- /* state IDs */
- public static final int STATE_blinking = 2;
- public static final int STATE_off = 3;
- public static final int STATE_blinking_on = 4;
- public static final int STATE_blinking_off = 5;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__off = 1;
- public static final int CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort = 2;
- public static final int CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort = 3;
- public static final int CHAIN_blinking_TRANS_INITIAL_TO__on = 4;
- public static final int CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer = 5;
- public static final int CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer = 6;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__start = IFITEM_ControlPort + EVT_SHIFT*BlinkyControlProtocoll.IN_start;
- public static final int TRIG_ControlPort__stop = IFITEM_ControlPort + EVT_SHIFT*BlinkyControlProtocoll.IN_stop;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","blinking",
- "off",
- "blinking_on",
- "blinking_off"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
- protected void entry_blinking_on() {
- timer.startTimeout(1000);
- carLights.setState(TrafficLight3.YELLOW);
- }
- protected void entry_blinking_off() {
- timer.startTimeout(1000);
- carLights.setState(TrafficLight3.OFF);
- }
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__off() {
- carLights = light.getCarLights();
- pedLights = light.getPedLights();
- carLights.setState(TrafficLight3.OFF);
- pedLights.setState(TrafficLight2.OFF);
- }
- protected void action_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort(InterfaceItemBase ifitem) {
- timer.kill();
- carLights.setState(TrafficLight3.OFF);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- case STATE_blinking:
- this.history[STATE_TOP] = STATE_blinking;
- current = STATE_TOP;
- break;
- case STATE_blinking_on:
- this.history[STATE_blinking] = STATE_blinking_on;
- current = STATE_blinking;
- break;
- case STATE_blinking_off:
- this.history[STATE_blinking] = STATE_blinking_off;
- current = STATE_blinking;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__off:
- {
- action_TRANS_INITIAL_TO__off();
- return STATE_off;
- }
- case CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort:
- {
- return STATE_blinking_on;
- }
- case CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort:
- {
- action_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort(ifitem);
- return STATE_off;
- }
- case CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer:
- {
- return STATE_blinking_off;
- }
- case CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer:
- {
- return STATE_blinking_on;
- }
- case CHAIN_blinking_TRANS_INITIAL_TO__on:
- {
- return STATE_blinking_on;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_blinking:
- // state has a sub graph
- // with init transition
- if (this.history[STATE_blinking]==NO_STATE) {
- state = executeTransitionChain(CHAIN_blinking_TRANS_INITIAL_TO__on, null, null);
- }
- else {
- state = this.history[STATE_blinking];
- }
- break;
- case STATE_blinking_on:
- if (!(skip_entry || handler)) entry_blinking_on();
- // in leaf state: return state id
- return STATE_blinking_on;
- case STATE_blinking_off:
- if (!(skip_entry || handler)) entry_blinking_off();
- // in leaf state: return state id
- return STATE_blinking_off;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__off;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_off:
- switch(trigger) {
- case TRIG_ControlPort__start:
- {
- chain = CHAIN_TRANS_tr0_FROM_off_TO_blinking_tp0_BY_startControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blinking_on:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_blinking_TRANS_tr1_FROM_on_TO_off_BY_timeouttimer;
- catching_state = STATE_blinking;
- }
- break;
- case TRIG_ControlPort__stop:
- {
- chain = CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_blinking_off:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_blinking_TRANS_tr2_FROM_off_TO_on_BY_timeouttimer;
- catching_state = STATE_blinking;
- }
- break;
- case TRIG_ControlPort__stop:
- {
- chain = CHAIN_TRANS_tr1_FROM_blinking_TO_off_BY_stopControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java deleted file mode 100644 index 8cede1efa..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyControlProtocoll.java +++ /dev/null @@ -1,175 +0,0 @@ -package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class BlinkyControlProtocoll {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int IN_start = 1;
- public static final int IN_stop = 2;
- public static final int MSG_MAX = 3;
-
-
- private static String messageStrings[] = {"MIN", "start","stop","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class BlinkyControlProtocollPort extends PortBase {
- // constructors
- public BlinkyControlProtocollPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public BlinkyControlProtocollPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- }
-
- // replicated port class
- static public class BlinkyControlProtocollReplPort extends ReplicatedPortBase {
-
- public BlinkyControlProtocollReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public BlinkyControlProtocollPort get(int idx) {
- return (BlinkyControlProtocollPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new BlinkyControlProtocollPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- }
-
-
- // port class
- static public class BlinkyControlProtocollConjPort extends PortBase {
- // constructors
- public BlinkyControlProtocollConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public BlinkyControlProtocollConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void start() {
- if (messageStrings[ IN_start] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_start]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_start));
- }
- public void stop() {
- if (messageStrings[ IN_stop] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_stop]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_stop));
- }
- }
-
- // replicated port class
- static public class BlinkyControlProtocollConjReplPort extends ReplicatedPortBase {
-
- public BlinkyControlProtocollConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public BlinkyControlProtocollConjPort get(int idx) {
- return (BlinkyControlProtocollConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new BlinkyControlProtocollConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void start(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).start();
- }
- }
- public void stop(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).stop();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java deleted file mode 100644 index 85b97a29a..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyController.java +++ /dev/null @@ -1,244 +0,0 @@ -package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-
-
-public class BlinkyController extends ActorClassBase {
-
-
- //--------------------- ports
- protected BlinkyControlProtocollConjPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public BlinkyController(IRTObject parent, String name) {
- super(parent, name);
- setClassName("BlinkyController");
-
- // initialize attributes
-
- // own ports
- ControlPort = new BlinkyControlProtocollConjPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public BlinkyControlProtocollConjPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_on = 2;
- public static final int STATE_off = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__on = 1;
- public static final int CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer = 2;
- public static final int CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","on",
- "off"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__on() {
- timer.startTimeout(5000);
- ControlPort.start();
- }
- protected void action_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.stop();
- timer.startTimeout(5000);
- }
- protected void action_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.start();
- timer.startTimeout(5000);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_on:
- this.history[STATE_TOP] = STATE_on;
- current = STATE_TOP;
- break;
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__on:
- {
- action_TRANS_INITIAL_TO__on();
- return STATE_on;
- }
- case CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer:
- {
- action_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer(ifitem);
- return STATE_off;
- }
- case CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer:
- {
- action_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer(ifitem);
- return STATE_on;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_on:
- // in leaf state: return state id
- return STATE_on;
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__on;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_on:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_goOff_FROM_on_TO_off_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_off:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_goOn_FROM_off_TO_on_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java deleted file mode 100644 index f83f65379..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/BlinkyTop.java +++ /dev/null @@ -1,70 +0,0 @@ -package Blinky;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import Blinky.BlinkyControlProtocoll.*;
-import room.basic.service.timing.PTimer.*;
-
-
-
-public class BlinkyTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public BlinkyTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("BlinkyTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new Blinky(this, "blinky");
- new BlinkyController(this, "controller");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java deleted file mode 100644 index 2a33836a9..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_Blinky.java +++ /dev/null @@ -1,67 +0,0 @@ -package Blinky;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSystem_Blinky extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSystem_Blinky(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_Blinky/subsystem", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/blinky/ControlPort", "/System_Blinky/subsystem/application/controller/ControlPort");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/blinky/timer", "/System_Blinky/subsystem/timingService/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/controller/ControlPort", "/System_Blinky/subsystem/application/blinky/ControlPort");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/application/controller/timer", "/System_Blinky/subsystem/timingService/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/timingService/timer", "/System_Blinky/subsystem/application/blinky/timer");
- msgSvcCtrl.addPathToPeer("/System_Blinky/subsystem/timingService/timer", "/System_Blinky/subsystem/application/controller/timer");
-
- // sub actors
- new BlinkyTop(this, "application");
- new ATimingService(this, "timingService");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java deleted file mode 100644 index 74e97a9a5..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/Blinky/SubSystem_BlinkyRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package Blinky;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_BlinkyRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_Blinky");
- SubSystem_Blinky main_component = new SubSystem_Blinky(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java deleted file mode 100644 index 810a8d89f..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/HelloWorldTop.java +++ /dev/null @@ -1,180 +0,0 @@ -package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-
-public class HelloWorldTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public HelloWorldTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("HelloWorldTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_state0 = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__state0 = 1;
-
- /* triggers */
- public static final int POLLING = 0;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","state0"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__state0() {
- System.out.println("HelloWorld !");
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_state0:
- this.history[STATE_TOP] = STATE_state0;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__state0:
- {
- action_TRANS_INITIAL_TO__state0();
- return STATE_state0;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_state0:
- // in leaf state: return state id
- return STATE_state0;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__state0;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_state0:
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java deleted file mode 100644 index fd182c111..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorld.java +++ /dev/null @@ -1,59 +0,0 @@ -package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-
-
-public class SubSystem_HelloWorld extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSystem_HelloWorld(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_HelloWorld/subsystem", THREAD__DEFAULT);
-
- // port to peer port mappings
-
- // sub actors
- new HelloWorldTop(this, "application");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java deleted file mode 100644 index 0c23b48e7..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/HelloWorld/SubSystem_HelloWorldRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package HelloWorld;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_HelloWorldRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_HelloWorld");
- SubSystem_HelloWorld main_component = new SubSystem_HelloWorld(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java deleted file mode 100644 index cb68d6405..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/Controller.java +++ /dev/null @@ -1,364 +0,0 @@ -package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PedLightsController.PedControlProtocol.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class Controller extends ActorClassBase {
-
-
- //--------------------- ports
- protected PedControlProtocolPort ControlPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public Controller(IRTObject parent, String name) {
- super(parent, name);
- setClassName("Controller");
-
- // initialize attributes
-
- // own ports
- ControlPort = new PedControlProtocolPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PedControlProtocolPort getControlPort (){
- return this.ControlPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_off = 2;
- public static final int STATE_carsGreen = 3;
- public static final int STATE_carsYellow = 4;
- public static final int STATE_carsRed = 5;
- public static final int STATE_carsYellowRed = 6;
- public static final int STATE_carsGreen2 = 7;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__off = 1;
- public static final int CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort = 2;
- public static final int CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer = 3;
- public static final int CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer = 4;
- public static final int CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer = 5;
- public static final int CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer = 6;
- public static final int CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer = 7;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__start = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.IN_start;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","off",
- "carsGreen",
- "carsYellow",
- "carsRed",
- "carsYellowRed",
- "carsGreen2"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.GREEN);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.YELLOW);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(1500);
- ControlPort.setCarLights(TrafficLight3.RED);
- ControlPort.setPedLights(TrafficLight2.GREEN);
- }
- protected void action_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.YELLOW_RED);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer(InterfaceItemBase ifitem) {
- timer.startTimeout(700);
- ControlPort.setCarLights(TrafficLight3.GREEN);
- ControlPort.setPedLights(TrafficLight2.RED);
- }
- protected void action_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer(InterfaceItemBase ifitem) {
- ControlPort.setCarLights(TrafficLight3.OFF);
- ControlPort.setPedLights(TrafficLight2.OFF);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_off:
- this.history[STATE_TOP] = STATE_off;
- current = STATE_TOP;
- break;
- case STATE_carsGreen:
- this.history[STATE_TOP] = STATE_carsGreen;
- current = STATE_TOP;
- break;
- case STATE_carsYellow:
- this.history[STATE_TOP] = STATE_carsYellow;
- current = STATE_TOP;
- break;
- case STATE_carsRed:
- this.history[STATE_TOP] = STATE_carsRed;
- current = STATE_TOP;
- break;
- case STATE_carsYellowRed:
- this.history[STATE_TOP] = STATE_carsYellowRed;
- current = STATE_TOP;
- break;
- case STATE_carsGreen2:
- this.history[STATE_TOP] = STATE_carsGreen2;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__off:
- {
- return STATE_off;
- }
- case CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort:
- {
- action_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort(ifitem);
- return STATE_carsGreen;
- }
- case CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer:
- {
- action_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer(ifitem);
- return STATE_carsYellow;
- }
- case CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer:
- {
- action_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer(ifitem);
- return STATE_carsRed;
- }
- case CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer:
- {
- action_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer(ifitem);
- return STATE_carsYellowRed;
- }
- case CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer:
- {
- action_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer(ifitem);
- return STATE_carsGreen2;
- }
- case CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer:
- {
- action_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer(ifitem);
- return STATE_off;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_off:
- // in leaf state: return state id
- return STATE_off;
- case STATE_carsGreen:
- // in leaf state: return state id
- return STATE_carsGreen;
- case STATE_carsYellow:
- // in leaf state: return state id
- return STATE_carsYellow;
- case STATE_carsRed:
- // in leaf state: return state id
- return STATE_carsRed;
- case STATE_carsYellowRed:
- // in leaf state: return state id
- return STATE_carsYellowRed;
- case STATE_carsGreen2:
- // in leaf state: return state id
- return STATE_carsGreen2;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__off;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_off:
- switch(trigger) {
- case TRIG_ControlPort__start:
- {
- chain = CHAIN_TRANS_tr0_FROM_off_TO_carsGreen_BY_startControlPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsGreen:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_carsGreen_TO_carsYellow_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsYellow:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr2_FROM_carsYellow_TO_carsRed_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsRed:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr3_FROM_carsRed_TO_carsYellowRed_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsYellowRed:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr4_FROM_carsYellowRed_TO_carsGreen2_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_carsGreen2:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr5_FROM_carsGreen2_TO_off_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java deleted file mode 100644 index f6480448b..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/GuiAdapter.java +++ /dev/null @@ -1,242 +0,0 @@ -package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import PedLightsController.PedControlProtocol.*;
-
-/*--------------------- begin user code ---------------------*/
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-/*--------------------- end user code ---------------------*/
-
-
-public class GuiAdapter extends ActorClassBase {
-
- /*--------------------- begin user code ---------------------*/
- private PedestrianLightWndNoTcp lights = new PedestrianLightWndNoTcp("Pedestrian Lights"," external port connection ");
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- /*--------------------- end user code ---------------------*/
-
- //--------------------- ports
- protected PedControlProtocolConjPort ControlPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_ControlPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void GuiAdapter_dtor() {
- lights.closeWindow();
- }
-
- //--------------------- construction
- public GuiAdapter(IRTObject parent, String name) {
- super(parent, name);
- setClassName("GuiAdapter");
-
- // initialize attributes
-
- // own ports
- ControlPort = new PedControlProtocolConjPort(this, "ControlPort", IFITEM_ControlPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PedControlProtocolConjPort getControlPort (){
- return this.ControlPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
- public void destroy(){
- GuiAdapter_dtor();
- super.destroy();
- }
-
- /* state IDs */
- public static final int STATE_running = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__running = 1;
- public static final int CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0 = 2;
- public static final int CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1 = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_ControlPort__setCarLights = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.OUT_setCarLights;
- public static final int TRIG_ControlPort__setPedLights = IFITEM_ControlPort + EVT_SHIFT*PedControlProtocol.OUT_setPedLights;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","running"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__running() {
- carLights=lights.getCarLights();
- pedLights=lights.getPedLights();
- carLights.setState(TrafficLight3.OFF);
- pedLights.setState(TrafficLight2.OFF);
- lights.setPort(ControlPort);
- }
- protected void action_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0(InterfaceItemBase ifitem, int state) {
- carLights.setState(state);
- }
- protected void action_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1(InterfaceItemBase ifitem, int state) {
- pedLights.setState(state);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_running:
- this.history[STATE_TOP] = STATE_running;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__running:
- {
- action_TRANS_INITIAL_TO__running();
- return STATE_running;
- }
- case CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0:
- {
- int state = (Integer) generic_data;
- action_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0(ifitem, state);
- return STATE_running;
- }
- case CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1:
- {
- int state = (Integer) generic_data;
- action_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1(ifitem, state);
- return STATE_running;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_running:
- // in leaf state: return state id
- return STATE_running;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__running;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_running:
- switch(trigger) {
- case TRIG_ControlPort__setCarLights:
- {
- chain = CHAIN_TRANS_tr0_FROM_running_TO_running_BY_setCarLightsControlPort_tr0;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_ControlPort__setPedLights:
- {
- chain = CHAIN_TRANS_tr1_FROM_running_TO_running_BY_setPedLightsControlPort_tr1;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java deleted file mode 100644 index 0cbcfb76c..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedControlProtocol.java +++ /dev/null @@ -1,188 +0,0 @@ -package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PedControlProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_setCarLights = 1;
- public static final int OUT_setPedLights = 2;
- public static final int IN_start = 3;
- public static final int MSG_MAX = 4;
-
-
- private static String messageStrings[] = {"MIN", "setCarLights","setPedLights", "start","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PedControlProtocolPort extends PortBase {
- // constructors
- public PedControlProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PedControlProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void setCarLights(int state) {
- if (messageStrings[ OUT_setCarLights] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_setCarLights]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_setCarLights, state));
- }
- public void setPedLights(int state) {
- if (messageStrings[ OUT_setPedLights] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_setPedLights]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_setPedLights, state));
- }
- }
-
- // replicated port class
- static public class PedControlProtocolReplPort extends ReplicatedPortBase {
-
- public PedControlProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PedControlProtocolPort get(int idx) {
- return (PedControlProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PedControlProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void setCarLights(int state){
- for (int i=0; i<getReplication(); ++i) {
- get(i).setCarLights( state);
- }
- }
- public void setPedLights(int state){
- for (int i=0; i<getReplication(); ++i) {
- get(i).setPedLights( state);
- }
- }
- }
-
-
- // port class
- static public class PedControlProtocolConjPort extends PortBase {
- // constructors
- public PedControlProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PedControlProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void start() {
- if (messageStrings[ IN_start] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_start]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_start));
- }
- }
-
- // replicated port class
- static public class PedControlProtocolConjReplPort extends ReplicatedPortBase {
-
- public PedControlProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PedControlProtocolConjPort get(int idx) {
- return (PedControlProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PedControlProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void start(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).start();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java deleted file mode 100644 index 22418baf0..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/PedLightsTop.java +++ /dev/null @@ -1,70 +0,0 @@ -package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PedLightsController.PedControlProtocol.*;
-
-
-
-public class PedLightsTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public PedLightsTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("PedLightsTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new GuiAdapter(this, "adapter");
- new Controller(this, "controller");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java deleted file mode 100644 index 2ac1c0750..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLights.java +++ /dev/null @@ -1,65 +0,0 @@ -package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSys_PedLights extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SubSys_PedLights(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/LogSys_PedLights/application", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/adapter/ControlPort", "/LogSys_PedLights/application/PedLightsTopRef/controller/ControlPort");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/controller/ControlPort", "/LogSys_PedLights/application/PedLightsTopRef/adapter/ControlPort");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/PedLightsTopRef/controller/timer", "/LogSys_PedLights/application/timingService/timer");
- msgSvcCtrl.addPathToPeer("/LogSys_PedLights/application/timingService/timer", "/LogSys_PedLights/application/PedLightsTopRef/controller/timer");
-
- // sub actors
- new PedLightsTop(this, "PedLightsTopRef");
- new ATimingService(this, "timingService");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java deleted file mode 100644 index ebe463768..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PedLightsController/SubSys_PedLightsRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * this class contains the main function running component application
- * it instantiates application and starts and ends the lifecycle
- */
-
-package PedLightsController;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSys_PedLightsRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("LogSys_PedLights");
- SubSys_PedLights main_component = new SubSys_PedLights(sys, "application");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java deleted file mode 100644 index 3bf533c81..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPingActor.java +++ /dev/null @@ -1,242 +0,0 @@ -package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PingPong.PingPongProtocol.*;
-
-
-
-public class MrPingActor extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolConjReplPort PingPongPort = null;
-
- //--------------------- saps
- protected PTimerConjPort timer = null;
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
- public static final int IFITEM_timer = 2;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPingActor(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPingActor");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolConjReplPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
- timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0);
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolConjReplPort getPingPongPort (){
- return this.PingPongPort;
- }
- public PTimerConjPort getTimer (){
- return this.timer;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForTimer = 2;
- public static final int STATE_waitForPong = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForTimer = 1;
- public static final int CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer = 2;
- public static final int CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__pong = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pong;
- public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForTimer",
- "waitForPong"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_INITIAL_TO__waitForTimer() {
- timer.startTimeout(1000);
- }
- protected void action_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer(InterfaceItemBase ifitem) {
- PingPongPort.ping();
- }
- protected void action_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort(InterfaceItemBase ifitem) {
- timer.startTimeout(1000);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForTimer:
- this.history[STATE_TOP] = STATE_waitForTimer;
- current = STATE_TOP;
- break;
- case STATE_waitForPong:
- this.history[STATE_TOP] = STATE_waitForPong;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__waitForTimer:
- {
- action_TRANS_INITIAL_TO__waitForTimer();
- return STATE_waitForTimer;
- }
- case CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer:
- {
- action_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer(ifitem);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort:
- {
- action_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort(ifitem);
- return STATE_waitForTimer;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForTimer:
- // in leaf state: return state id
- return STATE_waitForTimer;
- case STATE_waitForPong:
- // in leaf state: return state id
- return STATE_waitForPong;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForTimer;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForTimer:
- switch(trigger) {
- case TRIG_timer__timeout:
- {
- chain = CHAIN_TRANS_tr1_FROM_waitForTimer_TO_waitForPong_BY_timeouttimer;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_waitForPong:
- switch(trigger) {
- case TRIG_PingPongPort__pong:
- {
- chain = CHAIN_TRANS_tr2_FROM_waitForPong_TO_waitForTimer_BY_pongPingPongPort;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java deleted file mode 100644 index 16c7f3fae..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/MrPongActor1.java +++ /dev/null @@ -1,201 +0,0 @@ -package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import PingPong.PingPongProtocol.*;
-
-
-
-public class MrPongActor1 extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPongActor1(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPongActor1");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForPing = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForPing = 1;
- public static final int CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger = 2;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__ping = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_ping;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForPing"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger(InterfaceItemBase ifitem) {
- PingPongPort.pong();
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForPing:
- this.history[STATE_TOP] = STATE_waitForPing;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__waitForPing:
- {
- return STATE_waitForPing;
- }
- case CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger:
- {
- action_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger(ifitem);
- return STATE_waitForPing;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForPing:
- // in leaf state: return state id
- return STATE_waitForPing;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForPing;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForPing:
- switch(trigger) {
- case TRIG_PingPongPort__ping:
- {
- chain = CHAIN_TRANS_myTrigger_FROM_waitForPing_TO_waitForPing_BY_pingPingPongPort_myTrigger;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java deleted file mode 100644 index 18418ee2d..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongProtocol.java +++ /dev/null @@ -1,175 +0,0 @@ -package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PingPongProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_pong = 1;
- public static final int IN_ping = 2;
- public static final int MSG_MAX = 3;
-
-
- private static String messageStrings[] = {"MIN", "pong", "ping","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PingPongProtocolPort extends PortBase {
- // constructors
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void pong() {
- if (messageStrings[ OUT_pong] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pong]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_pong));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolPort get(int idx) {
- return (PingPongProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void pong(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pong();
- }
- }
- }
-
-
- // port class
- static public class PingPongProtocolConjPort extends PortBase {
- // constructors
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void ping() {
- if (messageStrings[ IN_ping] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_ping]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_ping));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolConjReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolConjPort get(int idx) {
- return (PingPongProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void ping(){
- for (int i=0; i<getReplication(); ++i) {
- get(i).ping();
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java deleted file mode 100644 index cad7269bb..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/PingPongTop.java +++ /dev/null @@ -1,70 +0,0 @@ -package PingPong;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-import room.basic.service.timing.*;
-
-import room.basic.service.timing.PTimer.*;
-import PingPong.PingPongProtocol.*;
-
-
-
-public class PingPongTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public PingPongTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("PingPongTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new MrPingActor(this, "MrPing");
- new MrPongActor1(this, "MrPong1");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java deleted file mode 100644 index 83af1259c..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPong.java +++ /dev/null @@ -1,71 +0,0 @@ -package PingPong;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-import room.basic.service.timing.*;
-
-
-public class SubSystem_PingPong extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
- public final int THREAD_MRPINGTHREAD = 1;
- public final int THREAD_MRPONG1THREAD = 2;
-
-
- public SubSystem_PingPong(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_MRPINGTHREAD, "MessageService_mrPingThread" /*, thread_prio */));
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_MRPONG1THREAD, "MessageService_mrPong1Thread" /*, thread_prio */));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem", THREAD__DEFAULT);
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem/application/MrPing", THREAD_MRPINGTHREAD);
- msgSvcCtrl.addPathToThread("/System_PingPong/subsystem/application/MrPong1", THREAD_MRPONG1THREAD);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPing/PingPongPort", "/System_PingPong/subsystem/application/MrPong1/PingPongPort");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPing/timer", "/System_PingPong/subsystem/services/timer");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/application/MrPong1/PingPongPort", "/System_PingPong/subsystem/application/MrPing/PingPongPort");
- msgSvcCtrl.addPathToPeer("/System_PingPong/subsystem/services/timer", "/System_PingPong/subsystem/application/MrPing/timer");
-
- // sub actors
- new PingPongTop(this, "application");
- new ATimingService(this, "services");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java deleted file mode 100644 index ac86874f3..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/PingPong/SubSystem_PingPongRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * this class contains the main function running component subsystem
- * it instantiates subsystem and starts and ends the lifecycle
- */
-
-package PingPong;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SubSystem_PingPongRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("System_PingPong");
- SubSystem_PingPong main_component = new SubSystem_PingPong(sys, "subsystem");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java deleted file mode 100644 index 1a9b8281f..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/DemoData.java +++ /dev/null @@ -1,77 +0,0 @@ -package SendingData;
-
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-
-public class DemoData {
-
-
- /*--------------------- attributes ---------------------*/
- int int32Val;
- byte int8Array[];
- double float64Val;
- String stringVal;
-
- //--------------------- attribute setters and getters
- public void setInt32Val (int int32Val) {
- this.int32Val = int32Val;
- }
- public int getInt32Val () {
- return this.int32Val;
- }
- public void setInt8Array (byte[] int8Array) {
- this.int8Array = int8Array;
- }
- public byte[] getInt8Array () {
- return this.int8Array;
- }
- public void setFloat64Val (double float64Val) {
- this.float64Val = float64Val;
- }
- public double getFloat64Val () {
- return this.float64Val;
- }
- public void setStringVal (String stringVal) {
- this.stringVal = stringVal;
- }
- public String getStringVal () {
- return this.stringVal;
- }
-
- /*--------------------- operations ---------------------*/
-
- // default constructor
- public DemoData() {
- super();
-
- // initialize attributes
- this.setInt32Val(4711);
- this.setInt8Array(new byte[] { (byte)1, (byte)2, (byte)3, (byte)4, (byte)5, (byte)6, (byte)7, (byte)8, (byte)9, (byte)10 });
- this.setFloat64Val(0.0d);
- this.setStringVal("\"empty\"");
- }
-
- // constructor using fields
- public DemoData(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- super();
-
- this.int32Val = int32Val;
- this.int8Array = int8Array;
- this.float64Val = float64Val;
- this.stringVal = stringVal;
- }
-
- // deep copy
- public DemoData deepCopy() {
- DemoData copy = new DemoData();
- copy.int32Val = int32Val;
- for (int i=0;i<int8Array.length;i++){
- copy.int8Array[i] = int8Array[i];
- }
- copy.float64Val = float64Val;
- copy.stringVal = stringVal;
- return copy;
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java deleted file mode 100644 index d4d0f05d8..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPing.java +++ /dev/null @@ -1,274 +0,0 @@ -package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class MrPing extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolConjPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
- public void printData(DemoData d) {
- System.out.printf("d.int32Val: %d\n",d.int32Val);
- System.out.printf("d.float64Val: %f\n",d.float64Val);
- System.out.printf("d.int8Array: ");
- for(int i = 0; i<d.int8Array.length; i++) {
- System.out.printf("%d ",d.int8Array[i]);}
- System.out.printf("\nd.stringVal: %s\n",d.stringVal);
- }
-
- //--------------------- construction
- public MrPing(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPing");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolConjPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolConjPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_waitForPong = 2;
- public static final int STATE_waitForPongSimple = 3;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__waitForPongSimple = 1;
- public static final int CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort = 2;
- public static final int CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1 = 3;
- public static final int CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2 = 4;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__pong = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pong;
- public static final int TRIG_PingPongPort__pongSimple = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.OUT_pongSimple;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","waitForPong",
- "waitForPongSimple"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2(InterfaceItemBase ifitem, DemoData data) {
- printData(data);
- }
- protected void action_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1(InterfaceItemBase ifitem, int data) {
- // keep in mind that MrPong increments
- PingPongPort.pingSimple(data);
- System.out.printf("data: %d\n",data);
- }
- protected void action_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort(InterfaceItemBase ifitem, int data) {
- System.out.printf("data: %d\n",data);
-
- DemoData d = new DemoData();
- // send the default values
- PingPongPort.ping(d);
- d.int32Val=815;
- for (int i = 0; i<d.int8Array.length;i++){
- d.int8Array[i]=(byte)(i+100);
- }
- d.stringVal="some contents";
- d.float64Val=3.141234;
- PingPongPort.ping(d);
- }
- protected void action_TRANS_INITIAL_TO__waitForPongSimple() {
- PingPongPort.pingSimple(0);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_waitForPong:
- this.history[STATE_TOP] = STATE_waitForPong;
- current = STATE_TOP;
- break;
- case STATE_waitForPongSimple:
- this.history[STATE_TOP] = STATE_waitForPongSimple;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2:
- {
- DemoData data = (DemoData) generic_data;
- action_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2(ifitem, data);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1:
- {
- int data = (Integer) generic_data;
- action_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1(ifitem, data);
- return STATE_waitForPongSimple;
- }
- case CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort:
- {
- int data = (Integer) generic_data;
- action_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort(ifitem, data);
- return STATE_waitForPong;
- }
- case CHAIN_TRANS_INITIAL_TO__waitForPongSimple:
- {
- action_TRANS_INITIAL_TO__waitForPongSimple();
- return STATE_waitForPongSimple;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_waitForPong:
- // in leaf state: return state id
- return STATE_waitForPong;
- case STATE_waitForPongSimple:
- // in leaf state: return state id
- return STATE_waitForPongSimple;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__waitForPongSimple;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_waitForPong:
- switch(trigger) {
- case TRIG_PingPongPort__pong:
- {
- chain = CHAIN_TRANS_wait2_FROM_waitForPong_TO_waitForPong_BY_pongPingPongPort_wait2;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- case STATE_waitForPongSimple:
- switch(trigger) {
- case TRIG_PingPongPort__pongSimple:
- { int data = (Integer) generic_data;
- if (data < 10)
- {
- chain = CHAIN_TRANS_wait1_FROM_waitForPongSimple_TO_waitForPongSimple_BY_pongSimplePingPongPort_wait1;
- catching_state = STATE_TOP;
- } else
- {
- chain = CHAIN_TRANS_next_FROM_waitForPongSimple_TO_waitForPong_BY_pongSimplePingPongPort;
- catching_state = STATE_TOP;
- }
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java deleted file mode 100644 index 43c1b9d0e..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/MrPong.java +++ /dev/null @@ -1,219 +0,0 @@ -package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class MrPong extends ActorClassBase {
-
-
- //--------------------- ports
- protected PingPongProtocolPort PingPongPort = null;
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
- public static final int IFITEM_PingPongPort = 1;
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public MrPong(IRTObject parent, String name) {
- super(parent, name);
- setClassName("MrPong");
-
- // initialize attributes
-
- // own ports
- PingPongPort = new PingPongProtocolPort(this, "PingPongPort", IFITEM_PingPongPort);
-
- // own saps
-
- // own service implementations
-
- // sub actors
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
- public PingPongProtocolPort getPingPongPort (){
- return this.PingPongPort;
- }
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- /* state IDs */
- public static final int STATE_looping = 2;
-
- /* transition chains */
- public static final int CHAIN_TRANS_INITIAL_TO__looping = 1;
- public static final int CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0 = 2;
- public static final int CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1 = 3;
-
- /* triggers */
- public static final int POLLING = 0;
- public static final int TRIG_PingPongPort__ping = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_ping;
- public static final int TRIG_PingPongPort__pingSimple = IFITEM_PingPongPort + EVT_SHIFT*PingPongProtocol.IN_pingSimple;
-
- // state names
- protected static final String stateStrings[] = {"<no state>","<top>","looping"
- };
-
- // history
- protected int history[] = {NO_STATE,NO_STATE,NO_STATE};
-
- private void setState(int new_state) {
- DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);
- if (stateStrings[new_state]!="Idle") {
- System.out.println("state switch of "+getInstancePath() + ": "
- + stateStrings[this.state] + " -> " + stateStrings[new_state]);
- }
- this.state = new_state;
- }
-
- /* Entry and Exit Codes */
-
- /* Action Codes */
- protected void action_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0(InterfaceItemBase ifitem, DemoData data) {
- PingPongPort.pong(data);
- }
- protected void action_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1(InterfaceItemBase ifitem, int data) {
- PingPongPort.pongSimple(data+1);
- }
-
- /**
- * calls exit codes while exiting from the current state to one of its
- * parent states while remembering the history
- * @param current - the current state
- * @param to - the final parent state
- * @param handler - entry and exit codes are called only if not handler (for handler TransitionPoints)
- */
- private void exitTo(int current, int to, boolean handler) {
- while (current!=to) {
- switch (current) {
- case STATE_looping:
- this.history[STATE_TOP] = STATE_looping;
- current = STATE_TOP;
- break;
- }
- }
- }
-
- /**
- * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data
- * matching the trigger of this chain. The ID of the final state is returned
- * @param chain - the chain ID
- * @param generic_data - the generic data pointer
- * @return the ID of the final state
- */
- private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) {
- switch (chain) {
- case CHAIN_TRANS_INITIAL_TO__looping:
- {
- return STATE_looping;
- }
- case CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0:
- {
- DemoData data = (DemoData) generic_data;
- action_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0(ifitem, data);
- return STATE_looping;
- }
- case CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1:
- {
- int data = (Integer) generic_data;
- action_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1(ifitem, data);
- return STATE_looping;
- }
- }
- return NO_STATE;
- }
-
- /**
- * calls entry codes while entering a state's history. The ID of the final leaf state is returned
- * @param state - the state which is entered
- * @param handler - entry code is executed if not handler
- * @return - the ID of the final leaf state
- */
- private int enterHistory(int state, boolean handler, boolean skip_entry) {
- while (true) {
- switch (state) {
- case STATE_looping:
- // in leaf state: return state id
- return STATE_looping;
- case STATE_TOP:
- state = this.history[STATE_TOP];
- break;
- }
- skip_entry = false;
- }
- //return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true)
- }
-
- public void executeInitTransition() {
- int chain = CHAIN_TRANS_INITIAL_TO__looping;
- int next = executeTransitionChain(chain, null, null);
- next = enterHistory(next, false, false);
- setState(next);
- }
-
- /* receiveEvent contains the main implementation of the FSM */
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {
- int trigger = ifitem.getLocalId() + EVT_SHIFT*evt;
- int chain = NOT_CAUGHT;
- int catching_state = NO_STATE;
- boolean is_handler = false;
- boolean skip_entry = false;
-
- if (!handleSystemEvent(ifitem, evt, generic_data)) {
- switch (getState()) {
- case STATE_looping:
- switch(trigger) {
- case TRIG_PingPongPort__ping:
- {
- chain = CHAIN_TRANS_tr0_FROM_looping_TO_looping_BY_pingPingPongPort_tr0;
- catching_state = STATE_TOP;
- }
- break;
- case TRIG_PingPongPort__pingSimple:
- {
- chain = CHAIN_TRANS_tr1_FROM_looping_TO_looping_BY_pingSimplePingPongPort_tr1;
- catching_state = STATE_TOP;
- }
- break;
- }
- break;
- }
- }
- if (chain != NOT_CAUGHT) {
- exitTo(getState(), catching_state, is_handler);
- int next = executeTransitionChain(chain, ifitem, generic_data);
- next = enterHistory(next, is_handler, skip_entry);
- setState(next);
- }
- }
-
- //******************************************
- // END of generated code for FSM
- //******************************************
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java deleted file mode 100644 index e5d4e3d77..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/PingPongProtocol.java +++ /dev/null @@ -1,207 +0,0 @@ -package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Message;
-import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
-import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
-import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.modelbase.PortBase;
-import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-
-public class PingPongProtocol {
- // message IDs
- public static final int MSG_MIN = 0;
- public static final int OUT_pong = 1;
- public static final int OUT_pongSimple = 2;
- public static final int IN_ping = 3;
- public static final int IN_pingSimple = 4;
- public static final int MSG_MAX = 5;
-
-
- private static String messageStrings[] = {"MIN", "pong","pongSimple", "ping","pingSimple","MAX"};
-
- public String getMessageString(int msg_id) {
- if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){
- // id out of range
- return "Message ID out of range";
- }
- else{
- return messageStrings[msg_id];
- }
- }
-
-
- // port class
- static public class PingPongProtocolPort extends PortBase {
- // constructors
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void pong(DemoData data) {
- if (messageStrings[ OUT_pong] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pong]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_pong, data.deepCopy()));
- }
- public void pong(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- pong(new DemoData(int32Val, int8Array, float64Val, stringVal));
- }
- public void pongSimple(int data) {
- if (messageStrings[ OUT_pongSimple] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_pongSimple]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), OUT_pongSimple, data));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolPort get(int idx) {
- return (PingPongProtocolPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolPort(rcv, name, lid, idx);
- }
-
- // outgoing messages
- public void pong(DemoData data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pong( data);
- }
- }
- public void pongSimple(int data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pongSimple( data);
- }
- }
- }
-
-
- // port class
- static public class PingPongProtocolConjPort extends PortBase {
- // constructors
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId) {
- this(actor, name, localId, 0);
- }
- public PingPongProtocolConjPort(IEventReceiver actor, String name, int localId, int idx) {
- super(actor, name, localId, idx);
- DebuggingService.getInstance().addPortInstance(this);
- }
-
- @Override
- public void receive(Message m) {
- if (!(m instanceof EventMessage))
- return;
- EventMessage msg = (EventMessage) m;
- if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) {
- if (messageStrings[msg.getEvtId()] != "timerTick"){
- DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]);
- }
- if (msg instanceof EventWithDataMessage)
- getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData());
- else
- getActor().receiveEvent(this, msg.getEvtId(), null);
- }
- }
-
-
- // sent messages
- public void ping(DemoData data) {
- if (messageStrings[ IN_ping] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_ping]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_ping, data.deepCopy()));
- }
- public void ping(int int32Val, byte[] int8Array, double float64Val, String stringVal) {
- ping(new DemoData(int32Val, int8Array, float64Val, stringVal));
- }
- public void pingSimple(int data) {
- if (messageStrings[ IN_pingSimple] != "timerTick") {
- DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pingSimple]);
- }
- if (getPeerAddress()!=null)
- getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_pingSimple, data));
- }
- }
-
- // replicated port class
- static public class PingPongProtocolConjReplPort extends ReplicatedPortBase {
-
- public PingPongProtocolConjReplPort(IEventReceiver actor, String name, int localId) {
- super(actor, name, localId);
- }
-
- public int getReplication() {
- return getNInterfaceItems();
- }
-
- public int getIndexOf(InterfaceItemBase ifitem){
- return ifitem.getIdx();
- }
-
- public PingPongProtocolConjPort get(int idx) {
- return (PingPongProtocolConjPort) getInterfaceItem(idx);
- }
-
- protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
- return new PingPongProtocolConjPort(rcv, name, lid, idx);
- }
-
- // incoming messages
- public void ping(DemoData data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).ping( data);
- }
- }
- public void pingSimple(int data){
- for (int i=0; i<getReplication(); ++i) {
- get(i).pingSimple( data);
- }
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java deleted file mode 100644 index 6dd5d3ceb..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingDataTop.java +++ /dev/null @@ -1,68 +0,0 @@ -package SendingData;
-
-import org.eclipse.etrice.runtime.java.messaging.Address;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
-import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*;
-
-
-import SendingData.PingPongProtocol.*;
-
-
-
-public class SendingDataTop extends ActorClassBase {
-
-
- //--------------------- ports
-
- //--------------------- saps
-
- //--------------------- services
-
- //--------------------- interface item IDs
-
- /*--------------------- attributes ---------------------*/
- /*--------------------- operations ---------------------*/
-
- //--------------------- construction
- public SendingDataTop(IRTObject parent, String name) {
- super(parent, name);
- setClassName("SendingDataTop");
-
- // initialize attributes
-
- // own ports
-
- // own saps
-
- // own service implementations
-
- // sub actors
- new MrPing(this, "ref0");
- new MrPong(this, "ref1");
-
- }
-
- //--------------------- attribute setters and getters
-
-
- //--------------------- port getters
-
- //--------------------- lifecycle functions
- public void stop(){
- stopUser();
- super.stop();
- }
-
-
- //--------------------- no state machine
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) {
- handleSystemEvent(ifitem, evt, data);
- }
-
- public void executeInitTransition() {}
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java deleted file mode 100644 index 2f1fe6086..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystem.java +++ /dev/null @@ -1,61 +0,0 @@ -package SendingData;
-
-import org.eclipse.etrice.runtime.java.config.IVariableService;
-import org.eclipse.etrice.runtime.java.messaging.IRTObject;
-import org.eclipse.etrice.runtime.java.messaging.MessageService;
-import org.eclipse.etrice.runtime.java.messaging.MessageServiceController;
-import org.eclipse.etrice.runtime.java.messaging.RTServices;
-import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase;
-import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
-
-
-
-public class SendingData_SubSystem extends SubSystemClassBase {
-
- public final int THREAD__DEFAULT = 0;
-
-
- public SendingData_SubSystem(IRTObject parent, String name) {
- super(parent, name);
- }
-
- @Override
- public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){
- }
-
- @Override
- public void instantiateMessageServices() {
-
- RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main"));
- }
-
- @Override
- public void instantiateActors() {
-
- MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl();
-
- // thread mappings
- msgSvcCtrl.addPathToThread("/SendingData_LogSystem/SendingDataAppl", THREAD__DEFAULT);
-
- // port to peer port mappings
- msgSvcCtrl.addPathToPeer("/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref0/PingPongPort", "/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref1/PingPongPort");
- msgSvcCtrl.addPathToPeer("/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref1/PingPongPort", "/SendingData_LogSystem/SendingDataAppl/SendigDataTopRef/ref0/PingPongPort");
-
- // sub actors
- new SendingDataTop(this, "SendigDataTopRef");
-
- // apply instance attribute configurations
- }
-
- @Override
- public void init(){
- super.init();
- }
-
- @Override
- public void stop(){
- super.stop();
- }
-
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java b/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java deleted file mode 100644 index 36d5977b7..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src-gen/SendingData/SendingData_SubSystemRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/**
- * @author generated by eTrice
- *
- * this class contains the main function running component SendingDataAppl
- * it instantiates SendingDataAppl and starts and ends the lifecycle
- */
-
-package SendingData;
-
-import org.eclipse.etrice.runtime.java.modelbase.RTSystem;
-import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase;
-
-class SendingData_SubSystemRunner extends SubSystemRunnerBase {
-
- /**
- * main function
- * creates the main component and starts and stops the lifecycle
- */
- public static void main(String[] args) {
- // instantiate the main component
- RTSystem sys = new RTSystem("SendingData_LogSystem");
- SendingData_SubSystem main_component = new SendingData_SubSystem(sys, "SendingDataAppl");
-
- run(main_component, args);
- }
-};
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java deleted file mode 100644 index ee2e52db4..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/PedestrianLightWndNoTcp.java +++ /dev/null @@ -1,135 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thomas Jung
- *******************************************************************************/
-
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-//This is used for PedLightController tutorial and must be disabled for Blinky
-import PedLightsController.PedControlProtocol.*;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class PedestrianLightWndNoTcp extends Frame
-implements ActionListener {
- private TrafficLight3 carLights;
- private TrafficLight2 pedLights;
- Button requestButton;
- TextField statusLine;
-
- //This is used for PedLightController tutorial and must be disabled for Blinky
- private PedControlProtocolConjPort port=null;
-
- // Constructors
- public PedestrianLightWndNoTcp(){
- super("PedastrianLightsGUI");
- setupWindow();
- statusLine.setText(" direct connection");
- }
-
- public PedestrianLightWndNoTcp(String wnd, String but){
- super(wnd);
- setupWindow();
- statusLine.setText(but);
- }
-
- private void setupWindow(){
- GridBagLayout layout = new GridBagLayout();
- GridBagConstraints gbc;
- carLights = new TrafficLight3(TrafficLight3.OFF);
- pedLights = new TrafficLight2(TrafficLight2.OFF);
- statusLine = new TextField();
- requestButton = new Button("REQUEST");
- requestButton.setEnabled(false);
- addWindowListener(new WindowClosingAdapter(true));
-
- setLayout(layout);
-
- gbc=makeGbc(0,1,1,1);
- layout.setConstraints(carLights,gbc);
- add(carLights);
-
- gbc=makeGbc(1,1,1,1);
- layout.setConstraints(pedLights,gbc);
- add(pedLights);
-
- statusLine.setText("");
- statusLine.setEditable(false);
- statusLine.setFocusable(false);
- gbc = makeGbc(0,0,2,1);
- gbc.fill = GridBagConstraints.BOTH;
- layout.setConstraints(statusLine,gbc);
- add(statusLine);
-
- gbc = makeGbc(0,2,2,1);
- gbc.fill = GridBagConstraints.BOTH;
- layout.setConstraints(requestButton,gbc);
- add(requestButton);
-
- pack();
- setVisible(true);
-
- requestButton.addActionListener(this);
- requestButton.setEnabled(true);
-
- carLights.setState(TrafficLight3.RED);
- pedLights.setState(TrafficLight2.RED);
- }
-
- public TrafficLight3 getCarLights(){
- return carLights;
- }
-
- public TrafficLight2 getPedLights(){
- return pedLights;
- }
-
- private GridBagConstraints makeGbc(int x, int y, int width, int height){
- GridBagConstraints gbc = new GridBagConstraints();
- gbc.gridx = x;
- gbc.gridy = y;
- gbc.gridwidth = width;
- gbc.gridheight = height;
- gbc.weightx = 1;
- gbc.weighty = 1;
- gbc.anchor = GridBagConstraints.CENTER;
- gbc.insets = new Insets(1,1,1,1);
- return gbc;
- }
-
- public void actionPerformed(ActionEvent arg0) {
- // TODO Auto-generated method stub
- String s = arg0.getActionCommand();
-
- if (s.equals("REQUEST")) {
- System.out.println("Taste gedrückt");
- // This is used for PedLightController tutorial and must be disabled for Blinky
- if (port != null) port.start();
- }
- }
- public void closeWindow(){
- this.setVisible(false);
- this.dispose();
- // System.exit(0);
- }
-
-// This is used for PedLightController tutorial and must be disabled for Blinky
- public void setPort(PedControlProtocolConjPort p){
- port=p;
- }
-}
\ No newline at end of file diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java deleted file mode 100644 index 1cc55ff32..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight2.java +++ /dev/null @@ -1,89 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thomas Jung
- *******************************************************************************/
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import java.awt.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class TrafficLight2 extends Canvas {
- // Traffic light has 3 states
- // 0 = red
- // 1 = green
- // 2 = off
- public static final int RED=0;
- public static final int GREEN=1;
- public static final int OFF=2;
-
- private int state;
-
- public TrafficLight2(int state){
- this.state = state;
- }
- public TrafficLight2(){
- this.state = 0;
- }
-
- private int singleLightSize = 20;
- private int xPosition = 5;
- private int gap = 5;
-
- public void paint(Graphics g){
- Color lightRed = new Color(255,0,0);
- Color darkRed = new Color (127,0,0);
- Color lightGreen = new Color (0,255,0);
- Color darkGreen = new Color (0,127,0);
-
- Color colors [][] = {
- {lightRed,darkGreen},
- {darkRed,lightGreen},
- {darkRed,darkGreen}
- };
-
- // set Background
- g.setColor(Color.lightGray);
- g.fillRect(0,0,getSize().width,getSize().height);
- // draw boarder
- g.setColor(Color.BLACK);
- g.drawRect(0,0,getSize().width-1,getSize().height-1);
-
- for (int i = 0; i<2; i++) {
- g.setColor(colors[state][i]);
- g.fillOval(xPosition,i*singleLightSize+gap,singleLightSize,singleLightSize);
- g.setColor(Color.black);
- g.drawOval(xPosition,i*singleLightSize+gap,singleLightSize-1,singleLightSize-1);
- }
- }
-
- public Dimension getPreferredSize(){
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 2 + 2 * gap);
- }
-
- public Dimension getMinimumSize()
- {
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 2 + 2 * gap);
- }
-
- public void setState(int state)
- {
- // avoid array error
- if (state < 3){
- this.state = state;
- repaint();
- }
- }
-
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java deleted file mode 100644 index a646bdf7c..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/TrafficLight3.java +++ /dev/null @@ -1,97 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thomas Jung
- *******************************************************************************/
-
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import java.awt.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
- */
-@SuppressWarnings("serial")
-public class TrafficLight3 extends Canvas {
- // Traffic light has 5 states
- // 0 = red
- // 1 = yellowRed
- // 2 = green
- // 3 = yellow
- // 4 = OFF
- public static final int RED=0;
- public static final int YELLOW_RED=1;
- public static final int GREEN=2;
- public static final int YELLOW=3;
- public static final int OFF=4;
-
- private int state;
-
- public TrafficLight3(int state){
- this.state = state;
- }
- public TrafficLight3(){
- this.state = 0;
- }
-
- private int singleLightSize = 20;
- private int xPosition = 5;
- private int gap = 5;
-
- public void paint(Graphics g){
- Color lightRed = new Color(255,0,0);
- Color darkRed = new Color (127,0,0);
- Color lightGreen = new Color (0,255,0);
- Color darkGreen = new Color (0,127,0);
- Color lightYellow = new Color (255,255,0);
- Color darkYellow = new Color (127,127,0);
-
- Color colors [][] = {
- {lightRed,darkYellow,darkGreen},
- {lightRed,lightYellow,darkGreen},
- {darkRed,darkYellow,lightGreen},
- {darkRed,lightYellow,darkGreen},
- {darkRed,darkYellow,darkGreen}
- };
-
-
- // set Background
- g.setColor(Color.lightGray);
- g.fillRect(0,0,getSize().width,getSize().height);
- // draw boarder
- g.setColor(Color.BLACK);
- g.drawRect(0,0,getSize().width-1,getSize().height-1);
-
- for (int i = 0; i<3; i++) {
- g.setColor(colors[state][i]);
- g.fillOval(xPosition,i*singleLightSize+gap,singleLightSize,singleLightSize);
- g.setColor(Color.black);
- g.drawOval(xPosition,i*singleLightSize+gap,singleLightSize-1,singleLightSize-1);
- }
- }
-
- public Dimension getPreferredSize(){
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 3 + 2 * gap);
- }
-
- public Dimension getMinimumSize()
- {
- return new Dimension(singleLightSize + 2 * gap, singleLightSize * 3 + 2 * gap);
- }
-
- public void setState(int state)
- {
- if (state < 5){
- this.state = state;
- repaint();
- }
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java b/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java deleted file mode 100644 index 058760cee..000000000 --- a/examples/org.eclipse.etrice.tutorials.java/src/org/eclipse/etrice/tutorials/PedLightGUI/WindowClosingAdapter.java +++ /dev/null @@ -1,49 +0,0 @@ -/*******************************************************************************
- * Copyright (c) 2011 tieto deutschland gmbh (http://www.tieto.com)
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thomas Jung
- *******************************************************************************/
-package org.eclipse.etrice.tutorials.PedLightGUI;
-
-import org.eclipse.etrice.tutorials.PedLightGUI.*;
-
-/* WindowClosingAdapter.java */
-
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A little simple Trafficlight GUI for the etrice tutorials
- *
- * @author Thomas Jung
- *
-**/
-public class WindowClosingAdapter
-extends WindowAdapter
-{
- private boolean exitSystem;
-
- public WindowClosingAdapter(boolean exitSystem)
- {
- this.exitSystem = exitSystem;
- }
-
- public WindowClosingAdapter()
- {
- this(false);
- }
-
- public void windowClosing(WindowEvent event)
- {
- event.getWindow().setVisible(false);
- event.getWindow().dispose();
- if (exitSystem) {
- System.exit(0);
- }
- }
-}
diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior index bb1476751..560577977 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/diagrams/trafficlight.example.TrafficLight.behavior @@ -1,631 +1,631 @@ -<?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of TrafficLight" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.1/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@children.0/@children.7/@link //@connections.8/@link //@children.0/@children.8/@link //@connections.9/@link //@children.0/@children.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@link" verticalGridUnit="10" version="0.9.2">
- <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
- <link>
- <businessObjects href="../trafficlight.example.room#ActorClass:TrafficLight"/>
- </link>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="597" height="533" x="-26" y="-11">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="517" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="69" y="67">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="142" height="90" x="236" y="42">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="82" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="57" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="41" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$OpenSocket"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="82" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="OpenSocket"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="317">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" incomingConnections="//@connections.6"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="204">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$PedRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5 //@connections.11"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedRed"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="396">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" incomingConnections="//@connections.7"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarGreen"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="139" height="90" x="239" y="122">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="79" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="54" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5 //@connections.8"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="79" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="35">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="33"/>
- <points x="33" y="27"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
- <points x="27" y="27"/>
- <points x="33" y="33"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="135" height="90" x="345" y="204">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="75" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="50" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="37" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="37" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="37" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow2"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.8 //@connections.12"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="75" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow2"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="353" y="317">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarRed"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.9"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarRed"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" visible="true" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="128" height="90" x="349" y="396">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="68" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="43" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="34" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="34" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="34" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$PedGreen"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.10"/>
- <children visible="true">
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="68" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedGreen"/>
- </children>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="sg"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$Off_Blinking$sg"/>
- </link>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/Off_Blinking"/>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="trp"/>
- <properties key="item-kind" value="entp"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="360">
- <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="47"/>
- <points x="47" y="33"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
- <points x="33" y="33"/>
- <points x="47" y="47"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="206" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$On"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="On"/>
- </children>
- </children>
- <children xsi:type="pi:ContainerShape" active="true">
- <properties key="obj-type" value="state"/>
- <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="472" y="120">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
- <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24">
- <points x="-3" y="-3"/>
- <points x="-3" y="3"/>
- <points x="-11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="3" y="-3"/>
- <points x="3" y="3"/>
- <points x="11" y="3"/>
- </graphicsAlgorithmChildren>
- <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
- <points x="-2" y="-3"/>
- <points x="-2" y="3"/>
- <points x="2" y="3"/>
- <points x="2" y="-3"/>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithmChildren>
- </graphicsAlgorithm>
- <link>
- <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$Off"/>
- </link>
- <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1"/>
- <children>
- <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off"/>
- </children>
- </children>
- </children>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#ContinuationTransition:TrafficLight$Off_Blinking$tr0"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr1"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr1: <timeout:blinke..."/>
- </connectionDecorators>
- <bendpoints x="449" y="228"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr2"/>
- </link>
- <connectionDecorators locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr2: <timeout:blinke..."/>
- </connectionDecorators>
- <bendpoints x="444" y="181"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#InitialTransition:TrafficLight$initial"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr0"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-71" y="-16" font="//@fonts.0" value="tr0: <established:tc..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.4/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr2"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-62" y="-14" font="//@fonts.0" value="tr2: <greenForCar:co..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.3/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr3"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-55" y="-2" font="//@fonts.0" value="tr3: <timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr1"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-55" y="-17" font="//@fonts.0" value="tr1: <timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr4"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-26" y="-10" font="//@fonts.0" value="tr4: <greenForPed:co..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr5"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-29" y="2" font="//@fonts.0" value="tr5: <timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.9/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr6"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-30" y="-14" font="//@fonts.0" value="tr6: <timeout:timeou..."/>
- </connectionDecorators>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.4/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr7"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-88" y="-55" font="//@fonts.0" value="tr7: <greenForCar:co..."/>
- </connectionDecorators>
- <bendpoints x="248" y="265"/>
- </connections>
- <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@anchors.0">
- <properties key="obj-type" value="trans"/>
- <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
- <link>
- <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr8"/>
- </link>
- <connectionDecorators visible="true" locationRelative="true" location="1.0">
- <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
- <points x="-15" y="5"/>
- <points/>
- <points x="-15" y="-5"/>
- </graphicsAlgorithm>
- </connectionDecorators>
- <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
- <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-87" y="38" font="//@fonts.0" value="tr8: <greenForPed:co..."/>
- </connectionDecorators>
- <bendpoints x="246" y="407"/>
- </connections>
- <colors red="227" green="238" blue="249"/>
- <colors red="255" green="255" blue="255"/>
- <colors/>
- <colors red="200" green="200" blue="200"/>
- <fonts name="Arial" size="8"/>
- <fonts name="Arial" size="9" bold="true"/>
-</pi:Diagram>
+<?xml version="1.0" encoding="ASCII"?> +<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" gridUnit="10" diagramTypeId="room.behavior" name="Behavior of TrafficLight" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.1/@children.3/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@children.0/@children.7/@link //@connections.8/@link //@children.0/@children.8/@link //@connections.9/@link //@children.0/@children.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@link" verticalGridUnit="10" version="0.10.0"> + <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/> + <link> + <businessObjects href="../trafficlight.example.room#ActorClass:TrafficLight"/> + </link> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="597" height="533" x="-26" y="-11"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="517" height="453" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/> + </link> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="517" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="69" y="67"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$sg"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="142" height="90" x="236" y="42"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="82" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="57" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="41" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="41" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$OpenSocket"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="82" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="OpenSocket"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="317"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" incomingConnections="//@connections.6"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="204"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$PedRed"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" incomingConnections="//@connections.5 //@connections.11"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedRed"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="110" y="396"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarGreen"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" incomingConnections="//@connections.7"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarGreen"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="139" height="90" x="239" y="122"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="79" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="54" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="39" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5 //@connections.8"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="79" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off_Blinking"/> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="trp"/> + <properties key="item-kind" value="entp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="35"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"> + <points x="27" y="33"/> + <points x="33" y="27"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"> + <points x="27" y="27"/> + <points x="33" y="33"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="135" height="90" x="345" y="204"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="75" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="50" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="37" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="37" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="37" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarYellow2"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9" incomingConnections="//@connections.8 //@connections.12"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="75" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarYellow2"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="353" y="317"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$CarRed"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.10" incomingConnections="//@connections.9"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="CarRed"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" visible="true" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="128" height="90" x="349" y="396"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="68" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="43" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="34" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="34" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="34" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$PedGreen"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" incomingConnections="//@connections.10"/> + <children visible="true"> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="68" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="PedGreen"/> + </children> + </children> + </children> + <children xsi:type="pi:ContainerShape" active="true"> + <properties key="obj-type" value="sg"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#StateGraph:TrafficLight$Off_Blinking$sg"/> + </link> + <children> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/Off_Blinking"/> + </children> + <children xsi:type="pi:ContainerShape" active="true"> + <properties key="obj-type" value="trp"/> + <properties key="item-kind" value="entp"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="360"> + <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"> + <points x="33" y="47"/> + <points x="47" y="33"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"> + <points x="33" y="33"/> + <points x="47" y="47"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#EntryPoint:TrafficLight$Off_Blinking$tp0"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0"/> + <children> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="206" y="120"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$On"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0 //@connections.2"/> + <children> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="On"/> + </children> + </children> + <children xsi:type="pi:ContainerShape" active="true"> + <properties key="obj-type" value="state"/> + <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="472" y="120"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20"> + <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" x="30" y="24"> + <points x="-3" y="-3"/> + <points x="-3" y="3"/> + <points x="-11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="3" y="-3"/> + <points x="3" y="3"/> + <points x="11" y="3"/> + </graphicsAlgorithmChildren> + <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24"> + <points x="-2" y="-3"/> + <points x="-2" y="3"/> + <points x="2" y="3"/> + <points x="2" y="-3"/> + </graphicsAlgorithmChildren> + </graphicsAlgorithmChildren> + </graphicsAlgorithm> + <link> + <businessObjects href="../trafficlight.example.room#SimpleState:TrafficLight$Off_Blinking$Off"/> + </link> + <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1"/> + <children> + <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Off"/> + </children> + </children> + </children> + <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#ContinuationTransition:TrafficLight$Off_Blinking$tr0"/> + </link> + <connectionDecorators locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.2/@anchors.0" end="//@children.1/@children.3/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr1"/> + </link> + <connectionDecorators locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr1: <timeout:blinke..."/> + </connectionDecorators> + <bendpoints x="449" y="228"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.3/@anchors.0" end="//@children.1/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$Off_Blinking$tr2"/> + </link> + <connectionDecorators locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr2: <timeout:blinke..."/> + </connectionDecorators> + <bendpoints x="444" y="181"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#InitialTransition:TrafficLight$initial"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr0"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-71" y="-16" font="//@fonts.0" value="tr0: <established:tc..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.4/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr2"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-62" y="-14" font="//@fonts.0" value="tr2: <greenForCar:co..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.3/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr3"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-55" y="-2" font="//@fonts.0" value="tr3: <timeout:timeou..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr1"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-55" y="-17" font="//@fonts.0" value="tr1: <timeout:timeou..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr4"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-26" y="-10" font="//@fonts.0" value="tr4: <greenForPed:co..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.8/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr5"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-29" y="2" font="//@fonts.0" value="tr5: <timeout:timeou..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.8/@anchors.0" end="//@children.0/@children.9/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr6"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-30" y="-14" font="//@fonts.0" value="tr6: <timeout:timeou..."/> + </connectionDecorators> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.9/@anchors.0" end="//@children.0/@children.4/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr7"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-88" y="-55" font="//@fonts.0" value="tr7: <greenForCar:co..."/> + </connectionDecorators> + <bendpoints x="248" y="265"/> + </connections> + <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@anchors.0"> + <properties key="obj-type" value="trans"/> + <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/> + <link> + <businessObjects href="../trafficlight.example.room#TriggeredTransition:TrafficLight$tr8"/> + </link> + <connectionDecorators visible="true" locationRelative="true" location="1.0"> + <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0"> + <points x="-15" y="5"/> + <points/> + <points x="-15" y="-5"/> + </graphicsAlgorithm> + </connectionDecorators> + <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5"> + <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="-87" y="38" font="//@fonts.0" value="tr8: <greenForPed:co..."/> + </connectionDecorators> + <bendpoints x="246" y="407"/> + </connections> + <colors red="227" green="238" blue="249"/> + <colors red="255" green="255" blue="255"/> + <colors/> + <colors red="200" green="200" blue="200"/> + <fonts name="Arial" size="8"/> + <fonts name="Arial" size="9" bold="true"/> +</pi:Diagram> diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room index 025dad81d..9094d4e6a 100644 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room +++ b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/model/trafficlight.example.room @@ -14,9 +14,7 @@ RoomModel trafficlight.example { import room.basic.types.* from "../../org.eclipse.etrice.modellib.java/models/Types.room" - import room.basic.service.timing.* from "../../org.eclipse.etrice.modellib.java/models/TimingService.room" - import room.basic.service.tcp.* from "../../org.eclipse.etrice.modellib.java/models/TcpService.room" LogicalSystem LSTraffic { diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java deleted file mode 100644 index ef5a2832c..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Application.java +++ /dev/null @@ -1,77 +0,0 @@ -package PiModel; - -import org.eclipse.etrice.runtime.java.messaging.Address; -import org.eclipse.etrice.runtime.java.messaging.IRTObject; -import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; -import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - -import room.basic.service.tcp.*; -import room.basic.service.timing.*; -import trafficlight.connector.*; - -import trafficlight.connector.PMqtt.*; -import room.basic.service.tcp.PTcpControl.*; -import room.basic.service.tcp.PTcpPayload.*; -import room.basic.service.timing.PTimer.*; -import trafficlight.connector.PTrafficLightInterface.*; - - - -public class Application extends ActorClassBase { - - - //--------------------- ports - - //--------------------- saps - - //--------------------- services - - //--------------------- interface item IDs - - /*--------------------- attributes ---------------------*/ - /*--------------------- operations ---------------------*/ - - //--------------------- construction - public Application(IRTObject parent, String name) { - super(parent, name); - setClassName("Application"); - - // initialize attributes - - // own ports - - // own saps - - // own service implementations - - // sub actors - new ATcpClient(this, "tcpIp"); - new TrafficLightInterface(this, "tfIf"); - new Comtroller(this, "controller"); - new MqttWrapperActor(this, "mqtt"); - - } - - /* --------------------- attribute setters and getters */ - - - //--------------------- port getters - - //--------------------- lifecycle functions - public void stop(){ - stopUser(); - super.stop(); - } - - - //--------------------- no state machine - public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data) { - handleSystemEvent(ifitem, evt, data); - } - - public void executeInitTransition() {} -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java deleted file mode 100644 index 4f6cfc869..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/Comtroller.java +++ /dev/null @@ -1,351 +0,0 @@ -package PiModel; - -import org.eclipse.etrice.runtime.java.messaging.Address; -import org.eclipse.etrice.runtime.java.messaging.IRTObject; -import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; -import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - -import room.basic.service.timing.*; -import trafficlight.connector.*; - -import trafficlight.connector.PMqtt.*; -import room.basic.service.timing.PTimer.*; -import trafficlight.connector.PTrafficLightInterface.*; - - - -public class Comtroller extends ActorClassBase { - - - //--------------------- ports - protected PTrafficLightInterfaceConjPort traffic = null; - protected PMqttConjPort mqtt = null; - - //--------------------- saps - protected PTimerConjPort timer = null; - - //--------------------- services - - //--------------------- interface item IDs - public static final int IFITEM_traffic = 1; - public static final int IFITEM_mqtt = 2; - public static final int IFITEM_timer = 3; - - /*--------------------- attributes ---------------------*/ - /*--------------------- operations ---------------------*/ - - //--------------------- construction - public Comtroller(IRTObject parent, String name) { - super(parent, name); - setClassName("Comtroller"); - - // initialize attributes - - // own ports - traffic = new PTrafficLightInterfaceConjPort(this, "traffic", IFITEM_traffic); - mqtt = new PMqttConjPort(this, "mqtt", IFITEM_mqtt); - - // own saps - timer = new PTimerConjPort(this, "timer", IFITEM_timer, 0); - - // own service implementations - - // sub actors - - } - - /* --------------------- attribute setters and getters */ - - - //--------------------- port getters - public PTrafficLightInterfaceConjPort getTraffic (){ - return this.traffic; - } - public PMqttConjPort getMqtt (){ - return this.mqtt; - } - public PTimerConjPort getTimer (){ - return this.timer; - } - - //--------------------- lifecycle functions - public void stop(){ - stopUser(); - super.stop(); - } - - - /* state IDs */ - public static final int STATE_Initialized = 2; - public static final int STATE_Initialize = 3; - public static final int STATE_Initialized_On = 4; - public static final int STATE_Initialized_Off = 5; - public static final int STATE_MQTTInit = 6; - public static final int STATE_MAX = 7; - - /* transition chains */ - public static final int CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer = 1; - public static final int CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer = 2; - public static final int CHAIN_TRANS_INITIAL_TO__MQTTInit = 3; - public static final int CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic = 4; - public static final int CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt = 5; - - /* triggers */ - public static final int POLLING = 0; - public static final int TRIG_mqtt__connected = IFITEM_mqtt + EVT_SHIFT*PMqtt.OUT_connected; - public static final int TRIG_timer__timeout = IFITEM_timer + EVT_SHIFT*PTimer.OUT_timeout; - public static final int TRIG_traffic__initialized = IFITEM_traffic + EVT_SHIFT*PTrafficLightInterface.OUT_initialized; - - // state names - protected static final String stateStrings[] = {"<no state>","<top>","Initialized", - "Initialize", - "Initialized_On", - "Initialized_Off", - "MQTTInit" - }; - - // history - protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE}; - - private void setState(int new_state) { - DebuggingService.getInstance().addActorState(this,stateStrings[new_state]); - if (stateStrings[new_state]!="Idle") { - System.out.println("state switch of "+getInstancePath() + ": " - + stateStrings[this.state] + " -> " + stateStrings[new_state]); - } - this.state = new_state; - } - - /* Entry and Exit Codes */ - protected void entry_Initialize() { - traffic.initialize(); - } - protected void entry_Initialized() { - traffic.pedRed(); - mqtt.publish(new DMqttMessage("eTrice/TraaficLight/Controller", "State: Initialized", true, 1)); - } - protected void entry_Initialized_On() { - traffic.pedRed(); - traffic.carRed(); - timer.startTimeout(1000); - } - protected void exit_Initialized_On() { - traffic.pedOff(); - traffic.carOff(); - } - protected void entry_Initialized_Off() { - timer.startTimeout(1000); - } - protected void entry_MQTTInit() { - mqtt.connect(new DMqttConfig("tcp://m2m.eclipse.org:1883", "eTrice-Paho-Tester")); - } - - /* Action Codes */ - - /** - * calls exit codes while exiting from the current state to one of its - * parent states while remembering the history - * @param current - the current state - * @param to - the final parent state - */ - private void exitTo(int current, int to) { - while (current!=to) { - switch (current) { - case STATE_Initialize: - this.history[STATE_TOP] = STATE_Initialize; - current = STATE_TOP; - break; - case STATE_Initialized: - this.history[STATE_TOP] = STATE_Initialized; - current = STATE_TOP; - break; - case STATE_Initialized_On: - exit_Initialized_On(); - this.history[STATE_Initialized] = STATE_Initialized_On; - current = STATE_Initialized; - break; - case STATE_Initialized_Off: - this.history[STATE_Initialized] = STATE_Initialized_Off; - current = STATE_Initialized; - break; - case STATE_MQTTInit: - this.history[STATE_TOP] = STATE_MQTTInit; - current = STATE_TOP; - break; - default: - /* should not occur */ - break; - } - } - } - - /** - * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data - * matching the trigger of this chain. The ID of the final state is returned - * @param chain - the chain ID - * @param generic_data - the generic data pointer - * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa - */ - private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) { - switch (chain) { - case CHAIN_TRANS_INITIAL_TO__MQTTInit: - { - return STATE_MQTTInit; - } - case CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic: - { - entry_Initialized(); - return STATE_Initialized_On; - } - case CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt: - { - return STATE_Initialize; - } - case CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer: - { - return STATE_Initialized_Off; - } - case CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer: - { - return STATE_Initialized_On; - } - default: - /* should not occur */ - break; - } - return NO_STATE; - } - - /** - * calls entry codes while entering a state's history. The ID of the final leaf state is returned - * @param state - the state which is entered - * @return - the ID of the final leaf state - */ - private int enterHistory(int state) { - boolean skip_entry = false; - if (state >= STATE_MAX) { - state = (state - STATE_MAX); - skip_entry = true; - } - while (true) { - switch (state) { - case STATE_Initialize: - if (!(skip_entry)) entry_Initialize(); - /* in leaf state: return state id */ - return STATE_Initialize; - case STATE_Initialized: - if (!(skip_entry)) entry_Initialized(); - /* state has a sub graph */ - /* without init transition */ - state = this.history[STATE_Initialized]; - break; - case STATE_Initialized_On: - if (!(skip_entry)) entry_Initialized_On(); - /* in leaf state: return state id */ - return STATE_Initialized_On; - case STATE_Initialized_Off: - if (!(skip_entry)) entry_Initialized_Off(); - /* in leaf state: return state id */ - return STATE_Initialized_Off; - case STATE_MQTTInit: - if (!(skip_entry)) entry_MQTTInit(); - /* in leaf state: return state id */ - return STATE_MQTTInit; - case STATE_TOP: - state = this.history[STATE_TOP]; - break; - default: - /* should not occur */ - break; - } - skip_entry = false; - } - /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */ - } - - public void executeInitTransition() { - int chain = CHAIN_TRANS_INITIAL_TO__MQTTInit; - int next = executeTransitionChain(chain, null, null); - next = enterHistory(next); - setState(next); - } - - /* receiveEvent contains the main implementation of the FSM */ - public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) { - int trigger = ifitem.getLocalId() + EVT_SHIFT*evt; - int chain = NOT_CAUGHT; - int catching_state = NO_STATE; - - if (!handleSystemEvent(ifitem, evt, generic_data)) { - switch (getState()) { - case STATE_Initialize: - switch(trigger) { - case TRIG_traffic__initialized: - { - chain = CHAIN_TRANS_tr0_FROM_Initialize_TO_Initialized_tp0_BY_initializedtraffic; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_Initialized_On: - switch(trigger) { - case TRIG_timer__timeout: - { - chain = CHAIN_Initialized_TRANS_tr1_FROM_On_TO_Off_BY_timeouttimer; - catching_state = STATE_Initialized; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_Initialized_Off: - switch(trigger) { - case TRIG_timer__timeout: - { - chain = CHAIN_Initialized_TRANS_tr2_FROM_Off_TO_On_BY_timeouttimer; - catching_state = STATE_Initialized; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_MQTTInit: - switch(trigger) { - case TRIG_mqtt__connected: - { - chain = CHAIN_TRANS_tr1_FROM_MQTTInit_TO_Initialize_BY_connectedmqtt; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - default: - /* should not occur */ - break; - } - } - if (chain != NOT_CAUGHT) { - exitTo(getState(), catching_state); - { - int next = executeTransitionChain(chain, ifitem, generic_data); - next = enterHistory(next); - setState(next); - } - } - } -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java deleted file mode 100644 index 462725efe..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSys.java +++ /dev/null @@ -1,82 +0,0 @@ -package PiModel; - -import org.eclipse.etrice.runtime.java.config.IVariableService; -import org.eclipse.etrice.runtime.java.messaging.IRTObject; -import org.eclipse.etrice.runtime.java.messaging.MessageService; -import org.eclipse.etrice.runtime.java.messaging.MessageServiceController; -import org.eclipse.etrice.runtime.java.messaging.RTServices; -import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; - -import room.basic.service.tcp.*; -import room.basic.service.timing.*; -import trafficlight.connector.*; - - -public class PiSubSys extends SubSystemClassBase { - - public final int THREAD__DEFAULT = 0; - public final int THREAD_DEFAULTTHREAD = 1; - - - public PiSubSys(IRTObject parent, String name) { - super(parent, name); - } - - @Override - public void receiveEvent(InterfaceItemBase ifitem, int evt, Object data){ - } - - @Override - public void instantiateMessageServices() { - - RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD__DEFAULT, "MessageService_Main")); - RTServices.getInstance().getMsgSvcCtrl().addMsgSvc(new MessageService(this, 0, THREAD_DEFAULTTHREAD, "MessageService_defaultThread" /*, thread_prio */)); - } - - @Override - public void instantiateActors() { - - MessageServiceController msgSvcCtrl = RTServices.getInstance().getMsgSvcCtrl(); - - // thread mappings - msgSvcCtrl.addPathToThread("/PiSystem/piSubSys", THREAD__DEFAULT); - - // port to peer port mappings - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tcpIp/ControlPort", "/PiSystem/piSubSys/application/tfIf/control"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tcpIp/PayloadPort", "/PiSystem/piSubSys/application/tfIf/payload"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/payload", "/PiSystem/piSubSys/application/tcpIp/PayloadPort"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/control", "/PiSystem/piSubSys/application/tcpIp/ControlPort"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/tfIf/fct", "/PiSystem/piSubSys/application/controller/traffic"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/traffic", "/PiSystem/piSubSys/application/tfIf/fct"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/mqtt", "/PiSystem/piSubSys/application/mqtt/fct"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/controller/timer", "/PiSystem/piSubSys/timing/timer"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/application/mqtt/fct", "/PiSystem/piSubSys/application/controller/mqtt"); - msgSvcCtrl.addPathToPeers("/PiSystem/piSubSys/timing/timer", "/PiSystem/piSubSys/application/controller/timer"); - - // sub actors - new Application(this, "application"); - new ATimingService(this, "timing"); - - // apply instance attribute configurations - { - TrafficLightInterface inst = (TrafficLightInterface) getObject("/PiSystem/piSubSys/application/tfIf"); - if (inst!=null) { - inst.getTcpConfig().setIPAddr("192.168.137.1"); - inst.getTcpConfig().setTcpPort(4441); - } - } - } - - @Override - public void init(){ - super.init(); - } - - @Override - public void stop(){ - super.stop(); - } - -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java deleted file mode 100644 index 71a4e4779..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/PiModel/PiSubSysRunner.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @author generated by eTrice - * - * this class contains the main function running component piSubSys - * it instantiates piSubSys and starts and ends the lifecycle - */ - -package PiModel; - -import org.eclipse.etrice.runtime.java.modelbase.RTSystem; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemRunnerBase; - -class PiSubSysRunner extends SubSystemRunnerBase { - - /** - * main function - * creates the main component and starts and stops the lifecycle - */ - public static void main(String[] args) { - // instantiate the main component - RTSystem sys = new RTSystem("PiSystem"); - PiSubSys main_component = new PiSubSys(sys, "piSubSys"); - - run(main_component, args); - } -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java deleted file mode 100644 index 937b501b0..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package trafficlight.connector; - -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - - - - -public class DMqttConfig { - - - /*--------------------- attributes ---------------------*/ - String url; - String id; - - /* --------------------- attribute setters and getters */ - public void setUrl (String url) { - this.url = url; - } - public String getUrl () { - return this.url; - } - public void setId (String id) { - this.id = id; - } - public String getId () { - return this.id; - } - - /*--------------------- operations ---------------------*/ - - // default constructor - public DMqttConfig() { - super(); - - // initialize attributes - this.setUrl(""); - this.setId(""); - } - - // constructor using fields - public DMqttConfig(String url, String id) { - super(); - - this.url = url; - this.id = id; - } - - // deep copy - public DMqttConfig deepCopy() { - DMqttConfig copy = new DMqttConfig(); - copy.url = url; - copy.id = id; - return copy; - } -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java deleted file mode 100644 index bb1d196e6..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/DMqttMessage.java +++ /dev/null @@ -1,73 +0,0 @@ -package trafficlight.connector; - -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - - - - -public class DMqttMessage { - - - /*--------------------- attributes ---------------------*/ - String topic; - String payload; - boolean retained; - int qos; - - /* --------------------- attribute setters and getters */ - public void setTopic (String topic) { - this.topic = topic; - } - public String getTopic () { - return this.topic; - } - public void setPayload (String payload) { - this.payload = payload; - } - public String getPayload () { - return this.payload; - } - public void setRetained (boolean retained) { - this.retained = retained; - } - public boolean getRetained () { - return this.retained; - } - public void setQos (int qos) { - this.qos = qos; - } - public int getQos () { - return this.qos; - } - - /*--------------------- operations ---------------------*/ - - // default constructor - public DMqttMessage() { - super(); - - // initialize attributes - this.setTopic(""); - this.setPayload(""); - } - - // constructor using fields - public DMqttMessage(String topic, String payload, boolean retained, int qos) { - super(); - - this.topic = topic; - this.payload = payload; - this.retained = retained; - this.qos = qos; - } - - // deep copy - public DMqttMessage deepCopy() { - DMqttMessage copy = new DMqttMessage(); - copy.topic = topic; - copy.payload = payload; - copy.retained = retained; - copy.qos = qos; - return copy; - } -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java deleted file mode 100644 index c80c15bbb..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/MqttWrapperActor.java +++ /dev/null @@ -1,286 +0,0 @@ -package trafficlight.connector; - -import org.eclipse.etrice.runtime.java.messaging.Address; -import org.eclipse.etrice.runtime.java.messaging.IRTObject; -import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; -import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - - -import trafficlight.connector.PMqtt.*; - -/*--------------------- begin user code ---------------------*/ -import de.protos.etrice.automation.m2m.mqtt.*; -/*--------------------- end user code ---------------------*/ - - -public class MqttWrapperActor extends ActorClassBase { - - - //--------------------- ports - protected PMqttPort fct = null; - - //--------------------- saps - - //--------------------- services - - //--------------------- interface item IDs - public static final int IFITEM_fct = 1; - - /*--------------------- attributes ---------------------*/ - MqttWrapper connectionMQTT; - boolean open; - /*--------------------- operations ---------------------*/ - public void MqttWrapperActor_dtor() { - connectionMQTT.disconnect(); - } - - //--------------------- construction - public MqttWrapperActor(IRTObject parent, String name) { - super(parent, name); - setClassName("MqttWrapperActor"); - - // initialize attributes - this.setConnectionMQTT(new MqttWrapper()); - this.setOpen(false); - - // own ports - fct = new PMqttPort(this, "fct", IFITEM_fct); - - // own saps - - // own service implementations - - // sub actors - - } - - /* --------------------- attribute setters and getters */ - public void setConnectionMQTT (MqttWrapper connectionMQTT) { - this.connectionMQTT = connectionMQTT; - } - public MqttWrapper getConnectionMQTT () { - return this.connectionMQTT; - } - public void setOpen (boolean open) { - this.open = open; - } - public boolean getOpen () { - return this.open; - } - - - //--------------------- port getters - public PMqttPort getFct (){ - return this.fct; - } - - //--------------------- lifecycle functions - public void stop(){ - stopUser(); - super.stop(); - } - - public void destroy(){ - MqttWrapperActor_dtor(); - super.destroy(); - } - - /* state IDs */ - public static final int STATE_NotInitialized = 2; - public static final int STATE_Connected = 3; - public static final int STATE_MAX = 4; - - /* transition chains */ - public static final int CHAIN_TRANS_INITIAL_TO__NotInitialized = 1; - public static final int CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct = 2; - public static final int CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3 = 3; - - /* triggers */ - public static final int POLLING = 0; - public static final int TRIG_fct__connect = IFITEM_fct + EVT_SHIFT*PMqtt.IN_connect; - public static final int TRIG_fct__publish = IFITEM_fct + EVT_SHIFT*PMqtt.IN_publish; - - // state names - protected static final String stateStrings[] = {"<no state>","<top>","NotInitialized", - "Connected" - }; - - // history - protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE}; - - private void setState(int new_state) { - DebuggingService.getInstance().addActorState(this,stateStrings[new_state]); - if (stateStrings[new_state]!="Idle") { - System.out.println("state switch of "+getInstancePath() + ": " - + stateStrings[this.state] + " -> " + stateStrings[new_state]); - } - this.state = new_state; - } - - /* Entry and Exit Codes */ - - /* Action Codes */ - protected void action_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct(InterfaceItemBase ifitem, DMqttConfig config) { - open=false; - connectionMQTT.connect(config.url, config.id); - //connectionMQTT.connect(new DMqttConfig("tcp://m2m.eclipse.org:1883", "eTrice-Paho-Tester")); - open=true; - } - protected void action_TRANS_tr2_FROM_cp0_TO_Connected_COND_tr2(InterfaceItemBase ifitem, DMqttConfig config) { - fct.connected(); - } - protected void action_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3(InterfaceItemBase ifitem, DMqttMessage message) { - connectionMQTT.publishString(message.topic, message.payload, message.retained, message.qos); - } - - /** - * calls exit codes while exiting from the current state to one of its - * parent states while remembering the history - * @param current - the current state - * @param to - the final parent state - */ - private void exitTo(int current, int to) { - while (current!=to) { - switch (current) { - case STATE_NotInitialized: - this.history[STATE_TOP] = STATE_NotInitialized; - current = STATE_TOP; - break; - case STATE_Connected: - this.history[STATE_TOP] = STATE_Connected; - current = STATE_TOP; - break; - default: - /* should not occur */ - break; - } - } - } - - /** - * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data - * matching the trigger of this chain. The ID of the final state is returned - * @param chain - the chain ID - * @param generic_data - the generic data pointer - * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa - */ - private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) { - switch (chain) { - case CHAIN_TRANS_INITIAL_TO__NotInitialized: - { - return STATE_NotInitialized; - } - case CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct: - { - DMqttConfig config = (DMqttConfig) generic_data; - action_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct(ifitem, config); - if (open==true) { - action_TRANS_tr2_FROM_cp0_TO_Connected_COND_tr2(ifitem, config); - return STATE_Connected;} - else { - return STATE_NotInitialized;} - } - case CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3: - { - DMqttMessage message = (DMqttMessage) generic_data; - action_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3(ifitem, message); - return STATE_Connected; - } - default: - /* should not occur */ - break; - } - return NO_STATE; - } - - /** - * calls entry codes while entering a state's history. The ID of the final leaf state is returned - * @param state - the state which is entered - * @return - the ID of the final leaf state - */ - private int enterHistory(int state) { - boolean skip_entry = false; - if (state >= STATE_MAX) { - state = (state - STATE_MAX); - skip_entry = true; - } - while (true) { - switch (state) { - case STATE_NotInitialized: - /* in leaf state: return state id */ - return STATE_NotInitialized; - case STATE_Connected: - /* in leaf state: return state id */ - return STATE_Connected; - case STATE_TOP: - state = this.history[STATE_TOP]; - break; - default: - /* should not occur */ - break; - } - skip_entry = false; - } - /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */ - } - - public void executeInitTransition() { - int chain = CHAIN_TRANS_INITIAL_TO__NotInitialized; - int next = executeTransitionChain(chain, null, null); - next = enterHistory(next); - setState(next); - } - - /* receiveEvent contains the main implementation of the FSM */ - public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) { - int trigger = ifitem.getLocalId() + EVT_SHIFT*evt; - int chain = NOT_CAUGHT; - int catching_state = NO_STATE; - - if (!handleSystemEvent(ifitem, evt, generic_data)) { - switch (getState()) { - case STATE_NotInitialized: - switch(trigger) { - case TRIG_fct__connect: - { - chain = CHAIN_TRANS_tr0_FROM_NotInitialized_TO_cp0_BY_connectfct; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_Connected: - switch(trigger) { - case TRIG_fct__publish: - { - chain = CHAIN_TRANS_tr3_FROM_Connected_TO_Connected_BY_publishfct_tr3; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - default: - /* should not occur */ - break; - } - } - if (chain != NOT_CAUGHT) { - exitTo(getState(), catching_state); - { - int next = executeTransitionChain(chain, ifitem, generic_data); - next = enterHistory(next); - setState(next); - } - } - } -}; diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java deleted file mode 100644 index b3a2b48f0..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PMqtt.java +++ /dev/null @@ -1,194 +0,0 @@ -package trafficlight.connector; - -import org.eclipse.etrice.runtime.java.messaging.Message; -import org.eclipse.etrice.runtime.java.modelbase.EventMessage; -import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage; -import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.modelbase.PortBase; -import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - - - -public class PMqtt { - // message IDs - public static final int MSG_MIN = 0; - public static final int OUT_connected = 1; - public static final int IN_connect = 2; - public static final int IN_publish = 3; - public static final int MSG_MAX = 4; - - - private static String messageStrings[] = {"MIN", "connected", "connect","publish","MAX"}; - - public String getMessageString(int msg_id) { - if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){ - // id out of range - return "Message ID out of range"; - } - else{ - return messageStrings[msg_id]; - } - } - - - // port class - static public class PMqttPort extends PortBase { - // constructors - public PMqttPort(IEventReceiver actor, String name, int localId) { - this(actor, name, localId, 0); - } - public PMqttPort(IEventReceiver actor, String name, int localId, int idx) { - super(actor, name, localId, idx); - DebuggingService.getInstance().addPortInstance(this); - } - - @Override - public void receive(Message m) { - if (!(m instanceof EventMessage)) - return; - EventMessage msg = (EventMessage) m; - if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { - if (messageStrings[msg.getEvtId()] != "timerTick"){ - DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); - } - if (msg instanceof EventWithDataMessage) - getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); - else - getActor().receiveEvent(this, msg.getEvtId(), null); - } - } - - - // sent messages - public void connected() { - if (messageStrings[ OUT_connected] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_connected]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_connected)); - } - } - - // replicated port class - static public class PMqttReplPort extends ReplicatedPortBase { - - public PMqttReplPort(IEventReceiver actor, String name, int localId) { - super(actor, name, localId); - } - - public int getReplication() { - return getNInterfaceItems(); - } - - public int getIndexOf(InterfaceItemBase ifitem){ - return ifitem.getIdx(); - } - - public PMqttPort get(int idx) { - return (PMqttPort) getInterfaceItem(idx); - } - - protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) { - return new PMqttPort(rcv, name, lid, idx); - } - - // outgoing messages - public void connected(){ - for (int i=0; i<getReplication(); ++i) { - get(i).connected(); - } - } - } - - - // port class - static public class PMqttConjPort extends PortBase { - // constructors - public PMqttConjPort(IEventReceiver actor, String name, int localId) { - this(actor, name, localId, 0); - } - public PMqttConjPort(IEventReceiver actor, String name, int localId, int idx) { - super(actor, name, localId, idx); - DebuggingService.getInstance().addPortInstance(this); - } - - @Override - public void receive(Message m) { - if (!(m instanceof EventMessage)) - return; - EventMessage msg = (EventMessage) m; - if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { - if (messageStrings[msg.getEvtId()] != "timerTick"){ - DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); - } - if (msg instanceof EventWithDataMessage) - getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); - else - getActor().receiveEvent(this, msg.getEvtId(), null); - } - } - - - // sent messages - public void connect(DMqttConfig config) { - if (messageStrings[ IN_connect] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_connect]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_connect, config.deepCopy())); - } - public void connect(String url, String id) { - connect(new DMqttConfig(url, id)); - } - public void publish(DMqttMessage message) { - if (messageStrings[ IN_publish] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_publish]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), IN_publish, message.deepCopy())); - } - public void publish(String topic, String payload, boolean retained, int qos) { - publish(new DMqttMessage(topic, payload, retained, qos)); - } - } - - // replicated port class - static public class PMqttConjReplPort extends ReplicatedPortBase { - - public PMqttConjReplPort(IEventReceiver actor, String name, int localId) { - super(actor, name, localId); - } - - public int getReplication() { - return getNInterfaceItems(); - } - - public int getIndexOf(InterfaceItemBase ifitem){ - return ifitem.getIdx(); - } - - public PMqttConjPort get(int idx) { - return (PMqttConjPort) getInterfaceItem(idx); - } - - protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) { - return new PMqttConjPort(rcv, name, lid, idx); - } - - // incoming messages - public void connect(DMqttConfig config){ - for (int i=0; i<getReplication(); ++i) { - get(i).connect( config); - } - } - public void publish(DMqttMessage message){ - for (int i=0; i<getReplication(); ++i) { - get(i).publish( message); - } - } - } - -} diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java deleted file mode 100644 index 3a6be752d..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/PTrafficLightInterface.java +++ /dev/null @@ -1,279 +0,0 @@ -package trafficlight.connector; - -import org.eclipse.etrice.runtime.java.messaging.Message; -import org.eclipse.etrice.runtime.java.modelbase.EventMessage; -import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage; -import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.modelbase.PortBase; -import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - - - -public class PTrafficLightInterface { - // message IDs - public static final int MSG_MIN = 0; - public static final int OUT_initialized = 1; - public static final int OUT_request = 2; - public static final int IN_initialize = 3; - public static final int IN_pedRed = 4; - public static final int IN_pedGreen = 5; - public static final int IN_pedOff = 6; - public static final int IN_carRed = 7; - public static final int IN_carYellow = 8; - public static final int IN_carGreen = 9; - public static final int IN_carOff = 10; - public static final int MSG_MAX = 11; - - - private static String messageStrings[] = {"MIN", "initialized","request", "initialize","pedRed","pedGreen","pedOff","carRed","carYellow","carGreen","carOff","MAX"}; - - public String getMessageString(int msg_id) { - if (msg_id<MSG_MIN || msg_id>MSG_MAX+1){ - // id out of range - return "Message ID out of range"; - } - else{ - return messageStrings[msg_id]; - } - } - - - // port class - static public class PTrafficLightInterfacePort extends PortBase { - // constructors - public PTrafficLightInterfacePort(IEventReceiver actor, String name, int localId) { - this(actor, name, localId, 0); - } - public PTrafficLightInterfacePort(IEventReceiver actor, String name, int localId, int idx) { - super(actor, name, localId, idx); - DebuggingService.getInstance().addPortInstance(this); - } - - @Override - public void receive(Message m) { - if (!(m instanceof EventMessage)) - return; - EventMessage msg = (EventMessage) m; - if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { - if (messageStrings[msg.getEvtId()] != "timerTick"){ - DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); - } - if (msg instanceof EventWithDataMessage) - getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); - else - getActor().receiveEvent(this, msg.getEvtId(), null); - } - } - - - // sent messages - public void initialized() { - if (messageStrings[ OUT_initialized] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_initialized]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_initialized)); - } - public void request() { - if (messageStrings[ OUT_request] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[OUT_request]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), OUT_request)); - } - } - - // replicated port class - static public class PTrafficLightInterfaceReplPort extends ReplicatedPortBase { - - public PTrafficLightInterfaceReplPort(IEventReceiver actor, String name, int localId) { - super(actor, name, localId); - } - - public int getReplication() { - return getNInterfaceItems(); - } - - public int getIndexOf(InterfaceItemBase ifitem){ - return ifitem.getIdx(); - } - - public PTrafficLightInterfacePort get(int idx) { - return (PTrafficLightInterfacePort) getInterfaceItem(idx); - } - - protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) { - return new PTrafficLightInterfacePort(rcv, name, lid, idx); - } - - // outgoing messages - public void initialized(){ - for (int i=0; i<getReplication(); ++i) { - get(i).initialized(); - } - } - public void request(){ - for (int i=0; i<getReplication(); ++i) { - get(i).request(); - } - } - } - - - // port class - static public class PTrafficLightInterfaceConjPort extends PortBase { - // constructors - public PTrafficLightInterfaceConjPort(IEventReceiver actor, String name, int localId) { - this(actor, name, localId, 0); - } - public PTrafficLightInterfaceConjPort(IEventReceiver actor, String name, int localId, int idx) { - super(actor, name, localId, idx); - DebuggingService.getInstance().addPortInstance(this); - } - - @Override - public void receive(Message m) { - if (!(m instanceof EventMessage)) - return; - EventMessage msg = (EventMessage) m; - if (0 < msg.getEvtId() && msg.getEvtId() < MSG_MAX) { - if (messageStrings[msg.getEvtId()] != "timerTick"){ - DebuggingService.getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), messageStrings[msg.getEvtId()]); - } - if (msg instanceof EventWithDataMessage) - getActor().receiveEvent(this, msg.getEvtId(), ((EventWithDataMessage)msg).getData()); - else - getActor().receiveEvent(this, msg.getEvtId(), null); - } - } - - - // sent messages - public void initialize() { - if (messageStrings[ IN_initialize] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_initialize]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_initialize)); - } - public void pedRed() { - if (messageStrings[ IN_pedRed] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedRed]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedRed)); - } - public void pedGreen() { - if (messageStrings[ IN_pedGreen] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedGreen]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedGreen)); - } - public void pedOff() { - if (messageStrings[ IN_pedOff] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_pedOff]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_pedOff)); - } - public void carRed() { - if (messageStrings[ IN_carRed] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carRed]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carRed)); - } - public void carYellow() { - if (messageStrings[ IN_carYellow] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carYellow]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carYellow)); - } - public void carGreen() { - if (messageStrings[ IN_carGreen] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carGreen]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carGreen)); - } - public void carOff() { - if (messageStrings[ IN_carOff] != "timerTick") { - DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[IN_carOff]); - } - if (getPeerAddress()!=null) - getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), IN_carOff)); - } - } - - // replicated port class - static public class PTrafficLightInterfaceConjReplPort extends ReplicatedPortBase { - - public PTrafficLightInterfaceConjReplPort(IEventReceiver actor, String name, int localId) { - super(actor, name, localId); - } - - public int getReplication() { - return getNInterfaceItems(); - } - - public int getIndexOf(InterfaceItemBase ifitem){ - return ifitem.getIdx(); - } - - public PTrafficLightInterfaceConjPort get(int idx) { - return (PTrafficLightInterfaceConjPort) getInterfaceItem(idx); - } - - protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) { - return new PTrafficLightInterfaceConjPort(rcv, name, lid, idx); - } - - // incoming messages - public void initialize(){ - for (int i=0; i<getReplication(); ++i) { - get(i).initialize(); - } - } - public void pedRed(){ - for (int i=0; i<getReplication(); ++i) { - get(i).pedRed(); - } - } - public void pedGreen(){ - for (int i=0; i<getReplication(); ++i) { - get(i).pedGreen(); - } - } - public void pedOff(){ - for (int i=0; i<getReplication(); ++i) { - get(i).pedOff(); - } - } - public void carRed(){ - for (int i=0; i<getReplication(); ++i) { - get(i).carRed(); - } - } - public void carYellow(){ - for (int i=0; i<getReplication(); ++i) { - get(i).carYellow(); - } - } - public void carGreen(){ - for (int i=0; i<getReplication(); ++i) { - get(i).carGreen(); - } - } - public void carOff(){ - for (int i=0; i<getReplication(); ++i) { - get(i).carOff(); - } - } - } - -} diff --git a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java b/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java deleted file mode 100644 index 52d3fbf85..000000000 --- a/examples/org.eclipse.etrice.tutorials.simulators.trafficlight.example/src-gen/trafficlight/connector/TrafficLightInterface.java +++ /dev/null @@ -1,419 +0,0 @@ -package trafficlight.connector; - -import org.eclipse.etrice.runtime.java.messaging.Address; -import org.eclipse.etrice.runtime.java.messaging.IRTObject; -import org.eclipse.etrice.runtime.java.messaging.IMessageReceiver; -import org.eclipse.etrice.runtime.java.modelbase.ActorClassBase; -import org.eclipse.etrice.runtime.java.modelbase.SubSystemClassBase; -import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase; -import org.eclipse.etrice.runtime.java.debugging.DebuggingService; -import static org.eclipse.etrice.runtime.java.etunit.EtUnit.*; - -import room.basic.service.tcp.*; - -import room.basic.service.tcp.PTcpControl.*; -import room.basic.service.tcp.PTcpPayload.*; -import trafficlight.connector.PTrafficLightInterface.*; - - - -public class TrafficLightInterface extends ActorClassBase { - - - //--------------------- ports - protected PTcpPayloadConjPort payload = null; - protected PTcpControlConjPort control = null; - protected PTrafficLightInterfacePort fct = null; - - //--------------------- saps - - //--------------------- services - - //--------------------- interface item IDs - public static final int IFITEM_payload = 1; - public static final int IFITEM_control = 2; - public static final int IFITEM_fct = 3; - - /*--------------------- attributes ---------------------*/ - DTcpControl tcpConfig; - /*--------------------- operations ---------------------*/ - public void sendString(String data) { - payload.send(new DTcpPayload(1, data.length(), data.getBytes())); - } - - //--------------------- construction - public TrafficLightInterface(IRTObject parent, String name) { - super(parent, name); - setClassName("TrafficLightInterface"); - - // initialize attributes - this.setTcpConfig(new DTcpControl()); - - // own ports - payload = new PTcpPayloadConjPort(this, "payload", IFITEM_payload); - control = new PTcpControlConjPort(this, "control", IFITEM_control); - fct = new PTrafficLightInterfacePort(this, "fct", IFITEM_fct); - - // own saps - - // own service implementations - - // sub actors - - } - - /* --------------------- attribute setters and getters */ - public void setTcpConfig (DTcpControl tcpConfig) { - this.tcpConfig = tcpConfig; - } - public DTcpControl getTcpConfig () { - return this.tcpConfig; - } - - - //--------------------- port getters - public PTcpPayloadConjPort getPayload (){ - return this.payload; - } - public PTcpControlConjPort getControl (){ - return this.control; - } - public PTrafficLightInterfacePort getFct (){ - return this.fct; - } - - //--------------------- lifecycle functions - public void stop(){ - stopUser(); - super.stop(); - } - - - /* state IDs */ - public static final int STATE_Uninitialized = 2; - public static final int STATE_Initializing = 3; - public static final int STATE_Running = 4; - public static final int STATE_MAX = 5; - - /* transition chains */ - public static final int CHAIN_TRANS_INITIAL_TO__Uninitialized = 1; - public static final int CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct = 2; - public static final int CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol = 3; - public static final int CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2 = 4; - public static final int CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3 = 5; - public static final int CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4 = 6; - public static final int CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5 = 7; - public static final int CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6 = 8; - public static final int CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7 = 9; - public static final int CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8 = 10; - public static final int CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9 = 11; - - /* triggers */ - public static final int POLLING = 0; - public static final int TRIG_control__established = IFITEM_control + EVT_SHIFT*PTcpControl.OUT_established; - public static final int TRIG_fct__carGreen = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carGreen; - public static final int TRIG_fct__carOff = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carOff; - public static final int TRIG_fct__carRed = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carRed; - public static final int TRIG_fct__carYellow = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_carYellow; - public static final int TRIG_fct__initialize = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_initialize; - public static final int TRIG_fct__pedGreen = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedGreen; - public static final int TRIG_fct__pedOff = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedOff; - public static final int TRIG_fct__pedRed = IFITEM_fct + EVT_SHIFT*PTrafficLightInterface.IN_pedRed; - public static final int TRIG_payload__receive = IFITEM_payload + EVT_SHIFT*PTcpPayload.OUT_receive; - - // state names - protected static final String stateStrings[] = {"<no state>","<top>","Uninitialized", - "Initializing", - "Running" - }; - - // history - protected int history[] = {NO_STATE,NO_STATE,NO_STATE,NO_STATE,NO_STATE}; - - private void setState(int new_state) { - DebuggingService.getInstance().addActorState(this,stateStrings[new_state]); - if (stateStrings[new_state]!="Idle") { - System.out.println("state switch of "+getInstancePath() + ": " - + stateStrings[this.state] + " -> " + stateStrings[new_state]); - } - this.state = new_state; - } - - /* Entry and Exit Codes */ - - /* Action Codes */ - protected void action_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct(InterfaceItemBase ifitem) { - control.open(tcpConfig); - } - protected void action_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol(InterfaceItemBase ifitem) { - fct.initialized(); - } - protected void action_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2(InterfaceItemBase ifitem) { - sendString(new String("pedLights=red\n")); - } - protected void action_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3(InterfaceItemBase ifitem) { - sendString(new String("pedLights=off\n")); - } - protected void action_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4(InterfaceItemBase ifitem) { - sendString(new String("pedLights=green\n")); - } - protected void action_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5(InterfaceItemBase ifitem) { - sendString(new String("carLights=red\n")); - } - protected void action_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6(InterfaceItemBase ifitem) { - sendString(new String("carLights=yellow\n")); - } - protected void action_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7(InterfaceItemBase ifitem) { - sendString(new String("carLights=green\n")); - } - protected void action_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8(InterfaceItemBase ifitem) { - sendString(new String("carLights=off\n")); - } - protected void action_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9(InterfaceItemBase ifitem, DTcpPayload data) { - fct.request(); - } - - /** - * calls exit codes while exiting from the current state to one of its - * parent states while remembering the history - * @param current - the current state - * @param to - the final parent state - */ - private void exitTo(int current, int to) { - while (current!=to) { - switch (current) { - case STATE_Uninitialized: - this.history[STATE_TOP] = STATE_Uninitialized; - current = STATE_TOP; - break; - case STATE_Initializing: - this.history[STATE_TOP] = STATE_Initializing; - current = STATE_TOP; - break; - case STATE_Running: - this.history[STATE_TOP] = STATE_Running; - current = STATE_TOP; - break; - default: - /* should not occur */ - break; - } - } - } - - /** - * calls action, entry and exit codes along a transition chain. The generic data are cast to typed data - * matching the trigger of this chain. The ID of the final state is returned - * @param chain - the chain ID - * @param generic_data - the generic data pointer - * @return the +/- ID of the final state either with a positive sign, that indicates to execute the state's entry code, or a negative sign vice versa - */ - private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object generic_data) { - switch (chain) { - case CHAIN_TRANS_INITIAL_TO__Uninitialized: - { - return STATE_Uninitialized; - } - case CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct: - { - action_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct(ifitem); - return STATE_Initializing; - } - case CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol: - { - action_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2: - { - action_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3: - { - action_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4: - { - action_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5: - { - action_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6: - { - action_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7: - { - action_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8: - { - action_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8(ifitem); - return STATE_Running; - } - case CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9: - { - DTcpPayload data = (DTcpPayload) generic_data; - action_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9(ifitem, data); - return STATE_Running; - } - default: - /* should not occur */ - break; - } - return NO_STATE; - } - - /** - * calls entry codes while entering a state's history. The ID of the final leaf state is returned - * @param state - the state which is entered - * @return - the ID of the final leaf state - */ - private int enterHistory(int state) { - boolean skip_entry = false; - if (state >= STATE_MAX) { - state = (state - STATE_MAX); - skip_entry = true; - } - while (true) { - switch (state) { - case STATE_Uninitialized: - /* in leaf state: return state id */ - return STATE_Uninitialized; - case STATE_Initializing: - /* in leaf state: return state id */ - return STATE_Initializing; - case STATE_Running: - /* in leaf state: return state id */ - return STATE_Running; - case STATE_TOP: - state = this.history[STATE_TOP]; - break; - default: - /* should not occur */ - break; - } - skip_entry = false; - } - /* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */ - } - - public void executeInitTransition() { - int chain = CHAIN_TRANS_INITIAL_TO__Uninitialized; - int next = executeTransitionChain(chain, null, null); - next = enterHistory(next); - setState(next); - } - - /* receiveEvent contains the main implementation of the FSM */ - public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) { - int trigger = ifitem.getLocalId() + EVT_SHIFT*evt; - int chain = NOT_CAUGHT; - int catching_state = NO_STATE; - - if (!handleSystemEvent(ifitem, evt, generic_data)) { - switch (getState()) { - case STATE_Uninitialized: - switch(trigger) { - case TRIG_fct__initialize: - { - chain = CHAIN_TRANS_tr0_FROM_Uninitialized_TO_Initializing_BY_initializefct; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_Initializing: - switch(trigger) { - case TRIG_control__established: - { - chain = CHAIN_TRANS_tr1_FROM_Initializing_TO_Running_BY_establishedcontrol; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - case STATE_Running: - switch(trigger) { - case TRIG_fct__pedRed: - { - chain = CHAIN_TRANS_tr2_FROM_Running_TO_Running_BY_pedRedfct_tr2; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__pedOff: - { - chain = CHAIN_TRANS_tr3_FROM_Running_TO_Running_BY_pedOfffct_tr3; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__pedGreen: - { - chain = CHAIN_TRANS_tr4_FROM_Running_TO_Running_BY_pedGreenfct_tr4; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__carRed: - { - chain = CHAIN_TRANS_tr5_FROM_Running_TO_Running_BY_carRedfct_tr5; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__carYellow: - { - chain = CHAIN_TRANS_tr6_FROM_Running_TO_Running_BY_carYellowfct_tr6; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__carGreen: - { - chain = CHAIN_TRANS_tr7_FROM_Running_TO_Running_BY_carGreenfct_tr7; - catching_state = STATE_TOP; - } - break; - case TRIG_fct__carOff: - { - chain = CHAIN_TRANS_tr8_FROM_Running_TO_Running_BY_carOfffct_tr8; - catching_state = STATE_TOP; - } - break; - case TRIG_payload__receive: - { - chain = CHAIN_TRANS_tr9_FROM_Running_TO_Running_BY_receivepayload_tr9; - catching_state = STATE_TOP; - } - break; - default: - /* should not occur */ - break; - } - break; - default: - /* should not occur */ - break; - } - } - if (chain != NOT_CAUGHT) { - exitTo(getState(), catching_state); - { - int next = executeTransitionChain(chain, ifitem, generic_data); - next = enterHistory(next); - setState(next); - } - } - } -}; |