added v2.0 of Transformation Framework based on OSSGI DS 1.3
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/TransformationFramework_OSGI_DS_Based_Design.eap b/eclipse-tools/model-transformation/doc/DesignDiagram/TransformationFramework_OSGI_DS_Based_Design.eap
new file mode 100644
index 0000000..87bdfbb
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/TransformationFramework_OSGI_DS_Based_Design.eap
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.app.png b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.app.png
new file mode 100644
index 0000000..1e5bfcf
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.app.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2m.png b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2m.png
new file mode 100644
index 0000000..79d3f48
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2m.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2t.png b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2t.png
new file mode 100644
index 0000000..e5e1d33
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/images/consumer/app4mc.example.transform.m2t.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.application.png b/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.application.png
new file mode 100644
index 0000000..2a7820b
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.application.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.extension.png b/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.extension.png
new file mode 100644
index 0000000..c52d724
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/DesignDiagram/images/framework/org.eclipse.app4mc.transformation.extension.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/amalthea-to-inchron-transformation/Amalthea_to_Inchron_Transformation.xmind b/eclipse-tools/model-transformation/doc/amalthea-to-inchron-transformation/Amalthea_to_Inchron_Transformation.xmind
deleted file mode 100644
index 5f4f858..0000000
--- a/eclipse-tools/model-transformation/doc/amalthea-to-inchron-transformation/Amalthea_to_Inchron_Transformation.xmind
+++ /dev/null
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/Amalthea_to_Inchron_Transformation.png b/eclipse-tools/model-transformation/doc/archive/Amalthea_to_Inchron_Transformation.png
similarity index 100%
rename from eclipse-tools/model-transformation/doc/Amalthea_to_Inchron_Transformation.png
rename to eclipse-tools/model-transformation/doc/archive/Amalthea_to_Inchron_Transformation.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/ModelTransformation_Slides.pdf b/eclipse-tools/model-transformation/doc/archive/ModelTransformation_Slides.pdf
similarity index 100%
rename from eclipse-tools/model-transformation/doc/ModelTransformation_Slides.pdf
rename to eclipse-tools/model-transformation/doc/archive/ModelTransformation_Slides.pdf
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/ModelTransformation_Slides.pptx b/eclipse-tools/model-transformation/doc/archive/ModelTransformation_Slides.pptx
similarity index 100%
rename from eclipse-tools/model-transformation/doc/ModelTransformation_Slides.pptx
rename to eclipse-tools/model-transformation/doc/archive/ModelTransformation_Slides.pptx
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/TransformationFramework-Inheritance.graphml b/eclipse-tools/model-transformation/doc/archive/TransformationFramework-Inheritance.graphml
similarity index 100%
rename from eclipse-tools/model-transformation/doc/TransformationFramework-Inheritance.graphml
rename to eclipse-tools/model-transformation/doc/archive/TransformationFramework-Inheritance.graphml
diff --git a/eclipse-tools/model-transformation/doc/TransformationFramework-Inheritance.png b/eclipse-tools/model-transformation/doc/archive/TransformationFramework-Inheritance.png
similarity index 100%
rename from eclipse-tools/model-transformation/doc/TransformationFramework-Inheritance.png
rename to eclipse-tools/model-transformation/doc/archive/TransformationFramework-Inheritance.png
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/TransformationFramework-SwArchitecture.graphml b/eclipse-tools/model-transformation/doc/archive/TransformationFramework-SwArchitecture.graphml
similarity index 100%
rename from eclipse-tools/model-transformation/doc/TransformationFramework-SwArchitecture.graphml
rename to eclipse-tools/model-transformation/doc/archive/TransformationFramework-SwArchitecture.graphml
diff --git a/eclipse-tools/model-transformation/doc/archive/developers_guide.docx b/eclipse-tools/model-transformation/doc/archive/developers_guide.docx
new file mode 100644
index 0000000..acba651
--- /dev/null
+++ b/eclipse-tools/model-transformation/doc/archive/developers_guide.docx
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/developers_guide.pdf b/eclipse-tools/model-transformation/doc/archive/developers_guide.pdf
similarity index 100%
rename from eclipse-tools/model-transformation/doc/developers_guide.pdf
rename to eclipse-tools/model-transformation/doc/archive/developers_guide.pdf
Binary files differ
diff --git a/eclipse-tools/model-transformation/doc/developers_guide.docx b/eclipse-tools/model-transformation/doc/developers_guide.docx
index acba651..4cf71a4 100644
--- a/eclipse-tools/model-transformation/doc/developers_guide.docx
+++ b/eclipse-tools/model-transformation/doc/developers_guide.docx
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.classpath b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.classpath
deleted file mode 100644
index e3da72b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry exported="true" kind="lib" path="libs/com.inchron.realtime.root_2.98.5.201903151424.jar" sourcepath="libs-src/com.inchron.realtime.root.source_2.98.5.201903151424.zip"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.gitignore
deleted file mode 100644
index 944a1c7..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
-/output
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/META-INF/MANIFEST.MF
deleted file mode 100644
index ab07448..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,36 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: com.inchron.realtime.root
-Bundle-SymbolicName: com.inchron.realtime.root
-Bundle-Version: 2.98.5.qualifier
-Bundle-Vendor: Eclipse INCHRON
-Automatic-Module-Name: com.inchron.realtime.root
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.emf,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi
-Bundle-ClassPath: libs/com.inchron.realtime.root_2.98.5.201903151424.jar
-Export-Package: com.inchron.realtime.root,
- com.inchron.realtime.root.impl,
- com.inchron.realtime.root.model,
- com.inchron.realtime.root.model.autosar,
- com.inchron.realtime.root.model.autosar.impl,
- com.inchron.realtime.root.model.autosar.util,
- com.inchron.realtime.root.model.impl,
- com.inchron.realtime.root.model.memory,
- com.inchron.realtime.root.model.memory.impl,
- com.inchron.realtime.root.model.memory.util,
- com.inchron.realtime.root.model.peripheral,
- com.inchron.realtime.root.model.peripheral.impl,
- com.inchron.realtime.root.model.peripheral.util,
- com.inchron.realtime.root.model.requirement,
- com.inchron.realtime.root.model.requirement.impl,
- com.inchron.realtime.root.model.requirement.util,
- com.inchron.realtime.root.model.stimulation,
- com.inchron.realtime.root.model.stimulation.impl,
- com.inchron.realtime.root.model.stimulation.util,
- com.inchron.realtime.root.model.util,
- com.inchron.realtime.root.settings,
- com.inchron.realtime.root.settings.impl,
- com.inchron.realtime.root.settings.util,
- com.inchron.realtime.root.util
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/build.properties
deleted file mode 100644
index be7cce9..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-output.. = bin/
-bin.includes = META-INF/,\
- libs/com.inchron.realtime.root_2.98.5.201903151424.jar
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs-src/com.inchron.realtime.root.source_2.98.5.201903151424.zip b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs-src/com.inchron.realtime.root.source_2.98.5.201903151424.zip
deleted file mode 100644
index e1d0892..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs-src/com.inchron.realtime.root.source_2.98.5.201903151424.zip
+++ /dev/null
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs/com.inchron.realtime.root_2.98.5.201903151424.jar b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs/com.inchron.realtime.root_2.98.5.201903151424.jar
deleted file mode 100644
index e0cf6d9..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/libs/com.inchron.realtime.root_2.98.5.201903151424.jar
+++ /dev/null
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/license.txt b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/license.txt
deleted file mode 100644
index 3623da9..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/license.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-License
-
-Copyright © 2018 INCHRON GmbH
-
-This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/.
-SPDX-License-Identifier: EPL-2.0
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/readme.txt b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/readme.txt
deleted file mode 100644
index 8ce3548..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/license/readme.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Contents of this plugin are downloaded from : https://eclipse.inchron.com/realtime/updatesites/release/2.98.2/
-
-Description from IPZilla w.r.t. clearance of CQ 16813
-
-Name: INCHRON Realtime System Model 2.98.2
-Description: INCHRON Realtime System Model provides a possibility to design
-the most suitable software and hardware architecture as well as the perfect
-task mapping onto the processors. Generated Inchron models can be used for
-real-time simulation, analysis and in-depth forecast of your embedded
-software's dynamic performance.
-
-In APP4MC tools project we are developing a tool to transform Amalthea model to
-Inchron model (M2M). As a part of the target we use the Inchron update site.
-
-
-Due Diligence: Type_A
-License(s): Eclipse Public License
-
-Project URL: http://www.inchron.com
-Source URL: http://eclipse.inchron.com/realtime/updatesites/release/2.98.2/
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.ecore b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.ecore
deleted file mode 100644
index 36fac50..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.ecore
+++ /dev/null
@@ -1,1502 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<ecore:EPackage xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmi:version="2.0" name="root" nsURI="http://inchron.com/realtime/root/2.98.3" nsPrefix="root">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="copyright" value="Copyright (c) 2017-2018 INCHRON GmbH This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: INCHRON GmbH - Meta Model design and implementation"/>
- </eAnnotations>
- <eClassifiers xsi:type="ecore:EClass" name="Referrable">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="intrinsicId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" iD="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Root">
- <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//model/ContainerElement" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="settings" lowerBound="1" eType="#//settings/Settings" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="DirectoryName" instanceClassName="java.lang.String"/>
- <eClassifiers xsi:type="ecore:EDataType" name="FileName" instanceClassName="java.lang.String"/>
- <eClassifiers xsi:type="ecore:EDataType" name="MultiLineText" instanceClassName="java.lang.String"/>
- <eSubpackages name="model" nsURI="http://inchron.com/realtime/root/2.98.3/model" nsPrefix="model">
- <eClassifiers xsi:type="ecore:EClass" name="AbstractCpuModel" abstract="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="ActivateProcess" eSuperTypes="#//model/ActivationAction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" eType="#//model/Process">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActivationConnection" eSuperTypes="#//model/Connection">
- <eStructuralFeatures xsi:type="ecore:EReference" name="activators" lowerBound="1" upperBound="-1" eType="#//model/ActivationItem" eOpposite="#//model/ActivationItem/connection"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="andSemantic" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActivationItem" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="connection" lowerBound="1" eType="#//model/ActivationConnection" eOpposite="#//model/ActivationConnection/activators"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="delay" eType="#//model/TimeDistribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ActivationAction" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="delay" eType="#//model/TimeDistribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AddressRange">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="base" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ArincSystem" eSuperTypes="#//model/System"/>
- <eClassifiers xsi:type="ecore:EEnum" name="BufferStrategy">
- <eLiterals name="SlotOrder"/>
- <eLiterals name="Priority" value="1"/>
- <eLiterals name="FIFO" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BusMessage" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="fullMessages" upperBound="-1" eType="#//model/MessageData" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/TraceEvent" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inCallGraph" eType="#//model/CallGraph" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="outCallGraph" eType="#//model/CallGraph" containment="true">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CallbackFunction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="entryFunction" lowerBound="1" eType="#//model/SourceFunction"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/CallbackFunctionType"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="CallbackFunctionType">
- <eLiterals name="Init"/>
- <eLiterals name="ProcessActivated" value="1"/>
- <eLiterals name="ProcessBlocked" value="2"/>
- <eLiterals name="ProcessTerminated" value="3"/>
- <eLiterals name="ProcessUnblocked" value="4"/>
- <eLiterals name="CooperativeSchedule" value="5"/>
- <eLiterals name="SubschedulerChanged" value="6"/>
- <eLiterals name="TimerExpired" value="7"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CallGraph">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="endlessLoop" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="graphEntries" upperBound="-1" eType="#//model/GraphEntryBase" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CallSequence" eSuperTypes="#//model/GraphEntryBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="calls" upperBound="-1" eType="#//model/CallSequenceItem" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CallSequenceItem" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CANBusMessage" eSuperTypes="#//model/BusMessage">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="format" lowerBound="1" eType="#//model/CANBusMessageFormat" defaultValueLiteral="Standard"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="canId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="CANBusMessageFormat">
- <eLiterals name="Standard"/>
- <eLiterals name="Extended" value="1"/>
- <eLiterals name="J1939_TP_BAM" value="2"/>
- <eLiterals name="J1939_TP_P2P" value="3"/>
- <eLiterals name="Ignore" value="4"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Clock" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="frequency" eType="#//model/Frequency" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="period" ordered="false" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="drift" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="range" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startTimeFixed" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="startTimeIsRandom" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startTimeMin" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startTimeMax" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startValue" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="users" upperBound="-1" eType="#//model/ClockUser" eOpposite="#//model/ClockUser/clock">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClockUser" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="clock" lowerBound="1" eType="#//model/Clock" eOpposite="#//model/Clock/users"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Container" eSuperTypes="#//model/ModelObject #//model/ContainerElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1" eType="#//model/ContainerElement" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ContainerElement" abstract="true"/>
- <eClassifiers xsi:type="ecore:EClass" name="CompilerSettings">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTargetCompiler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTargetCompilerOverrideValues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="args" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1" eType="#//model/memory/DataObject" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="functions" upperBound="-1" eType="#//model/Function" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="translationUnits" upperBound="-1" eType="#//model/TranslationUnit"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ConditionalTraceEvent" eSuperTypes="#//model/EventChainStep">
- <eStructuralFeatures xsi:type="ecore:EReference" name="traceEvent" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//model/Process"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueConstraint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Connection" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="activations" upperBound="-1" eType="#//model/ActivationAction" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Cpu" eSuperTypes="#//model/ModelObject #//model/TraceObject #//model/LoadResource #//model/ClockUser">
- <eStructuralFeatures xsi:type="ecore:EReference" name="cores" ordered="false" lowerBound="1" upperBound="-1" eType="#//model/CpuCore" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="cpuModel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="reloadCpuModel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="hypervisor" eType="#//model/HyperVisorConfig" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="interconnects" upperBound="-1" eType="#//model/memory/Interconnect" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="memories" upperBound="-1" eType="#//model/memory/Memory" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="memoryRegions" upperBound="-1" eType="#//model/MemoryRegion" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="partitions" upperBound="-1" eType="#//model/Partition" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="peripherals" upperBound="-1" eType="#//model/peripheral/Peripheral" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CpuCore" eSuperTypes="#//model/ModelObject #//model/TraceObject #//model/LoadResource">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prescaler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="32"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connectedSlave" lowerBound="1" eType="#//model/memory/InitiatorPort" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataFlow" eSuperTypes="#//model/EventChain">
- <eStructuralFeatures xsi:type="ecore:EReference" name="edges" upperBound="-1" eType="#//model/DataFlowEdge" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="references" upperBound="-1" eType="#//model/DataFlowReference" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataFlowConnection" eSuperTypes="#//model/Connection">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="communicationType" eType="#//model/DataFlowCommunicationType" defaultValueLiteral="EventBased"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultElements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="provider" lowerBound="1" eType="#//model/VariableWriteAccess" eOpposite="#//model/VariableWriteAccess/connection">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="requesters" lowerBound="1" upperBound="-1" eType="#//model/VariableReadAccess" eOpposite="#//model/VariableReadAccess/connection"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="DataFlowCommunicationType">
- <eLiterals name="EventBased" literal="EventBased"/>
- <eLiterals name="SharedVariable" value="1"/>
- <eLiterals name="Queuing" value="2" literal="Queuing"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataFlowEdge">
- <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" lowerBound="1" eType="#//model/VariableAccess">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="response" lowerBound="1" eType="#//model/VariableAccess">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataFlowReference">
- <eStructuralFeatures xsi:type="ecore:EReference" name="dataFlow" lowerBound="1" eType="#//model/DataFlow"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="stimulus" lowerBound="1" eType="#//model/VariableAccess">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="response" lowerBound="1" eType="#//model/VariableAccess">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DiscreteDistributionEntry">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="count" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="execTime" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EnforcedMigration" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="EstimatorSettings">
- <eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//model/AbstractCpuModel" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="optCompiler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="optVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="optLabels" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="optFlags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectedOpt" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Event" eSuperTypes="#//model/ModelObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="EventChain" abstract="true" eSuperTypes="#//model/ModelObject #//model/TraceObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="EventChainStep" abstract="true" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="EventConjunctionOperatorType">
- <eLiterals name="AND"/>
- <eLiterals name="OR" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventSequence" eSuperTypes="#//model/EventChain">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="outOfOrderReset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="sequence" upperBound="-1" eType="#//model/ConditionalTraceEvent" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Frequency">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="1000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" lowerBound="1" eType="#//model/FrequencyUnit" defaultValueLiteral="MHz"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="FrequencyUnit">
- <eLiterals name="Hz"/>
- <eLiterals name="kHz" value="1"/>
- <eLiterals name="MHz" value="2"/>
- <eLiterals name="GHz" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="callGraph" eType="#//model/CallGraph" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FunctionCall" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="function" lowerBound="1" eType="#//model/Function">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="guards" upperBound="-1" eType="#//model/SetGuard" eOpposite="#//model/SetGuard/functionCall">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/Event">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventConjunctionOperator" eType="#//model/EventConjunctionOperatorType" defaultValueLiteral="OR"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GraphEntryBase" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="triggerTokens" upperBound="-1" eType="#//model/TriggerToken"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GeneralInfo">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="author" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="creator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="modifiedDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectFile" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="saveDir" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GenericSystem" eSuperTypes="#//model/System">
- <eStructuralFeatures xsi:type="ecore:EReference" name="rtosConfig" lowerBound="1" eType="#//model/RtosConfig" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="HyperVisorConfig" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="hyperVisorSystem" eType="#//model/System"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="vmSchedulers" upperBound="-1" eType="#//model/Scheduler" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="virtualCores" upperBound="-1" eType="#//model/CpuCore" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="HyperVisorSystemSchedulable" eSuperTypes="#//model/Schedulable">
- <eStructuralFeatures xsi:type="ecore:EReference" name="virtualSystem" eType="#//model/System"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="HyperVisorVirtualCoreSchedulable" eSuperTypes="#//model/Schedulable">
- <eStructuralFeatures xsi:type="ecore:EReference" name="virtualCore" eType="#//model/CpuCore"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="LoadResource" abstract="true">
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MemoryRegion" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="base" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="file" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="flags" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pageSize" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="sections" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="sharedName" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="MemoryRegionFlags">
- <eLiterals name="Code" value="1"/>
- <eLiterals name="Data" value="2"/>
- <eLiterals name="IO" value="4"/>
- <eLiterals name="Shared" value="8"/>
- <eLiterals name="Exec" value="16"/>
- <eLiterals name="Write" value="32"/>
- <eLiterals name="Init" value="256"/>
- <eLiterals name="Load" value="512"/>
- <eLiterals name="Paged" value="1024"/>
- <eLiterals name="Text" value="273"/>
- <eLiterals name="Ram" value="307"/>
- <eLiterals name="Rom" value="275"/>
- <eLiterals name="Periph" value="36"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MessageData" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Mode" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeCondition" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="conjunctions" lowerBound="1" upperBound="-1" eType="#//model/ModeConjunction" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeConditionEvaluation" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//model/ModeCondition"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeConjunction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="modes" lowerBound="1" upperBound="-1" eType="#//model/Mode">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeGroup" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="modes" upperBound="-1" eType="#//model/Mode" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initialMode" lowerBound="1" eType="#//model/Mode">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Model" eSuperTypes="#//model/ModelObject #//model/ContainerElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="busPeripherals" upperBound="-1" eType="#//model/peripheral/Bus" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="clocks" upperBound="-1" eType="#//model/Clock" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="cpus" upperBound="-1" eType="#//model/Cpu" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1" eType="#//model/Connection" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventChains" upperBound="-1" eType="#//model/EventChain" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/Event" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fmi" eType="#//model/fmi/ModelDescription" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="generalInfo" eType="#//model/GeneralInfo" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="globalModeConditions" upperBound="-1" eType="#//model/ModeCondition" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="globalModeGroups" upperBound="-1" eType="#//model/ModeGroup" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="interconnects" upperBound="-1" eType="#//model/memory/Interconnect" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="memories" upperBound="-1" eType="#//model/memory/Memory" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="omitCallNestingDiagram" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="omitImplicitEventChains" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="omitStackDiagram" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="peripheralPortConnections" upperBound="-1" eType="#//model/peripheral/PortConnection" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="requirements" upperBound="-1" eType="#//model/requirement/Requirement" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="stimulationScenarios" upperBound="-1" eType="#//model/stimulation/StimulationScenario" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="defaultScenario" eType="#//model/stimulation/StimulationScenario"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="systems" upperBound="-1" eType="#//model/System" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="traceEvents" upperBound="-1" eType="#//model/TraceEvent" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModelObject" abstract="true" eSuperTypes="#//Referrable">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeSwitch" eSuperTypes="#//model/GraphEntryBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="defaultEntry" eType="#//model/ModeSwitchDefault" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1" eType="#//model/ModeSwitchEntry" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeSwitchDefault">
- <eStructuralFeatures xsi:type="ecore:EReference" name="graphEntries" upperBound="-1" eType="#//model/GraphEntryBase" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeSwitchEntry">
- <eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" eType="#//model/ModeCondition">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="graphEntries" upperBound="-1" eType="#//model/GraphEntryBase" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="negated" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModeSwitchPoint" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="mode" lowerBound="1" eType="#//model/Mode">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Partition" eSuperTypes="#//model/ModelObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="ProbabilitySwitch" eSuperTypes="#//model/GraphEntryBase">
- <eStructuralFeatures xsi:type="ecore:EReference" name="entries" upperBound="-1" eType="#//model/ProbabilitySwitchEntry" containment="true">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ProbabilitySwitchEntry">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="graphEntries" upperBound="-1" eType="#//model/GraphEntryBase" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Process" eSuperTypes="#//model/Schedulable">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="activationLimit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="activeAtBoot" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="callGraph" eType="#//model/CallGraph" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="deadline" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="extendedTask" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="traceEvents" upperBound="-1" eType="#//model/TraceEvent" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="idleTask" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isr" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="preemptable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="stackLimit" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1024"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="triggeringPort" ordered="false" upperBound="-1" eType="#//model/peripheral/InterruptPort" eOpposite="#//model/peripheral/InterruptPort/isrs"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ResourceConsumption" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="dataAccess" upperBound="-1" eType="#//model/memory/DataAccess" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="entryFunction" eType="#//model/SourceFunction"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="stackUsage" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="timeDistribution" lowerBound="1" eType="#//model/TimeDistribution" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="useEntryFunction" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ResumeAllInterrupts" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="RtosConfig" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="schedulables" ordered="false" upperBound="-1" eType="#//model/Schedulable" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="semaphores" ordered="false" upperBound="-1" eType="#//model/Semaphore" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="spinlocks" ordered="false" upperBound="-1" eType="#//model/Spinlock" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/Event" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RtosModel">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="reloadRtosModel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="rtosProperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="returnType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="library" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="header" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nameSpace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="userHeader" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="stateNames" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="apiPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="rtosApiType" eType="#//model/RtosApiType" defaultValueLiteral="None"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RtosApiType">
- <eLiterals name="None"/>
- <eLiterals name="Clib" value="1"/>
- <eLiterals name="Osek" value="2"/>
- <eLiterals name="Autosar" value="3"/>
- <eLiterals name="Threadx" value="4"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RtosProperty">
- <eLiterals name="Bare"/>
- <eLiterals name="ExplicitTaskDefinition" value="1"/>
- <eLiterals name="SuspendWhenTaskReturns" value="2"/>
- <eLiterals name="TaskReturnForbidden" value="4"/>
- <eLiterals name="ResourceNeedsInit" value="8"/>
- <eLiterals name="AutosarRTEEvents" value="16"/>
- <eLiterals name="ExtendedTask" value="32"/>
- <eLiterals name="Osek" value="15"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Schedulable" abstract="true" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="cpuCores" upperBound="-1" eType="#//model/CpuCore"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Scheduler" eSuperTypes="#//model/Schedulable">
- <eStructuralFeatures xsi:type="ecore:EReference" name="schedulables" ordered="false" upperBound="-1" eType="#//model/Schedulable" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1" eType="#//model/SchedulerType" defaultValueLiteral="Preemptive"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" ordered="false" lowerBound="1" eType="#//model/SchedulerStrategy" defaultValueLiteral="FixedPriority"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="timeSlice" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tdmaSchedule" upperBound="-1" eType="#//model/SchedulingEntry" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronized" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="maxRetard" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="maxAdvance" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="syncSource" eType="#//model/ModelObject"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="cycleStartProcess" eType="#//model/Process"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prioritiesPropagated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="priorityInversed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="callbacks" upperBound="-1" eType="#//model/CallbackFunction" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="callbackCoreAffinity" upperBound="-1" eType="#//model/CpuCore"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SchedulerStrategy">
- <eLiterals name="FCFS"/>
- <eLiterals name="FixedPriority" value="1"/>
- <eLiterals name="RoundRobin" value="2"/>
- <eLiterals name="OSEK" value="3"/>
- <eLiterals name="TDMA" value="4"/>
- <eLiterals name="EDF" value="5"/>
- <eLiterals name="FixedIsrPriority" value="6"/>
- <eLiterals name="UserDefined" value="7"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SchedulerType">
- <eLiterals name="Preemptive"/>
- <eLiterals name="Cooperative" value="1"/>
- <eLiterals name="TimeSlice" value="2"/>
- <eLiterals name="RunToCompletion" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SchedulingEntry">
- <eStructuralFeatures xsi:type="ecore:EReference" name="item" lowerBound="1" eType="#//model/Schedulable"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="slotLength" lowerBound="1" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SchedulePoint" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="Semaphore" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SemaphoreAccess" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="semaphore" lowerBound="1" eType="#//model/Semaphore"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//model/SemaphoreAccessType" defaultValueLiteral="Request"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SemaphoreAccessType">
- <eLiterals name="Request"/>
- <eLiterals name="Exclusive" value="1">
- </eLiterals>
- <eLiterals name="Release" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SendMessage" eSuperTypes="#//model/ActivationAction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="message" lowerBound="1" eType="#//model/BusMessage"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SetEvent" eSuperTypes="#//model/ActivationAction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="1" upperBound="-1" eType="#//model/Event">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//model/Process">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="forAll" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SetGuard" eSuperTypes="#//model/ActivationAction">
- <eStructuralFeatures xsi:type="ecore:EReference" name="functionCall" lowerBound="1" eType="#//model/FunctionCall" eOpposite="#//model/FunctionCall/guards"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SourceFunction" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="traceEvents" upperBound="-1" eType="#//model/TraceEvent" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SpecSettings">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="includes" ordered="false" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=" "/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="macros" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=" "/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prependSettings" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Spinlock" eSuperTypes="#//model/ModelObject #//model/TraceObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="SpinlockOperation" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" eType="#//model/SpinlockOperationType" defaultValueLiteral="Acquire"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="spinlock" eType="#//model/Spinlock"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SpinlockOperationType">
- <eLiterals name="Acquire"/>
- <eLiterals name="Release" value="1"/>
- <eLiterals name="TryAcquire" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SuspendAllInterrupts" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="System" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="compilerSettings" eType="#//model/CompilerSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1" eType="#//model/Component" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="modeConditions" upperBound="-1" eType="#//model/ModeCondition" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="modeGroups" upperBound="-1" eType="#//model/ModeGroup" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="rtosModel" eType="#//model/RtosModel" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="specSettings" eType="#//model/SpecSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="translationUnits" upperBound="-1" eType="#//model/TranslationUnit" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ThreadXSystem" eSuperTypes="#//model/System"/>
- <eClassifiers xsi:type="ecore:EClass" name="Time">
- <eOperations name="denormalize">
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false" lowerBound="1" eType="#//model/TimeUnit" defaultValueLiteral="ps"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TimeDistribution">
- <eStructuralFeatures xsi:type="ecore:EReference" name="min" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="max" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="mean" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="sigma" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="beta" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="discreteDistribution" ordered="false" upperBound="-1" eType="#//model/DiscreteDistributionEntry" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/TimeDistributionType" defaultValueLiteral="Max"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="TimeDistributionType">
- <eLiterals name="Min" literal="Min"/>
- <eLiterals name="Max" value="1" literal="Max"/>
- <eLiterals name="Mean" value="2"/>
- <eLiterals name="Uniform" value="3"/>
- <eLiterals name="Normal" value="4"/>
- <eLiterals name="Weibull" value="5" literal="Weibull"/>
- <eLiterals name="Discrete" value="6" literal="Discrete"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="TimeUnit">
- <eLiterals name="s"/>
- <eLiterals name="ms" value="1"/>
- <eLiterals name="us" value="2"/>
- <eLiterals name="ns" value="3"/>
- <eLiterals name="ps" value="4"/>
- <eLiterals name="fs" value="5"/>
- <eLiterals name="T" value="6"/>
- <eLiterals name="NaN" value="7"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TraceEvent" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/TraceEventType" defaultValueLiteral="Entry"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="TraceEventType">
- <eLiterals name="Activate"/>
- <eLiterals name="Start" value="1"/>
- <eLiterals name="Terminate" value="2"/>
- <eLiterals name="Block" value="3"/>
- <eLiterals name="Release" value="4"/>
- <eLiterals name="Restart" value="5"/>
- <eLiterals name="Entry" value="6"/>
- <eLiterals name="Exit" value="7"/>
- <eLiterals name="UserCode" value="8"/>
- <eLiterals name="UserCodeParam" value="9"/>
- <eLiterals name="EventChain" value="10"/>
- <eLiterals name="DataFlowChain" value="11"/>
- <eLiterals name="ActivationFlowChain" value="12"/>
- <eLiterals name="FrameBegin" value="13"/>
- <eLiterals name="FrameEnd" value="14"/>
- <eLiterals name="FrameAbort" value="15"/>
- <eLiterals name="CycleStart" value="16"/>
- <eLiterals name="DynamicSegment" value="17"/>
- <eLiterals name="NetworkIdleTime" value="18"/>
- <eLiterals name="TransferCounter" value="19"/>
- <eLiterals name="FrameDrop" value="20"/>
- <eLiterals name="TimerCreate" value="21"/>
- <eLiterals name="TimerDelete" value="22"/>
- <eLiterals name="TimerStart" value="23"/>
- <eLiterals name="TimerStop" value="24"/>
- <eLiterals name="TimerExpire" value="25"/>
- <eLiterals name="TimerExpRest" value="26"/>
- <eLiterals name="TimerEndMark" value="27"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TraceObject" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="objectId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0" unsettable="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TranslationUnit" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="sourceFunctions" ordered="false" upperBound="-1" eType="#//model/SourceFunction" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="specSettings" ordered="false" eType="#//model/SpecSettings" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TriggerToken"/>
- <eClassifiers xsi:type="ecore:EClass" name="UserCodeEventChain" eSuperTypes="#//model/EventChain">
- <eStructuralFeatures xsi:type="ecore:EReference" name="steps" upperBound="-1" eType="#//model/UserCodeEventChainStep" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="UserCodeEventChainStep" eSuperTypes="#//model/EventChainStep">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="VariableAccess" abstract="true" eSuperTypes="#//model/EventChainStep #//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="VariableReadAccess" eSuperTypes="#//model/VariableAccess">
- <eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="#//model/DataFlowConnection" eOpposite="#//model/DataFlowConnection/requesters"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="dataAccess" eType="#//model/memory/ExplicitDataAccess" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBuffered" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/VariableReadAccessType" defaultValueLiteral="Generic"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="index" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="policy" lowerBound="1" eType="#//model/VariableReadAccessPolicy" defaultValueLiteral="FIFO"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTake" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataMustBeNew" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="receivePercentage" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="100">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="VariableReadAccessPolicy">
- <eLiterals name="FIFO"/>
- <eLiterals name="LIFO" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="VariableReadAccessType">
- <eLiterals name="Generic"/>
- <eLiterals name="LocalRead" value="1"/>
- <eLiterals name="DataRead" value="2"/>
- <eLiterals name="DataReceive" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="VariableWriteAccess" eSuperTypes="#//model/VariableAccess">
- <eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="#//model/DataFlowConnection" eOpposite="#//model/DataFlowConnection/provider"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="dataAccess" eType="#//model/memory/ExplicitDataAccess" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="delay" eType="#//model/TimeDistribution" containment="true">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBuffered" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/VariableWriteAccessType" defaultValueLiteral="Generic"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="policy" lowerBound="1" eType="#//model/VariableWriteAccessPolicy" defaultValueLiteral="OverwriteOldest"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="VariableWriteAccessPolicy">
- <eLiterals name="ErrorDrop"/>
- <eLiterals name="SilentDrop" value="1"/>
- <eLiterals name="OverwriteOldest" value="2"/>
- <eLiterals name="OverwriteNewest" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="VariableWriteAccessType">
- <eLiterals name="Generic"/>
- <eLiterals name="LocalWrite" value="1"/>
- <eLiterals name="DataWrite" value="2"/>
- <eLiterals name="DataSend" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="WaitEvent" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="1" upperBound="-1" eType="#//model/Event">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="timeout" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="forReset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- </eClassifiers>
- <eSubpackages name="autosar" nsURI="http://inchron.com/realtime/root/2.98.3/model/autosar" nsPrefix="autosar">
- <eClassifiers xsi:type="ecore:EClass" name="ARSystem" eSuperTypes="#//model/System">
- <eStructuralFeatures xsi:type="ecore:EReference" name="osConfig" eType="#//model/autosar/OsConfig" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOsek" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClearEvent" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" lowerBound="1" upperBound="-1" eType="#//model/autosar/OsEvent"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//model/ModelObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="OsAlarm" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//model/autosar/OsAlarmAction" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autostartAppMode" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autostartCycleTime" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autostartAlarmTime" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autostart" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="counter" lowerBound="1" eType="#//model/autosar/OsCounter"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsAlarmAction" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1" eType="#//model/autosar/OsAlarmActionType" defaultValueLiteral="ActivateTask"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="task" eType="#//model/autosar/OsTask"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="event" eType="#//model/autosar/OsEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="callback" eType="#//model/SourceFunction"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxAdvance" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxRetard" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OsAlarmActionType">
- <eLiterals name="ActivateTask" literal="ActivateTask"/>
- <eLiterals name="SetEvent" value="1"/>
- <eLiterals name="Callback" value="2"/>
- <eLiterals name="AdjustExpiryPoint" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsApplication" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="alarms" upperBound="-1" eType="#//model/autosar/OsAlarm"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="counters" upperBound="-1" eType="#//model/autosar/OsCounter"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="cpuCore" eType="#//model/CpuCore"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="partition" eType="#//model/Partition"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="isrs" upperBound="-1" eType="#//model/autosar/OsIsr"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="scheduleTables" upperBound="-1" eType="#//model/autosar/OsScheduleTable"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1" eType="#//model/autosar/OsTask"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrusted" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrustedWithProtection" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsConfig" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="alarms" upperBound="-1" eType="#//model/autosar/OsAlarm" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="applications" upperBound="-1" eType="#//model/autosar/OsApplication" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="counters" upperBound="-1" eType="#//model/autosar/OsCounter" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/autosar/OsEvent" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="isrs" upperBound="-1" eType="#//model/autosar/OsIsr" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="resources" upperBound="-1" eType="#//model/autosar/OsResource" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="scheduleTables" upperBound="-1" eType="#//model/autosar/OsScheduleTable" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="spinlocks" upperBound="-1" eType="#//model/autosar/OsSpinlock" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tasks" upperBound="-1" eType="#//model/autosar/OsTask" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsCounter" eSuperTypes="#//model/ModelObject #//model/ClockUser">
- <eStructuralFeatures xsi:type="ecore:EReference" name="delay" ordered="false" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="granularity" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="hardware" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mincycle" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="range" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="referenceTicks" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsEvent" eSuperTypes="#//model/Event">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mask" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maskAuto" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsExpiryPoint" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1" eType="#//model/autosar/OsAlarmAction" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsIsr" eSuperTypes="#//model/Process">
- <eStructuralFeatures xsi:type="ecore:EReference" name="resources" upperBound="-1" eType="#//model/autosar/OsResource"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//model/autosar/OsIsrType" defaultValueLiteral="Category2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OsIsrType">
- <eLiterals name="Category1"/>
- <eLiterals name="Category2" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsResource" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" lowerBound="1" eType="#//model/autosar/OsResourceType" defaultValueLiteral="Standard"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OsResourceType">
- <eLiterals name="Standard"/>
- <eLiterals name="Internal" value="1"/>
- <eLiterals name="Linked" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsScheduleTable" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autostart" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="counter" eType="#//model/autosar/OsCounter"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="duration" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="expiryPoints" upperBound="-1" eType="#//model/autosar/OsExpiryPoint" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="repeating" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="startType" ordered="false" lowerBound="1" eType="#//model/autosar/OsScheduleTableStartType" defaultValueLiteral="Absolute"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OsScheduleTableStartType">
- <eLiterals name="Absolute" literal="Absolute"/>
- <eLiterals name="Relative" value="1" literal="Relative"/>
- <eLiterals name="Synchronized" value="2" literal="Synchronized"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsSpinlock" eSuperTypes="#//model/Spinlock">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="method" eType="#//model/autosar/OsSpinlockLockMethod" defaultValueLiteral="LockAllInterrupts"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="successor" eType="#//model/autosar/OsSpinlock"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="OsSpinlockLockMethod">
- <eLiterals name="LockNothing"/>
- <eLiterals name="LockAllInterrupts" value="1"/>
- <eLiterals name="LockCat2Interrupts" value="2"/>
- <eLiterals name="LockWithResScheduler" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OsTask" eSuperTypes="#//model/Process">
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/autosar/OsEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="resources" upperBound="-1" eType="#//model/autosar/OsResource"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ResumeOSInterrupts" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="Runnable" eSuperTypes="#//model/Function">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="canBeInvokedConcurrently" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="disabledInMode" eType="#//model/Mode"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ServerCall" eSuperTypes="#//model/CallSequenceItem">
- <eStructuralFeatures xsi:type="ecore:EReference" name="invokedOperation" lowerBound="1" eType="#//model/autosar/Operation"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SuspendOSInterrupts" eSuperTypes="#//model/CallSequenceItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="SwComponent" eSuperTypes="#//model/Component">
- <eStructuralFeatures xsi:type="ecore:EReference" name="operations" upperBound="-1" eType="#//model/autosar/Operation" containment="true"/>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="fmi" nsURI="http://inchron.com/realtime/root/2.98.3/model/fmi" nsPrefix="fmi">
- <eClassifiers xsi:type="ecore:EClass" name="FMIVariables" eSuperTypes="#//model/peripheral/Peripheral"/>
- <eClassifiers xsi:type="ecore:EClass" name="IntegerAttributes" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="2147483647">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-2147483648">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModelDescription">
- <eStructuralFeatures xsi:type="ecore:EReference" name="seed" lowerBound="1" eType="#//model/fmi/variable/Integer" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="time" lowerBound="1" eType="#//model/fmi/variable/Real" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="typeDefinitions" upperBound="-1" eType="#//model/fmi/type/SimpleType" unsettable="true" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="unitDefinitions" upperBound="-1" eType="#//model/fmi/unit/Unit" unsettable="true" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RealAttributes" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="displayUnit" eType="#//model/fmi/unit/DisplayUnit">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.7976931348623157e+308">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="-1.7976931348623157e+308">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relativeQuantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="unit" eType="#//model/fmi/unit/Unit">
- </eStructuralFeatures>
- </eClassifiers>
- <eSubpackages name="type" nsURI="http://inchron.com/realtime/root/2.98.3/model/fmi/type" nsPrefix="type">
- <eClassifiers xsi:type="ecore:EClass" name="Boolean" eSuperTypes="#//model/fmi/type/SimpleType"/>
- <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//model/fmi/type/SimpleType">
- <eStructuralFeatures xsi:type="ecore:EReference" name="items" lowerBound="1" upperBound="-1" eType="#//model/fmi/type/Item" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer" eSuperTypes="#//model/fmi/type/SimpleType #//model/fmi/IntegerAttributes"/>
- <eClassifiers xsi:type="ecore:EClass" name="Item" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real" eSuperTypes="#//model/fmi/type/SimpleType #//model/fmi/RealAttributes"/>
- <eClassifiers xsi:type="ecore:EClass" name="SimpleType" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="unit" nsURI="http://inchron.com/realtime/root/2.98.3/model/fmi/unit" nsPrefix="unit">
- <eClassifiers xsi:type="ecore:EClass" name="BaseUnit">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="a" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="cd" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="factor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="k" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="m" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <contents xsi:type="ecore:EAttribute" name="mol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </contents>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="rad" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="s" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DisplayUnit" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="factor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Unit" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="baseUnit" eType="#//model/fmi/unit/BaseUnit" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="displayUnits" upperBound="-1" eType="#//model/fmi/unit/DisplayUnit" containment="true"/>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="variable" nsURI="http://inchron.com/realtime/root/2.98.3/model/fmi/variable" nsPrefix="variable">
- <eClassifiers xsi:type="ecore:EClass" name="Boolean" eSuperTypes="#//model/fmi/variable/ScalarVariable">
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaredType" eType="#//model/fmi/type/Boolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Causality">
- <eLiterals name="calculatedParameter" value="4" literal="calculatedParameter">
- </eLiterals>
- <eLiterals name="independent" value="5" literal="independent">
- </eLiterals>
- <eLiterals name="input" value="1" literal="input">
- </eLiterals>
- <eLiterals name="local" literal="local">
- </eLiterals>
- <eLiterals name="output" value="2" literal="output">
- </eLiterals>
- <eLiterals name="parameter" value="3" literal="parameter">
- </eLiterals>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//model/fmi/variable/ScalarVariable">
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaredType" lowerBound="1" eType="#//model/fmi/type/Enumeration"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="max" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="min" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Initial">
- <eLiterals name="approx" value="1" literal="approx"/>
- <eLiterals name="calculated" value="2" literal="calculated"/>
- <eLiterals name="exact" literal="exact"/>
- <eLiterals name="unset" value="-1" literal="unset"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Integer" eSuperTypes="#//model/fmi/variable/ScalarVariable #//model/fmi/IntegerAttributes">
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaredType" eType="#//model/fmi/type/Integer"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Real" eSuperTypes="#//model/fmi/variable/ScalarVariable #//model/fmi/RealAttributes">
- <eStructuralFeatures xsi:type="ecore:EReference" name="declaredType" eType="#//model/fmi/type/Real"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ScalarVariable" abstract="true" eSuperTypes="#//model/peripheral/AbstractPort">
- <eStructuralFeatures xsi:type="ecore:EReference" name="callGraph" eType="#//model/CallGraph" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="causality" eType="#//model/fmi/variable/Causality" defaultValueLiteral="local"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1" eType="#//model/Connection" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="initial" eType="#//model/fmi/variable/Initial" defaultValueLiteral="unset"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="triggerType" eType="#//model/fmi/variable/TriggerType" defaultValueLiteral="onChange"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueReference" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="variability" eType="#//model/fmi/variable/Variability" defaultValueLiteral="continuous"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="TriggerType">
- <eLiterals name="always" literal="always">
- </eLiterals>
- <eLiterals name="onChange" value="1" literal="onChange">
- </eLiterals>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Variability">
- <eLiterals name="constant" value="2" literal="constant">
- </eLiterals>
- <eLiterals name="continuous" literal="continuous">
- </eLiterals>
- <eLiterals name="discrete" value="1" literal="discrete">
- </eLiterals>
- <eLiterals name="fixed" value="3" literal="fixed">
- </eLiterals>
- <eLiterals name="tunable" value="4" literal="tunable">
- </eLiterals>
- </eClassifiers>
- </eSubpackages>
- </eSubpackages>
- <eSubpackages name="memory" nsURI="http://inchron.com/realtime/root/2.98.3/model/memory" nsPrefix="memory">
- <eClassifiers xsi:type="ecore:EClass" name="ResponderPort" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="readAccessPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="1-1-1-1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="writeAccessPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="1-1-1-1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initiator" eType="#//model/memory/InitiatorPort" eOpposite="#//model/memory/InitiatorPort/responder"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InitiatorPort" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="responder" eType="#//model/memory/ResponderPort" eOpposite="#//model/memory/ResponderPort/initiator"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="QosEntry">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumBandwidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inPort" lowerBound="1" eType="#//model/memory/ResponderPort"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="outPort" lowerBound="1" eType="#//model/memory/InitiatorPort"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Interconnect" eSuperTypes="#//model/ModelObject #//model/ClockUser">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="32"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="schedulingPolicy" eType="#//model/memory/InterconnectScheduling" defaultValueLiteral="Priority"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connectedSlaves" upperBound="-1" eType="#//model/memory/InitiatorPort" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connectedMasters" upperBound="-1" eType="#//model/memory/ResponderPort" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prescaler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="qosEntries" upperBound="-1" eType="#//model/memory/QosEntry" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Memory" eSuperTypes="#//model/ModelObject #//model/ClockUser">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bitWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="32"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="262144"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//model/memory/MemoryType" defaultValueLiteral="SRAM"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prescaler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connectedMaster" eType="#//model/memory/ResponderPort" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="InterconnectScheduling">
- <eLiterals name="Priority"/>
- <eLiterals name="RoundRobin" value="1"/>
- <eLiterals name="FCFS" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="MemoryType">
- <eLiterals name="SRAM"/>
- <eLiterals name="DRAM" value="1"/>
- <eLiterals name="Flash" value="2"/>
- <eLiterals name="Cache" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="memory" eType="#//model/memory/Memory"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DataAccess" abstract="true" eSuperTypes="#//model/TraceObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessType" lowerBound="1" eType="#//model/memory/DataAccessType" defaultValueLiteral="Read"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startOffset" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bandwidth" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1000000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="chunkSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="64"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="chunkPeriod" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAsynchronous" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="DataAccessType">
- <eLiterals name="Read"/>
- <eLiterals name="Write" value="1"/>
- <eLiterals name="ReadModifyWrite" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ExplicitDataAccess" eSuperTypes="#//model/memory/DataAccess">
- <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" eType="#//model/memory/DataObject"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RateBasedDataAccess" eSuperTypes="#//model/memory/DataAccess">
- <eStructuralFeatures xsi:type="ecore:EReference" name="memory" eType="#//model/memory/Memory"/>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="peripheral" nsURI="http://inchron.com/realtime/root/2.98.3/model/peripheral" nsPrefix="peripheral">
- <eClassifiers xsi:type="ecore:EClass" name="AbstractPort" abstract="true" eSuperTypes="#//model/ModelObject #//model/TraceObject #//model/LoadResource">
- <eOperations name="isCompatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="other" eType="#//model/peripheral/AbstractPort"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EReference" name="connection" eType="#//model/peripheral/PortConnection" eOpposite="#//model/peripheral/PortConnection/ports"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BusMasterPort" eSuperTypes="#//model/peripheral/AbstractPort"/>
- <eClassifiers xsi:type="ecore:EClass" name="BusSlavePort" eSuperTypes="#//model/peripheral/AbstractPort"/>
- <eClassifiers xsi:type="ecore:EClass" name="InterruptPort" eSuperTypes="#//model/peripheral/AbstractPort">
- <eStructuralFeatures xsi:type="ecore:EReference" name="isrs" ordered="false" upperBound="-1" eType="#//model/Process" eOpposite="#//model/Process/triggeringPort"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InputPort" eSuperTypes="#//model/peripheral/AbstractPort"/>
- <eClassifiers xsi:type="ecore:EClass" name="OutputPort" eSuperTypes="#//model/peripheral/AbstractPort"/>
- <eClassifiers xsi:type="ecore:EClass" name="BiDirPort" eSuperTypes="#//model/peripheral/AbstractPort"/>
- <eClassifiers xsi:type="ecore:EClass" name="PortConnection" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ports" ordered="false" upperBound="-1" eType="#//model/peripheral/AbstractPort" eOpposite="#//model/peripheral/AbstractPort/connection"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AbstractPeripheral" abstract="true" eSuperTypes="#//model/ModelObject #//model/TraceObject">
- <eOperations name="isCompatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
- <eParameters name="other" eType="#//model/peripheral/AbstractPeripheral"/>
- </eOperations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactness" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="10"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="events" upperBound="-1" eType="#//model/TraceEvent" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ports" ordered="false" lowerBound="1" upperBound="-1" eType="#//model/peripheral/AbstractPort" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Peripheral" abstract="true" eSuperTypes="#//model/peripheral/AbstractPeripheral">
- <eStructuralFeatures xsi:type="ecore:EReference" name="addressRange" ordered="false" lowerBound="1" eType="#//model/AddressRange" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Bus" abstract="true" eSuperTypes="#//model/peripheral/AbstractPeripheral"/>
- <eClassifiers xsi:type="ecore:EClass" name="AbstractEthernet" abstract="true" eSuperTypes="#//model/peripheral/Peripheral">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="autoNegotiate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="fullDuplex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfPorts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="100000000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="supportsQoS" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AFDXPort" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" lowerBound="1" eType="#//model/peripheral/AFDXPortDirection" defaultValueLiteral="Sender"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/peripheral/AFDXPortType" defaultValueLiteral="Queuing"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="queueLength" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="5"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="AFDXPortDirection">
- <eLiterals name="Sender"/>
- <eLiterals name="Receiver" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="AFDXPortType">
- <eLiterals name="Sampling"/>
- <eLiterals name="Queuing" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AFDXEthernet" eSuperTypes="#//model/peripheral/AbstractEthernet">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="name" value="AFDX Ethernet Controller"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="networkId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="equipmentId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="partitionId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="interfaceId1" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mac1" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="00:00:00:00:00:00"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="interfaceId2" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="2"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mac2" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="00:00:00:00:00:01"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="afdxPorts" upperBound="-1" eType="#//model/peripheral/AFDXPort" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AS5643" eSuperTypes="#//model/peripheral/Peripheral">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="CC" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="nodeId" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="rank" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="transmissionOffset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="receiveOffset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="datapumpOffset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="monitorNode" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AS5643Bus" eSuperTypes="#//model/peripheral/Bus">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="100000000"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="frameLength" lowerBound="1" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CAN" eSuperTypes="#//model/peripheral/Peripheral">
- <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="name" value="CAN Communication Controller"/>
- </eAnnotations>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="bufferStrategy" lowerBound="1" eType="#//model/BufferStrategy" defaultValueLiteral="SlotOrder"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfBuffers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="256"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CANBus" eSuperTypes="#//model/peripheral/Bus">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="logEnabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="250000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dataSpeed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="250000"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Console" eSuperTypes="#//model/peripheral/Peripheral"/>
- <eClassifiers xsi:type="ecore:EClass" name="Ethernet" eSuperTypes="#//model/peripheral/AbstractEthernet">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="macAddress" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="00:00:00:00:00:00"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="crossOver" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="rxQueueSize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EthernetSwitch" eSuperTypes="#//model/peripheral/AbstractEthernet">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="fastForward" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="logEnabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FlexRay" eSuperTypes="#//model/peripheral/Peripheral">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="coldStarter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pSingleSlotEnabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pKeySlotId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pKeySlotUsedForStartup" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pKeySlotUsedForSync" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pdMicrotick" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="0.025"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pLatestTx" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="243"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pdListenTimeOut" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="401202"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pdMaxDrift" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="601"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pAllowHaltDueToClock" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pAllowPassiveToActive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pOffsetCorrectionOut" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="261"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="pRateCorrectionOut" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="601"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FlexRayBus" eSuperTypes="#//model/peripheral/Bus">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="10000000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdMacroTick" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" defaultValueLiteral="1.0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gMacroPerCycle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="5000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gNumberOfStaticSlots" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="89"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdNit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="100"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gPayloadLengthStatic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="8"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdStaticSlot" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="34"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdDynamicSlotIdlePhase" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdMiniSlot" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="7"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdActionPointOffset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="3"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdMinislotActionPointOffset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="3"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gdTSSTransmitter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="15"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gSyncNodeMax" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="10"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gColdstartAttempts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="31"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gMaxWithoutClockCorrectionFatal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="6"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="gMaxWithoutClockCorrectionPassive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GenericIO" eSuperTypes="#//model/peripheral/Peripheral">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="#//model/peripheral/GenericIOType" defaultValueLiteral="PtP"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="10000000"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="busWidth" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="8"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="blockSize" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="64"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="startIRQOffset" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="emulateDMA" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="preOverhead" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="postOverhead" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="slaveSetupTime" lowerBound="1" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="GenericIOType">
- <eLiterals name="Master"/>
- <eLiterals name="Slave" value="1"/>
- <eLiterals name="PtP" value="2" literal="PtP"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IRQ" eSuperTypes="#//model/peripheral/Peripheral"/>
- <eClassifiers xsi:type="ecore:EClass" name="LIN" eSuperTypes="#//model/peripheral/Peripheral">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="master" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="2.0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RestBus" eSuperTypes="#//model/peripheral/Bus"/>
- <eClassifiers xsi:type="ecore:EClass" name="RestBusCAN" eSuperTypes="#//model/peripheral/Bus"/>
- <eClassifiers xsi:type="ecore:EClass" name="RestBusFlexRay" eSuperTypes="#//model/peripheral/Bus"/>
- <eClassifiers xsi:type="ecore:EClass" name="Timer" eSuperTypes="#//model/peripheral/Peripheral"/>
- </eSubpackages>
- <eSubpackages name="requirement" nsURI="http://inchron.com/realtime/root/2.98.3/model/requirement" nsPrefix="requirement">
- <eClassifiers xsi:type="ecore:EClass" name="CallNestingRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="limit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Evaluation">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="providedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="content"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeCreated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="verdict" eType="#//model/requirement/Verdict" defaultValueLiteral="Unknown"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventChainBreakOffRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="evaluateBreakOffAsSuccess" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1" eType="#//model/EventChain"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="ignoreLastInstances" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="ignoreNonSequential" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="ignoreSkipped" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="requiredLastStep" lowerBound="1" eType="#//model/EventChainStep"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventChainJoinRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowSameInstance" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1" eType="#//model/EventChain"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventChainMultipleProcessingRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1" eType="#//model/EventChain"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="EventChainStrategy">
- <eLiterals name="FirstFirst"/>
- <eLiterals name="FirstLast" value="1"/>
- <eLiterals name="LastLast" value="2"/>
- <eLiterals name="MultiFirst" value="3"/>
- <eLiterals name="MultiLast" value="4"/>
- <eLiterals name="MultiBackwardPreceding" value="5"/>
- <eLiterals name="MultiBackwardEarliest" value="6"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventChainTimingRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="eventChain" lowerBound="1" eType="#//model/EventChain"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromStep" lowerBound="1" eType="#//model/EventChainStep"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="instanceOffset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" eType="#//model/requirement/EventChainStrategy" defaultValueLiteral="FirstFirst"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toStep" lowerBound="1" eType="#//model/EventChainStep"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventIEventJRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="endEvent" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterA" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parameterB" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startEvent" eType="#//model/TraceEvent"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventNetExecTimeRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="end" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//model/Process"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="start" eType="#//model/TraceEvent"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EventTimingRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="start" lowerBound="1" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="stop" eType="#//model/TraceEvent"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GroupOfRequirements" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="requirements" upperBound="-1" eType="#//model/requirement/Requirement" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="IllegalEventRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="event" eType="#//model/TraceEvent"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="LoadRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="granularity" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="limit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="80"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="loadResource" eType="#//model/LoadResource"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="prewarnMargin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="10"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationalOperator" eType="#//model/requirement/RelationalOperatorLeGe" defaultValueLiteral="le"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="steps" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="20"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NetExecTimeRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//model/Process"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="NetSlackTimeRequirementType">
- <eLiterals name="Undefined"/>
- <eLiterals name="Delta" value="1"/>
- <eLiterals name="Event" value="2"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NetSlackTimeRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="deadlineDelta" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="deadlineEvent" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//model/Process"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//model/requirement/NetSlackTimeRequirementType" defaultValueLiteral="Delta"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PeriodicEventRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="event" eType="#//model/TraceEvent"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="prewarnMarginCritical" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RecursionRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="limit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Requirement" abstract="true" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="content"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="etag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="evaluate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="providedBy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
- <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
- <details key="kind" value="content"/>
- </eAnnotations>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="show" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="url" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ResponseTimeRequirement" eSuperTypes="#//model/requirement/TimingRequirement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="process" eType="#//model/Process"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RtosFailureRequirement" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabledRTOSFailures" upperBound="-1" eType="#//model/requirement/RTOSFailure">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="blacklist" upperBound="-1" eType="#//model/Process"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperator">
- <eLiterals name="lt"/>
- <eLiterals name="le" value="1"/>
- <eLiterals name="gt" value="2"/>
- <eLiterals name="ge" value="3"/>
- <eLiterals name="eq" value="4"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperatorLeGe">
- <eLiterals name="le"/>
- <eLiterals name="ge" value="1"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RelationalOperatorLtLeGtGe">
- <eLiterals name="lt"/>
- <eLiterals name="le" value="1"/>
- <eLiterals name="gt" value="2"/>
- <eLiterals name="ge" value="3"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="RTOSFailure">
- <eLiterals name="ReturnFromTaskForbidden"/>
- <eLiterals name="ActivationLimitViolation" value="1"/>
- <eLiterals name="MemoryAccessViolation" value="2"/>
- <eLiterals name="DivisionByZero" value="3"/>
- <eLiterals name="InvalidObject" value="4"/>
- <eLiterals name="OsApiCallError" value="5"/>
- <eLiterals name="IsrLost" value="6"/>
- <eLiterals name="DeletedUsedObject" value="7"/>
- <eLiterals name="TimerLost" value="8"/>
- <eLiterals name="DeadlineViolation" value="9"/>
- <eLiterals name="OsekResourceOrderWrong" value="10"/>
- <eLiterals name="AssertFailed" value="11"/>
- <eLiterals name="CxxPureVirtualCalled" value="12"/>
- <eLiterals name="HeapCorruptionDetected" value="13"/>
- <eLiterals name="ImportError" value="14"/>
- <eLiterals name="ImportSourceError" value="15"/>
- <eLiterals name="CanoeIFSreduced" value="16"/>
- <eLiterals name="CanoeIFSviolated" value="17"/>
- <eLiterals name="SpinlockOrderWrong" value="18"/>
- <eLiterals name="MemoryWriteAccessViolation" value="19"/>
- <eLiterals name="MemoryReadModifyWriteAccessViolation" value="20"/>
- <eLiterals name="MemoryAddressMapViolation" value="21"/>
- <eLiterals name="CanMessageDropped" value="22"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TimingRequirement" abstract="true" eSuperTypes="#//model/requirement/Requirement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationalOperator" eType="#//model/requirement/RelationalOperator" defaultValueLiteral="lt"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="limit" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="prewarnMargin" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="Verdict">
- <eLiterals name="Unknown" value="-1" literal="Unknown"/>
- <eLiterals name="Success" literal="Success"/>
- <eLiterals name="Critical" value="1" literal="Critical"/>
- <eLiterals name="Fail" value="2"/>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="stimulation" nsURI="http://inchron.com/realtime/root/2.98.3/model/stimulation" nsPrefix="stimulation">
- <eClassifiers xsi:type="ecore:EClass" name="BurstPattern">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumOccurrences" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="minimumInterArrivalTime" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="patternLength" lowerBound="1" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BurstPatternGenerator" eSuperTypes="#//model/stimulation/StimuliGenerator">
- <eStructuralFeatures xsi:type="ecore:EReference" name="burstPatternSettings" lowerBound="1" eType="#//model/stimulation/BurstPattern" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="iterations" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relative" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startOffset" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startOffsetVariation" lowerBound="1" eType="#//model/TimeDistribution" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="variation" lowerBound="1" eType="#//model/TimeDistribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CSVBasedGenerator" eSuperTypes="#//model/stimulation/StimuliGenerator">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="filename" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CompositeScenario" eSuperTypes="#//model/stimulation/StimulationScenario">
- <eStructuralFeatures xsi:type="ecore:EReference" name="scenarios" upperBound="-1" eType="#//model/stimulation/StimulationScenario"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DisturbanceFilter" eSuperTypes="#//model/stimulation/StimulationFilter">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="disturbanceProbability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="disturbanceSigma" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="lossProbability" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="0"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DriftFilter" eSuperTypes="#//model/stimulation/StimulationFilter">
- <eStructuralFeatures xsi:type="ecore:EReference" name="maximum" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="periodic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="repeat" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startTime" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="timeFrame" eType="#//model/Time" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EliminationFilter" eSuperTypes="#//model/stimulation/StimulationFilter">
- <eStructuralFeatures xsi:type="ecore:EReference" name="sourceGenerator" eType="#//model/stimulation/StimuliGenerator">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="timeFrame" eType="#//model/TimeDistribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InducedGenerator" eSuperTypes="#//model/stimulation/StimuliGenerator">
- <eStructuralFeatures xsi:type="ecore:EReference" name="delay" eType="#//model/TimeDistribution" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InducedListBasedGenerator" eSuperTypes="#//model/stimulation/ListBasedGenerator">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0">
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="period" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="1">
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ListBasedGenerator" eSuperTypes="#//model/stimulation/StimuliGenerator">
- <eStructuralFeatures xsi:type="ecore:EReference" name="entry" upperBound="-1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="sourceGenerator" eType="#//model/stimulation/StimuliGenerator"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RandomStimuliGenerator" eSuperTypes="#//model/stimulation/StimuliGenerator">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="iterations" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="minInterArrivalTime" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="period" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="relative" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startOffset" lowerBound="1" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="startOffsetVariation" lowerBound="1" eType="#//model/TimeDistribution" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="variation" lowerBound="1" eType="#//model/TimeDistribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StimulationFilter" abstract="true" eSuperTypes="#//model/ModelObject"/>
- <eClassifiers xsi:type="ecore:EClass" name="StimulationScenario" eSuperTypes="#//model/ModelObject">
- <eStructuralFeatures xsi:type="ecore:EReference" name="burstPattern" eType="#//model/stimulation/BurstPattern" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="generators" upperBound="-1" eType="#//model/stimulation/StimuliGenerator" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StimuliGenerator" abstract="true" eSuperTypes="#//model/ModelObject #//model/ClockUser">
- <eStructuralFeatures xsi:type="ecore:EReference" name="connections" upperBound="-1" eType="#//model/Connection" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="filters" upperBound="-1" eType="#//model/stimulation/StimulationFilter" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="targets" eType="#//model/CallGraph" containment="true"/>
- </eClassifiers>
- </eSubpackages>
- </eSubpackages>
- <eSubpackages name="settings" nsURI="http://inchron.com/realtime/root/2.98.3/settings" nsPrefix="settings">
- <eClassifiers xsi:type="ecore:EClass" name="Color">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="color://rgb/128/128/128"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ColorEntry">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="#//model/ModelObject"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="color" lowerBound="1" eType="#//settings/Color" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ColorEntryContainer">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="#//model/ModelObject"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="color" lowerBound="1" upperBound="-1" eType="#//settings/Color" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Cursor">
- <eStructuralFeatures xsi:type="ecore:EReference" name="position" eType="#//model/Time" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="master" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DiagramSettings"/>
- <eClassifiers xsi:type="ecore:EClass" name="EditorSettings">
- <eStructuralFeatures xsi:type="ecore:EReference" name="collapsationStates" upperBound="-1" eType="#//settings/EObjectFlag" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="EObjectFlag">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="flag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModelObjectFlag">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1" eType="#//model/ModelObject"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="flag" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ModelSettings">
- <eStructuralFeatures xsi:type="ecore:EReference" name="colors" upperBound="-1" eType="#//settings/ColorEntry" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="colorsByInstance" upperBound="-1" eType="#//settings/ColorEntryContainer"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Settings">
- <eStructuralFeatures xsi:type="ecore:EReference" name="editor" lowerBound="1" eType="#//settings/EditorSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="model" lowerBound="1" eType="#//settings/ModelSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="tool" lowerBound="1" eType="#//settings/ToolSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="views" upperBound="-1" eType="#//settings/ViewSettings" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolSettings"/>
- <eClassifiers xsi:type="ecore:EClass" name="TraceEventTypeConfiguration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="color" lowerBound="1" eType="#//settings/Color"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="traceEventType" eType="#//model/TraceEventType" defaultValueLiteral="Activate"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ViewSettings">
- <eStructuralFeatures xsi:type="ecore:EReference" name="diagrams" upperBound="-1" eType="#//settings/DiagramSettings" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventLabelsVisible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="horizontalLabels" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="cursors" upperBound="-1" eType="#//settings/Cursor" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="traceEventTypeConfigurations" upperBound="-1" eType="#//settings/TraceEventTypeConfiguration" containment="true"/>
- </eClassifiers>
- </eSubpackages>
- <eSubpackages name="results" nsURI="http://inchron.com/realtime/root/2.98.3/results" nsPrefix="results"/>
-</ecore:EPackage>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.genmodel b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.genmodel
deleted file mode 100644
index 883e2f3..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/model/root.genmodel
+++ /dev/null
@@ -1,1361 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/com.inchron.realtime.root/src" modelPluginID="com.inchron.realtime.root"
- modelName="Root" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
- importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
- operationReflection="true" importOrganizing="true">
- <foreignModel>file:/home/stefan/devel/systemModel3/public-preparation/com.inchron.realtime.root/model/root.ecore</foreignModel>
- <genPackages prefix="Root" basePackage="com.inchron.realtime" disposableProviderFactory="true"
- ecorePackage="root.ecore#/">
- <genClasses ecoreClass="root.ecore#//Referrable">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//Referrable/intrinsicId"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//Root">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//Root/model"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//Root/settings"/>
- </genClasses>
- <nestedGenPackages prefix="Model" disposableProviderFactory="true" loadInitialization="true"
- literalsInterface="false" ecorePackage="root.ecore#//model">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/BufferStrategy">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/BufferStrategy/SlotOrder"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/BufferStrategy/Priority"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/BufferStrategy/FIFO"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/CANBusMessageFormat">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/CANBusMessageFormat/Standard"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/CANBusMessageFormat/Extended"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/CANBusMessageFormat/J1939_TP_BAM"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/CANBusMessageFormat/J1939_TP_P2P"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/CANBusMessageFormat/Ignore"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/DataFlowCommunicationType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/DataFlowCommunicationType/EventBased"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/DataFlowCommunicationType/SharedVariable"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/DataFlowCommunicationType/Queuing"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/EventChainStrategy">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/FirstFirst"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/FirstLast"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/LastLast"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/MultiFirst"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/MultiLast"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/MultiBackwardPreceding"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/MultiBackwardEarliest"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventChainStrategy/Count"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/EventConjunctionOperatorType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventConjunctionOperatorType/AND"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/EventConjunctionOperatorType/OR"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/FrequencyUnit">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/FrequencyUnit/Hz"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/FrequencyUnit/kHz"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/FrequencyUnit/MHz"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/FrequencyUnit/GHz"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/MemoryRegionFlags">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Code"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Data"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/IO"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Shared"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Exec"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Write"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Init"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Load"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Paged"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Text"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Ram"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Rom"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/MemoryRegionFlags/Periph"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/RtosApiType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosApiType/None"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosApiType/Clib"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosApiType/Osek"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosApiType/Autosar"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosApiType/Threadx"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/RtosProperty">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/Bare"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/ExplicitTaskDefinition"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/SuspendWhenTaskReturns"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/TaskReturnForbidden"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/ResourceNeedsInit"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/AutosarRTEEvents"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/ExtendedTask"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/RtosProperty/Osek"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/SchedulerStrategy">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/NONE"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FCFS"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FixedPriority"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/RoundRobin"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/TDMA"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/CAN"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/OSEK"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/BusECU"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/CANECU"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/AutosarTask"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/Triggered"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/Offset"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/CANMsg"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/LCFS"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FlexRayECU"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/EthernetECU"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/LINECU"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FlexRayMsg"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/EthernetMsg"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/LINMsg"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FlexRay"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/Ethernet"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/LIN"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FlexRayDynamic"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/EthernetStepOfBusMsg"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/FixedISRPriority"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerStrategy/EDF"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/SchedulerType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerType/Preemptive"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerType/Cooperative"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerType/TimeSlice"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SchedulerType/RunToCompletion"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/SemaphoreAccessType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SemaphoreAccessType/Request"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SemaphoreAccessType/Exclusive"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SemaphoreAccessType/Release"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/SpinlockOperationType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SpinlockOperationType/Acquire"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SpinlockOperationType/Release"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/SpinlockOperationType/TryAcquire"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/TimeDistributionType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Wcet"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Bcet"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Uniform"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Normal"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Mean"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeDistributionType/Discrete"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/TimeUnit">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/s"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/ms"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/us"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/ns"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/ps"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/fs"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/T"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TimeUnit/NaN"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/TraceEventType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Activate"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Start"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Terminate"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Block"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Release"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Restart"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Entry"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/Exit"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/UserCode"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/UserCodeParam"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/EventChain"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/DataFlowChain"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/ActivationFlowChain"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/FrameBegin"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/FrameEnd"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/FrameAbort"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/CycleStart"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/DynamicSegment"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/NetworkIdleTime"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TransferCounter"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/FrameDrop"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerCreate"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerDelete"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerStart"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerStop"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerExpire"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerExpRest"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/TraceEventType/TimerEndMark"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/VariableReadAccessPolicy">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessPolicy/FIFO"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessPolicy/LIFO"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/VariableReadAccessType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessType/Generic"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessType/LocalRead"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessType/DataRead"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableReadAccessType/DataReceive"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/VariableWriteAccessPolicy">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessPolicy/ErrorDrop"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessPolicy/SilentDrop"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessPolicy/OverwriteOldest"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessPolicy/OverwriteNewest"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/VariableWriteAccessType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessType/Generic"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessType/LocalWrite"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessType/DataWrite"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/VariableWriteAccessType/DataSend"/>
- </genEnums>
- <genClasses ecoreClass="root.ecore#//model/AbstractCpuModel"/>
- <genClasses ecoreClass="root.ecore#//model/ActivateProcess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ActivateProcess/target"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ActivationConnection">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ActivationConnection/activators"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ActivationConnection/andSemantic"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ActivationItem">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ActivationItem/connection"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ActivationItem/activationItemDelay"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/ActivationAction">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ActivationAction/offset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ActivationAction/period"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ActivationAction/activationActionDelay"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/AddressRange">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/AddressRange/base"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/AddressRange/size"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ArincSystem"/>
- <genClasses ecoreClass="root.ecore#//model/BusMessage">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/BusMessage/fullMessages"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/BusMessage/events"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/BusMessage/inCallGraph"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/BusMessage/outCallGraph"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/CallGraph">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/CallGraph/graphEntries"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/CallSequence">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/CallSequence/calls"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/CallSequenceItem">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CallSequenceItem/period"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CallSequenceItem/offset"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/CANBusMessage">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CANBusMessage/format"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CANBusMessage/canId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CANBusMessage/size"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Clock">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/frequency"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/period"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Clock/drift"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/range"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/startTimeFixed"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Clock/startTimeIsRandom"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/startTimeMin"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/startTimeMax"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Clock/startValue"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Clock/users"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/ClockUser">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ClockUser/clock"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Container">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Container/contents"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ContainerElement"/>
- <genClasses ecoreClass="root.ecore#//model/CompilerSettings">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/isTargetCompiler"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/isTargetCompilerOverrideValues"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/version"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/path"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CompilerSettings/args"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Component">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Component/variables"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Component/functions"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Component/translationUnits"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/Connection">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Connection/activations"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Cpu">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/cores"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Cpu/cpuModel"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Cpu/reloadCpuModel"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/hypervisor"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/interconnects"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/memories"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/memoryRegions"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/partitions"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Cpu/peripherals"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/CpuCore">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CpuCore/prescaler"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/CpuCore/bitWidth"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/CpuCore/connectedSlave"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/DataFlowConnection">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/DataFlowConnection/communicationType"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/DataFlowConnection/defaultElements"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/DataFlowConnection/provider"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/DataFlowConnection/requesters"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/DataFlowConnection/size"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/DataFlowConnection/variable"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/DiscreteDistributionEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/DiscreteDistributionEntry/count"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/DiscreteDistributionEntry/execTime"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/EnforcedMigration"/>
- <genClasses ecoreClass="root.ecore#//model/EstimatorSettings">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/EstimatorSettings/model"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EstimatorSettings/optCompiler"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EstimatorSettings/optVersion"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EstimatorSettings/optLabels"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EstimatorSettings/optFlags"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EstimatorSettings/selectedOpt"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Event"/>
- <genClasses ecoreClass="root.ecore#//model/EventChain"/>
- <genClasses ecoreClass="root.ecore#//model/EventChainConnection">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/EventChainConnection/connection"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/EventChainConnection/from"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/EventChainConnection/to"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/EventChainForwarder"/>
- <genClasses ecoreClass="root.ecore#//model/EventChainStep">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EventChainStep/joins"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EventChainStep/streamed"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/EventChainStep/forwarder"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/EventSequenceDefinition">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/EventSequenceDefinition/outOfOrderReset"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/EventSequenceDefinition/sequence"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Frequency">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Frequency/value"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Frequency/unit"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Function">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Function/callGraph"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/FunctionCall">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/FunctionCall/function"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/FunctionCall/guards"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/FunctionCall/events"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/FunctionCall/eventConjunctionOperator"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/GraphEntryBase">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/GraphEntryBase/triggerTokens"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/GeneralInfo">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/author"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/creator"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/description"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/email"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/modifiedDate"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/projectFile"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/projectPath"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/saveDir"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/GeneralInfo/version"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/GenericSystem">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/GenericSystem/rtosConfig"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/HyperVisorConfig">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/HyperVisorConfig/hyperVisorSystem"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/HyperVisorConfig/vmSchedulers"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/HyperVisorConfig/virtualCores"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/HyperVisorSystemSchedulable">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/HyperVisorSystemSchedulable/virtualSystem"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/HyperVisorVirtualCoreSchedulable">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/HyperVisorVirtualCoreSchedulable/virtualCore"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/LoadResource"/>
- <genClasses ecoreClass="root.ecore#//model/MemoryRegion">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/base"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/file"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/flags"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/pages"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/pageSize"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/sections"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MemoryRegion/sharedName"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/MessageData">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/MessageData/size"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Mode">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Mode/value"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ModeGroup">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ModeGroup/modes"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ModeGroup/initialMode"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ModeGroup/currentMode"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Model">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/busPeripherals"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/clocks"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/cpus"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/connections"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/eventChains"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/events"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/generalInfo"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/interconnects"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/memories"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Model/omitCallNestingDiagram"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Model/omitImplicitEventChains"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Model/omitStackDiagram"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/peripheralPortConnections"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/requirements"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/stimulationScenarios"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Model/defaultScenario"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/systems"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Model/traceEvents"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ModelEventChain">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ModelEventChain/steps"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ModelEventChain/connections"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/ModelObject">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ModelObject/name"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ModeSwitch">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ModeSwitch/entries"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ModeSwitch/modeGroup"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ModeSwitchEntry">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ModeSwitchEntry/graphEntries"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ModeSwitchEntry/isDefault"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ModeSwitchEntry/mode"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ModeSwitchPoint">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ModeSwitchPoint/mode"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Partition"/>
- <genClasses ecoreClass="root.ecore#//model/ProbabilitySwitch">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ProbabilitySwitch/entries"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ProbabilitySwitchEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ProbabilitySwitchEntry/probability"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ProbabilitySwitchEntry/graphEntries"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Process">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/activationLimit"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/activeAtBoot"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Process/callGraph"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Process/deadline"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/extendedTask"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Process/traceEvents"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/idleTask"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/isr"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/preemptable"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Process/stackLimit"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Process/triggeringPort"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ResourceConsumption">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ResourceConsumption/dataAccess"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/ResourceConsumption/entryFunction"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ResourceConsumption/stackUsage"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/ResourceConsumption/timeDistribution"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/ResourceConsumption/useEntryFunction"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ResumeAllInterrupts"/>
- <genClasses ecoreClass="root.ecore#//model/RtosConfig">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/RtosConfig/schedulables"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/RtosConfig/semaphores"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/RtosConfig/spinlocks"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/RtosConfig/events"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/RtosModel">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/name"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/reloadRtosModel"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/version"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/rtosProperties"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/returnType"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/library"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/header"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/nameSpace"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/userHeader"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/stateNames"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/apiPrefix"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/RtosModel/rtosApiType"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/Schedulable">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Schedulable/cpuCores"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Schedulable/priority"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Scheduler">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/schedulables"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Scheduler/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Scheduler/strategy"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/timeSlice"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/tdmaSchedule"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/period"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Scheduler/synchronized"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/maxRetard"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/maxAdvance"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/syncSource"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/Scheduler/cycleStartProcess"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Scheduler/prioritiesPropagated"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Scheduler/priorityInversed"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SchedulingEntry">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SchedulingEntry/item"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/SchedulingEntry/slotLength"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SchedulePoint"/>
- <genClasses ecoreClass="root.ecore#//model/Semaphore">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Semaphore/initialValue"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Semaphore/maxValue"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SemaphoreAccess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SemaphoreAccess/semaphore"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SemaphoreAccess/type"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SendMessage">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SendMessage/message"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SetEvent">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SetEvent/events"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SetEvent/target"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SetEvent/forAll"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SetEvent/isReset"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SetGuard">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SetGuard/functionCall"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SourceFunction">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/SourceFunction/traceEvents"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SpecSettings">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SpecSettings/includes"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SpecSettings/macros"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SpecSettings/prependSettings"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/Spinlock"/>
- <genClasses ecoreClass="root.ecore#//model/SpinlockOperation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/SpinlockOperation/operation"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/SpinlockOperation/spinlock"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/SuspendAllInterrupts"/>
- <genClasses image="false" ecoreClass="root.ecore#//model/System">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/translationUnits"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/rtosModel"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/compilerSettings"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/specSettings"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/modeGroups"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/System/components"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/ThreadXSystem"/>
- <genClasses ecoreClass="root.ecore#//model/Time">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Time/value"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/Time/unit"/>
- <genOperations ecoreOperation="root.ecore#//model/Time/denormalize"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/TimeDistribution">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TimeDistribution/bcet"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TimeDistribution/wcet"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TimeDistribution/mean"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TimeDistribution/sigma"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TimeDistribution/discreteDistribution"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/TimeDistribution/type"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/TraceEvent">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/TraceEvent/type"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/TraceEventCondition">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/TraceEventCondition/traceEvent"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/TraceEventCondition/process"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/TraceEventCondition/valueConstraint"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/TraceObject">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/TraceObject/objectId"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/TranslationUnit">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TranslationUnit/sourceFunctions"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/TranslationUnit/specSettings"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/TriggerToken"/>
- <genClasses ecoreClass="root.ecore#//model/UserCodeEventChain">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/UserCodeEventChain/stepNames"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/VariableReadAccess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/VariableReadAccess/connection"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/VariableReadAccess/dataAccess"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/isBuffered"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/VariableReadAccess/connectionDelay"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/number"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/index"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/policy"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/isTake"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/lowerBound"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/dataMustBeNew"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableReadAccess/receivePercentage"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/VariableWriteAccess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/VariableWriteAccess/connection"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/VariableWriteAccess/dataAccess"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableWriteAccess/isBuffered"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableWriteAccess/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableWriteAccess/number"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/VariableWriteAccess/policy"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/WaitEvent">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/WaitEvent/events"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/WaitEvent/timeout"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/WaitEvent/forReset"/>
- </genClasses>
- <nestedGenPackages prefix="Autosar" disposableProviderFactory="true" ecorePackage="root.ecore#//model/autosar">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/autosar/OsAlarmActionType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsAlarmActionType/ActivateTask"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsAlarmActionType/SetEvent"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsAlarmActionType/Callback"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsAlarmActionType/AdjustExpiryPoint"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/autosar/OsIsrType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsIsrType/Category1"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsIsrType/Category2"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/autosar/OsResourceType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsResourceType/Standard"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsResourceType/Internal"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsResourceType/Linked"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/autosar/OsScheduleTableStartType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsScheduleTableStartType/Absolute"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsScheduleTableStartType/Relative"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsScheduleTableStartType/Synchronized"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/autosar/OsSpinlockLockMethod">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsSpinlockLockMethod/LockNothing"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsSpinlockLockMethod/LockAllInterrupts"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsSpinlockLockMethod/LockCat2Interrupts"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/autosar/OsSpinlockLockMethod/LockWithResScheduler"/>
- </genEnums>
- <genClasses ecoreClass="root.ecore#//model/autosar/ARSystem">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/ARSystem/osConfig"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/ARSystem/isOsek"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/ClearEvent">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/ClearEvent/events"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/Operation"/>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsAlarm">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsAlarm/action"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarm/autostartAppMode"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarm/autostartCycleTime"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarm/autostartAlarmTime"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarm/autostart"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsAlarm/counter"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsAlarmAction">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarmAction/type"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsAlarmAction/task"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsAlarmAction/event"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsAlarmAction/callback"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarmAction/maxAdvance"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsAlarmAction/maxRetard"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsApplication">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/alarms"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/counters"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/cpuCore"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/partition"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/isrs"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/scheduleTables"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsApplication/tasks"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsApplication/isTrusted"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsApplication/isTrustedWithProtection"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsConfig">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/alarms"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/applications"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/counters"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/events"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/isrs"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/resources"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/scheduleTables"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/spinlocks"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsConfig/tasks"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsCounter">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsCounter/delay"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsCounter/granularity"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsCounter/hardware"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsCounter/mincycle"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsCounter/range"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsCounter/referenceTicks"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsEvent">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsEvent/mask"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsEvent/maskAuto"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsExpiryPoint">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsExpiryPoint/offset"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsExpiryPoint/actions"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsIsr">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsIsr/resources"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsIsr/type"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsResource">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsResource/property"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsScheduleTable">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsScheduleTable/autostart"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsScheduleTable/counter"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsScheduleTable/duration"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsScheduleTable/expiryPoints"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsScheduleTable/repeating"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsScheduleTable/startType"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsSpinlock">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/OsSpinlock/method"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsSpinlock/successor"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/OsTask">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsTask/events"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/OsTask/resources"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/ResumeOSInterrupts"/>
- <genClasses ecoreClass="root.ecore#//model/autosar/Runnable">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/autosar/Runnable/canBeInvokedConcurrently"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/Runnable/disabledInMode"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/ServerCall">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/autosar/ServerCall/invokedOperation"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/autosar/SuspendOSInterrupts"/>
- <genClasses ecoreClass="root.ecore#//model/autosar/SwComponent">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/autosar/SwComponent/operations"/>
- </genClasses>
- </nestedGenPackages>
- <nestedGenPackages prefix="Memory" disposableProviderFactory="true" ecorePackage="root.ecore#//model/memory">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/memory/InterconnectScheduling">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/InterconnectScheduling/Priority"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/InterconnectScheduling/RoundRobin"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/InterconnectScheduling/FCFS"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/memory/MemoryType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/MemoryType/SRAM"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/MemoryType/DRAM"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/MemoryType/Flash"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/MemoryType/Cache"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/memory/DataAccessType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/DataAccessType/Read"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/DataAccessType/Write"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/memory/DataAccessType/ReadModifyWrite"/>
- </genEnums>
- <genClasses ecoreClass="root.ecore#//model/memory/ResponderPort">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/ResponderPort/readAccessPattern"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/ResponderPort/writeAccessPattern"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/ResponderPort/initiator"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/InitiatorPort">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/InitiatorPort/priority"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/InitiatorPort/responder"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/QosEntry">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/QosEntry/priority"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/QosEntry/minimumBandwidth"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/QosEntry/inPort"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/QosEntry/outPort"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/Interconnect">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Interconnect/bitWidth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Interconnect/schedulingPolicy"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/Interconnect/connectedSlaves"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/Interconnect/connectedMasters"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Interconnect/prescaler"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/Interconnect/qosEntries"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/Memory">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Memory/bitWidth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Memory/size"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Memory/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/Memory/prescaler"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/Memory/connectedMaster"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/DataObject">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/DataObject/size"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/DataObject/memory"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/memory/DataAccess">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/DataAccess/accessType"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/DataAccess/startOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/DataAccess/bandwidth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/DataAccess/chunkSize"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/memory/DataAccess/chunkPeriod"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/memory/DataAccess/isAsynchroneous"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/ExplicitDataAccess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/ExplicitDataAccess/dataObject"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/memory/RateBasedDataAccess">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/memory/RateBasedDataAccess/memory"/>
- </genClasses>
- </nestedGenPackages>
- <nestedGenPackages prefix="Peripheral" disposableProviderFactory="true" ecorePackage="root.ecore#//model/peripheral">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/peripheral/AFDXPortDirection">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/AFDXPortDirection/Sender"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/AFDXPortDirection/Receiver"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/peripheral/AFDXPortType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/AFDXPortType/Sampling"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/AFDXPortType/Queuing"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/peripheral/GenericIOType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/GenericIOType/Master"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/GenericIOType/Slave"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/peripheral/GenericIOType/PtP"/>
- </genEnums>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AbstractPort">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractPort/index"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/AbstractPort/connection"/>
- <genOperations ecoreOperation="root.ecore#//model/peripheral/AbstractPort/isCompatible">
- <genParameters ecoreParameter="root.ecore#//model/peripheral/AbstractPort/isCompatible/other"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/BusMasterPort"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/BusSlavePort"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/InterruptPort">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/InterruptPort/isrs"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/InputPort"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/OutputPort"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/BiDirPort"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/PortConnection">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/PortConnection/ports"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AbstractPeripheral">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractPeripheral/exactness"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/peripheral/AbstractPeripheral/events"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/peripheral/AbstractPeripheral/ports"/>
- <genOperations ecoreOperation="root.ecore#//model/peripheral/AbstractPeripheral/isCompatible">
- <genParameters ecoreParameter="root.ecore#//model/peripheral/AbstractPeripheral/isCompatible/other"/>
- </genOperations>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Peripheral">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/peripheral/Peripheral/addressRange"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Bus"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AbstractEthernet">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractEthernet/autoNegotiate"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractEthernet/fullDuplex"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractEthernet/numberOfPorts"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractEthernet/speed"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AbstractEthernet/supportsQoS"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AFDXPort">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXPort/direction"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXPort/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXPort/queueLength"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AFDXEthernet">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/networkId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/equipmentId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/partitionId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/interfaceId1"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/mac1"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/interfaceId2"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AFDXEthernet/mac2"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/peripheral/AFDXEthernet/afdxPorts"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AS5643">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/CC"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/nodeId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/rank"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/transmissionOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/receiveOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/datapumpOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643/monitorNode"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/AS5643Bus">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/AS5643Bus/speed"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/AS5643Bus/frameLength"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/BoschERay"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/CAN">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/CAN/bufferStrategy"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/CANBus">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/CANBus/logEnabled"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/CANBus/speed"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/CANBus/dataSpeed"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/CANIndexed">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/CANIndexed/numberOfBuffers"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Console"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Ethernet">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/Ethernet/macAddress"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/Ethernet/crossOver"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/Ethernet/rxQueueSize"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/EthernetSwitch">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/EthernetSwitch/fastForward"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/EthernetSwitch/logEnabled"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/FlexRay">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/coldStarter"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pSingleSlotEnabled"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pKeySlotId"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pKeySlotUsedForStartup"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pKeySlotUsedForSync"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pdMicrotick"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pLatestTx"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pdListenTimeOut"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pdMaxDrift"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pAllowHaltDueToClock"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pAllowPassiveToActive"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pOffsetCorrectionOut"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRay/pRateCorrectionOut"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/FlexRayBus">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/speed"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdMacroTick"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gMacroPerCycle"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gNumberOfStaticSlots"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdNit"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gPayloadLengthStatic"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdStaticSlot"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdDynamicSlotIdlePhase"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdMiniSlot"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdActionPointOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdMinislotActionPointOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gdTSSTransmitter"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gSyncNodeMax"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gColdstartAttempts"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gMaxWithoutClockCorrectionFatal"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/FlexRayBus/gMaxWithoutClockCorrectionPassive"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/GenericIO">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/type"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/speed"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/busWidth"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/blockSize"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/startIRQOffset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/GenericIO/emulateDMA"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/GenericIO/preOverhead"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/GenericIO/postOverhead"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/peripheral/GenericIO/slaveSetupTime"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Input"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/IRQ"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/LIN">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/LIN/master"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/LIN/protocol"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/MasterSPI">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/peripheral/MasterSPI/speed"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Mfr4200"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/M16C62P"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/NECV850EPHO3"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/NECV850EPHO3Can"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/NECV850EPHO3ERay"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Output"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/RestBus"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/RestBusCAN"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/RestBusFlexRay"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/SlaveSPI"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/Timer"/>
- <genClasses ecoreClass="root.ecore#//model/peripheral/UART"/>
- </nestedGenPackages>
- <nestedGenPackages prefix="Requirement" resource="XML" disposableProviderFactory="true"
- ecorePackage="root.ecore#//model/requirement">
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/NetSlackTimeRequirementType">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/NetSlackTimeRequirementType/Undefined"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/NetSlackTimeRequirementType/Delta"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/NetSlackTimeRequirementType/Event"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/RelationalOperator">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperator/lt"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperator/le"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperator/gt"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperator/ge"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperator/eq"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/RelationalOperatorLeGe">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLeGe/le"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLeGe/ge"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/RelationalOperatorLtLeGtGe">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLtLeGtGe/lt"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLtLeGtGe/le"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLtLeGtGe/gt"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RelationalOperatorLtLeGtGe/ge"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/RTOSFailure">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/ReturnFromTaskForbidden"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/ActivationLimitViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/MemoryAccessViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/DivisionByZero"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/InvalidObject"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/OsApiCallError"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/IsrLost"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/DeletedUsedObject"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/TimerLost"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/DeadlineViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/OsekResourceOrderWrong"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/AssertFailed"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/CxxPureVirtualCalled"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/HeapCorruptionDetected"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/ImportError"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/ImportSourceError"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/CanoeIFSreduced"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/CanoeIFSviolated"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/SpinlockOrderWrong"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/MemoryWriteAccessViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/MemoryReadModifyWriteAccessViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/MemoryAddressMapViolation"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/RTOSFailure/CanMessageDropped"/>
- </genEnums>
- <genEnums typeSafeEnumCompatible="false" ecoreEnum="root.ecore#//model/requirement/Verdict">
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/Verdict/Unknown"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/Verdict/Success"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/Verdict/Critical"/>
- <genEnumLiterals ecoreEnumLiteral="root.ecore#//model/requirement/Verdict/Fail"/>
- </genEnums>
- <genClasses ecoreClass="root.ecore#//model/requirement/CallNestingRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/CallNestingRequirement/limit"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/Evaluation">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Evaluation/providedBy"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Evaluation/timeCreated"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Evaluation/verdict"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventChainBreakOffRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainBreakOffRequirement/evaluateBreakOffAsSuccess"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventChainBreakOffRequirement/eventChain"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainBreakOffRequirement/ignoreLast"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainBreakOffRequirement/ignoreNonSequential"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainBreakOffRequirement/ignoreSkipped"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainBreakOffRequirement/requiredLastStep"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventChainJoinRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainJoinRequirement/allowSameInstance"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventChainJoinRequirement/eventChain"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventChainMultipleProcessingRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventChainMultipleProcessingRequirement/eventChain"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventChainTimingRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventChainTimingRequirement/eventChain"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainTimingRequirement/fromStep"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainTimingRequirement/instanceA"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainTimingRequirement/instanceB"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainTimingRequirement/strategy"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventChainTimingRequirement/toStep"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventIEventJRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventIEventJRequirement/endEvent"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventIEventJRequirement/parameterA"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/EventIEventJRequirement/parameterB"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventIEventJRequirement/startEvent"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventNetExecTimeRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventNetExecTimeRequirement/end"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventNetExecTimeRequirement/process"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventNetExecTimeRequirement/start"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/EventTimingRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventTimingRequirement/trigger"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventTimingRequirement/start"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/EventTimingRequirement/stop"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/GroupOfRequirements">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/GroupOfRequirements/requirements"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/IllegalEventRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/IllegalEventRequirement/event"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/LoadRequirement">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/LoadRequirement/granularity"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/LoadRequirement/limit"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/LoadRequirement/loadResource"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/LoadRequirement/prewarnMargin"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/LoadRequirement/relationalOperator"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/LoadRequirement/steps"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/NetExecTimeRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/NetExecTimeRequirement/process"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/NetSlackTimeRequirement">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/NetSlackTimeRequirement/deadlineDelta"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/NetSlackTimeRequirement/deadlineEvent"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/NetSlackTimeRequirement/process"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/NetSlackTimeRequirement/type"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/PeriodicEventRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/PeriodicEventRequirement/event"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/PeriodicEventRequirement/prewarnMarginCritical"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/RecursionRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/RecursionRequirement/limit"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/Requirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/description"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/etag"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/evaluate"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/providedBy"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/show"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/Requirement/url"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/ResponseTimeRequirement">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/ResponseTimeRequirement/process"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/RtosFailureRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/RtosFailureRequirement/enabledRTOSFailures"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/requirement/RtosFailureRequirement/blacklist"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/requirement/TimingRequirement">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/TimingRequirement/relationalOperator"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/TimingRequirement/limit"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/requirement/TimingRequirement/prewarnMargin"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/requirement/TimingRequirement/relative"/>
- </genClasses>
- </nestedGenPackages>
- <nestedGenPackages prefix="Stimulation" disposableProviderFactory="true" ecorePackage="root.ecore#//model/stimulation">
- <genClasses ecoreClass="root.ecore#//model/stimulation/BurstPattern">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/BurstPattern/maximumOccurrences"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPattern/minimumInterArrivalTime"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPattern/patternLength"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/BurstPatternGenerator">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPatternGenerator/burstPatternSettings"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/BurstPatternGenerator/iterations"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPatternGenerator/period"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/BurstPatternGenerator/relative"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPatternGenerator/startOffset"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPatternGenerator/startOffsetVariation"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/BurstPatternGenerator/variation"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/CSVBasedGenerator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/CSVBasedGenerator/filename"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/CompositeScenario">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/CompositeScenario/scenarios"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/DisturbanceFilter">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/DisturbanceFilter/disturbanceProbability"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/DisturbanceFilter/disturbanceSigma"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/DisturbanceFilter/lossProbability"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/DriftFilter">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/DriftFilter/maximum"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/DriftFilter/periodic"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/DriftFilter/repeat"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/DriftFilter/startTime"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/DriftFilter/timeFrame"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/EliminationFilter">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/EliminationFilter/sourceGenerator"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/EliminationFilter/timeFrame"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/InducedGenerator">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/InducedGenerator/delay"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/InducedGenerator/offset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/InducedGenerator/period"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/InducedListBasedGenerator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/InducedListBasedGenerator/offset"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/InducedListBasedGenerator/period"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/ListBasedGenerator">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/ListBasedGenerator/entry"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//model/stimulation/ListBasedGenerator/sourceGenerator"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//model/stimulation/RandomStimuliGenerator">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/RandomStimuliGenerator/iterations"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/RandomStimuliGenerator/minInterArrivalTime"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/RandomStimuliGenerator/period"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//model/stimulation/RandomStimuliGenerator/relative"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/RandomStimuliGenerator/startOffset"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/RandomStimuliGenerator/startOffsetVariation"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/RandomStimuliGenerator/variation"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/stimulation/StimulationFilter"/>
- <genClasses ecoreClass="root.ecore#//model/stimulation/StimulationScenario">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/StimulationScenario/burstPattern"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/StimulationScenario/generators"/>
- </genClasses>
- <genClasses image="false" ecoreClass="root.ecore#//model/stimulation/StimuliGenerator">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/StimuliGenerator/connections"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/StimuliGenerator/filters"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//model/stimulation/StimuliGenerator/targets"/>
- </genClasses>
- </nestedGenPackages>
- </nestedGenPackages>
- <nestedGenPackages prefix="Settings" disposableProviderFactory="true" ecorePackage="root.ecore#//settings">
- <genClasses ecoreClass="root.ecore#//settings/Color">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/Color/uri"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ColorEntry">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/ColorEntry/object"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ColorEntry/color"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ColorEntryContainer">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/ColorEntryContainer/object"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ColorEntryContainer/color"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/Cursor">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/Cursor/position"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/Cursor/master"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/DiagramSettings"/>
- <genClasses ecoreClass="root.ecore#//settings/EditorSettings">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/EditorSettings/collapsationStates"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/EObjectFlag">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/EObjectFlag/object"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/EObjectFlag/flag"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ModelObjectFlag">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/ModelObjectFlag/object"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/ModelObjectFlag/flag"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ModelSettings">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ModelSettings/colors"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/ModelSettings/colorsByInstance"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/Settings">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/Settings/editor"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/Settings/model"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/Settings/tool"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/Settings/views"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ToolSettings"/>
- <genClasses ecoreClass="root.ecore#//settings/TraceEventTypeConfiguration">
- <genFeatures notify="false" createChild="false" propertySortChoices="true"
- ecoreFeature="ecore:EReference root.ecore#//settings/TraceEventTypeConfiguration/color"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/TraceEventTypeConfiguration/traceEventType"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/TraceEventTypeConfiguration/visible"/>
- </genClasses>
- <genClasses ecoreClass="root.ecore#//settings/ViewSettings">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ViewSettings/diagrams"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/ViewSettings/eventLabelsVisible"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute root.ecore#//settings/ViewSettings/horizontalLabels"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ViewSettings/cursors"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference root.ecore#//settings/ViewSettings/traceEventTypeConfigurations"/>
- </genClasses>
- </nestedGenPackages>
- <nestedGenPackages prefix="Results" disposableProviderFactory="true" ecorePackage="root.ecore#//results"/>
- </genPackages>
-</genmodel:GenModel>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/pom.xml
deleted file mode 100644
index 9bd6423..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>com.inchron.realtime.root</artifactId>
- <packaging>eclipse-plugin</packaging>
- <version>2.98.5-SNAPSHOT</version>
-
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.gitignore
deleted file mode 100644
index 944a1c7..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
-/output
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.project b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.project
deleted file mode 100644
index 05b4604..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.app4mc.transform.to.inchron.app</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
-
-
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- </natures>
-</projectDescription>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/META-INF/MANIFEST.MF
deleted file mode 100644
index 2307ae6..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: APP4MC Transformation to Inchron Application
-Bundle-SymbolicName: org.eclipse.app4mc.transform.to.inchron.app;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Vendor: Eclipse APP4MC
-Require-Bundle: org.eclipse.app4mc.transformation.application
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/about.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/build.properties
deleted file mode 100644
index 10ec92b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- about.html,\
- epl-2.0.html
-src.includes = about.html,\
- epl-2.0.html
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/epl-2.0.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Eclipse Public License - Version 2.0</title>
- <style type="text/css">
- body {
- margin: 1.5em 3em;
- }
- h1{
- font-size:1.5em;
- }
- h2{
- font-size:1em;
- margin-bottom:0.5em;
- margin-top:1em;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol{
- list-style-type:none;
- }
- </style>
- </head>
- <body>
- <h1>Eclipse Public License - v 2.0</h1>
- <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
- </p>
- <h2 id="definitions">1. DEFINITIONS</h2>
- <p>“Contribution” means:</p>
- <ul>
- <li>a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
- </li>
- <li>
- b) in the case of each subsequent Contributor:
- <ul>
- <li>i) changes to the Program, and</li>
- <li>ii) additions to the Program;</li>
- </ul>
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- “originates” from a Contributor if it was added to the Program by such
- Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
- </li>
- </ul>
- <p>“Contributor” means any person or entity that Distributes the Program.</p>
- <p>“Licensed Patents” mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
- </p>
- <p>“Program” means the Contributions Distributed in accordance with this
- Agreement.
- </p>
- <p>“Recipient” means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
- </p>
- <p>“Derivative Works” shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
- </p>
- <p>“Modified Works” shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations, interfaces,
- types, classes, structures, or files of the Program solely in each case
- in order to link to, bind by name, or subclass the Program or Modified
- Works thereof.
- </p>
- <p>“Distribute” means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
- </p>
- <p>“Source Code” means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
- </p>
- <p>“Secondary License” means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
- </p>
- <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
- <ul>
- <li>a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
- </li>
- <li>b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if,
- at the time the Contribution is added by the Contributor, such
- addition of the Contribution causes such combination to be covered
- by the Licensed Patents. The patent license shall not apply to any
- other combinations which include the Contribution. No hardware per
- se is licensed hereunder.
- </li>
- <li>c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the rights
- and licenses granted hereunder, each Recipient hereby assumes sole
- responsibility to secure any other intellectual property rights needed,
- if any. For example, if a third party patent license is required to
- allow Recipient to Distribute the Program, it is Recipient's
- responsibility to acquire that license before distributing the Program.
- </li>
- <li>d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
- </li>
- <li>e) Notwithstanding the terms of any Secondary License, no Contributor
- makes additional grants to any Recipient (other than those set forth
- in this Agreement) as a result of such Recipient's receipt of the
- Program under the terms of a Secondary License (if permitted under
- the terms of Section 3).
- </li>
- </ul>
- <h2 id="requirements">3. REQUIREMENTS</h2>
- <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
- <ul>
- <li>a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
- </li>
- <li>
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- <ul>
- <li>i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including warranties
- or conditions of title and non-infringement, and implied warranties
- or conditions of merchantability and fitness for a particular purpose;
- </li>
- <li>ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special, incidental
- and consequential damages, such as lost profits;
- </li>
- <li>iii) does not attempt to limit or alter the recipients' rights in the
- Source Code under section 3.2; and
- </li>
- <li>iv) requires any subsequent distribution of the Program by any party
- to be under a license that satisfies the requirements of this section 3.
- </li>
- </ul>
- </li>
- </ul>
- <p>3.2 When the Program is Distributed as Source Code:</p>
- <ul>
- <li>a) it must be made available under this Agreement, or if the Program (i)
- is combined with other material in a separate file or files made available
- under a Secondary License, and (ii) the initial Contributor attached to
- the Source Code the notice described in Exhibit A of this Agreement,
- then the Program may be made available under the terms of such
- Secondary Licenses, and
- </li>
- <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
- </ul>
- <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
- attribution notices, disclaimers of warranty, or limitations of liability
- (‘notices’) contained within the Program from any copy of the Program which
- they Distribute, provided that Contributors may add their own appropriate
- notices.
- </p>
- <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
- <p>Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program, the
- Contributor who includes the Program in a commercial product offering should
- do so in a manner which does not create potential liability for other
- Contributors. Therefore, if a Contributor includes the Program in a
- commercial product offering, such Contributor (“Commercial Contributor”)
- hereby agrees to defend and indemnify every other Contributor
- (“Indemnified Contributor”) against any losses, damages and costs
- (collectively “Losses”) arising from claims, lawsuits and other legal actions
- brought by a third party against the Indemnified Contributor to the extent
- caused by the acts or omissions of such Commercial Contributor in connection
- with its distribution of the Program in a commercial product offering.
- The obligations in this section do not apply to any claims or Losses relating
- to any actual or alleged intellectual property infringement. In order to
- qualify, an Indemnified Contributor must: a) promptly notify the
- Commercial Contributor in writing of such claim, and b) allow the Commercial
- Contributor to control, and cooperate with the Commercial Contributor in,
- the defense and any related settlement negotiations. The Indemnified
- Contributor may participate in any such claim at its own expense.
- </p>
- <p>For example, a Contributor might include the Program
- in a commercial product offering, Product X. That Contributor is then a
- Commercial Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance claims
- and warranties are such Commercial Contributor's responsibility alone.
- Under this section, the Commercial Contributor would have to defend claims
- against the other Contributors related to those performance claims and
- warranties, and if a court requires any other Contributor to pay any damages
- as a result, the Commercial Contributor must pay those damages.
- </p>
- <h2 id="warranty">5. NO WARRANTY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
- WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
- solely responsible for determining the appropriateness of using and
- distributing the Program and assumes all risks associated with its
- exercise of rights under this Agreement, including but not limited to the
- risks and costs of program errors, compliance with applicable laws, damage
- to or loss of data, programs or equipment, and unavailability or
- interruption of operations.
- </p>
- <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
- LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
- GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- </p>
- <h2 id="general">7. GENERAL</h2>
- <p>If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of the
- remainder of the terms of this Agreement, and without further action by the
- parties hereto, such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- </p>
- <p>If Recipient institutes patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Program itself
- (excluding combinations of the Program with other software or hardware)
- infringes such Recipient's patent(s), then such Recipient's rights granted
- under Section 2(b) shall terminate as of the date such litigation is filed.
- </p>
- <p>All Recipient's rights under this Agreement shall terminate if it fails to
- comply with any of the material terms or conditions of this Agreement and
- does not cure such failure in a reasonable period of time after becoming
- aware of such noncompliance. If all Recipient's rights under this Agreement
- terminate, Recipient agrees to cease use and distribution of the Program
- as soon as reasonably practicable. However, Recipient's obligations under
- this Agreement and any licenses granted by Recipient relating to the
- Program shall continue and survive.
- </p>
- <p>Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and may
- only be modified in the following manner. The Agreement Steward reserves
- the right to publish new versions (including revisions) of this Agreement
- from time to time. No one other than the Agreement Steward has the right
- to modify this Agreement. The Eclipse Foundation is the initial Agreement
- Steward. The Eclipse Foundation may assign the responsibility to serve as
- the Agreement Steward to a suitable separate entity. Each new version of
- the Agreement will be given a distinguishing version number. The Program
- (including Contributions) may always be Distributed subject to the version
- of the Agreement under which it was received. In addition, after a new
- version of the Agreement is published, Contributor may elect to Distribute
- the Program (including its Contributions) under the new version.
- </p>
- <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
- </p>
- <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
- <p>“This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}.”
- </p>
- <blockquote>
- <p>Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
- </p>
- <p>If it is not possible or desirable to put the notice in a particular file,
- then You may include the notice in a location (such as a LICENSE file in a
- relevant directory) where a recipient would be likely to look for
- such a notice.
- </p>
- <p>You may add additional accurate notices of copyright ownership.</p>
- </blockquote>
- </body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/plugin.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/plugin.xml
deleted file mode 100644
index 98a25e9..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/plugin.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- /*******************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- *******************************************************************************/
- -->
-
-<plugin>
-
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application
- visible="true">
- <run
- class="org.eclipse.app4mc.transform.to.inchron.app.InchronApplication">
- </run>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.app4mc.transform.to.inchron.app.application"
- name="APP4MCTransformation">
- <property
- name="appName"
- value="APP4MCTransformation">
- </property>
- </product>
- </extension>
-
-
-</plugin>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/pom.xml
deleted file mode 100644
index e265b8d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<!--
- /*******************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- *******************************************************************************/
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.app4mc.transform.to.inchron.app</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <sourceDirectory>src</sourceDirectory>
- <resources>
- <resource>
- <directory>xtend-gen</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.4.1</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>xtend-gen</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>xtend-gen</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <version>2.14.0</version>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <outputDirectory>xtend-gen</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <groupId>m2m</groupId>
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/src/org/eclipse/app4mc/transform/to/inchron/app/InchronApplication.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/src/org/eclipse/app4mc/transform/to/inchron/app/InchronApplication.java
deleted file mode 100644
index 74e6e86..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/src/org/eclipse/app4mc/transform/to/inchron/app/InchronApplication.java
+++ /dev/null
@@ -1,97 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transform.to.inchron.app;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.transformation.application.base.Application;
-import org.eclipse.equinox.app.IApplicationContext;
-/**
- * This class controls all aspects of the application's execution
- */
-public class InchronApplication extends Application {
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- return super.start(context);
- }
-
-
- @Override
- protected Logger getLogger(Properties inputParameters) {
- return super.getLogger(inputParameters);
- }
-
- @Override
- protected Properties getInputParameters(IApplicationContext context) throws IOException, FileNotFoundException {
-
-
- String[] args = (String[]) context.getArguments().get("application.args");
-
- if (args != null && args.length > 0) {
-
- String inputPropsFile = args[1];
-
- File propertiesFile = new File(inputPropsFile);
-
- Properties properties = new Properties();
-
- properties.load(new FileInputStream(propertiesFile));
-
- //Now checking if the user has specified absolute paths in the properties file ?
-
- Object inputModelsFolder = properties.get("input_models_folder");
- Object outputModelsFolder = properties.get("m2m_output_folder");
- Object logFile = properties.get("log_file");
-
- if(inputModelsFolder !=null) {
- String path=inputModelsFolder.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath() ;
-
- properties.put("input_models_folder", newPath);
-
- }
- if(outputModelsFolder !=null) {
- String path=outputModelsFolder.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath();
-
- properties.put("m2m_output_folder", newPath);
-
- }
- if(logFile !=null) {
- String path=logFile.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath() ;
-
- properties.put("log_file", newPath);
-
- }
-
-
- return properties;
- }
-
- return null;
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.classpath b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.classpath
deleted file mode 100644
index 428337e..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="xtend-gen"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.gitignore
deleted file mode 100644
index d3fb94c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.project b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.project
deleted file mode 100644
index db6d67b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.project
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.app4mc.transform.to.inchron.m2m</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
-
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- </natures>
-</projectDescription>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/META-INF/MANIFEST.MF
deleted file mode 100644
index 180f732..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: APP4MC Transformation to Inchron M2M
-Bundle-SymbolicName: org.eclipse.app4mc.transform.to.inchron.m2m;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Vendor: Eclipse APP4MC
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: com.google.inject;bundle-version="3.0.0",
- org.apache.log4j;bundle-version="1.2.15",
- org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.app4mc.transformation.extensions,
- org.eclipse.app4mc.amalthea.model;visibility:=reexport,
- com.inchron.realtime.root;bundle-version="2.98.2"
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/about.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/build.properties
deleted file mode 100644
index bac7dc9..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-source.. = src/,\
- xtend-gen/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- epl-2.0.html,\
- about.html
-src.includes = about.html,\
- epl-2.0.html
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/epl-2.0.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Eclipse Public License - Version 2.0</title>
- <style type="text/css">
- body {
- margin: 1.5em 3em;
- }
- h1{
- font-size:1.5em;
- }
- h2{
- font-size:1em;
- margin-bottom:0.5em;
- margin-top:1em;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol{
- list-style-type:none;
- }
- </style>
- </head>
- <body>
- <h1>Eclipse Public License - v 2.0</h1>
- <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
- </p>
- <h2 id="definitions">1. DEFINITIONS</h2>
- <p>“Contribution” means:</p>
- <ul>
- <li>a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
- </li>
- <li>
- b) in the case of each subsequent Contributor:
- <ul>
- <li>i) changes to the Program, and</li>
- <li>ii) additions to the Program;</li>
- </ul>
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- “originates” from a Contributor if it was added to the Program by such
- Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
- </li>
- </ul>
- <p>“Contributor” means any person or entity that Distributes the Program.</p>
- <p>“Licensed Patents” mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
- </p>
- <p>“Program” means the Contributions Distributed in accordance with this
- Agreement.
- </p>
- <p>“Recipient” means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
- </p>
- <p>“Derivative Works” shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
- </p>
- <p>“Modified Works” shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations, interfaces,
- types, classes, structures, or files of the Program solely in each case
- in order to link to, bind by name, or subclass the Program or Modified
- Works thereof.
- </p>
- <p>“Distribute” means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
- </p>
- <p>“Source Code” means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
- </p>
- <p>“Secondary License” means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
- </p>
- <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
- <ul>
- <li>a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
- </li>
- <li>b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if,
- at the time the Contribution is added by the Contributor, such
- addition of the Contribution causes such combination to be covered
- by the Licensed Patents. The patent license shall not apply to any
- other combinations which include the Contribution. No hardware per
- se is licensed hereunder.
- </li>
- <li>c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the rights
- and licenses granted hereunder, each Recipient hereby assumes sole
- responsibility to secure any other intellectual property rights needed,
- if any. For example, if a third party patent license is required to
- allow Recipient to Distribute the Program, it is Recipient's
- responsibility to acquire that license before distributing the Program.
- </li>
- <li>d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
- </li>
- <li>e) Notwithstanding the terms of any Secondary License, no Contributor
- makes additional grants to any Recipient (other than those set forth
- in this Agreement) as a result of such Recipient's receipt of the
- Program under the terms of a Secondary License (if permitted under
- the terms of Section 3).
- </li>
- </ul>
- <h2 id="requirements">3. REQUIREMENTS</h2>
- <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
- <ul>
- <li>a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
- </li>
- <li>
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- <ul>
- <li>i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including warranties
- or conditions of title and non-infringement, and implied warranties
- or conditions of merchantability and fitness for a particular purpose;
- </li>
- <li>ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special, incidental
- and consequential damages, such as lost profits;
- </li>
- <li>iii) does not attempt to limit or alter the recipients' rights in the
- Source Code under section 3.2; and
- </li>
- <li>iv) requires any subsequent distribution of the Program by any party
- to be under a license that satisfies the requirements of this section 3.
- </li>
- </ul>
- </li>
- </ul>
- <p>3.2 When the Program is Distributed as Source Code:</p>
- <ul>
- <li>a) it must be made available under this Agreement, or if the Program (i)
- is combined with other material in a separate file or files made available
- under a Secondary License, and (ii) the initial Contributor attached to
- the Source Code the notice described in Exhibit A of this Agreement,
- then the Program may be made available under the terms of such
- Secondary Licenses, and
- </li>
- <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
- </ul>
- <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
- attribution notices, disclaimers of warranty, or limitations of liability
- (‘notices’) contained within the Program from any copy of the Program which
- they Distribute, provided that Contributors may add their own appropriate
- notices.
- </p>
- <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
- <p>Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program, the
- Contributor who includes the Program in a commercial product offering should
- do so in a manner which does not create potential liability for other
- Contributors. Therefore, if a Contributor includes the Program in a
- commercial product offering, such Contributor (“Commercial Contributor”)
- hereby agrees to defend and indemnify every other Contributor
- (“Indemnified Contributor”) against any losses, damages and costs
- (collectively “Losses”) arising from claims, lawsuits and other legal actions
- brought by a third party against the Indemnified Contributor to the extent
- caused by the acts or omissions of such Commercial Contributor in connection
- with its distribution of the Program in a commercial product offering.
- The obligations in this section do not apply to any claims or Losses relating
- to any actual or alleged intellectual property infringement. In order to
- qualify, an Indemnified Contributor must: a) promptly notify the
- Commercial Contributor in writing of such claim, and b) allow the Commercial
- Contributor to control, and cooperate with the Commercial Contributor in,
- the defense and any related settlement negotiations. The Indemnified
- Contributor may participate in any such claim at its own expense.
- </p>
- <p>For example, a Contributor might include the Program
- in a commercial product offering, Product X. That Contributor is then a
- Commercial Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance claims
- and warranties are such Commercial Contributor's responsibility alone.
- Under this section, the Commercial Contributor would have to defend claims
- against the other Contributors related to those performance claims and
- warranties, and if a court requires any other Contributor to pay any damages
- as a result, the Commercial Contributor must pay those damages.
- </p>
- <h2 id="warranty">5. NO WARRANTY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
- WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
- solely responsible for determining the appropriateness of using and
- distributing the Program and assumes all risks associated with its
- exercise of rights under this Agreement, including but not limited to the
- risks and costs of program errors, compliance with applicable laws, damage
- to or loss of data, programs or equipment, and unavailability or
- interruption of operations.
- </p>
- <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
- LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
- GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- </p>
- <h2 id="general">7. GENERAL</h2>
- <p>If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of the
- remainder of the terms of this Agreement, and without further action by the
- parties hereto, such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- </p>
- <p>If Recipient institutes patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Program itself
- (excluding combinations of the Program with other software or hardware)
- infringes such Recipient's patent(s), then such Recipient's rights granted
- under Section 2(b) shall terminate as of the date such litigation is filed.
- </p>
- <p>All Recipient's rights under this Agreement shall terminate if it fails to
- comply with any of the material terms or conditions of this Agreement and
- does not cure such failure in a reasonable period of time after becoming
- aware of such noncompliance. If all Recipient's rights under this Agreement
- terminate, Recipient agrees to cease use and distribution of the Program
- as soon as reasonably practicable. However, Recipient's obligations under
- this Agreement and any licenses granted by Recipient relating to the
- Program shall continue and survive.
- </p>
- <p>Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and may
- only be modified in the following manner. The Agreement Steward reserves
- the right to publish new versions (including revisions) of this Agreement
- from time to time. No one other than the Agreement Steward has the right
- to modify this Agreement. The Eclipse Foundation is the initial Agreement
- Steward. The Eclipse Foundation may assign the responsibility to serve as
- the Agreement Steward to a suitable separate entity. Each new version of
- the Agreement will be given a distinguishing version number. The Program
- (including Contributions) may always be Distributed subject to the version
- of the Agreement under which it was received. In addition, after a new
- version of the Agreement is published, Contributor may elect to Distribute
- the Program (including its Contributions) under the new version.
- </p>
- <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
- </p>
- <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
- <p>“This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}.”
- </p>
- <blockquote>
- <p>Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
- </p>
- <p>If it is not possible or desirable to put the notice in a particular file,
- then You may include the notice in a location (such as a LICENSE file in a
- relevant directory) where a recipient would be likely to look for
- such a notice.
- </p>
- <p>You may add additional accurate notices of copyright ownership.</p>
- </blockquote>
- </body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/plugin.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/plugin.xml
deleted file mode 100644
index 11e05ec..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/plugin.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- -->
-
-<plugin>
- <extension
- point="org.eclipse.app4mc.transformation.configuration">
- <config
- enabled="true"
- id="org.eclipse.app4mc.transform.to.inchron.m2m.config"
- m2m_class="configuration.M2MTransformation"
- module_class="module.DefaultM2MInjectorModule">
- </config>
- </extension>
-
-</plugin>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/pom.xml
deleted file mode 100644
index 9bffa7a..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.app4mc.transform.to.inchron.m2m</artifactId>
- <packaging>eclipse-plugin</packaging>
-
-
- <properties>
- <plugin-id>org.eclipse.app4mc.transform.to.inchron.m2m</plugin-id>
-
- </properties>
-
- <build>
- <plugins>
-
-
-
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <version>2.14.0</version>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- <goal>xtend-install-debug-info</goal>
- <goal>testCompile</goal>
- <goal>xtend-test-install-debug-info</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <outputDirectory>xtend-gen</outputDirectory>
- </configuration>
-
- </plugin>
-
-
-
- </plugins>
- </build>
-
- <groupId>m2m</groupId>
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/configuration/M2MTransformation.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/configuration/M2MTransformation.java
deleted file mode 100644
index 771b1d4..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/configuration/M2MTransformation.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package configuration;
-
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import com.inchron.realtime.root.RootPackage;
-
-import model.loader.AmaltheaMultiFileLoader;
-
-public class M2MTransformation implements IModelToModelConfig {
-
- private Properties parameters;
-
- private Logger logger;
-
- public M2MTransformation() {
- }
-
- @Override
- public ResourceSet getInputResourceSet() {
-
- if (parameters != null) {
-
- String folderPath = parameters.getProperty("input_models_folder");
-
- if (folderPath != null) {
-
- logger.info("Loading AMALTHEA model files from folder : " + folderPath);
-
- ResourceSet resourceSet = new AmaltheaMultiFileLoader().loadMultipleFiles(logger, folderPath);
-
- return resourceSet;
- } else {
- logger.error("amalthea_models_folder parameter not set",
- new NullPointerException("amalthea_models_folder property not set"));
- }
-
- } else {
- logger.error("Parameters object not set ", new NullPointerException("Parameter object is null"));
- }
- return null;
- }
-
- @Override
- public ResourceSet getOuputResourceSet() {
-
- ResourceSet outputRurceSet = new ResourceSetImpl();
-
- outputRurceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
- outputRurceSet.getPackageRegistry().put(RootPackage.eNS_URI, RootPackage.eINSTANCE);
-
- return outputRurceSet;
- }
-
- @Override
- public void setProperties(Properties parameters) {
-
- this.parameters = parameters;
- }
-
- @Override
- public void setLogger(Logger logger) {
- this.logger = logger;
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/model/loader/AmaltheaMultiFileLoader.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/model/loader/AmaltheaMultiFileLoader.java
deleted file mode 100644
index 831f48f..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/model/loader/AmaltheaMultiFileLoader.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package model.loader;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.amalthea.model.Amalthea;
-import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
-import org.eclipse.app4mc.amalthea.model.AmaltheaPackage;
-import org.eclipse.app4mc.amalthea.sphinx.AmaltheaResourceFactory;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.sphinx.emf.resource.ExtendedResourceSet;
-import org.eclipse.sphinx.emf.resource.ExtendedResourceSetImpl;
-
-public class AmaltheaMultiFileLoader {
-
- public ResourceSet loadMultipleFiles(Logger logger, String directoryPath) {
-
- File folder = new File(directoryPath);
-
- if (folder.isDirectory()) {
- File[] listFiles = folder.listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File file, String name) {
-
- if (name.endsWith(".amxmi")) {
- return true;
- }
- return false;
- }
- });
-
- ResourceSet resourceSet = initializeResourceSet();
-
- loadMultipleFiles(logger, resourceSet, listFiles);
-
- return resourceSet;
- }
-
- return new ResourceSetImpl();
-
- }
-
- private List<Amalthea> loadMultipleFiles(Logger logger, ResourceSet resourceSet, File[] listFiles) {
-
- String amltLoaderVersion = AmaltheaFactory.eINSTANCE.createAmalthea().getVersion();
-
- List<Amalthea> models = new ArrayList<Amalthea>();
-
- for (File amxmiFile : listFiles) {
-
- logger.info("loading file :"+amxmiFile.getName());
- String absolutePath = amxmiFile.getAbsolutePath();
- final Resource res = resourceSet.createResource(URI.createURI("file:////" + absolutePath));
- try {
- res.load(null);
- EList<EObject> contents = res.getContents();
-
- if (contents != null && contents.size() > 0) {
-
- for (final EObject content : contents) {
- if (content instanceof Amalthea) {
- models.add((Amalthea) content);
- }
- }
- } else {
- logger.error("Unable to load Amalthea model file : " + absolutePath
- + ". Verify if the model version is : " + amltLoaderVersion);
-
- }
- } catch (IOException e) {
- logger.error("Exception occured loading file : " + absolutePath + " :" + e.getMessage());
- }
- }
- return models;
- }
-
- private static ResourceSet initializeResourceSet() {
- final ExtendedResourceSet resSet = new ExtendedResourceSetImpl();
- resSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("amxmi", new AmaltheaResourceFactory());
- AmaltheaPackage.eINSTANCE.eClass(); // register the package
-
- return resSet;
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/module/DefaultM2MInjectorModule.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/module/DefaultM2MInjectorModule.java
deleted file mode 100644
index ad1dde6..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/module/DefaultM2MInjectorModule.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package module;
-
-import org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule;
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer;
-
-import templates.m2m.Amlt2InchronTransformer;
-
-public class DefaultM2MInjectorModule extends AbstractTransformationInjectorModule {
-
- @Override
- protected void initializeBaseConfiguration() {
- bind(Model2ModelRootTransformer.class).to(Amlt2InchronTransformer.class);
-
- // base transformers
- //bind(ModelTransformer.class).to(UserDefined_ModelTransformer.class);
- //bind(SettingsTransformer.class).to(UserDefined_SettingsTransformer.class);
-
- // constraints
- //bind(ConstraintsTransformer.class).to(UserDefined_ConstraintsTransformer.class);
- //bind(EventChainReferenceTransformer.class).to(UserDefined_EventChainReferenceTransformer.class);
- //bind(EventChainTransformer.class).to(UserDefined_EventChainTransformer.class);
-
- // hw
- //bind(CacheTransformer.class).to(UserDefined_CacheTransformer.class);
- //bind(FrequencyDomainTransformer.class).to(UserDefined_FrequencyDomainTransformer.class);
- //bind(HWStructure_ECUTransformer.class).to(UserDefined_HWStructure_ECUTransformer.class);
- //bind(HWStructure_MicroControllerTransformer.class).to(UserDefined_HWStructure_MicroControllerTransformer.class);
- //bind(HWStructure_SystemTransformer.class).to(UserDefined_HWStructure_SystemTransformer.class);
- //bind(HWTransformer.class).to(UserDefined_HWTransformer.class);
- //bind(MemoryTransformer.class).to(UserDefined_MemoryTransformer.class);
- //bind(ProcessingUnitTransformer.class).to(UserDefined_ProcessingUnitTransformer.class);
-
- // mapping
- //bind(MappingTransformer.class).to(UserDefined_MappingTransformer.class);
-
- // os
- //bind(OSTransformer.class).to(UserDefined_OSTransformer.class);
-
- // stimuli
- //bind(StimuliTransformer.class).to(UserDefined_StimuliTransformer.class);
-
- // sw
- //bind(CallGraphTransformer.class).to(UserDefined_CallGraphTransformer.class);
- //bind(ChannelTransformer.class).to(UserDefined_ChannelTransformer.class);
- //bind(CustomEventTriggerTransformer.class).to(UserDefined_CustomEventTriggerTransformer.class);
- //bind(GraphEntryBaseTransformer.class).to(UserDefined_GraphEntryBaseTransformer.class);
- //bind(ISRTransformer.class).to(UserDefined_ISRTransformer.class);
- //bind(ModeLabelTransformer.class).to(UserDefined_ModeLabelTransformer.class);
- //bind(ModeSwitchTransformer.class).to(UserDefined_ModeSwitchTransformer.class);
- //bind(ModeValueDisjunctionTransformer.class).to(UserDefined_ModeValueDisjunctionTransformer.class);
- //bind(RunnableItemTransformer.class).to(UserDefined_RunnableItemTransformer.class);
- //bind(RunnableTransformer.class).to(UserDefined_RunnableTransformer.class);
- //bind(SWTransformer.class).to(UserDefined_SWTransformer.class);
- //bind(TaskTransformer.class).to(UserDefined_TaskTransformer.class);
-
- // sw/runnableItem/
- //bind(AsynchronousServerCallTransformer.class).to(UserDefined_AsynchronousServerCallTransformer.class);
- //bind(ChannelAccessTransformer.class).to(UserDefined_ChannelAccessTransformer.class);
- //bind(ComputationItemTransformer.class).to(UserDefined_ComputationItemTransformer.class);
- //bind(CustomEventTriggerTransformer.class).to(UserDefined_CustomEventTriggerTransformer.class);
- //bind(ExecutionNeedTransformer.class).to(UserDefined_ExecutionNeedTransformer.class);
- //bind(GetResultServerCallTransformer.class).to(UserDefined_GetResultServerCallTransformer.class);
- //bind(GroupTransformer.class).to(UserDefined_GroupTransformer.class);
- //bind(LabelAccessTransformer.class).to(UserDefined_LabelAccessTransformer.class);
- //bind(ModeLabelAccessTransformer.class).to(UserDefined_ModeLabelAccessTransformer.class);
- //bind(RunnableCallTransformer.class).to(UserDefined_RunnableCallTransformer.class);
- //bind(RunnableModeSwitchTransformer.class).to(UserDefined_RunnableModeSwitchTransformer.class);
- //bind(RunnableProbablilitySwitchTransformer.class).to(UserDefined_RunnableProbablilitySwitchTransformer.class);
- //bind(SemaphoreAccessTransformer.class).to(UserDefined_SemaphoreAccessTransformer.class);
- //bind(SenderReceiverCommunicationTransformer.class).to(UserDefined_SenderReceiverCommunicationTransformer.class);
- //bind(SenderReceiverReadTransformer.class).to(UserDefined_SenderReceiverReadTransformer.class);
- //bind(SenderReceiverWriteTransformer.class).to(UserDefined_SenderReceiverWriteTransformer.class);
- //bind(ServerCallTransformer.class).to(UserDefined_ServerCallTransformer.class);
- //bind(SynchronousServerCallTransformer.class).to(UserDefined_SynchronousServerCallTransformer.class);
- //bind(TicksTransformer.class).to(UserDefined_TicksTransformer.class);
- //bind(TransmissionPolicyTransformer.class).to(UserDefined_TransmissionPolicyTransformer.class);
-
- // utils
- //bind(FrequencyTransformer.class).to(UserDefined_FrequencyTransformer.class);
- //bind(TimeTransformer.class).to(UserDefined_TimeTransformer.class);
-
-
-
-
- }
-
- @Override
- protected void initializeTransformerObjects() {
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/AbstractAmaltheaInchronTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/AbstractAmaltheaInchronTransformer.xtend
deleted file mode 100644
index d518f0b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/AbstractAmaltheaInchronTransformer.xtend
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates
-
-import com.inchron.realtime.root.RootFactory
-import com.inchron.realtime.root.model.Model
-import com.inchron.realtime.root.model.ModelFactory
-import com.inchron.realtime.root.model.memory.MemoryFactory
-import com.inchron.realtime.root.model.stimulation.StimulationFactory
-import org.eclipse.app4mc.amalthea.model.Amalthea
-import org.eclipse.app4mc.amalthea.model.AmaltheaFactory
-import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
-import com.inchron.realtime.root.settings.SettingsFactory
-
-abstract class AbstractAmaltheaInchronTransformer extends AbstractTransformer {
-
- public def Amalthea getAmaltheaRoot(){
- return (customObjsStore.getInstance(Amalthea) as Amalthea)
- }
-
- public def Model getInchronRoot(){
- return (customObjsStore.getInstance(Model) as Model)
- }
-
- /*- Factory initialization */
- public def getInchronRootFactory(){
- return RootFactory.eINSTANCE}
-
- public def getInchronSettingsFactory(){
- return SettingsFactory.eINSTANCE}
-
- public def getInchronModelFactory(){
- ModelFactory.eINSTANCE}
-
- public def getInchronMemoryFactory(){
- MemoryFactory.eINSTANCE}
-
- public def getInchronStimulationFactory(){
- StimulationFactory.eINSTANCE}
-
- public def getAmaltheaFactory(){
- AmaltheaFactory.eINSTANCE}
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/Amlt2InchronTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/Amlt2InchronTransformer.xtend
deleted file mode 100644
index 93c4e03..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/Amlt2InchronTransformer.xtend
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m;
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.RootFactory
-import java.io.File
-import org.eclipse.app4mc.amalthea.model.Amalthea
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer
-import org.eclipse.emf.common.util.URI
-import org.eclipse.emf.ecore.resource.ResourceSet
-import templates.utils.AmltCacheModel
-
-class Amlt2InchronTransformer extends Model2ModelRootTransformer {
-
- @Inject ModelTransformer modelTransformer
- @Inject SettingsTransformer settingsTransformer
-
- override m2mTransformation(ResourceSet inputResourceSet, ResourceSet outputResourceSet) {
- /*- Associating CacheModel to the transformation.
- * Note: This is a cummulative cache of all the elements from various input AMALTHEA model files.
- */
- var AmltCacheModel cacheModel = new AmltCacheModel
-
- customObjsStore.injectMembers(AmltCacheModel, cacheModel)
-
- var int fileIndex = 1
-
- for (resource : inputResourceSet.resources) {
- for (content : resource.contents) {
-
- logger.info("Processing file : " + resource.URI)
-
- /*- Building INCHRON model from AMALTHEA input model */
- val inchronRoot = transform(content as Amalthea)
-
- fileIndex++
-
- val out_uri = URI.createFileURI(
- getProperty("m2m_output_folder") + File.separator + fileIndex + ".iprx")
-
- val out_resource = outputResourceSet.createResource(out_uri)
-
- /*-Attaching a resource to the INCHRON model element */
- out_resource.contents.add(inchronRoot)
-
- }
- }
-
- /*- Saving all the root INCHRON model files*/
- for (resource : outputResourceSet.resources) {
-
- resource.save(null)
-
- logger.info("Transformed model file generated at : " + resource.URI)
- }
-
- logger.info("*********************** Completed : Model to Model transformation **************************")
-
- }
-
- /**
- * This method is used to transform AMALTHEA model to INCHRON model
- */
- def create RootFactory.eINSTANCE.createRoot transform(Amalthea amalthea) {
-
- /*-Step 1: Injecting all the required transformation objects into the CustomObjsStore. Advantage with this approach is, it provides flexibility to access these elements across various transformers */
-// customObjsStore.injectMembers(SWTransformer , swTransformer)
-// customObjsStore.injectMembers(HWTransformer , hwTransformer)
-// customObjsStore.injectMembers(OSTransformer , osTransformer)
-//
-// customObjsStore.injectMembers(StimuliTransformer , stimuliTransformer)
- /* Step 2: Building INCHRON model by invoking various transformers */
- it.model = modelTransformer.createInchronModel(amalthea)
- it.settings = settingsTransformer.createInchronSettings(amalthea)
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/ModelTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/ModelTransformer.xtend
deleted file mode 100644
index c0cd88d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/ModelTransformer.xtend
+++ /dev/null
@@ -1,90 +0,0 @@
-package templates.m2m
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Model
-import com.inchron.realtime.root.model.ModelFactory
-import java.text.DateFormat
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
-import org.eclipse.app4mc.amalthea.model.Amalthea
-import org.eclipse.app4mc.amalthea.model.StringObject
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.constraints.ConstraintsTransformer
-import templates.m2m.hw.HWTransformer
-import templates.m2m.mapping.MappingTransformer
-import templates.m2m.os.OSTransformer
-import templates.m2m.sw.SWTransformer
-
-@Singleton
-class ModelTransformer extends AbstractAmaltheaInchronTransformer{
-
- @Inject extension HWTransformer hwTransformer
-
- @Inject extension OSTransformer osTransformer
-
- @Inject extension MappingTransformer mappingTransformer
-
- @Inject extension SWTransformer swTransformer
-
- @Inject extension ConstraintsTransformer constraintsTransformer
-
-
-
- /**
- * This method creates the object of INCHRON Model element, and fills it by invoking various transformations
- */
- def create ModelFactory.eINSTANCE.createModel createInchronModel(Amalthea amalthea) {
- customObjsStore.injectMembers(Amalthea , amalthea)
- customObjsStore.injectMembers(Model , it)
-
- transformMetaInfo(amalthea, it)
-
- it.name = "Model"
-
- hwTransformer.transfromHWModel(amalthea.hwModel, it)
-
- osTransformer.transfromOSModel(amalthea.osModel, it)
-
- mappingTransformer.transfromMappingModel(amalthea.mappingModel, it)
-
- swTransformer.transformSWModel(amalthea.swModel, it)
-
- constraintsTransformer.transformConstraintsModel
-
- //note: stimuli are transformed when traversing the sw model
- }
-
- /**
- * Create and fill the INCHRON model's GeneralInfo with meta information,
- * mainly from the Amalthea customProperties map.
- * @Note: customProperties keys used here are currently informal/not specified.
- */
- def transformMetaInfo(Amalthea amalthea, Model inchronModel) {
-
- var DateFormat dateFormat = new SimpleDateFormat("dd.MMMM.yyyy", Locale.ENGLISH)
-
- var info = ModelFactory.eINSTANCE.createGeneralInfo()
- info.setCreator(("Amlt2Inchron " + amalthea.getVersion() + " " + new Date()).toString())
- info.setVersion("1")
-
- val value = amalthea.getCustomProperties().get("Date_Last_Modified")
- if (value instanceof StringObject) {
- val date = (value as StringObject).getValue()
- if (date !== null)
- info.setModifiedDate(dateFormat.parse(date))
- }
-
- val author = amalthea.getCustomProperties().get("Author")
- if (author instanceof StringObject)
- info.setAuthor((author as StringObject).getValue())
-
- val descr = amalthea.getCustomProperties().get("Description")
- if (descr instanceof StringObject)
- info.setDescription((descr as StringObject).getValue())
-
- inchronModel.setGeneralInfo(info)
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/SettingsTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/SettingsTransformer.xtend
deleted file mode 100644
index b910c53..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/SettingsTransformer.xtend
+++ /dev/null
@@ -1,20 +0,0 @@
-package templates.m2m
-
-import com.google.inject.Singleton
-import com.inchron.realtime.root.settings.SettingsFactory
-import org.eclipse.app4mc.amalthea.model.Amalthea
-import templates.AbstractAmaltheaInchronTransformer
-
-@Singleton
-class SettingsTransformer extends AbstractAmaltheaInchronTransformer{
-
- /**
- * This method creates the object of INCHRON Settings element
- */
- def create SettingsFactory.eINSTANCE.createSettings createInchronSettings(Amalthea amalthea) {
- it.editor = getInchronSettingsFactory.createEditorSettings
- it.model = getInchronSettingsFactory.createModelSettings
- it.tool = getInchronSettingsFactory.createToolSettings
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/ConstraintsTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/ConstraintsTransformer.xtend
deleted file mode 100644
index 77e16b8..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/ConstraintsTransformer.xtend
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.constraints
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.constraints.EventChainTransformer
-import org.eclipse.app4mc.amalthea.model.EventChain
-
-@Singleton
-class ConstraintsTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject EventChainTransformer eventChainTransformer
-
- def transformConstraintsModel() {
- getAmaltheaRoot()?.constraintsModel?.eventChains?.forEach(EventChain eventChain | {
- eventChainTransformer.transformEventChain(eventChain);
- })
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainReferenceTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainReferenceTransformer.xtend
deleted file mode 100644
index 86ccef3..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainReferenceTransformer.xtend
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.constraints
-
-import com.google.inject.Singleton
-import org.eclipse.app4mc.amalthea.model.EventChainReference
-import templates.AbstractAmaltheaInchronTransformer
-
-@Singleton
-class EventChainReferenceTransformer extends AbstractAmaltheaInchronTransformer {
-
- def create inchronModelFactory.createDataFlowReference createDataFlowReference(EventChainReference amltEventEventChainReference){
- }
-
-
-}
-
-
-
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainTransformer.xtend
deleted file mode 100644
index f20086a..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/constraints/EventChainTransformer.xtend
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.constraints
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import org.eclipse.app4mc.amalthea.model.EventChain
-import templates.AbstractAmaltheaInchronTransformer
-import org.eclipse.app4mc.amalthea.model.AbstractEventChain
-import org.eclipse.app4mc.amalthea.model.Process
-import templates.m2m.event.AbstractEventTransformer
-import com.inchron.realtime.root.model.DataFlowEdge
-import templates.m2m.sw.runnableItem.ChannelAccessTransformer
-import templates.m2m.utils.DataFlowUtils
-import org.eclipse.app4mc.amalthea.model.ChannelEvent
-import org.eclipse.app4mc.amalthea.model.ChannelAccess
-import templates.m2m.utils.EventChainCrawler
-import templates.m2m.utils.EventSequenceUtils
-
-@Singleton
-class EventChainTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject AbstractEventTransformer abstractEventTransformer
- @Inject ChannelAccessTransformer channelAccessTransformer
-
- def transformEventChain(EventChain amltEventChain) {
- //check if amalthea structure is feasible to be transformed to data flow
- //list of checks:
- // - no circular dependencies within nested event chain references
- // - channel event specifies: runnable, channel, access type (send or receive)
- // - stimulus and response are of type channel event
- // - stimulus and responsecan be traced to ONE specific channel access runnable item
- // - rules above also apply to nested and referenced event chains
- // Note: strands are not supported and will be neglected
- val dataFlowCrawler = new EventChainCrawler[DataFlowUtils.testConditionEventChain2DataFlow(it)]
- if (dataFlowCrawler.evaluate(amltEventChain)){
- dataFlowCrawler.applyOrder
- dataFlowCrawler.applyBoundaries(amltEventChain.stimulus, amltEventChain.response)
- val dataFlow = createDataFlow(amltEventChain)
- val traversedEventChains = dataFlowCrawler.traversedEventChains
- if (!traversedEventChains.isEmpty){
- for (AbstractEventChain eventChain : traversedEventChains){
- //create new edge
- val DataFlowEdge dataFlowEdge = inchronModelFactory.createDataFlowEdge
- // set stimulus & response
- val Process stimulusTask = (eventChain.stimulus as ChannelEvent).process
- val ChannelAccess stimulusChannelAccess = DataFlowUtils.findChannelAccess(eventChain.stimulus as ChannelEvent)
- if (stimulusChannelAccess !== null){
- dataFlowEdge.stimulus = channelAccessTransformer.createVariableAccess(stimulusTask, stimulusChannelAccess)
- } else {
- dataFlowEdge.stimulus = null;
- }
- val Process responseTask = (eventChain.response as ChannelEvent).process
- val ChannelAccess responseChannelAccess = DataFlowUtils.findChannelAccess(eventChain.response as ChannelEvent)
- if (eventChain.response !== null){
- dataFlowEdge.response = channelAccessTransformer.createVariableAccess(responseTask, responseChannelAccess)
- } else {
- dataFlowEdge.response = null;
- }
- //add new edge dataflow
- dataFlow.edges.add(dataFlowEdge)
- }
- getInchronRoot.eventChains.add(dataFlow)
- }else{
- getLogger.error("Event chain " + amltEventChain.name + "'s elements are valid, but issues exist in sequence and/or boundaries")
- }
- return
- }
-
- //check if amalthea structure is feasible to be transformed to event sequence
- //list of checks:
- // - no circular dependencies within nested event chain references
- // - process event specifies: process & process be traced to inchron component
- // - runnable event specifies: runnable, process & process be traced to inchron component
- // - stimulus and response are both either of type runnable event or process event
- // - rules above also apply to nested and referenced event chains
- // Note: strands are not supported and will be neglected
- val eventSequenceCrawler = new EventChainCrawler[EventSequenceUtils.testConditionEventChain2EventSequence(it)]
- if (eventSequenceCrawler.evaluate(amltEventChain)){
- var eventSequence = createEventSequence(amltEventChain)
-
- //create trace events from (sorted) stimuli events of event chain
- // events are sorted by stimulus/reponse: eg. EC1(stim=A, resp=B), EC2(stim=C, resp=D), EC3(stim=B, resp=C)
- // sorting leads to: EC1, EC3, EC2
- // is transformed to event sequence: A--[loop]-->B--[loop]-->C--[add last]-->D
-
- // [sort]
- eventSequenceCrawler.applyOrder
- eventSequenceCrawler.applyBoundaries(amltEventChain.stimulus, amltEventChain.response)
- val traversedEventChains = eventSequenceCrawler.traversedEventChains
- if (!traversedEventChains.isEmpty){
- // [loop]
- for (AbstractEventChain eventChain : traversedEventChains){
- var conditionalTraceEvent = getInchronModelFactory.createConditionalTraceEvent
- conditionalTraceEvent.traceEvent = abstractEventTransformer.createTraceEvent(eventChain.stimulus)
- eventSequence.sequence.add(conditionalTraceEvent)
- }
- // [add last]
- var conditionalTraceEvent = getInchronModelFactory.createConditionalTraceEvent
- conditionalTraceEvent.traceEvent = abstractEventTransformer.createTraceEvent(traversedEventChains.last.response)
- eventSequence.sequence.add(conditionalTraceEvent)
- //add event sequence to inchron root model
- getInchronRoot.eventChains.add(eventSequence)
- }else{
- getLogger.error("Event chain " + amltEventChain.name + "'s elements are valid, but issues exist in sequence and/or boundaries")
-
- }
- return
- }
-
- //default statement
- getLogger.error("Event chain " + amltEventChain.name + " cannot be converted, as it is not a feasible data flow or event sequence")
-
- }
-
- def create inchronModelFactory.createDataFlow createDataFlow(EventChain amltEventChain) {
- it.name = amltEventChain.name
- }
-
- def create inchronModelFactory.createEventSequence createEventSequence(EventChain amltEventChain) {
- it.name = amltEventChain.name
- }
-//
-//
-// def void extendDataFlow(DataFlow dataFlow, AbstractEventChain amltAbstractEventChain) {
-// if (!amltAbstractEventChain.segments.isEmpty) {
-// //event chain is hierarchical --> step down
-// amltAbstractEventChain.segments.forEach[EventChainItem amltEventChainItem | { //item may be a container or a reference
-// if (amltEventChainItem instanceof EventChainContainer){
-// //recursively process contained (sub)event chain
-// extendDataFlow(dataFlow, (amltEventChainItem as EventChainContainer).eventChain)
-// } else if (amltEventChainItem instanceof EventChainReference) {
-// //create [cs]DataFlowReference from [amlt]EventChainReference
-//
-// dataFlow.references.add(eventChainReferenceTransformer.createDataFlowReference(
-// (amltEventChainItem as EventChainReference), amltAbstractEventChain))
-// }
-// }]
-// }
-// else {
-// //create new edge
-// val DataFlowEdge dataFlowEdge = inchronModelFactory.createDataFlowEdge
-//
-// //set stimulus and receiver according to channel events
-// val Process stimulusTask = (amltAbstractEventChain.stimulus as ChannelEvent).process
-// val ChannelAccess stimulus = DataFlowUtils.findChannelAccess(amltAbstractEventChain.stimulus as ChannelEvent)
-// if (stimulus !== null){
-// dataFlowEdge.stimulus = channelAccessTransformer.createVariableAccess(stimulusTask, stimulus)
-// } else {
-// dataFlowEdge.stimulus = null;
-// }
-//
-// val Process responseTask = (amltAbstractEventChain.response as ChannelEvent).process
-// val ChannelAccess response = DataFlowUtils.findChannelAccess(amltAbstractEventChain.response as ChannelEvent)
-// if (response !== null){
-// dataFlowEdge.response = channelAccessTransformer.createVariableAccess(responseTask, response)
-// } else {
-// dataFlowEdge.response = null;
-// }
-//
-// //add new edge dataflow
-// dataFlow.edges.add(dataFlowEdge)
-// }
-// }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/event/AbstractEventTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/event/AbstractEventTransformer.xtend
deleted file mode 100644
index f07f17b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/event/AbstractEventTransformer.xtend
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.event
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.TraceEventType
-import org.eclipse.app4mc.amalthea.model.Event
-import org.eclipse.app4mc.amalthea.model.ProcessEvent
-import org.eclipse.app4mc.amalthea.model.ProcessEventType
-import org.eclipse.app4mc.amalthea.model.RunnableEvent
-import org.eclipse.app4mc.amalthea.model.RunnableEventType
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.sw.RunnableTransformer
-import templates.utils.AmltCacheModel
-
-@Singleton
-class AbstractEventTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject RunnableTransformer runnableTransformer
-
- def dispatch createTraceEvent(Event event){
- logger.warn("AbstractEventTransformer: event " + event.description + " not supported in chronSIM transformation")
- }
-
- def dispatch create inchronModelFactory.createTraceEvent createTraceEvent(ProcessEvent event){
- it.name = event.name;
- switch (event.eventType){
- case ProcessEventType.ACTIVATE: it.type = TraceEventType.ACTIVATE
- case ProcessEventType.TERMINATE: it.type = TraceEventType.TERMINATE
- default:{}
- }
-
- val AmltCacheModel cacheModel = customObjsStore.getInstance(AmltCacheModel)
- val com.inchron.realtime.root.model.Process csProcess = cacheModel.amltProcess_inchronProcessMap.get(event.entity as org.eclipse.app4mc.amalthea.model.Process)
- csProcess.traceEvents.add(it)
- }
-
-
- def dispatch create inchronModelFactory.createTraceEvent createTraceEvent(RunnableEvent event){
- it.name = event.name;
- switch (event.eventType){
- case RunnableEventType.START: it.type = TraceEventType.START
- case RunnableEventType.TERMINATE: it.type = TraceEventType.TERMINATE
- default: {}
- }
- val AmltCacheModel cacheModel = customObjsStore.getInstance(AmltCacheModel)
- val csFunction = runnableTransformer.createFunction(cacheModel.getInchronComponent(event.process), event.process, event.entity)
- csFunction.traceEvents.add(it)
- }
-
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/CacheTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/CacheTransformer.xtend
deleted file mode 100644
index a4354cb..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/CacheTransformer.xtend
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.memory.MemoryType
-import org.eclipse.app4mc.amalthea.model.Cache
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class CacheTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject FrequencyDomainTransformer frequencyDomainTransformer
-
- def create inchronMemoryFactory.createMemory createCache(Cache amltCache) {
-
- it.name = amltCache.name
-
- it.clock = frequencyDomainTransformer.createClock(amltCache.frequencyDomain)
-
- it.type = MemoryType.CACHE
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/FrequencyDomainTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/FrequencyDomainTransformer.xtend
deleted file mode 100644
index 6cc2f0d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/FrequencyDomainTransformer.xtend
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.inchron.realtime.root.model.TimeUnit
-import org.eclipse.app4mc.amalthea.model.FrequencyDomain
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.utils.FrequencyTransformer
-import com.google.inject.Inject
-import com.google.inject.Singleton
-
-@Singleton
-class FrequencyDomainTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject FrequencyTransformer frequencyTransformer
-
- def create inchronModelFactory.createClock createClock(FrequencyDomain amltFrequencyDomain) {
-
- it.name = amltFrequencyDomain.name
-
- var amltFrequency = amltFrequencyDomain.defaultValue
-
- if (amltFrequency !== null) {
- it.frequency = frequencyTransformer.createFrequency(amltFrequency)
-
-// var amltFrequeny_Hz=AmaltheaServices.convertToHertz(amltFrequency)
-// var amltTime=amaltheaFactory.createTime
-// var BigDecimal result=BigDecimal.TEN.pow(12).divide(amltFrequeny_Hz)
-//
-// amltTime.value = result.toBigInteger
-// amltTime.unit=TimeUnit.PS
- }
-
- // TODO: This is only temporary. In future this will be a default value in Inchron model
- var range = inchronModelFactory.createTime
- range.unit = TimeUnit.S
- range.value = 1
- it.range = range
-
- it.startTimeFixed = inchronModelFactory.createTime
- it.startTimeMin = inchronModelFactory.createTime
- it.startTimeMax = inchronModelFactory.createTime
- it.startValue = inchronModelFactory.createTime
-
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_ECUTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_ECUTransformer.xtend
deleted file mode 100644
index 79cf0f0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_ECUTransformer.xtend
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.google.inject.Inject
-
-import com.inchron.realtime.root.model.Model
-import org.eclipse.app4mc.amalthea.model.Cache
-import org.eclipse.app4mc.amalthea.model.HwStructure
-import org.eclipse.app4mc.amalthea.model.Memory
-import org.eclipse.app4mc.amalthea.model.StructureType
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class HWStructure_ECUTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject HWStructure_MicroControllerTransformer microControllerTransformer
-
- @Inject MemoryTransformer memoryTransformer
-
- @Inject CacheTransformer cacheTransformer
-
- def transformHWECU(HwStructure amltHWECU, Model inchronModel) {
-
- amltHWECU.modules.forEach [ amltHwModule |
- if (amltHwModule instanceof Memory) {
- inchronModel.memories.add(memoryTransformer.createMemory(amltHwModule))
- } else if (amltHwModule instanceof Cache) {
- inchronModel.memories.add(cacheTransformer.createCache(amltHwModule))
- }
- ]
-
- amltHWECU.structures.forEach [ amltHwMicroController |
- if (amltHwMicroController.structureType == StructureType.MICROCONTROLLER) {
- inchronModel.cpus.add(microControllerTransformer.createCpu(amltHwMicroController))
- }
- ]
-
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_MicroControllerTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_MicroControllerTransformer.xtend
deleted file mode 100644
index a224a35..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_MicroControllerTransformer.xtend
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.google.inject.Inject
-import org.eclipse.app4mc.amalthea.model.Cache
-import org.eclipse.app4mc.amalthea.model.HwStructure
-import org.eclipse.app4mc.amalthea.model.Memory
-import org.eclipse.app4mc.amalthea.model.ProcessingUnit
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class HWStructure_MicroControllerTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject MemoryTransformer memoryTransformer
-
- @Inject CacheTransformer cacheTransformer
-
- @Inject ProcessingUnitTransformer processingUnitTransformer
-
- @Inject FrequencyDomainTransformer frequencyDomainTransformer
-
- def create inchronModelFactory.createCpu createCpu(HwStructure amltHWMicroController) {
-
- it.name = amltHWMicroController.name
- it.cpuModel = "generic"
-
- amltHWMicroController.modules.forEach [ amltHwModule |
- if (amltHwModule instanceof Memory) {
- it.memories.add(memoryTransformer.createMemory(amltHwModule))
-
- } else if (amltHwModule instanceof Cache) {
- it.memories.add(cacheTransformer.createCache(amltHwModule))
- }
- ]
-
- // creating default memory regions
- var inchronRamRegion = inchronModelFactory.createMemoryRegion
- inchronRamRegion.name = "ram"
- inchronRamRegion.base = 16777216
- inchronRamRegion.sections = "data:bss:stack:heap"
- inchronRamRegion.pages = 1
- inchronRamRegion.flags = 290
-
- var inchronRomRegion = inchronModelFactory.createMemoryRegion
- inchronRomRegion.name = "rom"
- inchronRomRegion.base = 33554432
- inchronRomRegion.sections = "text"
- inchronRomRegion.pages = 1
- inchronRomRegion.flags = 275
-
- it.memoryRegions.add(inchronRamRegion)
- it.memoryRegions.add(inchronRomRegion)
-
- // Creation of Cores
- val amltModules = amltHWMicroController.modules
-
- amltModules.forEach [ amltHwModule |
- if (amltHwModule instanceof ProcessingUnit) {
- it.cores.add(processingUnitTransformer.createCpuCore(amltHwModule))
- it.clock = frequencyDomainTransformer.createClock(amltHwModule?.frequencyDomain)
- }
- ]
-
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_SystemTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_SystemTransformer.xtend
deleted file mode 100644
index cef1cbc..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWStructure_SystemTransformer.xtend
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.Model
-import org.eclipse.app4mc.amalthea.model.Cache
-import org.eclipse.app4mc.amalthea.model.HWModel
-import org.eclipse.app4mc.amalthea.model.Memory
-import org.eclipse.app4mc.amalthea.model.StructureType
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class HWStructure_SystemTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject HWStructure_ECUTransformer ecuTransformer
-
- @Inject HWStructure_MicroControllerTransformer microControllerTransformer
-
- @Inject MemoryTransformer memoryTransformer
-
- @Inject CacheTransformer cacheTransformer
-
- def transformHWSystem(HWModel amltHWModel, Model inchronModel) {
- val amltHWStructures = amltHWModel.structures
-
- amltHWStructures.forEach [ amltHWStructure |
- if (amltHWStructure.structureType == StructureType.SYSTEM) {
-
- amltHWStructure.modules.forEach [ amltHwModule |
- if (amltHwModule instanceof Memory) {
- inchronModel.memories.add(memoryTransformer.createMemory(amltHwModule))
- } else if (amltHwModule instanceof Cache) {
- inchronModel.memories.add(cacheTransformer.createCache(amltHwModule))
- }
- ]
-
- amltHWStructure.structures.forEach [ subStructure |
- if (subStructure.structureType == StructureType.ECU) {
-
- ecuTransformer.transformHWECU(subStructure, inchronModel)
- } else if (subStructure.structureType == StructureType.MICROCONTROLLER) {
-
- inchronModel.cpus.add(microControllerTransformer.createCpu(subStructure))
- }
- ]
- } else if (amltHWStructure.structureType == StructureType.ECU) {
- ecuTransformer.transformHWECU(amltHWStructure, inchronModel)
- } else if (amltHWStructure.structureType == StructureType.MICROCONTROLLER) {
-
- inchronModel.cpus.add(microControllerTransformer.createCpu(amltHWStructure))
- }
- ]
-
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWTransformer.xtend
deleted file mode 100644
index 2539c77..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/HWTransformer.xtend
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.Model
-import org.eclipse.app4mc.amalthea.model.FrequencyDomain
-import org.eclipse.app4mc.amalthea.model.HWModel
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class HWTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject HWStructure_SystemTransformer hwStructure_SystemTransformer
-
- @Inject FrequencyDomainTransformer frequencyDomainTransformer
-
- def transfromHWModel(HWModel amltHWModel, Model inchronModel) {
-
- amltHWModel.domains.forEach [ domain |
- if (domain instanceof FrequencyDomain) {
- var inchronClock = frequencyDomainTransformer.createClock(domain as FrequencyDomain)
-
- inchronModel.clocks.add(inchronClock)
- }
- ]
-
- hwStructure_SystemTransformer.transformHWSystem(amltHWModel, inchronModel)
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/MemoryTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/MemoryTransformer.xtend
deleted file mode 100644
index f3155ab..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/MemoryTransformer.xtend
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import java.math.BigInteger
-import org.eclipse.app4mc.amalthea.model.AmaltheaServices
-import org.eclipse.app4mc.amalthea.model.Memory
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Inject
-import com.google.inject.Singleton
-
-@Singleton
-class MemoryTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject FrequencyDomainTransformer frequencyDomainTransformer
-
- def create inchronMemoryFactory.createMemory createMemory(Memory amltMemory) {
-
- it.name = amltMemory.name
-
- it.clock = frequencyDomainTransformer.createClock(amltMemory?.frequencyDomain)
-
- var amltDataSize = amltMemory?.definition.size
-
- if (amltDataSize !== null) {
- var bytes = AmaltheaServices.convertToBit(amltDataSize).divide(new BigInteger("8"))
-
- it.size = bytes.intValue
-
- }
-
- it.prescaler = 1d
-
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/ProcessingUnitTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/ProcessingUnitTransformer.xtend
deleted file mode 100644
index efb0a2c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/hw/ProcessingUnitTransformer.xtend
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.hw
-
-import org.eclipse.app4mc.amalthea.model.ProcessingUnit
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class ProcessingUnitTransformer extends AbstractAmaltheaInchronTransformer {
-
- def create inchronModelFactory.createCpuCore createCpuCore(ProcessingUnit amltProcessingUnit) {
-
- it.name = amltProcessingUnit.name
-
- it.prescaler = 1
-
- it.connectedSlave = inchronMemoryFactory.createInitiatorPort
-
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/mapping/MappingTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/mapping/MappingTransformer.xtend
deleted file mode 100644
index d469894..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/mapping/MappingTransformer.xtend
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.mapping
-
-import com.inchron.realtime.root.model.Model
-import com.inchron.realtime.root.model.Scheduler
-import org.eclipse.app4mc.amalthea.model.MappingModel
-import org.eclipse.app4mc.amalthea.model.TaskScheduler
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-import templates.m2m.hw.ProcessingUnitTransformer
-import com.google.inject.Inject
-import templates.m2m.os.OSTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class MappingTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
- @Inject ProcessingUnitTransformer processingUnitTransformer
- @Inject OSTransformer osTransformer
-
- def transfromMappingModel(MappingModel amltMappingModel, Model inchronModel) {
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- // building cache
- cacheModel.buildProcesses_SchedulerAllocationMap(amltMappingModel)
-
- val rootTaskSchedulers = amltMappingModel?.schedulerAllocation?.map [ amltSchedulerAllocation |
-
- if (amltSchedulerAllocation.scheduler instanceof TaskScheduler) {
- return (amltSchedulerAllocation.scheduler as TaskScheduler).rootScheduler
- }
-
- ].toSet.filter[it !== null]
-
- // group elements based on the OS
- var amltOsTaskSchedulersMap = cacheModel.groupTaskSchdulers(rootTaskSchedulers);
-
- for (amltOS : amltOsTaskSchedulersMap.keySet) {
-
- var amlRootTaskSchedulers = amltOsTaskSchedulersMap.get(amltOS)
-
- val Scheduler inchronRootIsrScheduler = inchronModelFactory.createScheduler
-
- inchronRootIsrScheduler.timeSlice = inchronModelFactory.createTime
- inchronRootIsrScheduler.period = inchronModelFactory.createTime
- inchronRootIsrScheduler.maxRetard = inchronModelFactory.createTime
- inchronRootIsrScheduler.maxAdvance = inchronModelFactory.createTime
-
- // Adding Root ISR scheduler to RTOSConfig
- osTransformer.createRtosConfig(amltOS).schedulables.add(inchronRootIsrScheduler)
- //cacheModel.getInchronRtosConfig(amltOS.name)?.schedulables.add(inchronRootIsrScheduler)
-
- if (amltOS.interruptControllers.size == 0) {
-
- inchronRootIsrScheduler.name = amltOS.name + "_ISRDummy"
-
- // TODO: Migration rule -> considering responsibility from the first TaskScheduler of this OS
- var amltSchedulerAllocation = cacheModel.scheduler_SchedulerAllocationMap.get(
- amlRootTaskSchedulers.get(0))
-
- amltSchedulerAllocation.responsibility.forEach [ amltProcessingUnit |
- inchronRootIsrScheduler.cpuCores.add(processingUnitTransformer.createCpuCore(amltProcessingUnit))
- ]
-
- } else if (amltOS.interruptControllers.size == 1) {
-
- inchronRootIsrScheduler.name = amltOS.interruptControllers.get(0).name
-
- var amltSchedulerAllocation = cacheModel.scheduler_SchedulerAllocationMap.get(
- amltOS.interruptControllers.get(0))
-
- amltSchedulerAllocation.responsibility.forEach [ amltProcessingUnit |
- {
- inchronRootIsrScheduler.cpuCores.add(processingUnitTransformer.createCpuCore(amltProcessingUnit))
- }
- ]
-
- cacheModel.addInchronScheduler_amltSchedulerMap(inchronRootIsrScheduler,
- amltOS.interruptControllers.get(0))
-
- } else {
- // todo: validation rule
- }
-
- // associating all the Root task schedulers to the ISR root scheduler
- for (amltRootTaskScheduler : amlRootTaskSchedulers) {
-
- createInchronScheduler(amltRootTaskScheduler, inchronRootIsrScheduler, cacheModel)
- }
-
- }
- }
-
- protected def void createInchronScheduler(TaskScheduler amltTaskScheduler, Scheduler parentISRScheduler,
- AmltCacheModel cacheModel) {
-
- val Scheduler inchronScheduler = inchronModelFactory.createScheduler
-
- inchronScheduler.timeSlice = inchronModelFactory.createTime
- inchronScheduler.period = inchronModelFactory.createTime
- inchronScheduler.maxRetard = inchronModelFactory.createTime
- inchronScheduler.maxAdvance = inchronModelFactory.createTime
-
- inchronScheduler.name = amltTaskScheduler.name
-
- parentISRScheduler.schedulables.add(inchronScheduler)
-
- var amltSchedulerAllocation = cacheModel.scheduler_SchedulerAllocationMap.get(amltTaskScheduler)
-
- amltSchedulerAllocation.responsibility.forEach [ amltProcessingUnit |
- inchronScheduler.cpuCores.add(processingUnitTransformer.createCpuCore(amltProcessingUnit))
- ]
-
- var amltChildTaskSchedulers = amltTaskScheduler.childSchedulers
-
- for (amltChildTaskScheduler : amltChildTaskSchedulers) {
- createInchronScheduler(amltChildTaskScheduler, inchronScheduler, cacheModel)
- }
-
- cacheModel.addInchronScheduler_amltSchedulerMap(inchronScheduler, amltTaskScheduler)
- }
-
- /**
- * This method is used to return the root TaskScheduler object
- */
- def TaskScheduler getRootScheduler(TaskScheduler sch) {
-
- if (sch.parentScheduler === null) {
- return sch
- }
- return getRootScheduler(sch.parentScheduler)
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/os/OSTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/os/OSTransformer.xtend
deleted file mode 100644
index 1069c3d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/os/OSTransformer.xtend
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.os
-
-import com.inchron.realtime.root.model.Model
-import org.eclipse.app4mc.amalthea.model.OSModel
-import templates.AbstractAmaltheaInchronTransformer
-import org.eclipse.app4mc.amalthea.model.OperatingSystem
-import com.google.inject.Singleton
-
-@Singleton
-class OSTransformer extends AbstractAmaltheaInchronTransformer {
-
-
- def transfromOSModel(OSModel amltHWModel, Model inchronModel) {
-
- amltHWModel.operatingSystems.forEach [ amltOS |
- var inchronSystem = createGenericSystem(amltOS)
-
- // Adding Inchron System object to Model
- inchronModel.systems.add(inchronSystem)
- ]
- }
-
- def create inchronModelFactory.createGenericSystem createGenericSystem(OperatingSystem amltOS){
-
- it.name = amltOS.name + "_SYSTEM"
-
- it.components.add(createComponent(amltOS))
-
- it.rtosConfig = createRtosConfig(amltOS)
-
- // RtosModel with default attributes
- it.rtosModel = createRtosModel(amltOS)
- }
-
- def create inchronModelFactory.createComponent createComponent(OperatingSystem amltOS){
- it.name = amltOS.name + "_SWC"
- }
-
- def create inchronModelFactory.createRtosConfig createRtosConfig(OperatingSystem amltOS){
- it.name = amltOS.name
- }
-
- def create inchronModelFactory.createRtosModel createRtosModel(OperatingSystem amltOS){
- it.name = "generic"
- it.returnType = "void"
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/stimuli/StimuliTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/stimuli/StimuliTransformer.xtend
deleted file mode 100644
index dbf3e6a..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/stimuli/StimuliTransformer.xtend
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.stimuli;
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.Model
-import org.eclipse.app4mc.amalthea.model.FrequencyDomain
-import org.eclipse.app4mc.amalthea.model.PeriodicStimulus
-import org.eclipse.app4mc.amalthea.model.StimuliModel
-import org.eclipse.app4mc.amalthea.model.Stimulus
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.utils.TimeTransformer
-import templates.utils.AmltCacheModel
-import com.google.inject.Singleton
-import templates.m2m.hw.FrequencyDomainTransformer
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.InterProcessStimulus
-import templates.m2m.utils.CounterUtils
-import org.eclipse.app4mc.amalthea.model.EventStimulus
-import templates.m2m.sw.ModeValueDisjunctionTransformer
-import templates.m2m.sw.CallGraphTransformer
-import com.inchron.realtime.root.model.ActivationItem
-
-@Singleton
-class StimuliTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- @Inject TimeTransformer timeUtilsTransformer
- @Inject FrequencyDomainTransformer frequencyDomainTransformer
- @Inject ModeValueDisjunctionTransformer modeValueDisjunctionTransformer
- @Inject CallGraphTransformer callGraphTransformer
-
-
- def create inchronStimulationFactory.createStimulationScenario createStimulationScenario(StimuliModel amltStimuliModel, Model inchronModel){
- it.name = "DefaultScenario"
- inchronModel.stimulationScenarios.add(it)
- inchronModel.defaultScenario=it
- }
-
-
- def dispatch create inchronModelFactory.createActivationConnection createActivationConnection(Stimulus amltStimulus) {
- it.name = amltStimulus.name
- //hook into <root>->connections
- inchronRoot.connections.add(it)
- }
-
-
- def dispatch create inchronModelFactory.createActivationConnection createActivationConnection(PeriodicStimulus amltStimulus) {
- it.name = amltStimulus.name
- //hook into stimuli generator
- var inchronRandomStimuliGenerator = createRandomStimuliGenerator(amltStimulus)
- inchronRandomStimuliGenerator.connections.add(it)
- //hook stimuli generator into default scenario
- var inchronStimulationScenario = createStimulationScenario(amaltheaRoot.stimuliModel, inchronRoot)
- inchronStimulationScenario.generators.add(inchronRandomStimuliGenerator)
- }
-
- def create inchronModelFactory.createActivationItem createActivationItem(Stimulus stimulus){
-
- }
-
-
- def create inchronStimulationFactory.createRandomStimuliGenerator createRandomStimuliGenerator(
- PeriodicStimulus amltStimulus) {
-
- it.name = amltStimulus.name
- it.startOffset = timeUtilsTransformer.createTime(amltStimulus.offset)
- it.period = timeUtilsTransformer.createTime(amltStimulus.recurrence)
-
- var inchronActivationConnection = createActivationConnection(amltStimulus)
- it.connections.add(inchronActivationConnection)
-
- var inchronCallGraph = inchronModelFactory.createCallGraph
- var inchronCallSequence = inchronModelFactory.createCallSequence
- inchronCallSequence.name = "CS"
- inchronCallGraph.graphEntries.add(inchronCallSequence)
-
- var inchronActivationItem = inchronModelFactory.createActivationItem
- inchronActivationItem.name = "ActivationItem_"+ amltStimulus.name
- inchronActivationItem.connection = inchronActivationConnection
- inchronCallSequence.calls.add(inchronActivationItem)
- it.targets = inchronCallGraph
-
- // TODO: check if the right frequency can be fetched (below solution is good at present. In long run clarify this topic in detail)
- var firstFrequencyDomain = getAmaltheaRoot().hwModel.domains.findFirst [ domain | domain instanceof FrequencyDomain]
- if (firstFrequencyDomain !== null){
- it.clock = frequencyDomainTransformer.createClock(firstFrequencyDomain as FrequencyDomain)
- it.variation = inchronModelFactory.createTimeDistribution
- it.minInterArrivalTime = inchronModelFactory.createTime
- it.startOffsetVariation = inchronModelFactory.createTimeDistribution
- }
- }
-
-
- def dispatch create inchronModelFactory.createActivateProcess createActivateProcess(Stimulus amltStimuli, Process amltProcess) {
- val inchronActivationConnection = createActivationConnection(amltStimuli)
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
- var amltProcess_inchronProcessMap = cacheModel.amltProcess_inchronProcessMap
- it.target = amltProcess_inchronProcessMap.get(amltProcess)
- inchronActivationConnection.activations.add(it)
- }
-
-
- def dispatch create inchronModelFactory.createActivateProcess createActivateProcess(InterProcessStimulus amltStimuli,Process amltProcess) {
- val inchronActivationConnection = createActivationConnection(amltStimuli)
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
- var amltProcess_inchronProcessMap = cacheModel.amltProcess_inchronProcessMap
- it.target = amltProcess_inchronProcessMap.get(amltProcess)
- if (amltStimuli.counter !== null){
- it.period = CounterUtils.getPrescalerAsInteger(amltStimuli.counter)
- it.offset = CounterUtils.getOffsetAsInteger(amltStimuli.counter)
- }
- inchronActivationConnection.activations.add(it)
- }
-
-
- def dispatch create inchronModelFactory.createActivateProcess createActivateProcess(EventStimulus amltStimuli, Process amltProcess ) {
- val inchronActivationConnection = createActivationConnection(amltStimuli)
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
- var amltProcess_inchronProcessMap = cacheModel.amltProcess_inchronProcessMap
- it.target = amltProcess_inchronProcessMap.get(amltProcess)
- if (amltStimuli.counter !== null){
- it.period = CounterUtils.getPrescalerAsInteger(amltStimuli.counter)
- it.offset = CounterUtils.getOffsetAsInteger(amltStimuli.counter)
- }
- inchronActivationConnection.activations.add(it)
- }
-
- def create inchronModelFactory.createFunction createDummyFunction(Stimulus amltStimulus, ActivationItem inchronActivationItem){
- it.name="Dummy_"+ getStimulusName(amltStimulus)
- val inchronCallGraph=inchronModelFactory.createCallGraph
- it.callGraph=inchronCallGraph
-
- var amltCondition= getEnableValueList(amltStimulus)
- if(amltCondition!==null){
- val inchronModeSwitch = inchronModelFactory.createModeSwitch
- inchronModeSwitch.name ="EventStimulusCondition"
- val inchronModeSwitchEntry=inchronModelFactory.createModeSwitchEntry
-
- // Adding entry with condition
- inchronModeSwitch.entries.add(inchronModeSwitchEntry)
- var inchronConditon=modeValueDisjunctionTransformer.createModeCondition(amltCondition)
- inchronModeSwitchEntry.condition = inchronConditon
-
- //add activation item to call sequence within mode switch's call sequence
- val inchronCallSequence_ActivationItem=inchronModelFactory.createCallSequence
- inchronCallSequence_ActivationItem.calls.add(inchronActivationItem)
- it.callGraph.graphEntries.add(inchronCallSequence_ActivationItem)
- inchronModeSwitchEntry.graphEntries.add(inchronCallSequence_ActivationItem)
-
- //add ModeCondition to the Inchron Model: at root --> global condition
- if(inchronConditon.eContainer===null){
- getInchronRoot().globalModeConditions.add(inchronConditon)
- }
- //add mode evaluation item before mode switch
- callGraphTransformer.createDummyCallSequenceWithModeSwitchEvaluation(inchronModeSwitch, it.callGraph);
-
- //add mode switch to dummy function call graph
- it.callGraph.graphEntries.add(inchronModeSwitch)
-
- } else {
- val inchronCallSequence_ActivationItem=inchronModelFactory.createCallSequence
- it.callGraph.graphEntries.add(inchronCallSequence_ActivationItem)
- }
- }
-
- private def dispatch getStimulusName(Stimulus stimulus){return "Stimulus"}
- private def dispatch getStimulusName(EventStimulus stimulus){return stimulus.name}
- private def dispatch getStimulusName(InterProcessStimulus stimulus){return stimulus.name}
-
-
- private def dispatch getEnableValueList(Stimulus stimulus){return null}
- private def dispatch getEnableValueList(EventStimulus stimulus){return stimulus.enablingModeValueList}
- private def dispatch getEnableValueList(InterProcessStimulus stimulus){return stimulus.enablingModeValueList}
-
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/CallGraphTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/CallGraphTransformer.xtend
deleted file mode 100644
index c623c8a..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/CallGraphTransformer.xtend
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.ModeSwitch
-import java.util.ArrayList
-import java.util.Map
-import org.eclipse.app4mc.amalthea.model.CallGraph
-import org.eclipse.app4mc.amalthea.model.Process
-import templates.AbstractAmaltheaInchronTransformer
-
-@Singleton
-class CallGraphTransformer extends AbstractAmaltheaInchronTransformer{
-
- @Inject GraphEntryBaseTransformer graphEntryBaseTransformer
-
- def void transformCallGraph(CallGraph amltGraph, Process amltTask,
- Map<Process, com.inchron.realtime.root.model.Process> amltProcess_inchronProcessMap) {
-
- val com.inchron.realtime.root.model.Process inchronProcess = amltProcess_inchronProcessMap.get(amltTask)
-
- val inchronCallGraph = inchronModelFactory.createCallGraph
- inchronProcess.callGraph = inchronCallGraph
-
- amltGraph?.graphEntries?.forEach[amltGraphEntry|{
- var inchronGraphEntryBase= graphEntryBaseTransformer.transformGraphEntryBase(amltGraphEntry, amltTask,
- amltProcess_inchronProcessMap)
- /*
- * Based on the requirement from Inchron to use the latest Mode values:
- * -- it is required to create a "Dummy CallSequence" and associate ModeConditionEvaluation of each ModeSwitchEntry object
- */
- if(inchronGraphEntryBase instanceof ModeSwitch){
- createDummyCallSequenceWithModeSwitchEvaluation(inchronGraphEntryBase, inchronCallGraph)
- }
- //Adding ModeSwitch
- inchronCallGraph.graphEntries.add(inchronGraphEntryBase)
- }]
- }
-
- public def void createDummyCallSequenceWithModeSwitchEvaluation(ModeSwitch inchronModeSwitch, com.inchron.realtime.root.model.CallGraph inchronCallGraph) {
-
- var dummyCallSequence=inchronModelFactory.createCallSequence
- dummyCallSequence.name = "CallSequence_For_ModeConditionEvaluation"
-
- val dummyCallSequenceItems=new ArrayList
-
- inchronModeSwitch.entries.forEach[inchronModeSwitchEntry|
- val inchronModeCondition=inchronModeSwitchEntry.condition
-
- var inchronModeConditionEvaluation=inchronModelFactory.createModeConditionEvaluation
- inchronModeConditionEvaluation.condition=inchronModeCondition
- dummyCallSequenceItems.add(inchronModeConditionEvaluation)
- ]
-
- if(dummyCallSequenceItems.size>0){
- dummyCallSequence.calls.addAll(dummyCallSequenceItems)
- //Adding DummyCallSequence containing ModeConditionEvaluation
- inchronCallGraph.graphEntries.add(dummyCallSequence);
- }
-
- }
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ChannelTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ChannelTransformer.xtend
deleted file mode 100644
index 24d4c9b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ChannelTransformer.xtend
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.DataFlowCommunicationType
-import org.eclipse.app4mc.amalthea.model.Channel
-import templates.AbstractAmaltheaInchronTransformer
-
-@Singleton
-class ChannelTransformer extends AbstractAmaltheaInchronTransformer {
-
- public def create inchronModelFactory.createDataFlowConnection createDataFlowConnection(Channel amltChannel){
- it.communicationType = DataFlowCommunicationType.QUEUING
- it.initialElements = amltChannel.defaultElements
- it.name = amltChannel.name
- it.maxElements = amltChannel.maxElements
- //hook this DataFlowConnection into Inchron root model
- getInchronRoot.connections.add(it);
- }
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/GraphEntryBaseTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/GraphEntryBaseTransformer.xtend
deleted file mode 100644
index be89ced..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/GraphEntryBaseTransformer.xtend
+++ /dev/null
@@ -1,135 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw;
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Process
-import java.util.Map
-import org.eclipse.app4mc.amalthea.model.CallSequence
-import org.eclipse.app4mc.amalthea.model.GraphEntryBase
-import org.eclipse.app4mc.amalthea.model.InterProcessTrigger
-import org.eclipse.app4mc.amalthea.model.ModeSwitch
-import org.eclipse.app4mc.amalthea.model.ProbabilitySwitch
-import org.eclipse.app4mc.amalthea.model.SchedulePoint
-import org.eclipse.app4mc.amalthea.model.TaskRunnableCall
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.stimuli.StimuliTransformer
-import templates.m2m.utils.CounterUtils
-import templates.utils.AmltCacheModel
-import org.eclipse.app4mc.amalthea.model.Stimulus
-
-@Singleton
-class GraphEntryBaseTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- @Inject RunnableTransformer runnableTransformer
-
- @Inject ModeSwitchTransformer modeSwitchTransformer
-
- @Inject StimuliTransformer stimuliTransformer
-
- @Inject ModeValueDisjunctionTransformer modeValueDisjunctionTransformer
-
- def create inchronModelFactory.createFunction createFunction(java.lang.Process amltProcess, Runnable amltRunnable) {
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- }
-
- def com.inchron.realtime.root.model.GraphEntryBase transformGraphEntryBase(GraphEntryBase amltGraphEntry, org.eclipse.app4mc.amalthea.model.Process amltTask,
- Map<org.eclipse.app4mc.amalthea.model.Process, Process> amltProcess_inchronProcessMap) {
-
- val Process inchronProcess = amltProcess_inchronProcessMap.get(amltTask)
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- if (amltGraphEntry instanceof CallSequence) {
-
- var inchronCallSequence=createCallSequence( amltGraphEntry, amltTask, inchronProcess, amltProcess_inchronProcessMap)
-
- return (inchronCallSequence)
-
- } else if (amltGraphEntry instanceof ModeSwitch) {
-
- var inchronModeSwitch=modeSwitchTransformer.createModeSwitch(amltGraphEntry,amltTask, amltProcess_inchronProcessMap)
-
- return (inchronModeSwitch)
-
- } else if (amltGraphEntry instanceof ProbabilitySwitch) {
- return inchronModelFactory.createProbabilitySwitch
- }
- return null
- }
-
- protected def create inchronModelFactory.createCallSequence createCallSequence(CallSequence amltGraphEntry, org.eclipse.app4mc.amalthea.model.Process amltTask, Process inchronProcess, Map<org.eclipse.app4mc.amalthea.model.Process, Process> amltProcess_inchronProcessMap) {
-
- it.name = "CS"
- amltGraphEntry.calls.forEach [ amltCallSequenceItem |
- if (amltCallSequenceItem instanceof TaskRunnableCall) {
- var amltRunnable = amltCallSequenceItem.runnable
- var inchronComponent = cacheModel.getInchronComponent(amltTask)
- var inchronFunction = runnableTransformer.createFunction(inchronComponent, amltTask, amltRunnable)
- var inchronFunctionCall = inchronModelFactory.createFunctionCall
- inchronFunctionCall.function = inchronFunction
- inchronFunctionCall.name = "call_" + inchronFunction.name
-
- // offset & prescaler
- if (amltCallSequenceItem.counter !== null){
- inchronFunctionCall.period = CounterUtils.getPrescalerAsInteger(amltCallSequenceItem.counter)
- inchronFunctionCall.offset = CounterUtils.getOffsetAsInteger(amltCallSequenceItem.counter)
- }
-
- it.calls.add(inchronFunctionCall)
- } else if (amltCallSequenceItem instanceof InterProcessTrigger) {
- // in the call sequence of the process, create ActivateProcess
- // create ActivationItem -> ActivationConnection -> ActivationAction (ActivateProcess)
- // In Amalthea -> It is handled with InterProcessStimulus being refered by InterProcessTrigger -> Stimulus is referred inside a Task
-
- val amltInterProcessTrigger = (amltCallSequenceItem as InterProcessTrigger)
- val amltModeValueDisjunction = amltInterProcessTrigger.stimulus?.enablingModeValueList
- var inchronActivationItem = inchronModelFactory.createActivationItem
- inchronActivationItem.name = "ActivationItem_" + amltInterProcessTrigger.stimulus.name
- if (amltModeValueDisjunction !== null){
- modeValueDisjunctionTransformer.createModeCondition(amltModeValueDisjunction)
- val inchronDummyFunction=stimuliTransformer.createDummyFunction(amltInterProcessTrigger.stimulus as Stimulus, inchronActivationItem)
- var inchronComponent = cacheModel.getInchronComponent(amltTask)
- inchronComponent.functions.add(inchronDummyFunction)
- if (amltCallSequenceItem.counter !== null){
- inchronActivationItem.period = CounterUtils.getPrescalerAsInteger(amltCallSequenceItem.counter)
- inchronActivationItem.offset = CounterUtils.getOffsetAsInteger(amltCallSequenceItem.counter)
- }
- var dummyFunctionCall = inchronModelFactory.createFunctionCall
- dummyFunctionCall.function = inchronDummyFunction
- it.calls.add(dummyFunctionCall)
- } else {
- if (amltCallSequenceItem.counter !== null){
- inchronActivationItem.period = CounterUtils.getPrescalerAsInteger(amltCallSequenceItem.counter)
- inchronActivationItem.offset = CounterUtils.getOffsetAsInteger(amltCallSequenceItem.counter)
- }
- it.calls.add(inchronActivationItem)
- }
-
- val inchronActivationConnection = stimuliTransformer.createActivationConnection(amltInterProcessTrigger.stimulus as Stimulus)
- inchronActivationItem.connection = inchronActivationConnection
-
- } else if (amltCallSequenceItem instanceof SchedulePoint) {
- }
-
- ]
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ISRTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ISRTransformer.xtend
deleted file mode 100644
index c265da4..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ISRTransformer.xtend
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.inchron.realtime.root.model.Component
-import org.eclipse.app4mc.amalthea.model.ISR
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-import com.google.inject.Singleton
-
-@Singleton
-class ISRTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- def create inchronModelFactory.createProcess createProcess(ISR amltISR, Component inchronComponent) {
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- it.name = amltISR.name
-
- cacheModel.addAmltProcess_InchronComponent(amltISR, inchronComponent)
-
- it.isr = true
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeLabelTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeLabelTransformer.xtend
deleted file mode 100644
index ceae20d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeLabelTransformer.xtend
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.inchron.realtime.root.model.ModeGroup
-import org.eclipse.app4mc.amalthea.model.ModeLabel
-import org.eclipse.app4mc.amalthea.model.ModeLiteral
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-import com.inchron.realtime.root.model.Mode
-import com.google.inject.Singleton
-
-@Singleton
-class ModeLabelTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
-
- public def create inchronModelFactory.createModeGroup createModeGroup(ModeLabel amltModeLabel){
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- it.name=amltModeLabel.name
-
- var amltModeLiteralInitialValue= amltModeLabel.initialValue
-
-
- amltModeLiteralInitialValue?.containingMode?.literals?.forEach[literal, index|{
- var inchronMode= createMode(literal, it)
- inchronMode.value=index
-
- }]
-
- if (amltModeLabel.initialValue !== null){
- it.initialMode = createMode(amltModeLabel.initialValue, it)
- } else if (amltModeLabel?.mode?.literals.get(0) !==null) {
- it.initialMode = createMode(amltModeLabel.mode.literals.get(0), it)
- }
-
- cacheModel.addInchronModeGroup(it)
- }
-
-
-
- public def create inchronModelFactory.createMode createMode(ModeLiteral amltModeLiteral , ModeGroup inchronModeGroup){
-
- it.name=amltModeLiteral.name
-
- inchronModeGroup.modes.add(it)
-
- }
-
- public def Mode getInchronMode(ModeLabel amltModeLabel, ModeLiteral amltModeLiteral){
-
- var inchronModeGroup=createModeGroup(amltModeLabel)
-
- var inchronMode=createMode(amltModeLiteral,inchronModeGroup)
-
- return inchronMode
- }
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeSwitchTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeSwitchTransformer.xtend
deleted file mode 100644
index 5dc97fa..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeSwitchTransformer.xtend
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-package templates.m2m.sw
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Component
-import com.inchron.realtime.root.model.FunctionCall
-import java.util.Map
-import org.eclipse.app4mc.amalthea.model.GraphEntryBase
-import org.eclipse.app4mc.amalthea.model.ModeSwitch
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.RunnableModeSwitch
-import templates.utils.AmltCacheModel
-
-@Singleton
-class ModeSwitchTransformer extends GraphEntryBaseTransformer {
-
- @Inject RunnableItemTransformer runnableItemTransformer
- @Inject ModeValueDisjunctionTransformer modeValueDisjunctionTransformer
- @Inject CallGraphTransformer callGraphTransformer
-
- var AmltCacheModel cacheModel
-
- public def FunctionCall transformRunnableModeSwitch(Component inchronComponent, Process amltTask,
- RunnableModeSwitch amltRunnableModeSwitch){
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- val inchronDummyFunction=inchronModelFactory.createFunction
-
- inchronDummyFunction.name="Dummy_RunnableModeSwitchFunction_"+amltRunnableModeSwitch.hashCode
- //Adding Function to Inchron Component
- inchronComponent.functions.add(inchronDummyFunction)
-
- val inchronCallGraph=inchronModelFactory.createCallGraph
-
- inchronDummyFunction.callGraph=inchronCallGraph
-
- val inchronModeSwitch=inchronModelFactory.createModeSwitch
-
- if(amltRunnableModeSwitch.defaultEntry !==null){
-
- val inchronModeSwitchDefault=inchronModelFactory.createModeSwitchDefault
- //Adding default entry
- inchronModeSwitch.defaultEntry = inchronModeSwitchDefault
-
- val inchronCallSequence=inchronModelFactory.createCallSequence
-
- //Adding callSequence to default entry
- inchronModeSwitchDefault.graphEntries.add(inchronCallSequence)
-
- amltRunnableModeSwitch?.defaultEntry?.items?.forEach[amltRunnableModeSwitchRunnableItem|
-
- inchronCallSequence.calls.addAll(runnableItemTransformer.transformRunnableItem(inchronComponent,amltTask,amltRunnableModeSwitchRunnableItem))
- ]
-
- }
- //Transforming mode entries with condition
- amltRunnableModeSwitch?.entries?.forEach[amltModeSwitchEntry|{
-
- val inchronModeSwitchEntry=inchronModelFactory.createModeSwitchEntry
-
- //Adding entry with condition
- inchronModeSwitch.entries.add(inchronModeSwitchEntry)
-
- var amltCondition=amltModeSwitchEntry.condition
- if(amltCondition!==null){
- var inchronConditon=modeValueDisjunctionTransformer.createModeCondition(amltCondition)
-
- inchronModeSwitchEntry.condition = inchronConditon
-
- if(inchronConditon.eContainer===null){
- //Adding ModeCondition to the Inchron Model
- getInchronRoot().globalModeConditions.add(inchronConditon)
- }
- }
-
-
- val inchronCallSequence=inchronModelFactory.createCallSequence
-
- //Adding callSequence to default entry
- inchronModeSwitchEntry.graphEntries.add(inchronCallSequence)
-
- amltModeSwitchEntry?.items?.forEach[amltRunnableModeSwitchRunnableItem|
-
- inchronCallSequence.calls.addAll(runnableItemTransformer.transformRunnableItem(inchronComponent,amltTask,amltRunnableModeSwitchRunnableItem))
- ]
- }]
-
-
- /*
- * Based on the requirement from Inchron to use the latest Mode values:
- * -- it is required to create a "Dummy CallSequence" and associate ModeConditionEvaluation of each ModeSwitchEntry object
- */
- callGraphTransformer.createDummyCallSequenceWithModeSwitchEvaluation(inchronModeSwitch, inchronCallGraph);
-
- //Adding ModeSwitch
- inchronCallGraph.graphEntries.add(inchronModeSwitch)
-
-
- var FunctionCall inchronFunctionCall=inchronModelFactory.createFunctionCall
-
- inchronFunctionCall.function=inchronDummyFunction
-
- inchronFunctionCall.name="call_"+inchronDummyFunction.name
-
- return inchronFunctionCall
- }
-
- public def create inchronModelFactory.createModeSwitch createModeSwitch(ModeSwitch amltGraphEntry,Process amltTask,
- Map<Process, com.inchron.realtime.root.model.Process> amltProcess_inchronProcessMap){
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- var amltDefaultEntry = amltGraphEntry.defaultEntry
-
- if (amltDefaultEntry !== null) {
- it.defaultEntry=inchronModelFactory.createModeSwitchDefault
-
- amltDefaultEntry?.items.forEach [ amltEntryItem |
- var inchronGraphEntryBase=transformGraphEntryBase(amltEntryItem as GraphEntryBase, amltTask, amltProcess_inchronProcessMap)
- it.defaultEntry.graphEntries.add(inchronGraphEntryBase)
- ]
- }
-
- amltGraphEntry?.entries?.forEach [ amltEntry |
- {
- val inchronModeSwitchEntry=inchronModelFactory.createModeSwitchEntry
-
- it.entries.add(inchronModeSwitchEntry)
-
- amltEntry?.items?.forEach [ amltEntryItem |
- {
- var inchronGraphEntryBase=transformGraphEntryBase(amltEntryItem as GraphEntryBase, amltTask,
- amltProcess_inchronProcessMap)
-
- inchronModeSwitchEntry.graphEntries.add(inchronGraphEntryBase)
-
- }
-
- ]
-
- var amltCondition=amltEntry.condition
- if(amltCondition!==null){
- var inchronConditon=modeValueDisjunctionTransformer.createModeCondition(amltCondition)
-
- inchronModeSwitchEntry.condition = inchronConditon
-
- if(inchronConditon.eContainer===null){
- //Adding ModeCondition to the Inchron Model
- getInchronRoot().globalModeConditions.add(inchronConditon)
- }
- }
-
- }
- ]
-
-
- }
-
-
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeValueDisjunctionTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeValueDisjunctionTransformer.xtend
deleted file mode 100644
index 9dc2939..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/ModeValueDisjunctionTransformer.xtend
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.m2m.sw;
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Mode
-import org.eclipse.app4mc.amalthea.model.ModeLiteral
-import org.eclipse.app4mc.amalthea.model.ModeValue
-import org.eclipse.app4mc.amalthea.model.ModeValueConjunction
-import org.eclipse.app4mc.amalthea.model.ModeValueDisjunction
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-
-@Singleton
-public class ModeValueDisjunctionTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject ModeLabelTransformer modeLabelTransformer
- var AmltCacheModel cacheModel
-
- public def create inchronModelFactory.createModeCondition createModeCondition(ModeValueDisjunction amltModeValueDisjunction){
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
- it.name="ModeCondition_"+"_"+it.hashCode
- amltModeValueDisjunction?.entries?.forEach[amltModeValueDisjunctionEntry|{
-
- val inchronModeConjunction=inchronModelFactory.createModeConjunction
- //Adding ModeConjunction
- it.conjunctions.add(inchronModeConjunction)
-
- if(amltModeValueDisjunctionEntry instanceof ModeValue){
- val amltModeLiteral=amltModeValueDisjunctionEntry.value
- var amltModeLabel=amltModeValueDisjunctionEntry.valueProvider
- //Adding Mode
- inchronModeConjunction.modes.add(modeLabelTransformer.getInchronMode(amltModeLabel, amltModeLiteral))
- } else if(amltModeValueDisjunctionEntry instanceof ModeValueConjunction){
- amltModeValueDisjunctionEntry?.entries?.forEach[amltModeValueEntry|{
- var amltModeLiteral=amltModeValueEntry.value
- var amltModeLabel=amltModeValueEntry.valueProvider
- //Adding Mode
- inchronModeConjunction.modes.add(modeLabelTransformer.getInchronMode(amltModeLabel, amltModeLiteral))
- }]
- }
- }]
- inchronRoot.globalModeConditions.add(it)
- }
-
-
- public def Mode getInchronMode(ModeLiteral amltModeLiteral ){
-
- val amltModeName=amltModeLiteral?.containingMode?.name
-
- val inchronModeGroup=cacheModel.getInchronModeGroup(amltModeName)
-
- if(inchronModeGroup !==null){
- val inchronMode= inchronModeGroup.modes.findFirst[inchronMode|{
- (amltModeLiteral.name.equals(inchronMode.name))
- }]
- return inchronMode
- }
-
- return null
-
-
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableItemTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableItemTransformer.xtend
deleted file mode 100644
index cb779fa..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableItemTransformer.xtend
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.CallSequenceItem
-import com.inchron.realtime.root.model.Component
-import java.util.List
-import org.eclipse.app4mc.amalthea.model.ChannelReceive
-import org.eclipse.app4mc.amalthea.model.ChannelSend
-import org.eclipse.app4mc.amalthea.model.CustomEventTrigger
-import org.eclipse.app4mc.amalthea.model.LabelAccessEnum
-import org.eclipse.app4mc.amalthea.model.ModeLabelAccess
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.RunnableCall
-import org.eclipse.app4mc.amalthea.model.RunnableItem
-import org.eclipse.app4mc.amalthea.model.RunnableModeSwitch
-import org.eclipse.app4mc.amalthea.model.Ticks
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.sw.runnableItem.ChannelAccessTransformer
-import templates.m2m.sw.runnableItem.RunnableCallTransformer
-import templates.m2m.sw.runnableItem.TicksTransformer
-import templates.m2m.sw.runnableItem.CustomEventTriggerTransformer
-
-@Singleton
-class RunnableItemTransformer extends AbstractAmaltheaInchronTransformer{
-
- @Inject RunnableCallTransformer runnableCallTransformer
- @Inject TicksTransformer ticksTransformer
- @Inject ModeSwitchTransformer modeSwitchTransformer
- @Inject CustomEventTriggerTransformer customEventTriggerTransformer
- @Inject ModeLabelTransformer modeLabelTransformer
- @Inject ChannelAccessTransformer channelAccessTransformer
-
- def List<CallSequenceItem> transformRunnableItem(Component inchronComponent, Process amltTask,
- RunnableItem amltRunnableItem) {
- val List<CallSequenceItem> list=newArrayList
-
- if (amltRunnableItem instanceof RunnableCall) {
- var inchronFunctionCall = runnableCallTransformer.createFunctionCall(inchronComponent, amltTask,
- amltRunnableItem)
- list.add(inchronFunctionCall)
- } else if (amltRunnableItem instanceof Ticks) {
- var inchronResourceConsumption = ticksTransformer.createResourceConsumption(amltTask, amltRunnableItem)
- list.add(inchronResourceConsumption)
- }else if(amltRunnableItem instanceof RunnableModeSwitch){
- var inchronFunctionCall = modeSwitchTransformer.transformRunnableModeSwitch(inchronComponent, amltTask,amltRunnableItem)
- list.add(inchronFunctionCall)
- } else if(amltRunnableItem instanceof CustomEventTrigger){
- val inchronCallSequenceItems = customEventTriggerTransformer.transformCustomEventTrigger(inchronComponent, amltRunnableItem)
- inchronCallSequenceItems.forEach[inchronCallSequenceItem | list.add(inchronCallSequenceItem)]
- } else if(amltRunnableItem instanceof ModeLabelAccess){
- if(amltRunnableItem.access.equals(LabelAccessEnum.WRITE)){
- var inchronModeSwitchPoint=inchronModelFactory.createModeSwitchPoint
- val amltModeLabel=amltRunnableItem.data
- val amltModeLiteral=amltRunnableItem.modeValue
- val inchronMode=modeLabelTransformer.getInchronMode(amltModeLabel, amltModeLiteral)
- inchronModeSwitchPoint.mode = inchronMode
- list.add(inchronModeSwitchPoint)
- }
- } else if (amltRunnableItem instanceof ChannelReceive) {
- list.add(channelAccessTransformer.createVariableAccess(amltTask, amltRunnableItem as ChannelReceive))
- } else if (amltRunnableItem instanceof ChannelSend) {
- list.add(channelAccessTransformer.createVariableAccess(amltTask, amltRunnableItem as ChannelSend))
- }
-
- return list
- }
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableTransformer.xtend
deleted file mode 100644
index 78d6322..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableTransformer.xtend
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.Component
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.Runnable
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class RunnableTransformer extends AbstractAmaltheaInchronTransformer {
-
- //var AmltCacheModel cacheModel
-
- @Inject RunnableItemTransformer runnableItemTransformer
-
- def create inchronModelFactory.createFunction createFunction(Component inchronComponent, Process amltTask,
- Runnable amltRunnable) {
-
- //cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- inchronComponent.functions.add(it)
-
- it.name = amltRunnable.name + "-" + amltTask.name
-
- val inchronCallGraph = inchronModelFactory.createCallGraph
-
- it.callGraph = inchronCallGraph
-
- val inchronCallSequence = inchronModelFactory.createCallSequence
-
- inchronCallSequence.name = "CS"
-
- inchronCallGraph.graphEntries.add(inchronCallSequence)
-
- amltRunnable?.runnableItems?.forEach [ amltRunnableItem |
-
- inchronCallSequence.calls.addAll(runnableItemTransformer.transformRunnableItem(inchronComponent, amltTask, amltRunnableItem))
-
- ]
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/SWTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/SWTransformer.xtend
deleted file mode 100644
index 93b6cc5..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/SWTransformer.xtend
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Model
-import java.util.HashMap
-import java.util.Map
-import org.eclipse.app4mc.amalthea.model.InterruptController
-import org.eclipse.app4mc.amalthea.model.OperatingSystem
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.SWModel
-import org.eclipse.app4mc.amalthea.model.TaskScheduler
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.hw.ProcessingUnitTransformer
-import templates.m2m.os.OSTransformer
-import templates.m2m.stimuli.StimuliTransformer
-import templates.utils.AmltCacheModel
-
-@Singleton
-class SWTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- @Inject TaskTransformer taskTransformer
- @Inject ISRTransformer isrTransformer
- @Inject CallGraphTransformer callGraphTransformer
- @Inject ModeLabelTransformer modeLabelTransformer
- @Inject ProcessingUnitTransformer processingUnitTransformer
- @Inject OSTransformer osTransformer
- @Inject StimuliTransformer stimuliTransformer
-
-
-
- def transformSWModel(SWModel amltSwModel, Model inchronModel) {
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- val Map<Process, com.inchron.realtime.root.model.Process> amltProcess_inchronProcessMap = new HashMap
-
- cacheModel.amltProcess_inchronProcessMap=amltProcess_inchronProcessMap
-
- amltSwModel?.modeLabels?.forEach[amltModeLabel|{
- inchronModel.globalModeGroups.add(modeLabelTransformer.createModeGroup(amltModeLabel))
- }]
-
-// amltSwModel?.modes?.forEach[amltMode|{
-// inchronModel.globalModeGroups.add(modeTransformer.createModeGroup(amltMode))
-// }]
-
- val inchronScheduler_amltSchedulerMap = cacheModel.getInchronScheduler_amltSchedulerMap()
-
- inchronScheduler_amltSchedulerMap.forEach [ inchronScheduler, amltScheduler |
-
- if (amltScheduler !== null) {
-
- var amltOS = amltScheduler.eContainer as OperatingSystem
- val inchronComponent = osTransformer.createComponent(amltOS)
-
- if (amltScheduler instanceof TaskScheduler) {
- amltScheduler.taskAllocations.forEach [ amltTaskAllocation |
-
- var amltTask = amltTaskAllocation.task
-
- val inchronProcess = taskTransformer.createProcess(amltTask, inchronComponent)
-
- amltProcess_inchronProcessMap.put(amltTask, inchronProcess)
-
- amltTaskAllocation.affinity.forEach [ amltPU |
- {
- var inchronCpuCore = processingUnitTransformer.createCpuCore(amltPU)
- if (inchronCpuCore !== null) {
- inchronProcess.cpuCores.add(inchronCpuCore)
- }
- }
- ]
-
- inchronScheduler.schedulables.add(inchronProcess)
- ]
- } else if (amltScheduler instanceof InterruptController) {
-
- amltScheduler.isrAllocations.forEach [ amltISRAllocation |
- var amltISR = amltISRAllocation.isr
- val inchronProcess = isrTransformer.createProcess(amltISR, inchronComponent)
-
- amltProcess_inchronProcessMap.put(amltISR, inchronProcess)
-
- inchronScheduler.schedulables.add(inchronProcess)
- ]
- }
- }
- ]
-
- amltProcess_inchronProcessMap.forEach [ amltProcess, inchronProcess | {
-
- if(amltProcess.callGraph!==null)
- {
- callGraphTransformer.transformCallGraph(amltProcess.callGraph,amltProcess,amltProcess_inchronProcessMap)
-
- }
-
- amltProcess?.stimuli?.forEach [ amltStimuli |{
- stimuliTransformer.createActivateProcess(amltStimuli, amltProcess)
- }]
- }]
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/TaskTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/TaskTransformer.xtend
deleted file mode 100644
index cbae336..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/TaskTransformer.xtend
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw
-
-import com.inchron.realtime.root.model.Component
-import org.eclipse.app4mc.amalthea.model.Task
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-import com.google.inject.Singleton
-
-@Singleton
-class TaskTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- def create inchronModelFactory.createProcess createProcess(Task amltTask, Component inchronComponent) {
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- cacheModel.addAmltProcess_InchronComponent(amltTask, inchronComponent)
- it.name = amltTask.name
-
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/AsynchronousServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/AsynchronousServerCallTransformer.xtend
deleted file mode 100644
index f308356..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/AsynchronousServerCallTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class AsynchronousServerCallTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelAccessTransformer.xtend
deleted file mode 100644
index e64cac1..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelAccessTransformer.xtend
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.DataFlowConnection
-import com.inchron.realtime.root.model.VariableReadAccessPolicy
-import com.inchron.realtime.root.model.VariableReadAccessType
-import com.inchron.realtime.root.model.VariableWriteAccessType
-import com.inchron.realtime.root.model.memory.DataAccessType
-import org.eclipse.app4mc.amalthea.model.ChannelReceive
-import org.eclipse.app4mc.amalthea.model.ChannelSend
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.ReceiveOperation
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.sw.ChannelTransformer
-
-@Singleton
-class ChannelAccessTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject ChannelTransformer channelTransformer
- @Inject TransmissionPolicyTransformer transmissionPolicyTransformer
-
- private static Integer enumeratorRead = 0;
- private static Integer enumeratorSend = 0
-
- def dispatch create inchronModelFactory.createVariableReadAccess createVariableAccess(Process amltTask, ChannelReceive amltChannelReceive) {
- //create/get dataflow
- it.connection = channelTransformer.createDataFlowConnection(amltChannelReceive.data)
- //set attributes
- val name = amltTask.name + "_receive_" + it.connection.name + "_" + enumeratorRead
- it.dataMustBeNew = amltChannelReceive.dataMustBeNew
- it.index = amltChannelReceive.elementIndex
- it.name = name
- it.label = name
- it.minElements = amltChannelReceive.lowerBound
- it.elements = amltChannelReceive.elements
-
- //set data access policy
- if (amltChannelReceive.transmissionPolicy !== null){
- it.dataAccess = transmissionPolicyTransformer.createExplicitDataAccess(amltTask, amltChannelReceive.transmissionPolicy)
- } else {
- it.dataAccess = inchronMemoryFactory.createExplicitDataAccess
- }
- it.dataAccess.accessType = DataAccessType.READ;
-
-
- //assign operation type: FIFO, LIFO, TAKE, READ
- if (amltChannelReceive.receiveOperation === ReceiveOperation.FIFO_READ) {
- it.policy = VariableReadAccessPolicy.FIFO_READ
- }
- else if (amltChannelReceive.receiveOperation === ReceiveOperation.FIFO_TAKE) {
- it.policy = VariableReadAccessPolicy.FIFO_TAKE
- }
- else if (amltChannelReceive.receiveOperation === ReceiveOperation.LIFO_READ) {
- it.policy = VariableReadAccessPolicy.LIFO_READ
- }
- else if (amltChannelReceive.receiveOperation === ReceiveOperation.LIFO_TAKE) {
- it.policy = VariableReadAccessPolicy.LIFO_TAKE
- }
-
- //assign type
- it.type = VariableReadAccessType.GENERIC
-
- //add read access to dataflow connection's receiver list
- it.connection.requesters.add(it)
-
- enumeratorRead = enumeratorRead + 1
- }
-
-
- def dispatch create inchronModelFactory.createVariableWriteAccess createVariableAccess(Process amltTask, ChannelSend amltChannelSend) {
- //create/get dataflow
- val DataFlowConnection connectionTmp = channelTransformer.createDataFlowConnection(amltChannelSend.data)
- //set attributes
- val name = amltTask.name + "_send_" + connectionTmp.name + "_" + enumeratorSend
- //issue an error if connection's provider is already set
- if (connectionTmp.provider !== null){
- logger.error("Transformation for Channel to Inchron DataFlowConnection supports only one writer per channel. Updating provider of data flow connection " + connectionTmp.name +
- ", replacing " + connectionTmp.provider.name + " with " + name)
- }
-
- it.connection = connectionTmp
- it.name = name
- it.label = name
- it.elements = amltChannelSend.elements
-
- //set data access policy
- if (amltChannelSend.transmissionPolicy !== null){
- it.dataAccess = transmissionPolicyTransformer.createExplicitDataAccess(amltTask, amltChannelSend.transmissionPolicy)
- } else {
- it.dataAccess = inchronMemoryFactory.createExplicitDataAccess
- }
- it.dataAccess.accessType = DataAccessType.WRITE;
-
- //assign type
- it.type = VariableWriteAccessType.GENERIC
-
- //TODO: assign policy
- //it.policy = VariableWriteAccessPolicy.ERROR_DROP
-
- enumeratorSend = enumeratorSend + 1
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ComputationItemTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ComputationItemTransformer.xtend
deleted file mode 100644
index bb4a741..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ComputationItemTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class ComputationItemTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/CustomEventTriggerTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/CustomEventTriggerTransformer.xtend
deleted file mode 100644
index b233bf4..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/CustomEventTriggerTransformer.xtend
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.ActivationConnection
-import com.inchron.realtime.root.model.CallSequenceItem
-import com.inchron.realtime.root.model.Component
-import com.inchron.realtime.root.model.FunctionCall
-import java.util.LinkedHashMap
-import java.util.LinkedList
-import java.util.List
-import org.eclipse.app4mc.amalthea.model.CustomEventTrigger
-import org.eclipse.app4mc.amalthea.model.EventStimulus
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.stimuli.StimuliTransformer
-import templates.utils.AmaltheaModelNagivationUtils
-import templates.utils.AmltCacheModel
-
-@Singleton
-class CustomEventTriggerTransformer extends AbstractAmaltheaInchronTransformer {
-
- var AmltCacheModel cacheModel
-
- @Inject StimuliTransformer stimuliTransformer
-
- public def List<CallSequenceItem> transformCustomEventTrigger(Component inchronComponent, CustomEventTrigger amltCustomEventTrigger){
-
- cacheModel = customObjsStore.getInstance(AmltCacheModel)
-
- val inchronCallSequenceItems = new LinkedList<CallSequenceItem>
- val amltCustomEvent= amltCustomEventTrigger.event
- val amltStimulusInchronActivationConnectionsMap=new LinkedHashMap<EventStimulus, ActivationConnection>
-
- if(amltCustomEvent !==null){
- val amltCustomEventBackReferences=AmaltheaModelNagivationUtils.getBackReferences(amltCustomEvent,true);
- for (amltCustomEventBackReference : amltCustomEventBackReferences) {
- if(amltCustomEventBackReference instanceof EventStimulus){
- val inchronActivationConnection = stimuliTransformer.createActivationConnection(amltCustomEventBackReference as EventStimulus)
- amltStimulusInchronActivationConnectionsMap.put(amltCustomEventBackReference, inchronActivationConnection)
- }
- }
- }
-
-
- //Transforming mode entries with condition
- //############# now creating ActivationItem and associating ActivationConnection objects
- amltStimulusInchronActivationConnectionsMap.forEach[amltEventStimulus, inchronActivationConnection|{
-
- val inchronActivationItem=inchronModelFactory.createActivationItem
- inchronActivationItem.name = "ActivationItem_"+ amltEventStimulus.name
- inchronActivationItem.connection=inchronActivationConnection;
-
- if (amltEventStimulus.enablingModeValueList !== null){
- /*
- * Based on the requirement from Inchron to use the latest Mode values:
- * -- it is required to create a "Dummy CallSequence" and associate ModeConditionEvaluation of each ModeSwitchEntry object
- */
- val inchronDummyFunction=stimuliTransformer.createDummyFunction(amltEventStimulus, inchronActivationItem)
- inchronComponent.functions.add(inchronDummyFunction)
-
- var FunctionCall inchronFunctionCall=inchronModelFactory.createFunctionCall
- inchronFunctionCall.function=inchronDummyFunction
- inchronFunctionCall.name="call_"+inchronDummyFunction.name
- inchronCallSequenceItems.add(inchronFunctionCall)
- } else {
- inchronCallSequenceItems.add(inchronActivationItem)
- }
-
-
- }]
-
- return inchronCallSequenceItems
-
- }
-
-
-
-
-
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ExecutionNeedTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ExecutionNeedTransformer.xtend
deleted file mode 100644
index 805a2f7..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ExecutionNeedTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class ExecutionNeedTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GetResultServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GetResultServerCallTransformer.xtend
deleted file mode 100644
index 0c3b8c4..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GetResultServerCallTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class GetResultServerCallTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GroupTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GroupTransformer.xtend
deleted file mode 100644
index ac01338..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GroupTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class GroupTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/LabelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/LabelAccessTransformer.xtend
deleted file mode 100644
index a1b6449..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/LabelAccessTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class LabelAccessTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ModeLabelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ModeLabelAccessTransformer.xtend
deleted file mode 100644
index aa3de83..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ModeLabelAccessTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class ModeLabelAccessTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableCallTransformer.xtend
deleted file mode 100644
index 1219c97..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableCallTransformer.xtend
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import com.google.inject.Inject
-import com.inchron.realtime.root.model.Component
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.RunnableCall
-import templates.AbstractAmaltheaInchronTransformer
-import templates.m2m.sw.RunnableTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class RunnableCallTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject RunnableTransformer runnableTransformer
-
- def create inchronModelFactory.createFunctionCall createFunctionCall(Component inchronComponent, Process amltTask,
- RunnableCall amltRunnableCall) {
-
- var inchronFunction = runnableTransformer.createFunction(inchronComponent, amltTask, amltRunnableCall.runnable)
-
- inchronComponent.functions.add(inchronFunction)
-
- it.name = "call_" + amltRunnableCall.runnable.name
-
- it.function = inchronFunction
-
-// it.function = runnableTransformer.createFunction(amltProcess, amltRunnableCall.runnable);
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableModeSwitchTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableModeSwitchTransformer.xtend
deleted file mode 100644
index 399baaf..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableModeSwitchTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class RunnableModeSwitchTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableProbablilitySwitchTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableProbablilitySwitchTransformer.xtend
deleted file mode 100644
index 676989e..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableProbablilitySwitchTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class RunnableProbablilitySwitchTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SemaphoreAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SemaphoreAccessTransformer.xtend
deleted file mode 100644
index 6346869..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SemaphoreAccessTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class SemaphoreAccessTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverCommunicationTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverCommunicationTransformer.xtend
deleted file mode 100644
index 6ae7549..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverCommunicationTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class SenderReceiverCommunicationTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverReadTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverReadTransformer.xtend
deleted file mode 100644
index 134174e..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverReadTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class SenderReceiverReadTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverWriteTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverWriteTransformer.xtend
deleted file mode 100644
index a13ab88..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverWriteTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class SenderReceiverWriteTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ServerCallTransformer.xtend
deleted file mode 100644
index 86dd130..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ServerCallTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class ServerCallTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SynchronousServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SynchronousServerCallTransformer.xtend
deleted file mode 100644
index 3b74950..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SynchronousServerCallTransformer.xtend
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class SynchronousServerCallTransformer extends AbstractAmaltheaInchronTransformer {
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TicksTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TicksTransformer.xtend
deleted file mode 100644
index e9d4b16..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TicksTransformer.xtend
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import com.google.inject.Singleton
-import com.inchron.realtime.root.model.Time
-import com.inchron.realtime.root.model.TimeDistributionType
-import com.inchron.realtime.root.model.TimeUnit
-import org.eclipse.app4mc.amalthea.model.Amalthea
-import org.eclipse.app4mc.amalthea.model.DiscreteValueBetaDistribution
-import org.eclipse.app4mc.amalthea.model.DiscreteValueGaussDistribution
-import org.eclipse.app4mc.amalthea.model.DiscreteValueHistogram
-import org.eclipse.app4mc.amalthea.model.DiscreteValueUniformDistribution
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.Ticks
-import org.eclipse.app4mc.amalthea.model.util.DeploymentUtil
-import org.eclipse.emf.ecore.util.EcoreUtil
-import templates.AbstractAmaltheaInchronTransformer
-import org.eclipse.app4mc.amalthea.model.ProcessingUnit
-
-@Singleton
-class TicksTransformer extends AbstractAmaltheaInchronTransformer {
-
- def create inchronModelFactory.createResourceConsumption createResourceConsumption(Process amltTask,
- Ticks amltTicks) {
- it.name = "RC"
- it.timeDistribution = createTicksDistribution(amltTask, amltTicks)
- }
-
- def create inchronModelFactory.createTimeDistribution createTicksDistribution(Process amltTask, Ticks amltTicks) {
-
- var amltCores = DeploymentUtil.getAssignedCoreForProcess(amltTask,
- EcoreUtil.getRootContainer(amltTask) as Amalthea);
-
- //get distribution (extended if provided by the model element)
- var ProcessingUnit amltCore = null
-
- if(amltCores!==null && amltCores.size>0){
- amltCore=amltCores?.get(0)
- }
-
- var amltDistribution = amltTicks?.extended.get(amltCore?.definition)
- if (amltDistribution === null) {
- amltDistribution = amltTicks.^default
- }
-
- if(amltDistribution===null)
- {
- return
- }
- //transform basic elements
- it.min = createTimeTicks( amltDistribution.lowerBound)
- it.mean = createTimeTicks(amltDistribution.average)
- it.max = createTimeTicks(amltDistribution.upperBound)
- it.sigma = createTimeTicks(0)
- it.type = TimeDistributionType.MAX
- it.alpha = 0
- it.beta = 0
-
- // more sophisticated distributions
- if (amltDistribution instanceof DiscreteValueGaussDistribution) {
- it.type = TimeDistributionType.NORMAL
- it.sigma = createTimeTicks(amltDistribution.sd)
- } else if (amltDistribution instanceof DiscreteValueUniformDistribution) {
- it.type = TimeDistributionType.UNIFORM
- } else if (amltDistribution instanceof DiscreteValueBetaDistribution) {
- //TODO: implement beta distribution transformer
- } else if (amltDistribution instanceof DiscreteValueHistogram) {
- it.type = TimeDistributionType.DISCRETE
- amltDistribution.entries.forEach [ amltEntry | {
- val amltAvg = (amltEntry.upperBound + amltEntry.lowerBound) / 2;
- val amltOccurrences = amltEntry.occurrences
- var inchronDiscreteDistributionEntry = inchronModelFactory.createDiscreteDistributionEntry
- inchronDiscreteDistributionEntry.count = amltOccurrences
- inchronDiscreteDistributionEntry.execTime = createTimeTicks(amltAvg)
- it.discreteDistribution.add(inchronDiscreteDistributionEntry)
- }]
- }
- }
-
-
- def Time createTimeTicks(Double value) {
- var Time time = inchronModelFactory.createTime
- time.value = Math.round(value)
- time.unit = TimeUnit.T
- return time
- }
-
- def Time createTimeTicks(Long value) {
- var Time time = inchronModelFactory.createTime
- time.value = value
- time.unit = TimeUnit.T
- return time
- }
-
-
- def Time createTimeTicks(Integer value) {
- var Time time = inchronModelFactory.createTime
- time.value = value
- time.unit = TimeUnit.T
- return time
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TransmissionPolicyTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TransmissionPolicyTransformer.xtend
deleted file mode 100644
index 2943ebf..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TransmissionPolicyTransformer.xtend
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.sw.runnableItem
-
-import com.google.inject.Singleton
-import org.eclipse.app4mc.amalthea.model.TransmissionPolicy
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Inject
-import org.eclipse.app4mc.amalthea.model.Process
-
-@Singleton
-class TransmissionPolicyTransformer extends AbstractAmaltheaInchronTransformer {
-
- @Inject TicksTransformer ticksTransformer
-
- def create inchronMemoryFactory.createExplicitDataAccess createExplicitDataAccess(Process amltTask, TransmissionPolicy amltTransmissionPolicy) {
-
-
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/CounterUtils.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/CounterUtils.xtend
deleted file mode 100644
index 8ae7ace..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/CounterUtils.xtend
+++ /dev/null
@@ -1,14 +0,0 @@
-package templates.m2m.utils
-
-import org.eclipse.app4mc.amalthea.model.Counter
-
-class CounterUtils {
- static def Integer getPrescalerAsInteger(Counter counter){
- return counter.prescaler.intValue
- }
-
-
- static def Integer getOffsetAsInteger(Counter counter){
- return counter.offset.intValue
- }
-}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/DataFlowUtils.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/DataFlowUtils.xtend
deleted file mode 100644
index 795a9f7..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/DataFlowUtils.xtend
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.utils
-
-import org.eclipse.app4mc.amalthea.model.AbstractEventChain
-import org.eclipse.app4mc.amalthea.model.Channel
-import org.eclipse.app4mc.amalthea.model.ChannelAccess
-import org.eclipse.app4mc.amalthea.model.ChannelEvent
-import org.eclipse.app4mc.amalthea.model.ChannelEventType
-import org.eclipse.app4mc.amalthea.model.ChannelReceive
-import org.eclipse.app4mc.amalthea.model.ChannelSend
-import org.eclipse.app4mc.amalthea.model.Event
-import org.eclipse.app4mc.amalthea.model.Process
-import org.eclipse.app4mc.amalthea.model.Runnable
-import org.eclipse.app4mc.amalthea.model.RunnableItem
-
-class DataFlowUtils {
-
-
-
- static def boolean testConditionEventChain2DataFlow(AbstractEventChain abstractEventChain){
- if (!testConditionChannelEvent(abstractEventChain?.stimulus))
- return false
- if (!testConditionChannelEvent(abstractEventChain?.response))
- return false
- return true
- }
-
-
- static def dispatch boolean isChannelEvent(Event event){
- return false
- }
-
- static def dispatch boolean isChannelEvent(ChannelEvent event){
- return true
- }
-
-
- static def dispatch boolean testConditionChannelEvent(Event event){
- return false
- }
-
- static def dispatch boolean testConditionChannelEvent(ChannelEvent event){
- if (DataFlowUtils.findChannelAccess(event) !== null){
- return true
- }
- return false
- }
-
-
- public static def dispatch ChannelAccess findChannelAccess(Event amltEvent) {
- //some event not of specialization type ChannelEvent
- return null
- }
-
-
- public static def dispatch ChannelAccess findChannelAccess(ChannelEvent amltChannelEvent) {
-
- if(amltChannelEvent === null)
- return null
-
- val Channel channel = amltChannelEvent.entity;
- val ChannelEventType eventType = amltChannelEvent.eventType;
- val Runnable runnable = amltChannelEvent.runnable
- val Process task = amltChannelEvent.process
-
- if(runnable === null)
- return null
- if(task === null)
- return null
-
- if(!runnable.taskRunnableCalls.map[it.containingProcess].contains(task))
- return null
-
- if (eventType == ChannelEventType.SEND) {
- return findChannelSend(runnable, channel)
- } else if (eventType == ChannelEventType.RECEIVE) {
- return findChannelReceive(runnable, channel)
- } else {
- return null;
- }
- }
-
- private static def ChannelSend findChannelSend(Runnable runnable, Channel channel) {
- var ChannelSend ret = null
- for (RunnableItem runnableItem : runnable.runnableItems) {
- if (runnableItem instanceof ChannelSend){
- val channelSend = runnableItem as ChannelSend
- if (channelSend.data === channel){
- if (ret === null){
- ret = channelSend
- } else{
- //multiple send accesses to this channel within runnable --> not valid
- return null
- }
- }
- }
- }
- return ret
- }
-
- private static def ChannelReceive findChannelReceive(Runnable runnable, Channel channel) {
- var ChannelReceive ret = null
- for (RunnableItem runnableItem : runnable.runnableItems) {
- if (runnableItem instanceof ChannelReceive){
- val channelReceive= runnableItem as ChannelReceive
- if (channelReceive.data === channel){
- if (ret === null){
- ret = channelReceive
- } else{
- //multiple receive accesses to this channel within runnable --> not valid
- return null
- }
- }
- }
- }
- return ret
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventChainCrawler.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventChainCrawler.xtend
deleted file mode 100644
index 7303185..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventChainCrawler.xtend
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.utils
-
-import java.util.LinkedList
-import java.util.List
-import org.eclipse.app4mc.amalthea.model.AbstractEventChain
-import org.eclipse.app4mc.amalthea.model.Event
-import org.eclipse.app4mc.amalthea.model.EventChain
-import org.eclipse.app4mc.amalthea.model.EventChainContainer
-import org.eclipse.app4mc.amalthea.model.EventChainItem
-import org.eclipse.app4mc.amalthea.model.EventChainReference
-
-class EventChainCrawler {
-
- static interface TestCondition{
- def boolean run(AbstractEventChain _eventChain)
- }
-
-
- //this list is used to identify cycles: chain1 references chain2, chain2 references chain1
- private var TestCondition testCondition
- private var EventChain rootEventChain;
- private var List<AbstractEventChain> traversedEventChains = new LinkedList
-
- new(TestCondition _testCondition){
- testCondition = _testCondition
- }
-
- /**
- * @brief
- * Applies the test condition to the supplied event chain and its sub-elements (segments).
- * The sequence of event chain references are parsed, to support ranges given by parent event chains.
- * Otherwise no event sequence parsing is applied. Use function @parseEventChainSequence
- * to analyze sequence on top level.
- *
- * @return true, if the element and its sub elements satisfy the test condition
- * @note
- */
- public def boolean evaluate(EventChain _eventChain){
- rootEventChain = _eventChain
- return (evaluateElement(_eventChain))
- }
-
- private def boolean evaluateElement(AbstractEventChain _eventChain){
- if (!_eventChain.segments.isEmpty){
- for (EventChainItem eventChainItem : _eventChain.segments){
- if (eventChainItem instanceof EventChainReference){
- if(!processReference(eventChainItem as EventChainReference, _eventChain)){
- return false
- }
- } else if (eventChainItem instanceof EventChainContainer){
- if (!evaluateElement((eventChainItem as EventChainContainer).eventChain)){
- return false
- }
- } else {
- return false;
- }
- }
- } else {
- if (!processLeafElement(_eventChain)){
- return false
- }
- }
- return true
- }
-
-
- private def processLeafElement(AbstractEventChain _eventChain) {
- if (testCondition.run(_eventChain)){
- traversedEventChains.add(_eventChain)
- } else {
- return false
- }
- }
-
- private def boolean processReference(EventChainReference _reference, AbstractEventChain _parentEventChain) {
- val eventSequenceCrawler = new EventChainCrawler(testCondition)
- //referenced event chain's elements fullfill test condition?
- if (!eventSequenceCrawler.evaluate(_reference.eventChain))
- return false
- if (!eventSequenceCrawler.applyOrder)
- return false
- if (!eventSequenceCrawler.applyBoundaries(_parentEventChain.stimulus, _parentEventChain.response))
- return false
- eventSequenceCrawler.traversedEventChains.forEach[traversedEventChains.add(it)]
- return true
- }
-
-
- public def List<AbstractEventChain> getTraversedEventChains(){
- return traversedEventChains
- }
-
- /**
- * @brief order event chain (with segments) by concatenation of sub-event chains' stimulus/response pairs
- * @description
- * order event chains by concatenation of event chain stimulus/response pair
- * - example event chain with segments:
- * EC1(stim=A, resp=B), EC2(stim=C, resp=D), EC3(stim=B, resp=C)
- * - results in: EC1, EC3, EC2 due to (stim=A, [resp=B)(stim=B], [resp=C)(stim=C], resp=D)
- *
- * @return true, if sequence has been parsed
- *
- */
- public def boolean applyOrder(){
-
- if (traversedEventChains === null ){
- return false
- }
- //EC contains only one node --> sequence is rather obvious
- if (traversedEventChains.size <= 1){
- return true
- }
-
- var LinkedList<AbstractEventChain> sortedList = new LinkedList
- // if there is more than one element in traversed nodes list, sorting is required
- sortedList.add(traversedEventChains.get(0))
- traversedEventChains.remove(0)
-
- while (!traversedEventChains.isEmpty ){
- var sortedListSizeBefore =sortedList.size
- for (AbstractEventChain unsortedEvent : traversedEventChains){
- //if feasible, add investigated event at head or tail of sorted list
- if (unsortedEvent.response == sortedList.get(0).stimulus){
- sortedList.addFirst(unsortedEvent)
- }
- if (unsortedEvent.stimulus == sortedList.last.response){
- sortedList.addLast(unsortedEvent)
- }
- }
- traversedEventChains.removeAll(sortedList)
-
- var sortedListSizeAfter = sortedList.size
- if(sortedListSizeAfter === sortedListSizeBefore){
- traversedEventChains = sortedList
- return false
- }
-
- }
- traversedEventChains = sortedList
- return true
- }
-
- public def boolean applyBoundaries(Event _initialStimulus, Event _finalResponse) {
- //parent specifies a scope that ends at referenced event chains, or starts at end of reference
- //in both cases the reference does not contribute to parent event chain
- if (traversedEventChains.isEmpty)
- return true
- if (traversedEventChains.get(0).stimulus===_finalResponse) {
- traversedEventChains.clear
- return true
- }
- if (traversedEventChains.last.response===_initialStimulus){
- traversedEventChains.clear
- return true
- }
-
- var startIndex = 0
- var endIndex = traversedEventChains.size-1
- for(index:0..<traversedEventChains.size){
- if (traversedEventChains.get(index).stimulus===_initialStimulus) {
- startIndex=index
- }
- if (traversedEventChains.get(index).response===_finalResponse){
- endIndex=index
- }
- }
- if (startIndex <= endIndex){
- //add all referenced event chain elements between start and end index to parent
- traversedEventChains = traversedEventChains.subList(startIndex, endIndex+1)
- return true
- }else{
- //parent specifies an illegal range, as the final event chain element occurs prior to the start in referenced event chain
- //--> nothing is added to parent chain
- return false
- }
- }
-
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventSequenceUtils.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventSequenceUtils.xtend
deleted file mode 100644
index a828a9c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/EventSequenceUtils.xtend
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.utils
-
-import org.eclipse.app4mc.amalthea.model.AbstractEventChain
-import org.eclipse.app4mc.amalthea.model.Event
-import org.eclipse.app4mc.amalthea.model.ProcessEvent
-import org.eclipse.app4mc.amalthea.model.RunnableEvent
-import templates.AbstractAmaltheaInchronTransformer
-import templates.utils.AmltCacheModel
-
-class EventSequenceUtils extends AbstractAmaltheaInchronTransformer{
-
- static def boolean testConditionEventChain2EventSequence(AbstractEventChain abstractEventChain){
- if (abstractEventChain.stimulus === null) return false
- if (abstractEventChain.response === null) return false
- val stimulusOk = testConditionTraceEvent(abstractEventChain.stimulus)
- val responseOk = testConditionTraceEvent(abstractEventChain.response)
- return stimulusOk && responseOk
- }
-
- static def dispatch boolean testConditionTraceEvent(Event event){
- return false
- }
-
- static def dispatch boolean testConditionTraceEvent(RunnableEvent event){
- if (event?.process!==null && event?.entity!==null){
- val AmltCacheModel cacheModel = customObjsStore.getInstance(AmltCacheModel)
- if (cacheModel.getInchronComponent(event.process) !== null){
- return true
- }
- }
- return false
- }
-
- static def dispatch boolean testConditionTraceEvent(ProcessEvent event){
- if (event?.entity !== null){
- val AmltCacheModel cacheModel = customObjsStore.getInstance(AmltCacheModel)
- if (cacheModel.getInchronComponent(event.entity) !== null){
- return true
- }
- }
- return false
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/FrequencyTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/FrequencyTransformer.xtend
deleted file mode 100644
index 4bf1d23..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/FrequencyTransformer.xtend
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.utils
-
-import com.inchron.realtime.root.model.FrequencyUnit
-import org.eclipse.app4mc.amalthea.model.Frequency
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class FrequencyTransformer extends AbstractAmaltheaInchronTransformer {
-
- def create inchronModelFactory.createFrequency createFrequency(Frequency amltFrequency) {
-
- it.value = if(amltFrequency !== null) amltFrequency.value.floatValue else 0
-
- it.unit = FrequencyUnit.getByName(amltFrequency?.unit.getName)
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/TimeTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/TimeTransformer.xtend
deleted file mode 100644
index 5b9f867..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/utils/TimeTransformer.xtend
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * *******************************************************************************
- * Copyright (c) 2019 Robert Bosch GmbH and others.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- * *******************************************************************************
- */
-
-package templates.m2m.utils;
-
-import org.eclipse.app4mc.amalthea.model.Time
-import templates.AbstractAmaltheaInchronTransformer
-import com.google.inject.Singleton
-
-@Singleton
-class TimeTransformer extends AbstractAmaltheaInchronTransformer {
-
- def create inchronModelFactory.createTime createTime(Time amltTime) {
-
- val amltValue = amltTime?.value
- it.value = if(amltValue !== null) amltValue.longValue else 0;
-
- switch (amltTime?.unit) {
- case S:
- it.unit = com.inchron.realtime.root.model.TimeUnit.S
- case MS:
- it.unit = com.inchron.realtime.root.model.TimeUnit.MS
- case US:
- it.unit = com.inchron.realtime.root.model.TimeUnit.US
- case NS:
- it.unit = com.inchron.realtime.root.model.TimeUnit.NS
- case PS:
- it.unit = com.inchron.realtime.root.model.TimeUnit.PS
- case _UNDEFINED_:
- it.unit = com.inchron.realtime.root.model.TimeUnit.PS
- }
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmaltheaModelNagivationUtils.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmaltheaModelNagivationUtils.java
deleted file mode 100644
index d422ddf..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmaltheaModelNagivationUtils.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.utils;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.app4mc.amalthea.model.AmaltheaCrossReferenceAdapter;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature.Setting;
-
-public class AmaltheaModelNagivationUtils {
-
- public static synchronized AmaltheaCrossReferenceAdapter getOrCreateAmaltheaAdapter(final Notifier target) {
- // Try to get Amalthea adapter
- final EList<Adapter> adapters = target.eAdapters();
- for (final Adapter adapter : adapters) {
- if (adapter instanceof AmaltheaCrossReferenceAdapter) {
- return (AmaltheaCrossReferenceAdapter) adapter;
- }
- }
-
- // Create Amalthea adapter
- final AmaltheaCrossReferenceAdapter amaltheaAdapter = new AmaltheaCrossReferenceAdapter();
- adapters.add(amaltheaAdapter);
- return amaltheaAdapter;
- }
-
- public static Collection<EObject> getBackReferences(EObject eObject, boolean resolve){
-
- List<EObject> result=new ArrayList<EObject>();
-
- Collection<Setting> references = getOrCreateAmaltheaAdapter(eObject).getNonNavigableInverseReferences(eObject, resolve);
-
- for (Setting setting : references) {
- EObject eObject2 = setting.getEObject();
-
- if(result.contains(eObject2)==false) {
- result.add(eObject2);
- }
- }
- return result;
-
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmltCacheModel.java b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmltCacheModel.java
deleted file mode 100644
index 9679781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/utils/AmltCacheModel.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package templates.utils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.app4mc.amalthea.model.InterruptController;
-import org.eclipse.app4mc.amalthea.model.MappingModel;
-import org.eclipse.app4mc.amalthea.model.OperatingSystem;
-import org.eclipse.app4mc.amalthea.model.Process;
-import org.eclipse.app4mc.amalthea.model.Scheduler;
-import org.eclipse.app4mc.amalthea.model.SchedulerAllocation;
-import org.eclipse.app4mc.amalthea.model.Task;
-import org.eclipse.app4mc.amalthea.model.TaskAllocation;
-import org.eclipse.app4mc.amalthea.model.TaskScheduler;
-import org.eclipse.emf.common.util.EList;
-
-import com.inchron.realtime.root.model.Component;
-import com.inchron.realtime.root.model.ModeGroup;
-
-public class AmltCacheModel {
-
- private Map<String, ModeGroup> inchronModeGroupsMap = new HashMap<>();
-
-
- private Map<Process, Component> amltProcess_InchronComponentMap = new HashMap<>();
-
- private Map<Process, com.inchron.realtime.root.model.Process> amltProcess_inchronProcessMap = new HashMap<>();
-
- private Map<com.inchron.realtime.root.model.Scheduler, Scheduler> inchronScheduler_amltSchedulerMap = new HashMap<>();
-
- private Map<Scheduler, SchedulerAllocation> scheduler_schedulerAllocationMap = new HashMap<Scheduler, SchedulerAllocation>();
-
- private Map<Task, List<TaskAllocation>> tasks_TaskAllocationMap = new HashMap<Task, List<TaskAllocation>>();
-
- private Map<TaskScheduler, List<TaskAllocation>> taskScheduler_taskAllocationMap = new HashMap<TaskScheduler, List<TaskAllocation>>();
-
- private Map<String, List<org.eclipse.app4mc.amalthea.model.Process>> amltInterProcessStimuli_processActivationsMap = new HashMap<>();
-
- private Map<String, List<com.inchron.realtime.root.model.Process>> amltStimuliInchronProcessMap = new HashMap<>();
-
- public void cacheAmltStimuliInchronProcessMap(String amltStimuliName,
- com.inchron.realtime.root.model.Process inchronProcess) {
- if (amltStimuliName != null) {
- List<com.inchron.realtime.root.model.Process> processList = amltStimuliInchronProcessMap
- .get(amltStimuliName);
-
- if (processList == null) {
- processList = new ArrayList<>();
- amltStimuliInchronProcessMap.put(amltStimuliName, processList);
- }
- processList.add(inchronProcess);
- }
- }
-
- public Map<String, List<com.inchron.realtime.root.model.Process>> getAmltStimuliInchronProcessElementsMap() {
-
- return amltStimuliInchronProcessMap;
- }
-
- public void cacheInterProcessTriggerRelations(String stimuliName, Process amltProcess) {
-
- if (stimuliName != null) {
- List<Process> processList = amltInterProcessStimuli_processActivationsMap.get(stimuliName);
-
- if (processList == null) {
- processList = new ArrayList<>();
- amltInterProcessStimuli_processActivationsMap.put(stimuliName, processList);
- }
- processList.add(amltProcess);
- }
-
- }
-
- public Map<String, List<Process>> getInterProcessTriggerRelationsMap() {
- return amltInterProcessStimuli_processActivationsMap;
- }
-
- public Map<Scheduler, SchedulerAllocation> getTaskScheduler_schedulerAllocationMap() {
- return scheduler_schedulerAllocationMap;
- }
-
- public Map<Task, List<TaskAllocation>> getTasks_TaskAllocationMap() {
- return tasks_TaskAllocationMap;
- }
-
- public Map<TaskScheduler, List<TaskAllocation>> getTaskScheduler_taskAllocationMap() {
- return taskScheduler_taskAllocationMap;
- }
-
- public void buildProcesses_SchedulerAllocationMap(MappingModel mappingModel) {
-
- EList<SchedulerAllocation> schedulerAllocations = mappingModel.getSchedulerAllocation();
-
- for (SchedulerAllocation schedulerAllocation : schedulerAllocations) {
-
- scheduler_schedulerAllocationMap.put(schedulerAllocation.getScheduler(), schedulerAllocation);
- }
-
- }
-
- public void buildSchedulerAndSchedulerAssociationMap(MappingModel mappingModel) {
-
- EList<SchedulerAllocation> schedulerAllocations = mappingModel.getSchedulerAllocation();
-
- for (SchedulerAllocation schedulerAllocation : schedulerAllocations) {
-
- Scheduler scheduler = schedulerAllocation.getScheduler();
- if (scheduler instanceof TaskScheduler) {
- scheduler_schedulerAllocationMap.put(scheduler, schedulerAllocation);
-
- } else if (scheduler instanceof InterruptController) {
-// isr_schedulerAllocationMap.put(((InterruptController)scheduler).getISR, schedulerAllocation);
- }
- }
-
- }
-
- public Map<Scheduler, SchedulerAllocation> getScheduler_SchedulerAllocationMap() {
- return scheduler_schedulerAllocationMap;
- }
-
- public Map<TaskScheduler, List<TaskAllocation>> getTaskScheduler_TaskAllocationMap() {
- return taskScheduler_taskAllocationMap;
- }
-
- public void buildTaskSchedulerAndTaskAllocationMap(MappingModel mappingModel) {
-
- EList<TaskAllocation> taskAllocations = mappingModel.getTaskAllocation();
-
- for (TaskAllocation taskAllocation : taskAllocations) {
-
- List<TaskAllocation> listOfTaskAllocations;
-
- if (taskScheduler_taskAllocationMap.containsKey(taskAllocation.getScheduler())) {
- listOfTaskAllocations = taskScheduler_taskAllocationMap.get(taskAllocation.getScheduler());
- } else {
- listOfTaskAllocations = new ArrayList<TaskAllocation>();
- taskScheduler_taskAllocationMap.put(taskAllocation.getScheduler(), listOfTaskAllocations);
- }
-
- listOfTaskAllocations.add(taskAllocation);
-
- // populating map tasks_TaskAllocationMap
-
- List<TaskAllocation> listOftask_TaskAllocations;
-
- if (tasks_TaskAllocationMap.containsKey(taskAllocation.getTask())) {
- listOftask_TaskAllocations = tasks_TaskAllocationMap.get(taskAllocation.getTask());
- } else {
- listOftask_TaskAllocations = new ArrayList<TaskAllocation>();
- tasks_TaskAllocationMap.put(taskAllocation.getTask(), listOftask_TaskAllocations);
- }
-
- listOftask_TaskAllocations.add(taskAllocation);
-
- }
-
- }
-
- public Map<OperatingSystem, List<TaskScheduler>> groupTaskSchdulers(Iterable<TaskScheduler> rootTaskSchedulers) {
-
- Map<OperatingSystem, List<TaskScheduler>> map = new HashMap<>();
-
- for (TaskScheduler taskScheduler : rootTaskSchedulers) {
-
- List<TaskScheduler> list = map.get(taskScheduler.eContainer());
-
- if (list == null) {
- list = new ArrayList<TaskScheduler>();
- map.put((OperatingSystem) taskScheduler.eContainer(), list);
- }
- list.add(taskScheduler);
- }
- return map;
- }
-
- public Map<Process, com.inchron.realtime.root.model.Process> getAmltProcess_inchronProcessMap() {
- return amltProcess_inchronProcessMap;
- }
-
- public void setAmltProcess_inchronProcessMap(
- Map<Process, com.inchron.realtime.root.model.Process> amltProcess_inchronProcessMap) {
- this.amltProcess_inchronProcessMap = amltProcess_inchronProcessMap;
- }
-
- public void addInchronScheduler_amltSchedulerMap(com.inchron.realtime.root.model.Scheduler inchronScheduler,
- Scheduler amltScheduler) {
- inchronScheduler_amltSchedulerMap.put(inchronScheduler, amltScheduler);
- }
-
- public Scheduler getAmltSchedulerFromInchronScheduler(com.inchron.realtime.root.model.Scheduler inchronScheduler) {
- return inchronScheduler_amltSchedulerMap.get(inchronScheduler);
- }
-
- public Map<com.inchron.realtime.root.model.Scheduler, Scheduler> getInchronScheduler_amltSchedulerMap() {
- return inchronScheduler_amltSchedulerMap;
- }
-
-
- public void addInchronModeGroup(ModeGroup modeGroup) {
- inchronModeGroupsMap.put(modeGroup.getName(), modeGroup);
- }
-
- public ModeGroup getInchronModeGroup(String name) {
- return inchronModeGroupsMap.get(name);
- }
-
- public Map<String, ModeGroup> getInchronModeGroupMap( ) {
- return inchronModeGroupsMap ;
- }
-
- public void addAmltProcess_InchronComponent(Process amltProcess, Component inchronComponent) {
- amltProcess_InchronComponentMap.put(amltProcess, inchronComponent);
- }
-
- public Component getInchronComponent(Process amltProcess) {
- return amltProcess_InchronComponentMap.get(amltProcess);
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.classpath b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.classpath
deleted file mode 100644
index eca7bdb..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.gitignore
deleted file mode 100644
index c1445c1..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
-/output
-/input/*/Obfuscated_Model.amxmi
-/input/*/*.*
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.project b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.project
deleted file mode 100644
index e03155b..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.app4mc.transform.to.inchron.product</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/Amlt2Inchron_Transformation.product b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/Amlt2Inchron_Transformation.product
deleted file mode 100644
index a256d3d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/Amlt2Inchron_Transformation.product
+++ /dev/null
@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="APP4MCTransformation" uid="Amlt2Inchron_Transformation.product" id="org.eclipse.app4mc.transform.to.inchron.app.product" application="org.eclipse.app4mc.transform.to.inchron.app.application" version="1.0.0" useFeatures="false" includeLaunchers="true">
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>--input.props "${workspace_loc:org.eclipse.app4mc.transform.to.inchron.product}/input.properties"
- </programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages/>
-
- <launcher>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="com.google.guava"/>
- <plugin id="com.google.inject"/>
- <plugin id="com.ibm.icu"/>
- <plugin id="com.inchron.realtime.root"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.batik.css"/>
- <plugin id="org.apache.batik.util"/>
- <plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.apache.commons.cli"/>
- <plugin id="org.apache.commons.jxpath"/>
- <plugin id="org.apache.commons.lang"/>
- <plugin id="org.apache.commons.logging"/>
- <plugin id="org.apache.commons.math3"/>
- <plugin id="org.apache.felix.gogo.command"/>
- <plugin id="org.apache.felix.gogo.command.source"/>
- <plugin id="org.apache.felix.gogo.runtime"/>
- <plugin id="org.apache.felix.gogo.runtime.source"/>
- <plugin id="org.apache.felix.gogo.shell"/>
- <plugin id="org.apache.felix.gogo.shell.source"/>
- <plugin id="org.apache.felix.scr"/>
- <plugin id="org.apache.felix.scr.source"/>
- <plugin id="org.apache.log4j"/>
- <plugin id="org.apache.xerces"/>
- <plugin id="org.apache.xml.resolver"/>
- <plugin id="org.apache.xml.serializer"/>
- <plugin id="org.eclipse.app4mc.amalthea.model"/>
- <plugin id="org.eclipse.app4mc.amalthea.sphinx"/>
- <plugin id="org.eclipse.app4mc.transform.to.inchron.app"/>
- <plugin id="org.eclipse.app4mc.transform.to.inchron.m2m"/>
- <plugin id="org.eclipse.app4mc.transformation.application"/>
- <plugin id="org.eclipse.app4mc.transformation.extensions"/>
- <plugin id="org.eclipse.compare.core"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.variables"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.annotations"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.emf.xpath"/>
- <plugin id="org.eclipse.e4.ui.bindings"/>
- <plugin id="org.eclipse.e4.ui.css.core"/>
- <plugin id="org.eclipse.e4.ui.css.swt"/>
- <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.widgets"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench3"/>
- <plugin id="org.eclipse.emf"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.common.ui"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.emf.edit.ui"/>
- <plugin id="org.eclipse.emf.transaction"/>
- <plugin id="org.eclipse.emf.transaction.ui"/>
- <plugin id="org.eclipse.emf.validation"/>
- <plugin id="org.eclipse.emf.workspace"/>
- <plugin id="org.eclipse.emf.workspace.ui"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.repository"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.security"/>
- <plugin id="org.eclipse.equinox.security.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.equinox.supplement"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
- <plugin id="org.eclipse.fx.osgi" fragment="true"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.jface.text"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.osgi.util"/>
- <plugin id="org.eclipse.sphinx.emf"/>
- <plugin id="org.eclipse.sphinx.emf.editors"/>
- <plugin id="org.eclipse.sphinx.emf.editors.forms"/>
- <plugin id="org.eclipse.sphinx.emf.ui"/>
- <plugin id="org.eclipse.sphinx.emf.workspace"/>
- <plugin id="org.eclipse.sphinx.emf.workspace.ui"/>
- <plugin id="org.eclipse.sphinx.platform"/>
- <plugin id="org.eclipse.sphinx.platform.ui"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.text"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.console"/>
- <plugin id="org.eclipse.ui.forms"/>
- <plugin id="org.eclipse.ui.ide"/>
- <plugin id="org.eclipse.ui.navigator"/>
- <plugin id="org.eclipse.ui.views"/>
- <plugin id="org.eclipse.ui.views.properties.tabbed"/>
- <plugin id="org.eclipse.ui.win32" fragment="true"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.eclipse.ui.workbench.texteditor"/>
- <plugin id="org.eclipse.xtend.lib"/>
- <plugin id="org.eclipse.xtend.lib.macro"/>
- <plugin id="org.eclipse.xtext.logging" fragment="true"/>
- <plugin id="org.eclipse.xtext.xbase.lib"/>
- <plugin id="org.jdom"/>
- <plugin id="org.tukaani.xz"/>
- <plugin id="org.w3c.css.sac"/>
- <plugin id="org.w3c.dom.events"/>
- <plugin id="org.w3c.dom.smil"/>
- <plugin id="org.w3c.dom.svg"/>
- </plugins>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.osgi" autoStart="false" startLevel="1" />
- <plugin id="org.eclipse.osgi.services" autoStart="false" startLevel="1" />
- <property name="equinox.use.ds" value="false" />
- </configurations>
-
- <preferencesInfo>
- <targetfile overwrite="false"/>
- </preferencesInfo>
-
- <cssInfo>
- </cssInfo>
-
-</product>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/META-INF/MANIFEST.MF
deleted file mode 100644
index eeb687e..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Product
-Bundle-SymbolicName: org.eclipse.app4mc.transform.to.inchron.product
-Bundle-Version: 1.0.0.qualifier
-Automatic-Module-Name: org.eclipse.app4mc.transform.to.inchron.product
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/about.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input.properties
deleted file mode 100644
index e45b570..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-input_models_folder=./input/amalthea_models
-m2m_output_folder=./output/m2m_output_models
-log_file=./output/transformation.txt
-tranformationConfigIDs=org.eclipse.app4mc.transform.to.inchron.m2m.config
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input/amalthea_models/transformationExample.amxmi-old b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input/amalthea_models/transformationExample.amxmi-old
deleted file mode 100644
index f1d0a38..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/input/amalthea_models/transformationExample.amxmi-old
+++ /dev/null
@@ -1,183 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
- <swModel>
- <tasks name="Task5ms" stimuli="Stimuli5msA?type=PeriodicStimulus Stimuli5msB?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable5ms?type=Runnable" />
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task1ms" stimuli="Stimuli1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable1ms?type=Runnable" />
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task10ms" stimuli="Stimuli10ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable10ms?type=Runnable" />
- </graphEntries>
- <graphEntries xsi:type="am:CallSequence" name="IPC20ms">
- <calls xsi:type="am:InterProcessTrigger" stimulus="Task10ms2Task20ms?type=InterProcessStimulus">
- <counter prescaler="2" offset="0" />
- </calls>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task20ms" stimuli="Task10ms2Task20ms?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable20ms?type=Runnable" />
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="Runnable1ms" callback="false" service="false">
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- </runnables>
- <runnables name="Runnable5ms" callback="false" service="false">
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- </runnables>
- <runnables name="Runnable20ms" callback="false" service="false">
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- </runnables>
- <runnables name="Runnable10ms" callback="false" service="false">
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="10" pRemainPromille="0.004999999888241291" average="4" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="request" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="200" upperBound="600" xsi:type="am:DiscreteValueUniformDistribution" />
- </runnableItems>
- <runnableItems xsi:type="am:SemaphoreAccess" semaphore="Lock?type=Semaphore" access="release" waitingBehaviour="active" />
- <runnableItems xsi:type="am:Ticks">
- <default lowerBound="1" upperBound="15" pRemainPromille="0.004999999888241291" average="5" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" />
- </runnableItems>
- </runnables>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="C0_Type" puType="CPU" features="Instructions/IPC_1.0?type=HwFeature" />
- <definitions xsi:type="am:ProcessingUnitDefinition" name="C1_Type" puType="CPU" features="Instructions/IPC_1.0?type=HwFeature" />
- <featureCategories name="Instructions" featureType="performance">
- <features name="IPC_1.0" value="1.0" />
- </featureCategories>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <structures name="mC" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="C0" frequencyDomain="clock_C0?type=FrequencyDomain" definition="C0_Type?type=ProcessingUnitDefinition" />
- <modules xsi:type="am:ProcessingUnit" name="C1" frequencyDomain="clock_C1?type=FrequencyDomain" definition="C1_Type?type=ProcessingUnitDefinition" />
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="clock_C0" clockGating="false">
- <defaultValue value="240.0" unit="MHz" />
- </domains>
- <domains xsi:type="am:FrequencyDomain" name="clock_C1" clockGating="false">
- <defaultValue value="240.0" unit="MHz" />
- </domains>
- </hwModel>
- <osModel>
- <semaphores name="Lock" initialValue="0" maxValue="0" priorityCeilingProtocol="false" />
- <operatingSystems name="OS">
- <taskSchedulers name="SchedC0">
- <schedulingAlgorithm xsi:type="am:OSEK" />
- </taskSchedulers>
- <taskSchedulers name="SchedC1">
- <schedulingAlgorithm xsi:type="am:OSEK" />
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="Stimuli1ms">
- <offset value="0" unit="ms" />
- <recurrence value="1" unit="ms" />
- </stimuli>
- <stimuli xsi:type="am:PeriodicStimulus" name="Stimuli5msA">
- <offset value="800" unit="us" />
- <recurrence value="5" unit="ms" />
- </stimuli>
- <stimuli xsi:type="am:PeriodicStimulus" name="Stimuli5msB">
- <offset value="1500" unit="us" />
- <recurrence value="5" unit="ms" />
- </stimuli>
- <stimuli xsi:type="am:PeriodicStimulus" name="Stimuli10ms">
- <offset value="0" unit="ms" />
- <recurrence value="10" unit="ms" />
- </stimuli>
- <stimuli xsi:type="am:InterProcessStimulus" name="Task10ms2Task20ms" />
- </stimuliModel>
- <mappingModel>
- <schedulerAllocation>
- <scheduler xsi:type="am:TaskScheduler" href="amlt:/#SchedC0?type=TaskScheduler" />
- <responsibility href="amlt:/#C0?type=ProcessingUnit" />
- </schedulerAllocation>
- <schedulerAllocation>
- <scheduler xsi:type="am:TaskScheduler" href="amlt:/#SchedC1?type=TaskScheduler" />
- <responsibility href="amlt:/#C1?type=ProcessingUnit" />
- </schedulerAllocation>
- <taskAllocation task="Task1ms?type=Task" scheduler="SchedC0?type=TaskScheduler">
- <schedulingParameters priority="50" />
- </taskAllocation>
- <taskAllocation task="Task20ms?type=Task" scheduler="SchedC0?type=TaskScheduler">
- <schedulingParameters priority="10" />
- </taskAllocation>
- <taskAllocation task="Task5ms?type=Task" scheduler="SchedC1?type=TaskScheduler">
- <schedulingParameters priority="40" />
- </taskAllocation>
- <taskAllocation task="Task10ms?type=Task" scheduler="SchedC1?type=TaskScheduler">
- <schedulingParameters priority="30" />
- </taskAllocation>
- </mappingModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/pom.xml
deleted file mode 100644
index 9f201aa..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- /*******************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH. * * This program and the accompanying
- materials are made * available under the terms of the Eclipse Public License
- 2.0 * which is available at https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier:
- EPL-2.0 * * Contributors: * Robert Bosch GmbH - initial API and implementation
- *******************************************************************************/ -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.app4mc.transform.to.inchron.product</artifactId>
- <packaging>eclipse-repository</packaging>
-
-
- <build>
-
- <plugins>
-
-
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-director-plugin</artifactId>
- <version>${tycho.version}</version>
-
- <executions>
- <execution>
- <id>materialize-products</id>
- <goals>
- <goal>materialize-products</goal>
- </goals>
- </execution>
-
- <execution>
- <id>archive-products</id>
- <goals>
- <goal>archive-products</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <products>
- <product>
- <id>Amlt2Inchron_Transformation.product</id>
- <archiveFileName>product</archiveFileName>
- </product>
- </products>
- </configuration>
- </plugin>
-
-
- </plugins>
-
- </build>
- <groupId>m2m</groupId>
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/src/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/src/.gitignore
deleted file mode 100644
index e69de29..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/src/.gitignore
+++ /dev/null
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/input/CustomEventTrigger.amxmi b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/input/CustomEventTrigger.amxmi
deleted file mode 100644
index 20c3409..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/input/CustomEventTrigger.amxmi
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <swModel>
- <tasks name="TaskLauncher" stimuli="PeriodicStimulus1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableLauncher?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="TaskWorkerConditional" stimuli="EventStimulus_Conditional?type=EventStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableWorker?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="TaskWorkerUnconditional" stimuli="EventStimulus_Unconditional?type=EventStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableWorker?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="RunnableWorker" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100"/>
- </runnableItems>
- </runnables>
- <runnables name="RunnableLauncher" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="10"/>
- </runnableItems>
- <runnableItems xsi:type="am:CustomEventTrigger" event="CustomEvent_2_to_3?type=CustomEvent"/>
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="10"/>
- </runnableItems>
- </runnables>
- <modes name="modeCondition">
- <literals name="State1"/>
- <literals name="State2"/>
- </modes>
- <modeLabels name="ModeLabelA" displayName="" initialValue="modeCondition/State1?type=ModeLiteral"/>
- <modeLabels name="ModeLabelB" displayName="" initialValue="modeCondition/State2?type=ModeLiteral"/>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="C0_Type" puType="CPU"/>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <structures name="mC" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="C0" frequencyDomain="clock_C0?type=FrequencyDomain" definition="C0_Type?type=ProcessingUnitDefinition"/>
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="clock_C0" clockGating="false">
- <defaultValue value="240.0" unit="MHz"/>
- </domains>
- </hwModel>
- <osModel>
- <operatingSystems name="OS">
- <taskSchedulers name="SchedC0">
- <schedulingAlgorithm xsi:type="am:OSEK"/>
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="PeriodicStimulus1ms">
- <offset value="0" unit="ms"/>
- <recurrence value="1" unit="ms"/>
- </stimuli>
- <stimuli xsi:type="am:EventStimulus" name="EventStimulus_Unconditional" triggeringEvents="CustomEvent_2_to_3?type=CustomEvent"/>
- <stimuli xsi:type="am:EventStimulus" name="EventStimulus_Conditional" triggeringEvents="CustomEvent_2_to_3?type=CustomEvent">
- <enablingModeValueList>
- <entries xsi:type="am:ModeValueConjunction">
- <entries valueProvider="ModeLabelA?type=ModeLabel" value="modeCondition/State1?type=ModeLiteral"/>
- <entries valueProvider="ModeLabelB?type=ModeLabel" value="modeCondition/State2?type=ModeLiteral"/>
- </entries>
- </enablingModeValueList>
- </stimuli>
- </stimuliModel>
- <eventModel>
- <events xsi:type="am:CustomEvent" name="CustomEvent_2_to_3" description="" eventType=""/>
- </eventModel>
- <mappingModel>
- <schedulerAllocation scheduler="SchedC0?type=TaskScheduler" responsibility="C0?type=ProcessingUnit"/>
- <taskAllocation task="TaskLauncher?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="TaskWorkerConditional?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="TaskWorkerUnconditional?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- </mappingModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/output/CustomEventTrigger.iprx b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/output/CustomEventTrigger.iprx
deleted file mode 100644
index 4f14587..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/CustomEventTrigger/output/CustomEventTrigger.iprx
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<root:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://inchron.com/realtime/root/2.98.5/model" xmlns:root="http://inchron.com/realtime/root/2.98.5" xmlns:stimulation="http://inchron.com/realtime/root/2.98.5/model/stimulation">
- <model xsi:type="model:Model" name="Model" defaultScenario="//@model/@stimulationScenarios.0">
- <clocks name="clock_C0" users="//@model/@cpus.0 //@model/@stimulationScenarios.0/@generators.0">
- <frequency value="240.0"/>
- <range value="1" unit="s"/>
- <startTimeFixed/>
- <startTimeMin/>
- <startTimeMax/>
- <startValue/>
- </clocks>
- <cpus name="mC" clock="//@model/@clocks.0" cpuModel="generic">
- <cores name="C0">
- <connectedSlave/>
- </cores>
- <memoryRegions name="ram" base="16777216" flags="290" pages="1" sections="data:bss:stack:heap"/>
- <memoryRegions name="rom" base="33554432" flags="275" pages="1" sections="text"/>
- </cpus>
- <connections xsi:type="model:ActivationConnection" name="EventStimulus_Unconditional" activators="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.1">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2"/>
- </connections>
- <connections xsi:type="model:ActivationConnection" name="EventStimulus_Conditional" activators="//@model/@systems.0/@components.0/@functions.1/@callGraph/@graphEntries.1/@entries.0/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1"/>
- </connections>
- <generalInfo creator="Amlt2Inchron 0.9.3 Wed May 08 09:10:35 CEST 2019" version="1"/>
- <globalModeConditions name="ModeCondition__1266224518">
- <conjunctions modes="//@model/@globalModeGroups.0/@modes.0 //@model/@globalModeGroups.1/@modes.1"/>
- </globalModeConditions>
- <globalModeGroups name="ModeLabelA" initialMode="//@model/@globalModeGroups.0/@modes.0">
- <modes name="State1"/>
- <modes name="State2" value="1"/>
- </globalModeGroups>
- <globalModeGroups name="ModeLabelB" initialMode="//@model/@globalModeGroups.1/@modes.1">
- <modes name="State1"/>
- <modes name="State2" value="1"/>
- </globalModeGroups>
- <stimulationScenarios name="DefaultScenario">
- <generators xsi:type="stimulation:RandomStimuliGenerator" name="PeriodicStimulus1ms" clock="//@model/@clocks.0">
- <connections xsi:type="model:ActivationConnection" name="PeriodicStimulus1ms" activators="//@model/@stimulationScenarios.0/@generators.0/@targets/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0"/>
- </connections>
- <targets>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ActivationItem" name="ActivationItem_PeriodicStimulus1ms" connection="//@model/@stimulationScenarios.0/@generators.0/@connections.0"/>
- </graphEntries>
- </targets>
- <minInterArrivalTime/>
- <period value="1" unit="ms"/>
- <startOffset unit="ms"/>
- <startOffsetVariation/>
- <variation/>
- </generators>
- </stimulationScenarios>
- <systems xsi:type="model:GenericSystem" name="OS_SYSTEM">
- <components name="OS_SWC">
- <functions name="RunnableLauncher-TaskLauncher">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="10" unit="T"/>
- <max value="10" unit="T"/>
- <mean value="10" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:ActivationItem" name="ActivationItem_EventStimulus_Unconditional" connection="//@model/@connections.0"/>
- <calls xsi:type="model:FunctionCall" name="call_Dummy_EventStimulus_Conditional" function="//@model/@systems.0/@components.0/@functions.1"/>
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="10" unit="T"/>
- <max value="10" unit="T"/>
- <mean value="10" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="Dummy_EventStimulus_Conditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CallSequence_For_ModeConditionEvaluation">
- <calls xsi:type="model:ModeConditionEvaluation" condition="//@model/@globalModeConditions.0"/>
- </graphEntries>
- <graphEntries xsi:type="model:ModeSwitch" name="EventStimulusCondition">
- <entries condition="//@model/@globalModeConditions.0">
- <graphEntries xsi:type="model:CallSequence">
- <calls xsi:type="model:ActivationItem" name="ActivationItem_EventStimulus_Conditional" connection="//@model/@connections.1"/>
- </graphEntries>
- </entries>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="RunnableWorker-TaskWorkerUnconditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100" unit="T"/>
- <max value="100" unit="T"/>
- <mean value="100" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="RunnableWorker-TaskWorkerConditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100" unit="T"/>
- <max value="100" unit="T"/>
- <mean value="100" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- </components>
- <rtosModel name="generic" returnType="void"/>
- <rtosConfig name="OS">
- <schedulables xsi:type="model:Scheduler" name="OS_ISRDummy" cpuCores="//@model/@cpus.0/@cores.0">
- <schedulables xsi:type="model:Scheduler" name="SchedC0" cpuCores="//@model/@cpus.0/@cores.0">
- <schedulables xsi:type="model:Process" name="TaskLauncher">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableLauncher-TaskLauncher" function="//@model/@systems.0/@components.0/@functions.0"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="TaskWorkerConditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableWorker-TaskWorkerConditional" function="//@model/@systems.0/@components.0/@functions.3"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="TaskWorkerUnconditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableWorker-TaskWorkerUnconditional" function="//@model/@systems.0/@components.0/@functions.2"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- </rtosConfig>
- </systems>
- </model>
- <settings>
- <editor/>
- <model/>
- <tool/>
- </settings>
-</root:Root>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/DataFlow_EventChains.graphml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/DataFlow_EventChains.graphml
deleted file mode 100644
index 3cd7893..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/DataFlow_EventChains.graphml
+++ /dev/null
@@ -1,521 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
- <!--Created by yEd 3.18.2-->
- <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
- <key for="port" id="d1" yfiles.type="portgraphics"/>
- <key for="port" id="d2" yfiles.type="portgeometry"/>
- <key for="port" id="d3" yfiles.type="portuserdata"/>
- <key attr.name="url" attr.type="string" for="node" id="d4"/>
- <key attr.name="description" attr.type="string" for="node" id="d5"/>
- <key for="node" id="d6" yfiles.type="nodegraphics"/>
- <key for="graphml" id="d7" yfiles.type="resources"/>
- <key attr.name="url" attr.type="string" for="edge" id="d8"/>
- <key attr.name="description" attr.type="string" for="edge" id="d9"/>
- <key for="edge" id="d10" yfiles.type="edgegraphics"/>
- <graph edgedefault="directed" id="G">
- <data key="d0"/>
- <node id="n0" yfiles.foldertype="group">
- <data key="d4"/>
- <data key="d6">
- <y:ProxyAutoBoundsNode>
- <y:Realizers active="0">
- <y:GroupNode>
- <y:Geometry height="230.32470703125" width="581.3159787243242" x="960.0" y="260.62353515625"/>
- <y:Fill color="#FFFFFF" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="581.3159787243242" x="0.0" y="0.0">Legend</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
- <y:BorderInsets bottom="37" bottomF="37.2470703125" left="10" leftF="10.0" right="75" rightF="75.0" top="19" topF="19.0"/>
- </y:GroupNode>
- <y:GroupNode>
- <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 2</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
- <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- </y:Realizers>
- </y:ProxyAutoBoundsNode>
- </data>
- <graph edgedefault="directed" id="n0:">
- <node id="n0::n0">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="30.0" x="985.0" y="317.0"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
- <y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n1">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="30.0" x="1067.0" y="317.0"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
- <y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n2">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="335.31597872432417" x="1116.0" y="317.0"/>
- <y:Fill color="#FFFFFF" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="324.162109375" x="5.57693467466197" y="5.6494140625">Channel accesses with channel event (stimulus & response)<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n3">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="335.31597872432417" x="1116.0" y="347.0"/>
- <y:Fill color="#FFFFFF" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="33.40234375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="225.759765625" x="54.77810654966197" y="-1.701171875">DataFlow_NestedEvendChain
-(dotted line = first stimulus, last response)<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n4">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="335.31597872432417" x="1116.0" y="377.0"/>
- <y:Fill color="#FFFFFF" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="160.076171875" x="87.61990342466197" y="5.6494140625">DataFlow_SimpleEventChain<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n5">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="30.0" width="335.31597872432417" x="1116.0" y="407.0"/>
- <y:Fill color="#FFFFFF" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="33.40234375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="281.79296875" x="26.76150498716197" y="-1.701171875">DataFlow_ReferenceEventChain
-(dotted line = top level first stimulus & last response)<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n6">
- <data key="d5"/>
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="4.608873859459493" width="50.49999999999977" x="1045.0" y="362.6955630702704"/>
- <y:Fill color="#3366FF" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="23.249999999999773" y="0.30443692972971803">
- <y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n7">
- <data key="d5"/>
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="4.608873859459493" width="50.49999999999977" x="1045.0000000000002" y="389.6955630702703"/>
- <y:Fill color="#FF0000" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="23.25" y="0.30443692972971803">
- <y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n0::n8">
- <data key="d5"/>
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="4.608873859459493" width="50.49999999999977" x="1045.0000000000002" y="416.69556307027017"/>
- <y:Fill color="#339966" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="23.25" y="0.30443692972971803">
- <y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- </graph>
- </node>
- <node id="n1" yfiles.foldertype="group">
- <data key="d4"/>
- <data key="d6">
- <y:ProxyAutoBoundsNode>
- <y:Realizers active="0">
- <y:GroupNode>
- <y:Geometry height="208.62353515625" width="505.0" x="368.0" y="105.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="505.0" x="0.0" y="0.0">Task 1</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
- <y:BorderInsets bottom="24" bottomF="23.62353515625" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- <y:GroupNode>
- <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 4</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
- <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- </y:Realizers>
- </y:ProxyAutoBoundsNode>
- </data>
- <graph edgedefault="directed" id="n1:">
- <node id="n1::n0" yfiles.foldertype="group">
- <data key="d4"/>
- <data key="d6">
- <y:ProxyAutoBoundsNode>
- <y:Realizers active="0">
- <y:GroupNode>
- <y:Geometry height="132.62353515625" width="475.0" x="383.0" y="142.37646484375"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="475.0" x="0.0" y="0.0">Runnable 1</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
- <y:BorderInsets bottom="2" bottomF="2.0" left="0" leftF="0.0" right="75" rightF="75.0" top="43" topF="43.2470703125"/>
- </y:GroupNode>
- <y:GroupNode>
- <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 1</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
- <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- </y:Realizers>
- </y:ProxyAutoBoundsNode>
- </data>
- <graph edgedefault="directed" id="n1::n0:">
- <node id="n1::n0::n0">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="32.0" width="132.0" x="398.0" y="223.0"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="95.40625" x="18.296875" y="6.6494140625">send to channel1<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n1::n0::n1">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="32.0" width="146.0" x="622.0" y="226.0"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="122.060546875" x="11.9697265625" y="6.6494140625">receive from channel2<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- </graph>
- </node>
- </graph>
- </node>
- <node id="n2" yfiles.foldertype="group">
- <data key="d4"/>
- <data key="d6">
- <y:ProxyAutoBoundsNode>
- <y:Realizers active="0">
- <y:GroupNode>
- <y:Geometry height="229.56856027854724" width="505.0" x="368.0" y="337.07202791402017"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="505.0" x="0.0" y="0.0">Task 2</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
- <y:BorderInsets bottom="2" bottomF="2.3214899660472383" left="0" leftF="0.0" right="0" rightF="0.0" top="42" topF="42.2470703125"/>
- </y:GroupNode>
- <y:GroupNode>
- <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 5</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
- <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- </y:Realizers>
- </y:ProxyAutoBoundsNode>
- </data>
- <graph edgedefault="directed" id="n2:">
- <node id="n2::n0" yfiles.foldertype="group">
- <data key="d4"/>
- <data key="d6">
- <y:ProxyAutoBoundsNode>
- <y:Realizers active="0">
- <y:GroupNode>
- <y:Geometry height="132.62353515625" width="475.0" x="383.0" y="416.69556307027017"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="475.0" x="0.0" y="0.0">Runnable 2</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
- <y:BorderInsets bottom="31" bottomF="31.2470703125" left="0" leftF="0.0" right="75" rightF="75.0" top="14" topF="14.0"/>
- </y:GroupNode>
- <y:GroupNode>
- <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
- <y:Fill color="#F5F5F5" transparent="false"/>
- <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
- <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 1</y:NodeLabel>
- <y:Shape type="roundrectangle"/>
- <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
- <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
- <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
- </y:GroupNode>
- </y:Realizers>
- </y:ProxyAutoBoundsNode>
- </data>
- <graph edgedefault="directed" id="n2::n0:">
- <node id="n2::n0::n0">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="32.0" width="132.0" x="398.0" y="468.07202791402017"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="95.40625" x="18.296875" y="6.6494140625">send to channel2<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- <node id="n2::n0::n1">
- <data key="d6">
- <y:ShapeNode>
- <y:Geometry height="32.0" width="146.0" x="622.0" y="471.07202791402017"/>
- <y:Fill color="#FFCC00" transparent="false"/>
- <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
- <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="122.060546875" x="11.9697265625" y="6.6494140625">receive from channel1<y:LabelModel>
- <y:SmartNodeLabelModel distance="4.0"/>
- </y:LabelModel>
- <y:ModelParameter>
- <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
- </y:ModelParameter>
- </y:NodeLabel>
- <y:Shape type="rectangle"/>
- </y:ShapeNode>
- </data>
- </node>
- </graph>
- </node>
- </graph>
- </node>
- <edge id="e0" source="n1::n0::n0" target="n2::n0::n1">
- <data key="d8"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
- <y:LineStyle color="#3366FF" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="n2::n0::e0" source="n2::n0::n1" target="n2::n0::n0">
- <data key="d8"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
- <y:LineStyle color="#3366FF" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="e1" source="n2::n0::n0" target="n1::n0::n1">
- <data key="d8"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
- <y:LineStyle color="#3366FF" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="n0::e0" source="n0::n0" target="n0::n1">
- <data key="d8"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
- <y:LineStyle color="#000000" type="line" width="1.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="e2" source="n2::n0::n0" target="n1::n0::n1">
- <data key="d8"/>
- <data key="d9"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
- <y:Point x="486.1310255120826" y="341.3057213439999"/>
- </y:Path>
- <y:LineStyle color="#FF0000" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="e3" source="n1::n0::n0" target="n2::n0::n0">
- <data key="d8"/>
- <data key="d9"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="-45.12208155675688" ty="1.1167415597094532">
- <y:Point x="398.416226117488" y="325.14773198183775"/>
- </y:Path>
- <y:LineStyle color="#339966" type="dashed" width="2.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="e4" source="n1::n0::n0" target="n2::n0::n1">
- <data key="d8"/>
- <data key="d9"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="35.667865254053936" sy="9.20492549535129" tx="0.0" ty="0.0">
- <y:Point x="660.021768171542" y="369.7745597439999"/>
- </y:Path>
- <y:LineStyle color="#339966" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="n2::n0::e1" source="n2::n0::n1" target="n2::n0::n0">
- <data key="d8"/>
- <data key="d9"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
- <y:Point x="582.3095336201907" y="515.9429815828512"/>
- </y:Path>
- <y:LineStyle color="#339966" type="line" width="3.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- <edge id="n1::n0::e0" source="n1::n0::n0" target="n1::n0::n1">
- <data key="d8"/>
- <data key="d9"/>
- <data key="d10">
- <y:PolyLineEdge>
- <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
- <y:Point x="578.14952787027" y="181.26468385210805"/>
- </y:Path>
- <y:LineStyle color="#3366FF" type="dashed" width="2.0"/>
- <y:Arrows source="none" target="white_delta"/>
- <y:BendStyle smoothed="false"/>
- </y:PolyLineEdge>
- </data>
- </edge>
- </graph>
- <data key="d7">
- <y:Resources/>
- </data>
-</graphml>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/input/EventChainModel.amxmi b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/input/EventChainModel.amxmi
deleted file mode 100644
index 6b6897e..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/input/EventChainModel.amxmi
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <swModel>
- <tasks name="Task_1" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="CallSequence_1">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_1?type=Runnable">
- <counter prescaler="0" offset="0"/>
- </calls>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task_2" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_2?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task_3-1" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="CallSequence_1">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_3?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task_3-2" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="CallSequence_1">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_3?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task4" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_4?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="Runnable_1" callback="false" service="false">
- <runnableItems xsi:type="am:ChannelReceive" data="Channel2?type=Channel" elements="2" receiveOperation="LIFO_Read" dataMustBeNew="false" elementIndex="0" lowerBound="2">
- <transmissionPolicy chunkProcessingTicks="0" transmitRatio="1.0">
- <chunkSize value="23" unit="B"/>
- </transmissionPolicy>
- </runnableItems>
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100000"/>
- </runnableItems>
- <runnableItems xsi:type="am:ChannelSend" data="Channel1?type=Channel" elements="23">
- <transmissionPolicy chunkProcessingTicks="0" transmitRatio="1.0">
- <chunkSize value="3" unit="B"/>
- </transmissionPolicy>
- </runnableItems>
- </runnables>
- <runnables name="Runnable_2" callback="false" service="false">
- <runnableItems xsi:type="am:ChannelReceive" data="Channel1?type=Channel" elements="2" receiveOperation="FIFO_Take" dataMustBeNew="false" elementIndex="0" lowerBound="1">
- <transmissionPolicy chunkProcessingTicks="0" transmitRatio="1.0">
- <chunkSize value="42" unit="B"/>
- </transmissionPolicy>
- </runnableItems>
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100000"/>
- </runnableItems>
- <runnableItems xsi:type="am:ChannelSend" data="Channel2?type=Channel" elements="23">
- <transmissionPolicy chunkProcessingTicks="0" transmitRatio="1.0">
- <chunkSize value="3" unit="B"/>
- </transmissionPolicy>
- </runnableItems>
- </runnables>
- <runnables name="Runnable_3" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100000"/>
- </runnableItems>
- <runnableItems xsi:type="am:ChannelSend" data="Channel3?type=Channel" elements="23">
- <transmissionPolicy chunkProcessingTicks="0" transmitRatio="1.0">
- <chunkSize value="3" unit="B"/>
- </transmissionPolicy>
- </runnableItems>
- </runnables>
- <runnables name="Runnable_4" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100000"/>
- </runnableItems>
- <runnableItems xsi:type="am:ChannelReceive" data="Channel3?type=Channel" elements="0" receiveOperation="LIFO_Read" dataMustBeNew="false" elementIndex="0" lowerBound="0"/>
- </runnables>
- <channels name="Channel1" defaultElements="1" maxElements="5">
- <size value="22" unit="MB"/>
- <elementType xsi:type="am:TypeRef" typeDef="BaseTypeDefinition_8?type=BaseTypeDefinition"/>
- </channels>
- <channels name="Channel2" defaultElements="1" maxElements="5">
- <size value="44" unit="MB"/>
- <elementType xsi:type="am:TypeRef" typeDef="BaseTypeDefinition_8?type=BaseTypeDefinition"/>
- </channels>
- <channels name="Channel3" defaultElements="1" maxElements="5">
- <size value="44" unit="MB"/>
- <elementType xsi:type="am:TypeRef" typeDef="BaseTypeDefinition_8?type=BaseTypeDefinition"/>
- </channels>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_1">
- <size value="8" unit="B"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_2">
- <size value="0" unit="B"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_3">
- <size value="0" unit="B"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_4">
- <size value="4" unit="MB"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_5">
- <size value="120" unit="kB"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_6">
- <size value="10" unit="kB"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_7">
- <size value="4" unit="MB"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_8">
- <size value="20" unit="kB"/>
- </typeDefinitions>
- <typeDefinitions xsi:type="am:BaseTypeDefinition" name="BaseTypeDefinition_9">
- <size value="180" unit="kB"/>
- </typeDefinitions>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="ProcessingUnitDefinition_1"/>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="ProcessingUnitDefinition_2"/>
- <definitions xsi:type="am:MemoryDefinition" name="MemoryDefinition_1" memoryType="DRAM">
- <size value="768" unit="kB"/>
- <dataRate value="10" unit="MbitPerSecond"/>
- </definitions>
- <definitions xsi:type="am:MemoryDefinition" name="MemoryDefinition_2" memoryType="SRAM">
- <size value="256" unit="kB"/>
- <accessLatency xsi:type="am:DiscreteValueConstant" value="5"/>
- </definitions>
- <structures name="HwStructure_1" structureType="System">
- <structures name="HwStructure_2" structureType="ECU">
- <structures name="HwStructure_1" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="ProcessingUnit_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="ProcessingUnitDefinition_1?type=ProcessingUnitDefinition">
- <accessElements name="HwAccessElement_1" destination="Memory_1?type=Memory">
- <readLatency xsi:type="am:DiscreteValueConstant" value="5"/>
- <writeLatency xsi:type="am:DiscreteValueConstant" value="1"/>
- </accessElements>
- </modules>
- <modules xsi:type="am:Memory" name="Memory_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="MemoryDefinition_2?type=MemoryDefinition"/>
- <modules xsi:type="am:ProcessingUnit" name="ProcessingUnit_2" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="ProcessingUnitDefinition_2?type=ProcessingUnitDefinition">
- <accessElements name="HwAccessElement_4" destination="Memory_2?type=Memory">
- <readLatency xsi:type="am:DiscreteValueStatistics" lowerBound="10" upperBound="120" average="70.0"/>
- <writeLatency xsi:type="am:DiscreteValueStatistics" lowerBound="90" upperBound="150" average="50.0"/>
- </accessElements>
- </modules>
- <modules xsi:type="am:Memory" name="Memory_2" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="MemoryDefinition_1?type=MemoryDefinition"/>
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="FrequencyDomain_1" clockGating="false">
- <defaultValue value="0.1" unit="GHz"/>
- </domains>
- </hwModel>
- <osModel>
- <operatingSystems name="OperatingSystem_1">
- <taskSchedulers name="TaskScheduler_1">
- <schedulingAlgorithm xsi:type="am:OSEK"/>
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="PeriodicStimulus_1">
- <offset value="0" unit="s"/>
- <recurrence value="10" unit="ms"/>
- </stimuli>
- </stimuliModel>
- <eventModel>
- <events xsi:type="am:ChannelEvent" name="task1_runnable1_channel1_send" eventType="send" entity="Channel1?type=Channel" runnable="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task1_runnable1_channel2_receive" description="" eventType="receive" entity="Channel2?type=Channel" runnable="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task2_runnable2_channel1_receive" description="" eventType="receive" entity="Channel1?type=Channel" runnable="Runnable_2?type=Runnable" process="Task_2?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task2_runnable2_channel2_send" eventType="send" entity="Channel2?type=Channel" runnable="Runnable_2?type=Runnable" process="Task_2?type=Task"/>
- <events xsi:type="am:CustomEvent" name="customEvent0"/>
- <events xsi:type="am:ChannelEvent" name="task1_channel1_allAccesses_r1" description="" entity="Channel1?type=Channel" runnable="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task1_channel1_send_r-notSet" eventType="send" entity="Channel1?type=Channel" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task1_channel-notSet_send_r1" eventType="send" runnable="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="task1_channel1_send_r3" description="" eventType="send" entity="Channel1?type=Channel" process="Task_1?type=Task"/>
- <events xsi:type="am:ChannelEvent" name="taskX_runnable1_channel1_send" eventType="send" entity="Channel1?type=Channel" runnable="Runnable_1?type=Runnable"/>
- <events xsi:type="am:ProcessEvent" name="task1_activate" eventType="activate" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task1_terminate" eventType="terminate" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task1_start" eventType="start" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task1_preempt" eventType="preempt" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task1_resume" eventType="resume" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task1_run" eventType="run" entity="Task_1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task2_activate" eventType="activate" entity="Task_2?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task2_start" eventType="start" entity="Task_2?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task2_terminate" eventType="terminate" entity="Task_2?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task3-1_activate" eventType="activate" entity="Task_3-1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task3-1_start" eventType="start" entity="Task_3-1?type=Task"/>
- <events xsi:type="am:ProcessEvent" name="task3-1_terminate" eventType="terminate" entity="Task_3-1?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable1_start" eventType="start" entity="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable1_terminate" eventType="terminate" entity="Runnable_1?type=Runnable" process="Task_1?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable2_start" eventType="start" entity="Runnable_2?type=Runnable" process="Task_2?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable2_terminate" eventType="terminate" entity="Runnable_2?type=Runnable" process="Task_2?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable3_task_3_1_start" eventType="start" entity="Runnable_3?type=Runnable" process="Task_3-1?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable3_task_3_1_terminate" eventType="terminate" entity="Runnable_3?type=Runnable" process="Task_3-1?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable3_task_3_2_start" eventType="start" entity="Runnable_3?type=Runnable" process="Task_3-2?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnable3_task_3_2_terminate" eventType="terminate" entity="Runnable_3?type=Runnable" process="Task_3-2?type=Task"/>
- <events xsi:type="am:RunnableEvent" name="runnableEvent_taskNotSet" eventType="terminate" entity="Runnable_3?type=Runnable"/>
- </eventModel>
- <constraintsModel>
- <eventChains name="EventSequence_Function_NestedEventChain">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="runnable2_start-terminate" stimulus="runnable2_start?type=RunnableEvent" response="runnable2_terminate?type=RunnableEvent"/>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="runnable2-terminate_runnable3_2-activate" stimulus="runnable2_terminate?type=RunnableEvent" response="runnable3_task_3_2_start?type=RunnableEvent"/>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="runnable3_2_start-terminate" stimulus="runnable3_task_3_2_start?type=RunnableEvent" response="runnable3_task_3_2_terminate?type=RunnableEvent"/>
- </segments>
- </eventChain>
- </segments>
- <segments xsi:type="am:EventChainReference" eventChain="EventSequence_Function_SimpleEventChain?type=EventChain"/>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="runnable1_terminate-runnable2_start" stimulus="runnable1_terminate?type=RunnableEvent" response="runnable2_start?type=RunnableEvent"/>
- </segments>
- </eventChains>
- <eventChains name="EventSequence_Function_ReferenceChain" stimulus="runnable2_start?type=RunnableEvent" response="runnable3_task_3_2_start?type=RunnableEvent">
- <segments xsi:type="am:EventChainReference" eventChain="EventSequence_Function_NestedEventChain?type=EventChain"/>
- </eventChains>
- <eventChains name="EventSequence_Function_SimpleEventChain" stimulus="runnable1_start?type=RunnableEvent" response="runnable1_terminate?type=RunnableEvent"/>
- <eventChains name="EventSequence_Process_SimpleEventChain" stimulus="task1_activate?type=ProcessEvent" response="task1_terminate?type=ProcessEvent"/>
- <eventChains name="EventSequence_Process_NestedEventChain" stimulus="task1_activate?type=ProcessEvent" response="task3-1_terminate?type=ProcessEvent">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="" stimulus="task3-1_terminate?type=ProcessEvent" response="task2_activate?type=ProcessEvent">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="task2_activate-terminate" stimulus="task2_activate?type=ProcessEvent" response="task2_terminate?type=ProcessEvent"/>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="task3_1_activate-terminate" stimulus="task3-1_activate?type=ProcessEvent" response="task3-1_terminate?type=ProcessEvent"/>
- </segments>
- </eventChain>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="task2_termiate-task3_1_activate" stimulus="task2_terminate?type=ProcessEvent" response="task3-1_activate?type=ProcessEvent"/>
- </segments>
- </eventChains>
- <eventChains name="EventSequence_Process_ReferenceChain" stimulus="task2_activate?type=ProcessEvent" response="task3-1_activate?type=ProcessEvent">
- <segments xsi:type="am:EventChainReference" eventChain="EventSequence_Process_NestedEventChain?type=EventChain"/>
- </eventChains>
- <eventChains name="DataFlow_ReferenceEventChain" stimulus="task1_runnable1_channel1_send?type=ChannelEvent" response="task2_runnable2_channel2_send?type=ChannelEvent">
- <segments xsi:type="am:EventChainReference" eventChain="DataFlow_NestedEventChain?type=EventChain"/>
- <segments xsi:type="am:EventChainReference" eventChain="DataFlow_SimpleEventChain?type=EventChain"/>
- </eventChains>
- <eventChains name="DataFlow_SimpleEventChain" stimulus="task2_runnable2_channel2_send?type=ChannelEvent" response="task1_runnable1_channel2_receive?type=ChannelEvent"/>
- <eventChains name="DataFlow_NestedEventChain" stimulus="task1_runnable1_channel1_send?type=ChannelEvent" response="task1_runnable1_channel2_receive?type=ChannelEvent">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="SubEventChain3" stimulus="task2_runnable2_channel2_send?type=ChannelEvent" response="task1_runnable1_channel2_receive?type=ChannelEvent"/>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="SubEventChain_1" stimulus="task1_channel-notSet_send_r1?type=ChannelEvent" response="task2_runnable2_channel2_send?type=ChannelEvent">
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="SubEventChain_1_1" stimulus="task1_runnable1_channel1_send?type=ChannelEvent" response="task2_runnable2_channel1_receive?type=ChannelEvent"/>
- </segments>
- <segments xsi:type="am:EventChainContainer">
- <eventChain name="SubEventChain_1_2" stimulus="task2_runnable2_channel1_receive?type=ChannelEvent" response="task2_runnable2_channel2_send?type=ChannelEvent"/>
- </segments>
- </eventChain>
- </segments>
- </eventChains>
- <eventChains name="NotADataFlowEventChain_wrongEventType" stimulus="task2_runnable2_channel1_receive?type=ChannelEvent" response="customEvent0?type=CustomEvent"/>
- <eventChains name="NotADataFlowEventChain_IllegalEventTypeInStimulus" stimulus="task1_channel1_allAccesses_r1?type=ChannelEvent" response="task1_runnable1_channel1_send?type=ChannelEvent"/>
- <eventChains name="NotADataFlowEventChain_ChannelNotSet" stimulus="task1_channel-notSet_send_r1?type=ChannelEvent" response="task1_runnable1_channel1_send?type=ChannelEvent"/>
- <eventChains name="NotADataFlowEventChain_RunnableNotSet" stimulus="task1_channel1_allAccesses_r1?type=ChannelEvent" response="task1_runnable1_channel1_send?type=ChannelEvent"/>
- <eventChains name="NotADataFlowEventChain_RunnableNotContainsChannelAccess" stimulus="task1_channel1_send_r3?type=ChannelEvent" response="task1_runnable1_channel1_send?type=ChannelEvent"/>
- <eventChains name="NotADataFlowEventChain_TaskNotSet" stimulus="task2_runnable2_channel1_receive?type=ChannelEvent" response="taskX_runnable1_channel1_send?type=ChannelEvent"/>
- <eventChains name="NotAEventSequenceEventChain_wrongEventType" stimulus="task1_activate?type=ProcessEvent" response="customEvent0?type=CustomEvent"/>
- <eventChains name="NotAEventSequence_EventChain_RunnableNotSet" stimulus="runnable1_start?type=RunnableEvent" response="runnableEvent_taskNotSet?type=RunnableEvent"/>
- <eventChains name="NotAEventSequenceEventChain_TaskNotSet" stimulus="runnableEvent_taskNotSet?type=RunnableEvent" response="runnable1_start?type=RunnableEvent"/>
- </constraintsModel>
- <mappingModel>
- <schedulerAllocation scheduler="TaskScheduler_1?type=TaskScheduler" responsibility="ProcessingUnit_1?type=ProcessingUnit ProcessingUnit_2?type=ProcessingUnit" executingPU="ProcessingUnit_1?type=ProcessingUnit"/>
- <taskAllocation task="Task_1?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler" affinity="ProcessingUnit_1?type=ProcessingUnit">
- <schedulingParameters priority="20"/>
- </taskAllocation>
- <taskAllocation task="Task_2?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler" affinity="ProcessingUnit_1?type=ProcessingUnit"/>
- <taskAllocation task="Task_3-1?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler"/>
- <taskAllocation task="Task_3-2?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler"/>
- <taskAllocation task="Task4?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler"/>
- <memoryMapping abstractElement="Channel1?type=Channel" memory="Memory_1?type=Memory" memoryPositionAddress="0x2000"/>
- <memoryMapping abstractElement="Channel2?type=Channel" memory="Memory_2?type=Memory" memoryPositionAddress="0x3000"/>
- </mappingModel>
- <componentsModel>
- <components name="Component_1"/>
- <components name="Component_2"/>
- <components name="Component_3"/>
- <components name="Component_4"/>
- <components name="Component_5"/>
- <components name="Component_6"/>
- <components name="Component_7"/>
- <components name="Component_8"/>
- <components xsi:type="am:Composite" name="Composite_1">
- <componentInstances name="ComponentInstance_1" type="Component_1?type=Component"/>
- <componentInstances name="ComponentInstance_2" type="Component_2?type=Component"/>
- <componentInstances name="ComponentInstance_3" type="Component_3?type=Component"/>
- <componentInstances name="ComponentInstance_4" type="Component_1?type=Component"/>
- </components>
- <components xsi:type="am:Composite" name="Composite_2">
- <componentInstances name="ComponentInstance_5" type="Component_4?type=Component"/>
- <componentInstances name="ComponentInstance_6" type="Component_5?type=Component"/>
- </components>
- <components xsi:type="am:Composite" name="Composite_3">
- <componentInstances name="ComponentInstance_7" type="Component_7?type=Component"/>
- </components>
- <systems name="System_1">
- <componentInstances name="ComponentInstance_8" type="Component_6?type=Component"/>
- <componentInstances name="ComponentInstance_9" type="Component_6?type=Component"/>
- <componentInstances name="ComponentInstance_10" type="Composite_1?type=Composite"/>
- <componentInstances name="ComponentInstance_11" type="Composite_2?type=Composite"/>
- <componentInstances name="ComponentInstance_12" type="Composite_3?type=Composite"/>
- </systems>
- </componentsModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/output/EventChainModel.iprx b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/output/EventChainModel.iprx
deleted file mode 100644
index ce7f08d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/EventChain2DataFlow/output/EventChainModel.iprx
+++ /dev/null
@@ -1,256 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<root:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://inchron.com/realtime/root/2.98.5/model" xmlns:root="http://inchron.com/realtime/root/2.98.5" xmlns:stimulation="http://inchron.com/realtime/root/2.98.5/model/stimulation">
- <model xsi:type="model:Model" name="Model" defaultScenario="//@model/@stimulationScenarios.0">
- <clocks name="FrequencyDomain_1" users="//@model/@cpus.0/@memories.0 //@model/@cpus.0/@memories.1 //@model/@cpus.0 //@model/@stimulationScenarios.0/@generators.0">
- <frequency value="0.1" unit="GHz"/>
- <range value="1" unit="s"/>
- <startTimeFixed/>
- <startTimeMin/>
- <startTimeMax/>
- <startValue/>
- </clocks>
- <cpus name="HwStructure_1" clock="//@model/@clocks.0" cpuModel="generic">
- <cores name="ProcessingUnit_1">
- <connectedSlave/>
- </cores>
- <cores name="ProcessingUnit_2">
- <connectedSlave/>
- </cores>
- <memories name="Memory_1" clock="//@model/@clocks.0" size="256000"/>
- <memories name="Memory_2" clock="//@model/@clocks.0" size="768000"/>
- <memoryRegions name="ram" base="16777216" flags="290" pages="1" sections="data:bss:stack:heap"/>
- <memoryRegions name="rom" base="33554432" flags="275" pages="1" sections="text"/>
- </cpus>
- <connections xsi:type="model:DataFlowConnection" name="Channel2" communicationType="Queuing" initialElements="1" maxElements="5" provider="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.2" requesters="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.0"/>
- <connections xsi:type="model:DataFlowConnection" name="Channel1" communicationType="Queuing" initialElements="1" maxElements="5" provider="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.2" requesters="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.0"/>
- <connections xsi:type="model:DataFlowConnection" name="Channel3" communicationType="Queuing" initialElements="1" maxElements="5" provider="//@model/@systems.0/@components.0/@functions.3/@callGraph/@graphEntries.0/@calls.1" requesters="//@model/@systems.0/@components.0/@functions.1/@callGraph/@graphEntries.0/@calls.1"/>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Function_NestedEventChain">
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.0/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.0/@traceEvents.1"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.4/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.4/@traceEvents.1"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.2/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.2/@traceEvents.1"/>
- </eventChains>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Function_ReferenceChain">
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.4/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.4/@traceEvents.1"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.2/@traceEvents.0"/>
- </eventChains>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Function_SimpleEventChain">
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.0/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@components.0/@functions.0/@traceEvents.1"/>
- </eventChains>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Process_SimpleEventChain">
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0/@traceEvents.1"/>
- </eventChains>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Process_NestedEventChain">
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1/@traceEvents.1"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2/@traceEvents.1"/>
- </eventChains>
- <eventChains xsi:type="model:EventSequence" name="EventSequence_Process_ReferenceChain">
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1/@traceEvents.0"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1/@traceEvents.1"/>
- <sequence traceEvent="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2/@traceEvents.0"/>
- </eventChains>
- <eventChains xsi:type="model:DataFlow" name="DataFlow_ReferenceEventChain">
- <edges stimulus="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.2" response="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.0"/>
- <edges stimulus="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.0" response="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.2"/>
- </eventChains>
- <eventChains xsi:type="model:DataFlow" name="DataFlow_SimpleEventChain">
- <edges stimulus="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.2" response="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.0"/>
- </eventChains>
- <eventChains xsi:type="model:DataFlow" name="DataFlow_NestedEventChain">
- <edges stimulus="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.2" response="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.0"/>
- <edges stimulus="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.0" response="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.2"/>
- <edges stimulus="//@model/@systems.0/@components.0/@functions.4/@callGraph/@graphEntries.0/@calls.2" response="//@model/@systems.0/@components.0/@functions.0/@callGraph/@graphEntries.0/@calls.0"/>
- </eventChains>
- <generalInfo creator="Amlt2Inchron 0.9.3 Thu Apr 18 17:01:38 CEST 2019" version="1"/>
- <stimulationScenarios name="DefaultScenario">
- <generators xsi:type="stimulation:RandomStimuliGenerator" name="PeriodicStimulus_1" clock="//@model/@clocks.0">
- <connections xsi:type="model:ActivationConnection" name="PeriodicStimulus_1" activators="//@model/@stimulationScenarios.0/@generators.0/@targets/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.4"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.3"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1"/>
- </connections>
- <targets>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ActivationItem" name="ActivationItem" connection="//@model/@stimulationScenarios.0/@generators.0/@connections.0"/>
- </graphEntries>
- </targets>
- <minInterArrivalTime/>
- <period value="10" unit="ms"/>
- <startOffset unit="s"/>
- <startOffsetVariation/>
- <variation/>
- </generators>
- </stimulationScenarios>
- <systems xsi:type="model:GenericSystem" name="OperatingSystem_1_SYSTEM">
- <components name="OperatingSystem_1_SWC">
- <functions name="Runnable_1-Task_1">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:VariableReadAccess" name="Task_1_receive_Channel2_0" label="Task_1_receive_Channel2_0" elements="2" connection="//@model/@connections.0" minElements="2" policy="LIFORead">
- <dataAccess/>
- </calls>
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100000" unit="T"/>
- <max value="100000" unit="T"/>
- <mean value="100000" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:VariableWriteAccess" name="Task_1_send_Channel1_0" label="Task_1_send_Channel1_0" elements="23" connection="//@model/@connections.1">
- <dataAccess accessType="Write"/>
- </calls>
- </graphEntries>
- </callGraph>
- <traceEvents name="runnable1_start" type="Start"/>
- <traceEvents name="runnable1_terminate" type="Terminate"/>
- </functions>
- <functions name="Runnable_4-Task4">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100000" unit="T"/>
- <max value="100000" unit="T"/>
- <mean value="100000" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:VariableReadAccess" name="Task4_receive_Channel3_1" label="Task4_receive_Channel3_1" elements="0" connection="//@model/@connections.2" policy="LIFORead">
- <dataAccess/>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="Runnable_3-Task_3-2">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100000" unit="T"/>
- <max value="100000" unit="T"/>
- <mean value="100000" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:VariableWriteAccess" name="Task_3-2_send_Channel3_1" label="Task_3-2_send_Channel3_1" elements="23">
- <dataAccess accessType="Write"/>
- </calls>
- </graphEntries>
- </callGraph>
- <traceEvents name="runnable3_task_3_2_start" type="Start"/>
- <traceEvents name="runnable3_task_3_2_terminate" type="Terminate"/>
- </functions>
- <functions name="Runnable_3-Task_3-1">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100000" unit="T"/>
- <max value="100000" unit="T"/>
- <mean value="100000" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:VariableWriteAccess" name="Task_3-1_send_Channel3_2" label="Task_3-1_send_Channel3_2" elements="23" connection="//@model/@connections.2">
- <dataAccess accessType="Write"/>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="Runnable_2-Task_2">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:VariableReadAccess" name="Task_2_receive_Channel1_2" label="Task_2_receive_Channel1_2" elements="2" connection="//@model/@connections.1" minElements="1">
- <dataAccess/>
- </calls>
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100000" unit="T"/>
- <max value="100000" unit="T"/>
- <mean value="100000" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:VariableWriteAccess" name="Task_2_send_Channel2_3" label="Task_2_send_Channel2_3" elements="23" connection="//@model/@connections.0">
- <dataAccess accessType="Write"/>
- </calls>
- </graphEntries>
- </callGraph>
- <traceEvents name="runnable2_start" type="Start"/>
- <traceEvents name="runnable2_terminate" type="Terminate"/>
- </functions>
- </components>
- <rtosModel name="generic" returnType="void"/>
- <rtosConfig name="OperatingSystem_1">
- <schedulables xsi:type="model:Scheduler" name="OperatingSystem_1_ISRDummy" cpuCores="//@model/@cpus.0/@cores.0 //@model/@cpus.0/@cores.1">
- <schedulables xsi:type="model:Scheduler" name="TaskScheduler_1" cpuCores="//@model/@cpus.0/@cores.0 //@model/@cpus.0/@cores.1">
- <schedulables xsi:type="model:Process" name="Task_1" cpuCores="//@model/@cpus.0/@cores.0">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Runnable_1-Task_1" function="//@model/@systems.0/@components.0/@functions.0"/>
- </graphEntries>
- </callGraph>
- <traceEvents name="task1_activate" type="Activate"/>
- <traceEvents name="task1_terminate" type="Terminate"/>
- </schedulables>
- <schedulables xsi:type="model:Process" name="Task_2" cpuCores="//@model/@cpus.0/@cores.0">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Runnable_2-Task_2" function="//@model/@systems.0/@components.0/@functions.4"/>
- </graphEntries>
- </callGraph>
- <traceEvents name="task2_activate" type="Activate"/>
- <traceEvents name="task2_terminate" type="Terminate"/>
- </schedulables>
- <schedulables xsi:type="model:Process" name="Task_3-1">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Runnable_3-Task_3-1" function="//@model/@systems.0/@components.0/@functions.3"/>
- </graphEntries>
- </callGraph>
- <traceEvents name="task3-1_activate" type="Activate"/>
- <traceEvents name="task3-1_terminate" type="Terminate"/>
- </schedulables>
- <schedulables xsi:type="model:Process" name="Task_3-2">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Runnable_3-Task_3-2" function="//@model/@systems.0/@components.0/@functions.2"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="Task4">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Runnable_4-Task4" function="//@model/@systems.0/@components.0/@functions.1"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- </rtosConfig>
- </systems>
- </model>
- <settings>
- <editor/>
- <model/>
- <tool/>
- </settings>
-</root:Root>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/input/InterProcessTrigger.amxmi b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/input/InterProcessTrigger.amxmi
deleted file mode 100644
index 713b761..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/input/InterProcessTrigger.amxmi
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <swModel>
- <tasks name="TaskLauncher" stimuli="PeriodicStimulus1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:InterProcessTrigger" stimulus="InterProcessStimulus_Unconditional?type=InterProcessStimulus"/>
- <calls xsi:type="am:InterProcessTrigger" stimulus="InterProcessStimulus_Conditional?type=InterProcessStimulus"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="TaskWorkerUnconditional" stimuli="InterProcessStimulus_Unconditional?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableWorker?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="TaskWorkerUnconditional2" stimuli="InterProcessStimulus_Unconditional?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableWorker?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="TaskWorkerConditional" stimuli="InterProcessStimulus_Conditional?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="RunnableWorker?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="RunnableWorker" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100"/>
- </runnableItems>
- </runnables>
- <modes name="myMode">
- <literals name="State1"/>
- <literals name="State2"/>
- </modes>
- <modeLabels name="ModeLabelA" displayName="" initialValue="myMode/State1?type=ModeLiteral"/>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="C0_Type" puType="CPU"/>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <structures name="mC" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="C0" frequencyDomain="clock_C0?type=FrequencyDomain" definition="C0_Type?type=ProcessingUnitDefinition"/>
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="clock_C0" clockGating="false">
- <defaultValue value="240.0" unit="MHz"/>
- </domains>
- </hwModel>
- <osModel>
- <operatingSystems name="OS">
- <taskSchedulers name="SchedC0">
- <schedulingAlgorithm xsi:type="am:OSEK"/>
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="PeriodicStimulus1ms">
- <offset value="0" unit="ms"/>
- <recurrence value="1" unit="ms"/>
- </stimuli>
- <stimuli xsi:type="am:InterProcessStimulus" name="InterProcessStimulus_Unconditional"/>
- <stimuli xsi:type="am:InterProcessStimulus" name="InterProcessStimulus_Conditional">
- <enablingModeValueList>
- <entries xsi:type="am:ModeValueConjunction">
- <entries valueProvider="ModeLabelA?type=ModeLabel" value="myMode/State1?type=ModeLiteral"/>
- </entries>
- </enablingModeValueList>
- </stimuli>
- </stimuliModel>
- <eventModel/>
- <mappingModel>
- <schedulerAllocation scheduler="SchedC0?type=TaskScheduler" responsibility="C0?type=ProcessingUnit"/>
- <taskAllocation task="TaskLauncher?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="TaskWorkerUnconditional?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="TaskWorkerUnconditional2?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="TaskWorkerConditional?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- </mappingModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/output/InterProcessTrigger.iprx b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/output/InterProcessTrigger.iprx
deleted file mode 100644
index 7bb93d1..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/InterProcessTrigger/output/InterProcessTrigger.iprx
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<root:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://inchron.com/realtime/root/2.98.5/model" xmlns:root="http://inchron.com/realtime/root/2.98.5" xmlns:stimulation="http://inchron.com/realtime/root/2.98.5/model/stimulation">
- <model xsi:type="model:Model" name="Model" defaultScenario="//@model/@stimulationScenarios.0">
- <clocks name="clock_C0" users="//@model/@cpus.0 //@model/@stimulationScenarios.0/@generators.0">
- <frequency value="240.0"/>
- <range value="1" unit="s"/>
- <startTimeFixed/>
- <startTimeMin/>
- <startTimeMax/>
- <startValue/>
- </clocks>
- <cpus name="mC" clock="//@model/@clocks.0" cpuModel="generic">
- <cores name="C0">
- <connectedSlave/>
- </cores>
- <memoryRegions name="ram" base="16777216" flags="290" pages="1" sections="data:bss:stack:heap"/>
- <memoryRegions name="rom" base="33554432" flags="275" pages="1" sections="text"/>
- </cpus>
- <connections xsi:type="model:ActivationConnection" name="InterProcessStimulus_Conditional" activators="//@model/@systems.0/@components.0/@functions.2/@callGraph/@graphEntries.1/@entries.0/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.3"/>
- </connections>
- <connections xsi:type="model:ActivationConnection" name="InterProcessStimulus_Unconditional" activators="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0/@callGraph/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.2"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1"/>
- </connections>
- <generalInfo creator="Amlt2Inchron 0.9.3 Wed May 08 09:03:28 CEST 2019" version="1"/>
- <globalModeConditions name="ModeCondition__233309087">
- <conjunctions modes="//@model/@globalModeGroups.0/@modes.0"/>
- </globalModeConditions>
- <globalModeGroups name="ModeLabelA" initialMode="//@model/@globalModeGroups.0/@modes.0">
- <modes name="State1"/>
- <modes name="State2" value="1"/>
- </globalModeGroups>
- <stimulationScenarios name="DefaultScenario">
- <generators xsi:type="stimulation:RandomStimuliGenerator" name="PeriodicStimulus1ms" clock="//@model/@clocks.0">
- <connections xsi:type="model:ActivationConnection" name="PeriodicStimulus1ms" activators="//@model/@stimulationScenarios.0/@generators.0/@targets/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0"/>
- </connections>
- <targets>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ActivationItem" name="ActivationItem_PeriodicStimulus1ms" connection="//@model/@stimulationScenarios.0/@generators.0/@connections.0"/>
- </graphEntries>
- </targets>
- <minInterArrivalTime/>
- <period value="1" unit="ms"/>
- <startOffset unit="ms"/>
- <startOffsetVariation/>
- <variation/>
- </generators>
- </stimulationScenarios>
- <systems xsi:type="model:GenericSystem" name="OS_SYSTEM">
- <components name="OS_SWC">
- <functions name="RunnableWorker-TaskWorkerConditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100" unit="T"/>
- <max value="100" unit="T"/>
- <mean value="100" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="RunnableWorker-TaskWorkerUnconditional2">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100" unit="T"/>
- <max value="100" unit="T"/>
- <mean value="100" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="Dummy_InterProcessStimulus_Conditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CallSequence_For_ModeConditionEvaluation">
- <calls xsi:type="model:ModeConditionEvaluation" condition="//@model/@globalModeConditions.0"/>
- </graphEntries>
- <graphEntries xsi:type="model:ModeSwitch" name="EventStimulusCondition">
- <entries condition="//@model/@globalModeConditions.0">
- <graphEntries xsi:type="model:CallSequence">
- <calls xsi:type="model:ActivationItem" name="ActivationItem_InterProcessStimulus_Conditional" connection="//@model/@connections.0"/>
- </graphEntries>
- </entries>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="RunnableWorker-TaskWorkerUnconditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="100" unit="T"/>
- <max value="100" unit="T"/>
- <mean value="100" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- </components>
- <rtosModel name="generic" returnType="void"/>
- <rtosConfig name="OS">
- <schedulables xsi:type="model:Scheduler" name="OS_ISRDummy" cpuCores="//@model/@cpus.0/@cores.0">
- <schedulables xsi:type="model:Scheduler" name="SchedC0" cpuCores="//@model/@cpus.0/@cores.0">
- <schedulables xsi:type="model:Process" name="TaskLauncher">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ActivationItem" name="ActivationItem_InterProcessStimulus_Unconditional" connection="//@model/@connections.1"/>
- <calls xsi:type="model:FunctionCall" function="//@model/@systems.0/@components.0/@functions.2"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="TaskWorkerUnconditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableWorker-TaskWorkerUnconditional" function="//@model/@systems.0/@components.0/@functions.3"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="TaskWorkerUnconditional2">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableWorker-TaskWorkerUnconditional2" function="//@model/@systems.0/@components.0/@functions.1"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="TaskWorkerConditional">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_RunnableWorker-TaskWorkerConditional" function="//@model/@systems.0/@components.0/@functions.0"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- </rtosConfig>
- </systems>
- </model>
- <settings>
- <editor/>
- <model/>
- <tool/>
- </settings>
-</root:Root>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/ElementsWithCounter.mmap b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/ElementsWithCounter.mmap
deleted file mode 100644
index 3941676..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/ElementsWithCounter.mmap
+++ /dev/null
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/input/PrescalerOffset.amxmi b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/input/PrescalerOffset.amxmi
deleted file mode 100644
index b74f240..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/PrescalerAndOffset/input/PrescalerOffset.amxmi
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <swModel>
- <tasks name="Task1ms" stimuli="PeriodicStimulus1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable1ms?type=Runnable">
- <counter prescaler="2" offset="0"/>
- </calls>
- <calls xsi:type="am:InterProcessTrigger" stimulus="InterProcessStimulus_Task10ms?type=InterProcessStimulus">
- <counter prescaler="5" offset="0"/>
- </calls>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task10ms" stimuli="InterProcessStimulus_Task10ms?type=InterProcessStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable5ms?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task20ms" stimuli="EventStimulus_Task20ms?type=EventStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable10ms?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task1ms_2" stimuli="PeriodicStimulus1ms?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable1ms?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="Runnable1ms" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="1"/>
- </runnableItems>
- </runnables>
- <runnables name="Runnable5ms" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="1"/>
- </runnableItems>
- <runnableItems xsi:type="am:CustomEventTrigger" event="CustomEvent_5ms_to_10ms?type=CustomEvent"/>
- </runnables>
- <runnables name="Runnable10ms" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="1"/>
- </runnableItems>
- </runnables>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="C0_Type" puType="CPU"/>
- <structures name="System" structureType="System">
- <structures name="ECU" structureType="ECU">
- <structures name="mC" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="C0" frequencyDomain="clock_C0?type=FrequencyDomain" definition="C0_Type?type=ProcessingUnitDefinition"/>
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="clock_C0" clockGating="false">
- <defaultValue value="240.0" unit="MHz"/>
- </domains>
- </hwModel>
- <osModel>
- <operatingSystems name="OS">
- <taskSchedulers name="SchedC0">
- <schedulingAlgorithm xsi:type="am:OSEK"/>
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="PeriodicStimulus1ms">
- <offset value="0" unit="ms"/>
- <recurrence value="1" unit="ms"/>
- </stimuli>
- <stimuli xsi:type="am:InterProcessStimulus" name="InterProcessStimulus_Task10ms">
- <counter prescaler="2" offset="10"/>
- </stimuli>
- <stimuli xsi:type="am:EventStimulus" name="EventStimulus_Task20ms">
- <counter prescaler="2" offset="20"/>
- </stimuli>
- </stimuliModel>
- <eventModel>
- <events xsi:type="am:CustomEvent" name="CustomEvent_5ms_to_10ms" description="" eventType=""/>
- </eventModel>
- <mappingModel>
- <schedulerAllocation scheduler="SchedC0?type=TaskScheduler" responsibility="C0?type=ProcessingUnit"/>
- <taskAllocation task="Task1ms?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="Task10ms?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="Task20ms?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- <taskAllocation task="Task1ms_2?type=Task" scheduler="SchedC0?type=TaskScheduler"/>
- </mappingModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/input/ExtendedTicksModel.amxmi b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/input/ExtendedTicksModel.amxmi
deleted file mode 100644
index 4d44f27..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/input/ExtendedTicksModel.amxmi
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <swModel>
- <tasks name="Task_1" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="CallSequence_1">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_1?type=Runnable">
- <counter prescaler="0" offset="0"/>
- </calls>
- </graphEntries>
- </callGraph>
- </tasks>
- <tasks name="Task_2" stimuli="PeriodicStimulus_1?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="0">
- <callGraph>
- <graphEntries xsi:type="am:CallSequence" name="">
- <calls xsi:type="am:TaskRunnableCall" runnable="Runnable_1?type=Runnable"/>
- </graphEntries>
- </callGraph>
- </tasks>
- <runnables name="Runnable_1" callback="false" service="false">
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="100"/>
- <extended key="ProcessingUnitDefinition_1?type=ProcessingUnitDefinition">
- <value xsi:type="am:DiscreteValueConstant" value="42"/>
- </extended>
- <extended key="ProcessingUnitDefinition_2?type=ProcessingUnitDefinition">
- <value xsi:type="am:DiscreteValueConstant" value="23"/>
- </extended>
- </runnableItems>
- <runnableItems xsi:type="am:Ticks">
- <default xsi:type="am:DiscreteValueConstant" value="5"/>
- </runnableItems>
- </runnables>
- </swModel>
- <hwModel>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="ProcessingUnitDefinition_1"/>
- <definitions xsi:type="am:ProcessingUnitDefinition" name="ProcessingUnitDefinition_2"/>
- <structures name="HwStructure_1" structureType="System">
- <structures name="HwStructure_2" structureType="ECU">
- <structures name="HwStructure_1" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="ProcessingUnit_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="ProcessingUnitDefinition_1?type=ProcessingUnitDefinition"/>
- </structures>
- <structures name="HwStructure_2" structureType="Microcontroller">
- <modules xsi:type="am:ProcessingUnit" name="ProcessingUnit_2" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="ProcessingUnitDefinition_2?type=ProcessingUnitDefinition"/>
- </structures>
- </structures>
- </structures>
- <domains xsi:type="am:FrequencyDomain" name="FrequencyDomain_1" clockGating="false">
- <defaultValue value="0.1" unit="GHz"/>
- </domains>
- </hwModel>
- <osModel>
- <operatingSystems name="OperatingSystem_1">
- <taskSchedulers name="TaskScheduler_1">
- <schedulingAlgorithm xsi:type="am:OSEK"/>
- </taskSchedulers>
- </operatingSystems>
- </osModel>
- <stimuliModel>
- <stimuli xsi:type="am:PeriodicStimulus" name="PeriodicStimulus_1">
- <offset value="0" unit="s"/>
- <recurrence value="10" unit="ms"/>
- </stimuli>
- </stimuliModel>
- <eventModel/>
- <constraintsModel/>
- <mappingModel>
- <schedulerAllocation scheduler="TaskScheduler_1?type=TaskScheduler" responsibility="ProcessingUnit_1?type=ProcessingUnit ProcessingUnit_2?type=ProcessingUnit" executingPU="ProcessingUnit_1?type=ProcessingUnit"/>
- <taskAllocation task="Task_1?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler" affinity="ProcessingUnit_1?type=ProcessingUnit"/>
- <taskAllocation task="Task_2?type=Task" scheduler="TaskScheduler_1?type=TaskScheduler" affinity="ProcessingUnit_2?type=ProcessingUnit"/>
- </mappingModel>
-</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/output/ExtendedTicksModel.iprx b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/output/ExtendedTicksModel.iprx
deleted file mode 100644
index d86cddf..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.product/testModels/Ticks2TicksFlow/output/ExtendedTicksModel.iprx
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<root:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:model="http://inchron.com/realtime/root/2.98.5/model" xmlns:root="http://inchron.com/realtime/root/2.98.5" xmlns:stimulation="http://inchron.com/realtime/root/2.98.5/model/stimulation">
- <model xsi:type="model:Model" name="Model" defaultScenario="//@model/@stimulationScenarios.0">
- <clocks name="FrequencyDomain_1" users="//@model/@cpus.0 //@model/@cpus.1 //@model/@stimulationScenarios.0/@generators.0">
- <frequency value="0.1" unit="GHz"/>
- <range value="1" unit="s"/>
- <startTimeFixed/>
- <startTimeMin/>
- <startTimeMax/>
- <startValue/>
- </clocks>
- <cpus name="HwStructure_1" clock="//@model/@clocks.0" cpuModel="generic">
- <cores name="ProcessingUnit_1"/>
- <memoryRegions name="ram" base="16777216" flags="290" pages="1" sections="data:bss:stack:heap"/>
- <memoryRegions name="rom" base="33554432" flags="275" pages="1" sections="text"/>
- </cpus>
- <cpus name="HwStructure_2" clock="//@model/@clocks.0" cpuModel="generic">
- <cores name="ProcessingUnit_2"/>
- <memoryRegions name="ram" base="16777216" flags="290" pages="1" sections="data:bss:stack:heap"/>
- <memoryRegions name="rom" base="33554432" flags="275" pages="1" sections="text"/>
- </cpus>
- <generalInfo creator="Amlt2Inchron 0.9.3 Fri Mar 29 08:46:21 CET 2019" version="1"/>
- <stimulationScenarios name="DefaultScenario">
- <generators xsi:type="stimulation:RandomStimuliGenerator" name="PeriodicStimulus_1" clock="//@model/@clocks.0">
- <connections xsi:type="model:ActivationConnection" name="PeriodicStimulus_1" activators="//@model/@stimulationScenarios.0/@generators.0/@targets/@graphEntries.0/@calls.0">
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.1"/>
- <activations xsi:type="model:ActivateProcess" target="//@model/@systems.0/@rtosConfig/@schedulables.0/@schedulables.0/@schedulables.0"/>
- </connections>
- <targets>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ActivationItem" name="ActivationItem" connection="//@model/@stimulationScenarios.0/@generators.0/@connections.0"/>
- </graphEntries>
- </targets>
- <minInterArrivalTime/>
- <period value="10" unit="ms"/>
- <startOffset unit="s"/>
- <startOffsetVariation/>
- <variation/>
- </generators>
- </stimulationScenarios>
- <systems xsi:type="model:GenericSystem" name="OperatingSystem_1_SYSTEM">
- <components name="OperatingSystem_1_SWC">
- <functions name="Task_2-Runnable_1">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="23" unit="T"/>
- <max value="23" unit="T"/>
- <mean value="23" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="5" unit="T"/>
- <max value="5" unit="T"/>
- <mean value="5" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- <functions name="Task_1-Runnable_1">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="42" unit="T"/>
- <max value="42" unit="T"/>
- <mean value="42" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- <calls xsi:type="model:ResourceConsumption" name="RC">
- <timeDistribution alpha="0.0" beta="0.0">
- <min value="5" unit="T"/>
- <max value="5" unit="T"/>
- <mean value="5" unit="T"/>
- <sigma unit="T"/>
- </timeDistribution>
- </calls>
- </graphEntries>
- </callGraph>
- </functions>
- </components>
- <rtosModel name="generic" returnType="void"/>
- <rtosConfig name="OperatingSystem_1">
- <schedulables xsi:type="model:Scheduler" name="OperatingSystem_1_ISRDummy" cpuCores="//@model/@cpus.0/@cores.0 //@model/@cpus.1/@cores.0">
- <schedulables xsi:type="model:Scheduler" name="TaskScheduler_1" cpuCores="//@model/@cpus.0/@cores.0 //@model/@cpus.1/@cores.0">
- <schedulables xsi:type="model:Process" name="Task_1" cpuCores="//@model/@cpus.0/@cores.0">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Task_1-Runnable_1" function="//@model/@systems.0/@components.0/@functions.1"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <schedulables xsi:type="model:Process" name="Task_2" cpuCores="//@model/@cpus.1/@cores.0">
- <callGraph>
- <graphEntries xsi:type="model:CallSequence" name="CS">
- <calls xsi:type="model:FunctionCall" name="call_Task_2-Runnable_1" function="//@model/@systems.0/@components.0/@functions.0"/>
- </graphEntries>
- </callGraph>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- <timeSlice/>
- <period/>
- <maxRetard/>
- <maxAdvance/>
- </schedulables>
- </rtosConfig>
- </systems>
- </model>
-</root:Root>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.classpath b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.classpath
deleted file mode 100644
index eca7bdb..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.gitignore
deleted file mode 100644
index d3fb94c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.project b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.project
deleted file mode 100644
index 4c3d3d6..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.project
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.app4mc.transformation.3rdparty.libs</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
-
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0c68a61..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/META-INF/MANIFEST.MF
deleted file mode 100644
index daae68d..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: 3rdparty
-Bundle-SymbolicName: org.eclipse.app4mc.transformation.3rdparty.libs
-Bundle-Version: 0.3.0.qualifier
-Bundle-Vendor: Eclipse APP4MC
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Bundle-ClassPath: .
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/about.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/build.properties
deleted file mode 100644
index 2df1fb4..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-bin.includes = META-INF/,\
- .,\
- about.html,\
- epl-2.0.html
-source.. = src/
-src.includes = epl-2.0.html,\
- about.html
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/epl-2.0.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Eclipse Public License - Version 2.0</title>
- <style type="text/css">
- body {
- margin: 1.5em 3em;
- }
- h1{
- font-size:1.5em;
- }
- h2{
- font-size:1em;
- margin-bottom:0.5em;
- margin-top:1em;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol{
- list-style-type:none;
- }
- </style>
- </head>
- <body>
- <h1>Eclipse Public License - v 2.0</h1>
- <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
- </p>
- <h2 id="definitions">1. DEFINITIONS</h2>
- <p>“Contribution” means:</p>
- <ul>
- <li>a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
- </li>
- <li>
- b) in the case of each subsequent Contributor:
- <ul>
- <li>i) changes to the Program, and</li>
- <li>ii) additions to the Program;</li>
- </ul>
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- “originates” from a Contributor if it was added to the Program by such
- Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
- </li>
- </ul>
- <p>“Contributor” means any person or entity that Distributes the Program.</p>
- <p>“Licensed Patents” mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
- </p>
- <p>“Program” means the Contributions Distributed in accordance with this
- Agreement.
- </p>
- <p>“Recipient” means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
- </p>
- <p>“Derivative Works” shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
- </p>
- <p>“Modified Works” shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations, interfaces,
- types, classes, structures, or files of the Program solely in each case
- in order to link to, bind by name, or subclass the Program or Modified
- Works thereof.
- </p>
- <p>“Distribute” means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
- </p>
- <p>“Source Code” means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
- </p>
- <p>“Secondary License” means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
- </p>
- <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
- <ul>
- <li>a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
- </li>
- <li>b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if,
- at the time the Contribution is added by the Contributor, such
- addition of the Contribution causes such combination to be covered
- by the Licensed Patents. The patent license shall not apply to any
- other combinations which include the Contribution. No hardware per
- se is licensed hereunder.
- </li>
- <li>c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the rights
- and licenses granted hereunder, each Recipient hereby assumes sole
- responsibility to secure any other intellectual property rights needed,
- if any. For example, if a third party patent license is required to
- allow Recipient to Distribute the Program, it is Recipient's
- responsibility to acquire that license before distributing the Program.
- </li>
- <li>d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
- </li>
- <li>e) Notwithstanding the terms of any Secondary License, no Contributor
- makes additional grants to any Recipient (other than those set forth
- in this Agreement) as a result of such Recipient's receipt of the
- Program under the terms of a Secondary License (if permitted under
- the terms of Section 3).
- </li>
- </ul>
- <h2 id="requirements">3. REQUIREMENTS</h2>
- <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
- <ul>
- <li>a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
- </li>
- <li>
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- <ul>
- <li>i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including warranties
- or conditions of title and non-infringement, and implied warranties
- or conditions of merchantability and fitness for a particular purpose;
- </li>
- <li>ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special, incidental
- and consequential damages, such as lost profits;
- </li>
- <li>iii) does not attempt to limit or alter the recipients' rights in the
- Source Code under section 3.2; and
- </li>
- <li>iv) requires any subsequent distribution of the Program by any party
- to be under a license that satisfies the requirements of this section 3.
- </li>
- </ul>
- </li>
- </ul>
- <p>3.2 When the Program is Distributed as Source Code:</p>
- <ul>
- <li>a) it must be made available under this Agreement, or if the Program (i)
- is combined with other material in a separate file or files made available
- under a Secondary License, and (ii) the initial Contributor attached to
- the Source Code the notice described in Exhibit A of this Agreement,
- then the Program may be made available under the terms of such
- Secondary Licenses, and
- </li>
- <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
- </ul>
- <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
- attribution notices, disclaimers of warranty, or limitations of liability
- (‘notices’) contained within the Program from any copy of the Program which
- they Distribute, provided that Contributors may add their own appropriate
- notices.
- </p>
- <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
- <p>Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program, the
- Contributor who includes the Program in a commercial product offering should
- do so in a manner which does not create potential liability for other
- Contributors. Therefore, if a Contributor includes the Program in a
- commercial product offering, such Contributor (“Commercial Contributor”)
- hereby agrees to defend and indemnify every other Contributor
- (“Indemnified Contributor”) against any losses, damages and costs
- (collectively “Losses”) arising from claims, lawsuits and other legal actions
- brought by a third party against the Indemnified Contributor to the extent
- caused by the acts or omissions of such Commercial Contributor in connection
- with its distribution of the Program in a commercial product offering.
- The obligations in this section do not apply to any claims or Losses relating
- to any actual or alleged intellectual property infringement. In order to
- qualify, an Indemnified Contributor must: a) promptly notify the
- Commercial Contributor in writing of such claim, and b) allow the Commercial
- Contributor to control, and cooperate with the Commercial Contributor in,
- the defense and any related settlement negotiations. The Indemnified
- Contributor may participate in any such claim at its own expense.
- </p>
- <p>For example, a Contributor might include the Program
- in a commercial product offering, Product X. That Contributor is then a
- Commercial Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance claims
- and warranties are such Commercial Contributor's responsibility alone.
- Under this section, the Commercial Contributor would have to defend claims
- against the other Contributors related to those performance claims and
- warranties, and if a court requires any other Contributor to pay any damages
- as a result, the Commercial Contributor must pay those damages.
- </p>
- <h2 id="warranty">5. NO WARRANTY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
- WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
- solely responsible for determining the appropriateness of using and
- distributing the Program and assumes all risks associated with its
- exercise of rights under this Agreement, including but not limited to the
- risks and costs of program errors, compliance with applicable laws, damage
- to or loss of data, programs or equipment, and unavailability or
- interruption of operations.
- </p>
- <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
- LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
- GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- </p>
- <h2 id="general">7. GENERAL</h2>
- <p>If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of the
- remainder of the terms of this Agreement, and without further action by the
- parties hereto, such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- </p>
- <p>If Recipient institutes patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Program itself
- (excluding combinations of the Program with other software or hardware)
- infringes such Recipient's patent(s), then such Recipient's rights granted
- under Section 2(b) shall terminate as of the date such litigation is filed.
- </p>
- <p>All Recipient's rights under this Agreement shall terminate if it fails to
- comply with any of the material terms or conditions of this Agreement and
- does not cure such failure in a reasonable period of time after becoming
- aware of such noncompliance. If all Recipient's rights under this Agreement
- terminate, Recipient agrees to cease use and distribution of the Program
- as soon as reasonably practicable. However, Recipient's obligations under
- this Agreement and any licenses granted by Recipient relating to the
- Program shall continue and survive.
- </p>
- <p>Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and may
- only be modified in the following manner. The Agreement Steward reserves
- the right to publish new versions (including revisions) of this Agreement
- from time to time. No one other than the Agreement Steward has the right
- to modify this Agreement. The Eclipse Foundation is the initial Agreement
- Steward. The Eclipse Foundation may assign the responsibility to serve as
- the Agreement Steward to a suitable separate entity. Each new version of
- the Agreement will be given a distinguishing version number. The Program
- (including Contributions) may always be Distributed subject to the version
- of the Agreement under which it was received. In addition, after a new
- version of the Agreement is published, Contributor may elect to Distribute
- the Program (including its Contributions) under the new version.
- </p>
- <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
- </p>
- <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
- <p>“This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}.”
- </p>
- <blockquote>
- <p>Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
- </p>
- <p>If it is not possible or desirable to put the notice in a particular file,
- then You may include the notice in a location (such as a LICENSE file in a
- relevant directory) where a recipient would be likely to look for
- such a notice.
- </p>
- <p>You may add additional accurate notices of copyright ownership.</p>
- </blockquote>
- </body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/pom.xml
deleted file mode 100644
index 8fdbfcf..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/pom.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<!--
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.app4mc.transformation.3rdparty.libs</artifactId>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <sourceDirectory>src</sourceDirectory>
- <resources>
- <resource>
- <directory>xtend-gen</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- <resource>
- <directory>src</directory>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.4.1</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>xtend-gen</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.7</version>
- <executions>
- <execution>
- <id>add-source</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>xtend-gen</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <version>2.14.0</version>
- <executions>
- <execution>
- <goals>
- <goal>compile</goal>
- </goals>
- <configuration>
- <outputDirectory>xtend-gen</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <groupId>m2m</groupId>
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/src/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/src/.gitignore
deleted file mode 100644
index d3fb94c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.3rdparty.libs/src/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.gitignore b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.gitignore
deleted file mode 100644
index d3fb94c..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bin/
-/target/
-/xtend-gen/
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.project b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.project
deleted file mode 100644
index 2d06aab..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.app4mc.transformation.to.inchron.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/about.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/build.properties b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/build.properties
deleted file mode 100644
index f369aa8..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-bin.includes = feature.xml,\
- epl-2.0.html,\
- about.html
-src.includes = about.html,\
- epl-2.0.html
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/epl-2.0.html b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Eclipse Public License - Version 2.0</title>
- <style type="text/css">
- body {
- margin: 1.5em 3em;
- }
- h1{
- font-size:1.5em;
- }
- h2{
- font-size:1em;
- margin-bottom:0.5em;
- margin-top:1em;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol{
- list-style-type:none;
- }
- </style>
- </head>
- <body>
- <h1>Eclipse Public License - v 2.0</h1>
- <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
- </p>
- <h2 id="definitions">1. DEFINITIONS</h2>
- <p>“Contribution” means:</p>
- <ul>
- <li>a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
- </li>
- <li>
- b) in the case of each subsequent Contributor:
- <ul>
- <li>i) changes to the Program, and</li>
- <li>ii) additions to the Program;</li>
- </ul>
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- “originates” from a Contributor if it was added to the Program by such
- Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
- </li>
- </ul>
- <p>“Contributor” means any person or entity that Distributes the Program.</p>
- <p>“Licensed Patents” mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
- </p>
- <p>“Program” means the Contributions Distributed in accordance with this
- Agreement.
- </p>
- <p>“Recipient” means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
- </p>
- <p>“Derivative Works” shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
- </p>
- <p>“Modified Works” shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations, interfaces,
- types, classes, structures, or files of the Program solely in each case
- in order to link to, bind by name, or subclass the Program or Modified
- Works thereof.
- </p>
- <p>“Distribute” means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
- </p>
- <p>“Source Code” means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
- </p>
- <p>“Secondary License” means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
- </p>
- <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
- <ul>
- <li>a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
- </li>
- <li>b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if,
- at the time the Contribution is added by the Contributor, such
- addition of the Contribution causes such combination to be covered
- by the Licensed Patents. The patent license shall not apply to any
- other combinations which include the Contribution. No hardware per
- se is licensed hereunder.
- </li>
- <li>c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the rights
- and licenses granted hereunder, each Recipient hereby assumes sole
- responsibility to secure any other intellectual property rights needed,
- if any. For example, if a third party patent license is required to
- allow Recipient to Distribute the Program, it is Recipient's
- responsibility to acquire that license before distributing the Program.
- </li>
- <li>d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
- </li>
- <li>e) Notwithstanding the terms of any Secondary License, no Contributor
- makes additional grants to any Recipient (other than those set forth
- in this Agreement) as a result of such Recipient's receipt of the
- Program under the terms of a Secondary License (if permitted under
- the terms of Section 3).
- </li>
- </ul>
- <h2 id="requirements">3. REQUIREMENTS</h2>
- <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
- <ul>
- <li>a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
- </li>
- <li>
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- <ul>
- <li>i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including warranties
- or conditions of title and non-infringement, and implied warranties
- or conditions of merchantability and fitness for a particular purpose;
- </li>
- <li>ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special, incidental
- and consequential damages, such as lost profits;
- </li>
- <li>iii) does not attempt to limit or alter the recipients' rights in the
- Source Code under section 3.2; and
- </li>
- <li>iv) requires any subsequent distribution of the Program by any party
- to be under a license that satisfies the requirements of this section 3.
- </li>
- </ul>
- </li>
- </ul>
- <p>3.2 When the Program is Distributed as Source Code:</p>
- <ul>
- <li>a) it must be made available under this Agreement, or if the Program (i)
- is combined with other material in a separate file or files made available
- under a Secondary License, and (ii) the initial Contributor attached to
- the Source Code the notice described in Exhibit A of this Agreement,
- then the Program may be made available under the terms of such
- Secondary Licenses, and
- </li>
- <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
- </ul>
- <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
- attribution notices, disclaimers of warranty, or limitations of liability
- (‘notices’) contained within the Program from any copy of the Program which
- they Distribute, provided that Contributors may add their own appropriate
- notices.
- </p>
- <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
- <p>Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program, the
- Contributor who includes the Program in a commercial product offering should
- do so in a manner which does not create potential liability for other
- Contributors. Therefore, if a Contributor includes the Program in a
- commercial product offering, such Contributor (“Commercial Contributor”)
- hereby agrees to defend and indemnify every other Contributor
- (“Indemnified Contributor”) against any losses, damages and costs
- (collectively “Losses”) arising from claims, lawsuits and other legal actions
- brought by a third party against the Indemnified Contributor to the extent
- caused by the acts or omissions of such Commercial Contributor in connection
- with its distribution of the Program in a commercial product offering.
- The obligations in this section do not apply to any claims or Losses relating
- to any actual or alleged intellectual property infringement. In order to
- qualify, an Indemnified Contributor must: a) promptly notify the
- Commercial Contributor in writing of such claim, and b) allow the Commercial
- Contributor to control, and cooperate with the Commercial Contributor in,
- the defense and any related settlement negotiations. The Indemnified
- Contributor may participate in any such claim at its own expense.
- </p>
- <p>For example, a Contributor might include the Program
- in a commercial product offering, Product X. That Contributor is then a
- Commercial Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance claims
- and warranties are such Commercial Contributor's responsibility alone.
- Under this section, the Commercial Contributor would have to defend claims
- against the other Contributors related to those performance claims and
- warranties, and if a court requires any other Contributor to pay any damages
- as a result, the Commercial Contributor must pay those damages.
- </p>
- <h2 id="warranty">5. NO WARRANTY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
- WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
- solely responsible for determining the appropriateness of using and
- distributing the Program and assumes all risks associated with its
- exercise of rights under this Agreement, including but not limited to the
- risks and costs of program errors, compliance with applicable laws, damage
- to or loss of data, programs or equipment, and unavailability or
- interruption of operations.
- </p>
- <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
- LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
- GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- </p>
- <h2 id="general">7. GENERAL</h2>
- <p>If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of the
- remainder of the terms of this Agreement, and without further action by the
- parties hereto, such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- </p>
- <p>If Recipient institutes patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Program itself
- (excluding combinations of the Program with other software or hardware)
- infringes such Recipient's patent(s), then such Recipient's rights granted
- under Section 2(b) shall terminate as of the date such litigation is filed.
- </p>
- <p>All Recipient's rights under this Agreement shall terminate if it fails to
- comply with any of the material terms or conditions of this Agreement and
- does not cure such failure in a reasonable period of time after becoming
- aware of such noncompliance. If all Recipient's rights under this Agreement
- terminate, Recipient agrees to cease use and distribution of the Program
- as soon as reasonably practicable. However, Recipient's obligations under
- this Agreement and any licenses granted by Recipient relating to the
- Program shall continue and survive.
- </p>
- <p>Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and may
- only be modified in the following manner. The Agreement Steward reserves
- the right to publish new versions (including revisions) of this Agreement
- from time to time. No one other than the Agreement Steward has the right
- to modify this Agreement. The Eclipse Foundation is the initial Agreement
- Steward. The Eclipse Foundation may assign the responsibility to serve as
- the Agreement Steward to a suitable separate entity. Each new version of
- the Agreement will be given a distinguishing version number. The Program
- (including Contributions) may always be Distributed subject to the version
- of the Agreement under which it was received. In addition, after a new
- version of the Agreement is published, Contributor may elect to Distribute
- the Program (including its Contributions) under the new version.
- </p>
- <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
- </p>
- <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
- <p>“This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}.”
- </p>
- <blockquote>
- <p>Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
- </p>
- <p>If it is not possible or desirable to put the notice in a particular file,
- then You may include the notice in a location (such as a LICENSE file in a
- relevant directory) where a recipient would be likely to look for
- such a notice.
- </p>
- <p>You may add additional accurate notices of copyright ownership.</p>
- </blockquote>
- </body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/feature.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/feature.xml
deleted file mode 100644
index dc341ae..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.app4mc.transformation.to.inchron.feature"
- label="APP4MC to Inchron model transformation Feature"
- version="0.3.0.qualifier"
- provider-name="Eclipse APP4MC">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- (c) Copyright Eclipse APP4MC contributors. 2018.
-All rights reserved.
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <includes
- id="org.eclipse.app4mc.transformation.core.feature"
- version="0.0.0"/>
-
- <plugin
- id="com.inchron.realtime.root"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.app4mc.transform.to.inchron.app"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
- id="org.eclipse.app4mc.transform.to.inchron.m2m"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
-</feature>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/pom.xml b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/pom.xml
deleted file mode 100644
index a51ae66..0000000
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transformation.to.inchron.feature/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <relativePath>../../../build/org.eclipse.app4mc.transformation.build/pom.xml</relativePath>
- <groupId>org.eclipse.app4mc.transformation</groupId>
- <artifactId>org.eclipse.app4mc.transformation.build</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>org.eclipse.app4mc.transformation.to.inchron.feature</artifactId>
- <packaging>eclipse-feature</packaging>
-
-</project>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product
new file mode 100644
index 0000000..7668cbd
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product uid="app4m.example.transform.cust.app.CustTransformation.product" useFeatures="false" includeLaunchers="true">
+
+ <configIni use="default">
+ </configIni>
+
+ <launcherArgs>
+ <programArgs>--properties "${project_loc:/app4m.example.transform.cust.app}/customInput.properties" -console
+ </programArgs>
+ <vmArgs>-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlog4j.configuration=headless_log4j.xml
+ </vmArgs>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+ </vmArgsMac>
+ </launcherArgs>
+
+ <launcher>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ </vm>
+
+ <plugins>
+ <plugin id="app4m.example.transform.cust.app"/>
+ <plugin id="app4mc.example.transform.app"/>
+ <plugin id="app4mc.example.transform.m2m"/>
+ <plugin id="app4mc.example.transform.m2t"/>
+ <plugin id="app4mc.example.transform.m2t.cust"/>
+ <plugin id="app4mc.example.transform.samplemodel"/>
+ <plugin id="biz.aQute.bnd.embedded-repo" fragment="true"/>
+ <plugin id="biz.aQute.bndlib"/>
+ <plugin id="biz.aQute.repository"/>
+ <plugin id="biz.aQute.resolve"/>
+ <plugin id="com.google.guava"/>
+ <plugin id="com.google.inject"/>
+ <plugin id="com.ibm.icu"/>
+ <plugin id="javax.annotation"/>
+ <plugin id="javax.inject"/>
+ <plugin id="javax.xml"/>
+ <plugin id="javax.xml.stream"/>
+ <plugin id="org.apache.commons.cli"/>
+ <plugin id="org.apache.commons.lang"/>
+ <plugin id="org.apache.commons.logging"/>
+ <plugin id="org.apache.commons.math3"/>
+ <plugin id="org.apache.felix.gogo.command"/>
+ <plugin id="org.apache.felix.gogo.command.source"/>
+ <plugin id="org.apache.felix.gogo.runtime"/>
+ <plugin id="org.apache.felix.gogo.runtime.source"/>
+ <plugin id="org.apache.felix.gogo.shell"/>
+ <plugin id="org.apache.felix.gogo.shell.source"/>
+ <plugin id="org.apache.felix.scr"/>
+ <plugin id="org.apache.felix.scr.source"/>
+ <plugin id="org.apache.log4j"/>
+ <plugin id="org.apache.xerces"/>
+ <plugin id="org.apache.xml.resolver"/>
+ <plugin id="org.apache.xml.serializer"/>
+ <plugin id="org.eclipse.app4mc.amalthea.converters.log4j.configuration" fragment="true"/>
+ <plugin id="org.eclipse.app4mc.amalthea.model"/>
+ <plugin id="org.eclipse.app4mc.transformation.application"/>
+ <plugin id="org.eclipse.app4mc.transformation.extensions"/>
+ <plugin id="org.eclipse.app4mc.transformation.log4j.headless.configuration" fragment="true"/>
+ <plugin id="org.eclipse.core.commands"/>
+ <plugin id="org.eclipse.core.contenttype"/>
+ <plugin id="org.eclipse.core.expressions"/>
+ <plugin id="org.eclipse.core.filesystem"/>
+ <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.jobs"/>
+ <plugin id="org.eclipse.core.resources"/>
+ <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.runtime"/>
+ <plugin id="org.eclipse.emf"/>
+ <plugin id="org.eclipse.emf.common"/>
+ <plugin id="org.eclipse.emf.ecore"/>
+ <plugin id="org.eclipse.emf.ecore.change"/>
+ <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
+ <plugin id="org.eclipse.emf.ecore.xmi"/>
+ <plugin id="org.eclipse.emf.edit"/>
+ <plugin id="org.eclipse.emf.transaction"/>
+ <plugin id="org.eclipse.emf.validation"/>
+ <plugin id="org.eclipse.emf.workspace"/>
+ <plugin id="org.eclipse.equinox.app"/>
+ <plugin id="org.eclipse.equinox.common"/>
+ <plugin id="org.eclipse.equinox.console"/>
+ <plugin id="org.eclipse.equinox.preferences"/>
+ <plugin id="org.eclipse.equinox.region" fragment="true"/>
+ <plugin id="org.eclipse.equinox.registry"/>
+ <plugin id="org.eclipse.equinox.supplement"/>
+ <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
+ <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
+ <plugin id="org.eclipse.fx.osgi" fragment="true"/>
+ <plugin id="org.eclipse.osgi"/>
+ <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
+ <plugin id="org.eclipse.osgi.services"/>
+ <plugin id="org.eclipse.sphinx.emf"/>
+ <plugin id="org.eclipse.sphinx.emf.workspace"/>
+ <plugin id="org.eclipse.sphinx.platform"/>
+ <plugin id="org.eclipse.xtend.lib"/>
+ <plugin id="org.eclipse.xtend.lib.macro"/>
+ <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+ <plugin id="org.eclipse.xtext.xbase.lib"/>
+ <plugin id="org.jdom"/>
+ <plugin id="org.slf4j.api"/>
+ <plugin id="org.slf4j.impl.log4j12" fragment="true"/>
+ </plugins>
+
+ <configurations>
+ <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.app4mc.transformation.application" autoStart="false" startLevel="5" />
+ <property name="log4j.configuration" value="headless_log4j.xml" />
+ </configurations>
+
+</product>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product.launch b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product.launch
new file mode 100644
index 0000000..0b63a09
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/CustTransformation.product.launch
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CustTransformation.product"/>
+<booleanAttribute key="default" value="false"/>
+<setAttribute key="deselected_workspace_bundles"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-CustTransformation.product"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog --properties "${project_loc:/app4m.example.transform.cust.app}/customInput.properties" -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlog4j.configuration=headless_log4j.xml"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value=""/>
+<stringAttribute key="productFile" value="\app4m.example.transform.cust.app\CustTransformation.product"/>
+<setAttribute key="selected_features">
+<setEntry value="app4mc.example.transform.cust.feature:default"/>
+<setEntry value="app4mc.example.transform.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.ecore.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.lib.feature:default"/>
+<setEntry value="openjfx.media.feature:default"/>
+<setEntry value="openjfx.standard.feature:default"/>
+<setEntry value="openjfx.swing.feature:default"/>
+<setEntry value="openjfx.swt.feature:default"/>
+<setEntry value="openjfx.web.feature:default"/>
+<setEntry value="org.eclipse.acceleo.query:default"/>
+<setEntry value="org.eclipse.acceleo:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters.headless:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.edit.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.edit:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.editors.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.editors:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.export.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.export:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.import.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.import:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.models.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.models:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.visualizations.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.visualizations:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.mwe.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.mwe:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.scripting.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.scripting:default"/>
+<setEntry value="org.eclipse.app4mc.docu.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.docu:default"/>
+<setEntry value="org.eclipse.app4mc.emf.metamodelviewers:default"/>
+<setEntry value="org.eclipse.app4mc.emf.viewers.graphical:default"/>
+<setEntry value="org.eclipse.app4mc.examples.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.examples:default"/>
+<setEntry value="org.eclipse.app4mc.multicore.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.multicore:default"/>
+<setEntry value="org.eclipse.app4mc.platform.3rdparty:default"/>
+<setEntry value="org.eclipse.app4mc.platform.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.platform:default"/>
+<setEntry value="org.eclipse.app4mc.sca2amalthea.feature.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.sca2amalthea.feature:default"/>
+<setEntry value="org.eclipse.app4mc.tracing.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.tracing:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.core.feature:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.examples.feature:default"/>
+<setEntry value="org.eclipse.app4mc.validation.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.validation:default"/>
+<setEntry value="org.eclipse.draw2d:default"/>
+<setEntry value="org.eclipse.e4.core.tools.feature:default"/>
+<setEntry value="org.eclipse.e4.rcp:default"/>
+<setEntry value="org.eclipse.ease.feature:default"/>
+<setEntry value="org.eclipse.ease.lang.javascript.feature:default"/>
+<setEntry value="org.eclipse.ease.lang.jvm.feature:default"/>
+<setEntry value="org.eclipse.ease.modules.feature:default"/>
+<setEntry value="org.eclipse.ease.ui.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.ssl.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient45.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.ssl.feature:default"/>
+<setEntry value="org.eclipse.egit:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore:default"/>
+<setEntry value="org.eclipse.emf.codegen.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen:default"/>
+<setEntry value="org.eclipse.emf.common.ui:default"/>
+<setEntry value="org.eclipse.emf.common:default"/>
+<setEntry value="org.eclipse.emf.compare.ide.ui:default"/>
+<setEntry value="org.eclipse.emf.compare.rcp.ui:default"/>
+<setEntry value="org.eclipse.emf.compare:default"/>
+<setEntry value="org.eclipse.emf.converter:default"/>
+<setEntry value="org.eclipse.emf.databinding.edit:default"/>
+<setEntry value="org.eclipse.emf.databinding:default"/>
+<setEntry value="org.eclipse.emf.ecore.edit:default"/>
+<setEntry value="org.eclipse.emf.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore.lib:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore.ui:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore:default"/>
+<setEntry value="org.eclipse.emf.ecore:default"/>
+<setEntry value="org.eclipse.emf.edit.ui:default"/>
+<setEntry value="org.eclipse.emf.edit:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore:default"/>
+<setEntry value="org.eclipse.emf.mapping.ui:default"/>
+<setEntry value="org.eclipse.emf.mapping:default"/>
+<setEntry value="org.eclipse.emf.mwe.core.feature:default"/>
+<setEntry value="org.eclipse.emf.mwe.ui.feature:default"/>
+<setEntry value="org.eclipse.emf.mwe2.language.sdk:default"/>
+<setEntry value="org.eclipse.emf.mwe2.launcher.source:default"/>
+<setEntry value="org.eclipse.emf.mwe2.launcher:default"/>
+<setEntry value="org.eclipse.emf.mwe2.runtime.sdk:default"/>
+<setEntry value="org.eclipse.emf.transaction:default"/>
+<setEntry value="org.eclipse.emf.validation.ocl:default"/>
+<setEntry value="org.eclipse.emf.validation:default"/>
+<setEntry value="org.eclipse.emf.workspace:default"/>
+<setEntry value="org.eclipse.emf:default"/>
+<setEntry value="org.eclipse.equinox.compendium.sdk:default"/>
+<setEntry value="org.eclipse.equinox.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.core.sdk:default"/>
+<setEntry value="org.eclipse.equinox.executable:default"/>
+<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.discovery.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
+<setEntry value="org.eclipse.equinox.sdk:default"/>
+<setEntry value="org.eclipse.equinox.server.core:default"/>
+<setEntry value="org.eclipse.equinox.server.jetty:default"/>
+<setEntry value="org.eclipse.equinox.server.p2:default"/>
+<setEntry value="org.eclipse.equinox.serverside.sdk:default"/>
+<setEntry value="org.eclipse.fx.ide.basic.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.converter.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.css.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.fxgraph.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.fxml.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.gmod.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.l10n.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.ldef.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.m2e.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.pde.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.rrobot.feature:default"/>
+<setEntry value="org.eclipse.fx.runtime.min.feature:default"/>
+<setEntry value="org.eclipse.gef:default"/>
+<setEntry value="org.eclipse.gmf.runtime.notation:default"/>
+<setEntry value="org.eclipse.gmf.runtime.thirdparty:default"/>
+<setEntry value="org.eclipse.gmf:default"/>
+<setEntry value="org.eclipse.help:default"/>
+<setEntry value="org.eclipse.jdt:default"/>
+<setEntry value="org.eclipse.jgit.http.apache:default"/>
+<setEntry value="org.eclipse.jgit.ssh.apache:default"/>
+<setEntry value="org.eclipse.jgit:default"/>
+<setEntry value="org.eclipse.m2e.feature:default"/>
+<setEntry value="org.eclipse.ocl:default"/>
+<setEntry value="org.eclipse.pde:default"/>
+<setEntry value="org.eclipse.platform:default"/>
+<setEntry value="org.eclipse.rcp:default"/>
+<setEntry value="org.eclipse.sirius.runtime.acceleo:default"/>
+<setEntry value="org.eclipse.sirius.runtime.aql:default"/>
+<setEntry value="org.eclipse.sirius.runtime.ide.ui:default"/>
+<setEntry value="org.eclipse.sirius.runtime:default"/>
+<setEntry value="org.eclipse.sirius.specifier.ide.ui.acceleo:default"/>
+<setEntry value="org.eclipse.sphinx.core:default"/>
+<setEntry value="org.eclipse.sphinx.emf.check:default"/>
+<setEntry value="org.eclipse.sphinx.emf.compare:default"/>
+<setEntry value="org.eclipse.sphinx.emf.editors.forms:default"/>
+<setEntry value="org.eclipse.sphinx.emf.editors:default"/>
+<setEntry value="org.eclipse.sphinx.emf.metamodelgen:default"/>
+<setEntry value="org.eclipse.sphinx.emf.mwe.dynamic:default"/>
+<setEntry value="org.eclipse.sphinx.emf.navigators:default"/>
+<setEntry value="org.eclipse.sphinx.emf.search:default"/>
+<setEntry value="org.eclipse.sphinx.emf.serialization.generators:default"/>
+<setEntry value="org.eclipse.sphinx.emf.serialization:default"/>
+<setEntry value="org.eclipse.sphinx.emf.validation:default"/>
+<setEntry value="org.eclipse.sphinx.gmf.editors:default"/>
+<setEntry value="org.eclipse.sphinx.jdtpde:default"/>
+<setEntry value="org.eclipse.sphinx.xtendxpand:default"/>
+<setEntry value="org.eclipse.sphinx:default"/>
+<setEntry value="org.eclipse.uml2.codegen.ecore.ui:default"/>
+<setEntry value="org.eclipse.uml2.common.edit:default"/>
+<setEntry value="org.eclipse.uml2.common:default"/>
+<setEntry value="org.eclipse.uml2.uml.edit:default"/>
+<setEntry value="org.eclipse.uml2.uml:default"/>
+<setEntry value="org.eclipse.uml2:default"/>
+<setEntry value="org.eclipse.wst.common_core.feature:default"/>
+<setEntry value="org.eclipse.wst.common_ui.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.chromium.debug.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.nodejs.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_core.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_ui.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_userdoc.feature:default"/>
+<setEntry value="org.eclipse.xpand.ui:default"/>
+<setEntry value="org.eclipse.xpand:default"/>
+<setEntry value="org.eclipse.xsd.ecore.converter:default"/>
+<setEntry value="org.eclipse.xsd.edit:default"/>
+<setEntry value="org.eclipse.xsd.editor:default"/>
+<setEntry value="org.eclipse.xsd.mapping:default"/>
+<setEntry value="org.eclipse.xsd:default"/>
+<setEntry value="org.eclipse.xtend.dependencies:default"/>
+<setEntry value="org.eclipse.xtend.sdk:default"/>
+<setEntry value="org.eclipse.xtend.typesystem.emf:default"/>
+<setEntry value="org.eclipse.xtend.ui:default"/>
+<setEntry value="org.eclipse.xtend:default"/>
+<setEntry value="org.eclipse.xtext.docs:default"/>
+<setEntry value="org.eclipse.xtext.examples:default"/>
+<setEntry value="org.eclipse.xtext.redist:default"/>
+<setEntry value="org.eclipse.xtext.runtime:default"/>
+<setEntry value="org.eclipse.xtext.sdk:default"/>
+<setEntry value="org.eclipse.xtext.ui:default"/>
+<setEntry value="org.eclipse.xtext.xbase.lib:default"/>
+<setEntry value="org.eclipse.xtext.xbase:default"/>
+<setEntry value="org.eclipse.xtext.xtext.ui.graph:default"/>
+<setEntry value="org.eclipse.xtext.xtext.ui:default"/>
+</setAttribute>
+<setAttribute key="selected_target_bundles">
+<setEntry value="com.google.guava@default:default"/>
+<setEntry value="com.google.inject@default:default"/>
+<setEntry value="com.ibm.icu@default:default"/>
+<setEntry value="javax.annotation@default:default"/>
+<setEntry value="javax.inject@default:default"/>
+<setEntry value="javax.xml.stream@default:default"/>
+<setEntry value="javax.xml@default:default"/>
+<setEntry value="org.apache.commons.cli@default:default"/>
+<setEntry value="org.apache.commons.lang@default:default"/>
+<setEntry value="org.apache.commons.logging@default:default"/>
+<setEntry value="org.apache.commons.math3@default:default"/>
+<setEntry value="org.apache.felix.gogo.command.source@default:default"/>
+<setEntry value="org.apache.felix.gogo.command@default:default"/>
+<setEntry value="org.apache.felix.gogo.runtime.source@default:default"/>
+<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
+<setEntry value="org.apache.felix.gogo.shell.source@default:default"/>
+<setEntry value="org.apache.felix.gogo.shell@default:default"/>
+<setEntry value="org.apache.felix.scr.source@default:default"/>
+<setEntry value="org.apache.felix.scr@2:true"/>
+<setEntry value="org.apache.log4j@default:default"/>
+<setEntry value="org.apache.xerces@default:default"/>
+<setEntry value="org.apache.xml.resolver@default:default"/>
+<setEntry value="org.apache.xml.serializer@default:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters.log4j.configuration@default:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.model@default:default"/>
+<setEntry value="org.eclipse.core.commands@default:default"/>
+<setEntry value="org.eclipse.core.contenttype@default:default"/>
+<setEntry value="org.eclipse.core.expressions@default:default"/>
+<setEntry value="org.eclipse.core.filesystem.win32.x86_64@default:default"/>
+<setEntry value="org.eclipse.core.filesystem@default:default"/>
+<setEntry value="org.eclipse.core.jobs@default:default"/>
+<setEntry value="org.eclipse.core.resources.win32.x86_64@default:default"/>
+<setEntry value="org.eclipse.core.resources@default:default"/>
+<setEntry value="org.eclipse.core.runtime@default:default"/>
+<setEntry value="org.eclipse.emf.common@default:default"/>
+<setEntry value="org.eclipse.emf.ecore.change@default:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore.lib@default:default"/>
+<setEntry value="org.eclipse.emf.ecore.xmi@default:default"/>
+<setEntry value="org.eclipse.emf.ecore@default:default"/>
+<setEntry value="org.eclipse.emf.edit@default:default"/>
+<setEntry value="org.eclipse.emf.transaction@default:default"/>
+<setEntry value="org.eclipse.emf.validation@default:default"/>
+<setEntry value="org.eclipse.emf.workspace@default:default"/>
+<setEntry value="org.eclipse.emf@default:default"/>
+<setEntry value="org.eclipse.equinox.app@default:default"/>
+<setEntry value="org.eclipse.equinox.common@default:default"/>
+<setEntry value="org.eclipse.equinox.console@default:default"/>
+<setEntry value="org.eclipse.equinox.preferences@default:default"/>
+<setEntry value="org.eclipse.equinox.region@default:default"/>
+<setEntry value="org.eclipse.equinox.registry@default:default"/>
+<setEntry value="org.eclipse.equinox.supplement@default:default"/>
+<setEntry value="org.eclipse.equinox.transforms.hook@default:default"/>
+<setEntry value="org.eclipse.equinox.weaving.hook@default:default"/>
+<setEntry value="org.eclipse.fx.osgi@default:default"/>
+<setEntry value="org.eclipse.osgi.compatibility.state@default:default"/>
+<setEntry value="org.eclipse.osgi.services@default:default"/>
+<setEntry value="org.eclipse.osgi@default:default"/>
+<setEntry value="org.eclipse.sphinx.emf.workspace@default:default"/>
+<setEntry value="org.eclipse.sphinx.emf@default:default"/>
+<setEntry value="org.eclipse.sphinx.platform@default:default"/>
+<setEntry value="org.eclipse.xtend.lib.macro@default:default"/>
+<setEntry value="org.eclipse.xtend.lib@default:default"/>
+<setEntry value="org.eclipse.xtext.logging@default:default"/>
+<setEntry value="org.eclipse.xtext.xbase.lib@default:default"/>
+<setEntry value="org.jdom@default:default"/>
+<setEntry value="org.slf4j.api@default:default"/>
+<setEntry value="org.slf4j.impl.log4j12@default:default"/>
+</setAttribute>
+<setAttribute key="selected_workspace_bundles">
+<setEntry value="app4m.example.transform.cust.app@default:default"/>
+<setEntry value="app4mc.example.transform.app@default:default"/>
+<setEntry value="app4mc.example.transform.m2m@default:default"/>
+<setEntry value="app4mc.example.transform.m2t.cust@default:default"/>
+<setEntry value="app4mc.example.transform.m2t@default:default"/>
+<setEntry value="app4mc.example.transform.samplemodel@default:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.application@5:false"/>
+<setEntry value="org.eclipse.app4mc.transformation.extensions@default:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.log4j.headless.configuration@default:default"/>
+</setAttribute>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/Cust_ModelTransformation.product b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/Cust_ModelTransformation.product
deleted file mode 100644
index a28ec11..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/Cust_ModelTransformation.product
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Example: Sample Model Transformation" uid="test" id="app4mc.example.transform.app.product" application="app4mc.example.transform.app.application" version="1" useFeatures="false" includeLaunchers="true">
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>--input.props "${workspace_loc:app4m.example.transform.cust.app}/input.properties"
- </programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages/>
-
- <launcher>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="app4mc.example.transform.app"/>
- <plugin id="app4mc.example.transform.m2m"/>
- <plugin id="app4mc.example.transform.m2t"/>
- <plugin id="app4mc.example.transform.m2t.cust" fragment="true"/>
- <plugin id="app4mc.example.transform.samplemodel"/>
- <plugin id="com.google.guava"/>
- <plugin id="com.google.inject"/>
- <plugin id="com.ibm.icu"/>
- <plugin id="com.inchron.realtime.root"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.batik.constants"/>
- <plugin id="org.apache.batik.css"/>
- <plugin id="org.apache.batik.i18n"/>
- <plugin id="org.apache.batik.util"/>
- <plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.apache.commons.cli"/>
- <plugin id="org.apache.commons.io"/>
- <plugin id="org.apache.commons.jxpath"/>
- <plugin id="org.apache.commons.lang"/>
- <plugin id="org.apache.commons.logging"/>
- <plugin id="org.apache.commons.math3"/>
- <plugin id="org.apache.felix.gogo.command"/>
- <plugin id="org.apache.felix.gogo.command.source"/>
- <plugin id="org.apache.felix.gogo.runtime"/>
- <plugin id="org.apache.felix.gogo.runtime.source"/>
- <plugin id="org.apache.felix.gogo.shell"/>
- <plugin id="org.apache.felix.gogo.shell.source"/>
- <plugin id="org.apache.felix.scr"/>
- <plugin id="org.apache.felix.scr.source"/>
- <plugin id="org.apache.log4j"/>
- <plugin id="org.apache.xerces"/>
- <plugin id="org.apache.xml.resolver"/>
- <plugin id="org.apache.xml.serializer"/>
- <plugin id="org.apache.xmlgraphics"/>
- <plugin id="org.eclipse.app4mc.amalthea.converters.log4j.configuration" fragment="true"/>
- <plugin id="org.eclipse.app4mc.amalthea.model"/>
- <plugin id="org.eclipse.app4mc.transformation.application"/>
- <plugin id="org.eclipse.app4mc.transformation.extensions"/>
- <plugin id="org.eclipse.compare.core"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.variables"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.annotations"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.emf.xpath"/>
- <plugin id="org.eclipse.e4.ui.bindings"/>
- <plugin id="org.eclipse.e4.ui.css.core"/>
- <plugin id="org.eclipse.e4.ui.css.swt"/>
- <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.dialogs"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.widgets"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench3"/>
- <plugin id="org.eclipse.emf"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.common.ui"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.emf.edit.ui"/>
- <plugin id="org.eclipse.emf.transaction"/>
- <plugin id="org.eclipse.emf.transaction.ui"/>
- <plugin id="org.eclipse.emf.validation"/>
- <plugin id="org.eclipse.emf.workspace"/>
- <plugin id="org.eclipse.emf.workspace.ui"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.event"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.repository"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.security"/>
- <plugin id="org.eclipse.equinox.security.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.equinox.supplement"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
- <plugin id="org.eclipse.fx.osgi" fragment="true"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.jface.text"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.osgi.services.source"/>
- <plugin id="org.eclipse.osgi.util"/>
- <plugin id="org.eclipse.sphinx.emf"/>
- <plugin id="org.eclipse.sphinx.emf.editors"/>
- <plugin id="org.eclipse.sphinx.emf.editors.forms"/>
- <plugin id="org.eclipse.sphinx.emf.ui"/>
- <plugin id="org.eclipse.sphinx.emf.workspace"/>
- <plugin id="org.eclipse.sphinx.emf.workspace.ui"/>
- <plugin id="org.eclipse.sphinx.platform"/>
- <plugin id="org.eclipse.sphinx.platform.ui"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.text"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.console"/>
- <plugin id="org.eclipse.ui.forms"/>
- <plugin id="org.eclipse.ui.ide"/>
- <plugin id="org.eclipse.ui.navigator"/>
- <plugin id="org.eclipse.ui.views"/>
- <plugin id="org.eclipse.ui.views.properties.tabbed"/>
- <plugin id="org.eclipse.ui.win32" fragment="true"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.eclipse.ui.workbench.texteditor"/>
- <plugin id="org.eclipse.xtend.lib"/>
- <plugin id="org.eclipse.xtend.lib.macro"/>
- <plugin id="org.eclipse.xtext.logging" fragment="true"/>
- <plugin id="org.eclipse.xtext.xbase.lib"/>
- <plugin id="org.jdom"/>
- <plugin id="org.tukaani.xz"/>
- <plugin id="org.w3c.css.sac"/>
- <plugin id="org.w3c.dom.events"/>
- <plugin id="org.w3c.dom.smil"/>
- <plugin id="org.w3c.dom.svg"/>
- </plugins>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.osgi" autoStart="false" startLevel="1" />
- <plugin id="org.eclipse.osgi.services" autoStart="false" startLevel="0" />
- <property name="equinox.use.ds" value="false" />
- </configurations>
-
- <preferencesInfo>
- <targetfile overwrite="false"/>
- </preferencesInfo>
-
- <cssInfo>
- </cssInfo>
-
-</product>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/customInput.properties
similarity index 74%
rename from eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input.properties
rename to eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/customInput.properties
index 4a3a266..13ca09a 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input.properties
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/customInput.properties
@@ -13,4 +13,7 @@
m2m_output_folder=./output/m2m_output_models
m2t_output_folder=./output/m2t_output_text_files
log_file=./output/transformation.txt
-tranformationConfigIDs=app4mc.example.transform.m2t.cust1.config1
\ No newline at end of file
+m2mTransformers.target=(transformation=Amalthea2SampleModel)
+allModelToModelConfig.target=(transformation=Amalthea2SampleModel)
+m2tTransformers.target=(transformation=Amalthea2Text)
+allModelToTextConfig.target=(transformation=Amalthea2Text)
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input/amalthea_models/democar.amxmi b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input/amalthea_models/democar.amxmi
index 276723b..b0da661 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input/amalthea_models/democar.amxmi
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input/amalthea_models/democar.amxmi
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.8" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.9" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<commonElements>
<tags name="SwcEngineController" tagType="SOFTWARE_COMPONENT" />
<tags name="SwcActuators" tagType="SOFTWARE_COMPONENT" />
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Example_Sample_Model_Transformation.product b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Example_Sample_Model_Transformation.product
deleted file mode 100644
index 35232d1..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Example_Sample_Model_Transformation.product
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Example: Sample Model Transformation" uid="test" id="app4mc.example.transform.app.product" application="app4mc.example.transform.app.application" version="1" useFeatures="false" includeLaunchers="true">
-
- <configIni use="default">
- </configIni>
-
- <launcherArgs>
- <programArgs>--input.props "${workspace_loc:app4mc.example.transform.app}/input.properties"
- </programArgs>
- <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
- </vmArgsMac>
- </launcherArgs>
-
- <windowImages/>
-
- <launcher>
- <win useIco="false">
- <bmp/>
- </win>
- </launcher>
-
- <vm>
- </vm>
-
- <plugins>
- <plugin id="app4mc.example.transform.app"/>
- <plugin id="app4mc.example.transform.m2m"/>
- <plugin id="app4mc.example.transform.m2t"/>
- <plugin id="app4mc.example.transform.samplemodel"/>
- <plugin id="com.google.guava"/>
- <plugin id="com.google.inject"/>
- <plugin id="com.ibm.icu"/>
- <plugin id="com.inchron.realtime.root"/>
- <plugin id="javax.annotation"/>
- <plugin id="javax.inject"/>
- <plugin id="javax.xml"/>
- <plugin id="org.apache.batik.constants"/>
- <plugin id="org.apache.batik.css"/>
- <plugin id="org.apache.batik.i18n"/>
- <plugin id="org.apache.batik.util"/>
- <plugin id="org.apache.batik.util.gui"/>
- <plugin id="org.apache.commons.cli"/>
- <plugin id="org.apache.commons.io"/>
- <plugin id="org.apache.commons.jxpath"/>
- <plugin id="org.apache.commons.lang"/>
- <plugin id="org.apache.commons.logging"/>
- <plugin id="org.apache.commons.math3"/>
- <plugin id="org.apache.felix.gogo.command"/>
- <plugin id="org.apache.felix.gogo.command.source"/>
- <plugin id="org.apache.felix.gogo.runtime"/>
- <plugin id="org.apache.felix.gogo.runtime.source"/>
- <plugin id="org.apache.felix.gogo.shell"/>
- <plugin id="org.apache.felix.gogo.shell.source"/>
- <plugin id="org.apache.felix.scr"/>
- <plugin id="org.apache.felix.scr.source"/>
- <plugin id="org.apache.log4j"/>
- <plugin id="org.apache.xerces"/>
- <plugin id="org.apache.xml.resolver"/>
- <plugin id="org.apache.xml.serializer"/>
- <plugin id="org.apache.xmlgraphics"/>
- <plugin id="org.eclipse.app4mc.amalthea.converters.log4j.configuration" fragment="true"/>
- <plugin id="org.eclipse.app4mc.amalthea.model"/>
- <plugin id="org.eclipse.app4mc.transformation.application"/>
- <plugin id="org.eclipse.app4mc.transformation.extensions"/>
- <plugin id="org.eclipse.compare.core"/>
- <plugin id="org.eclipse.core.commands"/>
- <plugin id="org.eclipse.core.contenttype"/>
- <plugin id="org.eclipse.core.databinding"/>
- <plugin id="org.eclipse.core.databinding.observable"/>
- <plugin id="org.eclipse.core.databinding.property"/>
- <plugin id="org.eclipse.core.expressions"/>
- <plugin id="org.eclipse.core.filesystem"/>
- <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.jobs"/>
- <plugin id="org.eclipse.core.resources"/>
- <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.core.runtime"/>
- <plugin id="org.eclipse.core.variables"/>
- <plugin id="org.eclipse.e4.core.commands"/>
- <plugin id="org.eclipse.e4.core.contexts"/>
- <plugin id="org.eclipse.e4.core.di"/>
- <plugin id="org.eclipse.e4.core.di.annotations"/>
- <plugin id="org.eclipse.e4.core.di.extensions"/>
- <plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
- <plugin id="org.eclipse.e4.core.services"/>
- <plugin id="org.eclipse.e4.emf.xpath"/>
- <plugin id="org.eclipse.e4.ui.bindings"/>
- <plugin id="org.eclipse.e4.ui.css.core"/>
- <plugin id="org.eclipse.e4.ui.css.swt"/>
- <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
- <plugin id="org.eclipse.e4.ui.di"/>
- <plugin id="org.eclipse.e4.ui.dialogs"/>
- <plugin id="org.eclipse.e4.ui.model.workbench"/>
- <plugin id="org.eclipse.e4.ui.services"/>
- <plugin id="org.eclipse.e4.ui.widgets"/>
- <plugin id="org.eclipse.e4.ui.workbench"/>
- <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench.swt"/>
- <plugin id="org.eclipse.e4.ui.workbench3"/>
- <plugin id="org.eclipse.emf"/>
- <plugin id="org.eclipse.emf.common"/>
- <plugin id="org.eclipse.emf.common.ui"/>
- <plugin id="org.eclipse.emf.ecore"/>
- <plugin id="org.eclipse.emf.ecore.change"/>
- <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
- <plugin id="org.eclipse.emf.ecore.xmi"/>
- <plugin id="org.eclipse.emf.edit"/>
- <plugin id="org.eclipse.emf.edit.ui"/>
- <plugin id="org.eclipse.emf.transaction"/>
- <plugin id="org.eclipse.emf.transaction.ui"/>
- <plugin id="org.eclipse.emf.validation"/>
- <plugin id="org.eclipse.emf.workspace"/>
- <plugin id="org.eclipse.emf.workspace.ui"/>
- <plugin id="org.eclipse.equinox.app"/>
- <plugin id="org.eclipse.equinox.bidi"/>
- <plugin id="org.eclipse.equinox.common"/>
- <plugin id="org.eclipse.equinox.ds"/>
- <plugin id="org.eclipse.equinox.event"/>
- <plugin id="org.eclipse.equinox.p2.core"/>
- <plugin id="org.eclipse.equinox.p2.engine"/>
- <plugin id="org.eclipse.equinox.p2.metadata"/>
- <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
- <plugin id="org.eclipse.equinox.p2.repository"/>
- <plugin id="org.eclipse.equinox.preferences"/>
- <plugin id="org.eclipse.equinox.region" fragment="true"/>
- <plugin id="org.eclipse.equinox.registry"/>
- <plugin id="org.eclipse.equinox.security"/>
- <plugin id="org.eclipse.equinox.security.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.equinox.supplement"/>
- <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
- <plugin id="org.eclipse.equinox.util"/>
- <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
- <plugin id="org.eclipse.fx.osgi" fragment="true"/>
- <plugin id="org.eclipse.help"/>
- <plugin id="org.eclipse.jface"/>
- <plugin id="org.eclipse.jface.databinding"/>
- <plugin id="org.eclipse.jface.text"/>
- <plugin id="org.eclipse.osgi"/>
- <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
- <plugin id="org.eclipse.osgi.services"/>
- <plugin id="org.eclipse.osgi.services.source"/>
- <plugin id="org.eclipse.osgi.util"/>
- <plugin id="org.eclipse.sphinx.emf"/>
- <plugin id="org.eclipse.sphinx.emf.editors"/>
- <plugin id="org.eclipse.sphinx.emf.editors.forms"/>
- <plugin id="org.eclipse.sphinx.emf.ui"/>
- <plugin id="org.eclipse.sphinx.emf.workspace"/>
- <plugin id="org.eclipse.sphinx.emf.workspace.ui"/>
- <plugin id="org.eclipse.sphinx.platform"/>
- <plugin id="org.eclipse.sphinx.platform.ui"/>
- <plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
- <plugin id="org.eclipse.text"/>
- <plugin id="org.eclipse.ui"/>
- <plugin id="org.eclipse.ui.console"/>
- <plugin id="org.eclipse.ui.forms"/>
- <plugin id="org.eclipse.ui.ide"/>
- <plugin id="org.eclipse.ui.navigator"/>
- <plugin id="org.eclipse.ui.views"/>
- <plugin id="org.eclipse.ui.views.properties.tabbed"/>
- <plugin id="org.eclipse.ui.win32" fragment="true"/>
- <plugin id="org.eclipse.ui.workbench"/>
- <plugin id="org.eclipse.ui.workbench.texteditor"/>
- <plugin id="org.eclipse.xtend.lib"/>
- <plugin id="org.eclipse.xtend.lib.macro"/>
- <plugin id="org.eclipse.xtext.logging" fragment="true"/>
- <plugin id="org.eclipse.xtext.xbase.lib"/>
- <plugin id="org.jdom"/>
- <plugin id="org.tukaani.xz"/>
- <plugin id="org.w3c.css.sac"/>
- <plugin id="org.w3c.dom.events"/>
- <plugin id="org.w3c.dom.smil"/>
- <plugin id="org.w3c.dom.svg"/>
- </plugins>
-
- <configurations>
- <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="1" />
- <plugin id="org.eclipse.osgi" autoStart="false" startLevel="1" />
- <plugin id="org.eclipse.osgi.services" autoStart="false" startLevel="0" />
- <property name="equinox.use.ds" value="false" />
- </configurations>
-
- <preferencesInfo>
- <targetfile overwrite="false"/>
- </preferencesInfo>
-
- <cssInfo>
- </cssInfo>
-
-</product>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/META-INF/MANIFEST.MF
index 493f13d..39cfaa6 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/META-INF/MANIFEST.MF
@@ -2,8 +2,15 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Example - Application
Bundle-SymbolicName: app4mc.example.transform.app;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: Eclipse APP4MC
-Require-Bundle: org.eclipse.app4mc.transformation.application
Automatic-Module-Name: app4mc.example.transform.app
+Import-Package: javax.inject;version="1.0.0",
+ org.apache.felix.service.command;version="1.0.0",
+ org.eclipse.app4mc.transformation.application.base,
+ org.eclipse.app4mc.transformation.extensions,
+ org.eclipse.app4mc.transformation.extensions.base.templates,
+ org.eclipse.app4mc.transformation.extensions.executiontype,
+ org.osgi.service.component;version="1.4.0",
+ org.osgi.service.component.annotations;version="1.3.0"
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product
new file mode 100644
index 0000000..7d0107d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product uid="app4mc.example.transform.app.Transformation.product" useFeatures="false" includeLaunchers="true">
+
+ <configIni use="default">
+ </configIni>
+
+ <launcherArgs>
+ <programArgs>--properties "${project_loc:/app4mc.example.transform.app}/input.properties" -console
+ </programArgs>
+ <vmArgs>-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlog4j.configuration=headless_log4j.xml
+ </vmArgs>
+ <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+ </vmArgsMac>
+ </launcherArgs>
+
+ <launcher>
+ <win useIco="false">
+ <bmp/>
+ </win>
+ </launcher>
+
+ <vm>
+ </vm>
+
+ <plugins>
+ <plugin id="app4mc.example.transform.app"/>
+ <plugin id="app4mc.example.transform.m2m"/>
+ <plugin id="app4mc.example.transform.m2t"/>
+ <plugin id="app4mc.example.transform.samplemodel"/>
+ <plugin id="biz.aQute.bnd.embedded-repo" fragment="true"/>
+ <plugin id="biz.aQute.bndlib"/>
+ <plugin id="biz.aQute.repository"/>
+ <plugin id="biz.aQute.resolve"/>
+ <plugin id="com.google.guava"/>
+ <plugin id="com.google.inject"/>
+ <plugin id="com.ibm.icu"/>
+ <plugin id="javax.annotation"/>
+ <plugin id="javax.inject"/>
+ <plugin id="javax.xml"/>
+ <plugin id="javax.xml.stream"/>
+ <plugin id="org.apache.commons.cli"/>
+ <plugin id="org.apache.commons.lang"/>
+ <plugin id="org.apache.commons.logging"/>
+ <plugin id="org.apache.commons.math3"/>
+ <plugin id="org.apache.felix.gogo.command"/>
+ <plugin id="org.apache.felix.gogo.command.source"/>
+ <plugin id="org.apache.felix.gogo.runtime"/>
+ <plugin id="org.apache.felix.gogo.runtime.source"/>
+ <plugin id="org.apache.felix.gogo.shell"/>
+ <plugin id="org.apache.felix.gogo.shell.source"/>
+ <plugin id="org.apache.felix.scr"/>
+ <plugin id="org.apache.felix.scr.source"/>
+ <plugin id="org.apache.log4j"/>
+ <plugin id="org.apache.xerces"/>
+ <plugin id="org.apache.xml.resolver"/>
+ <plugin id="org.apache.xml.serializer"/>
+ <plugin id="org.eclipse.app4mc.amalthea.converters.log4j.configuration" fragment="true"/>
+ <plugin id="org.eclipse.app4mc.amalthea.model"/>
+ <plugin id="org.eclipse.app4mc.transformation.application"/>
+ <plugin id="org.eclipse.app4mc.transformation.extensions"/>
+ <plugin id="org.eclipse.app4mc.transformation.log4j.headless.configuration" fragment="true"/>
+ <plugin id="org.eclipse.core.commands"/>
+ <plugin id="org.eclipse.core.contenttype"/>
+ <plugin id="org.eclipse.core.expressions"/>
+ <plugin id="org.eclipse.core.filesystem"/>
+ <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.jobs"/>
+ <plugin id="org.eclipse.core.resources"/>
+ <plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.core.runtime"/>
+ <plugin id="org.eclipse.emf"/>
+ <plugin id="org.eclipse.emf.common"/>
+ <plugin id="org.eclipse.emf.ecore"/>
+ <plugin id="org.eclipse.emf.ecore.change"/>
+ <plugin id="org.eclipse.emf.ecore.xcore.lib"/>
+ <plugin id="org.eclipse.emf.ecore.xmi"/>
+ <plugin id="org.eclipse.emf.edit"/>
+ <plugin id="org.eclipse.emf.transaction"/>
+ <plugin id="org.eclipse.emf.validation"/>
+ <plugin id="org.eclipse.emf.workspace"/>
+ <plugin id="org.eclipse.equinox.app"/>
+ <plugin id="org.eclipse.equinox.common"/>
+ <plugin id="org.eclipse.equinox.console"/>
+ <plugin id="org.eclipse.equinox.preferences"/>
+ <plugin id="org.eclipse.equinox.region" fragment="true"/>
+ <plugin id="org.eclipse.equinox.registry"/>
+ <plugin id="org.eclipse.equinox.supplement"/>
+ <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
+ <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
+ <plugin id="org.eclipse.fx.osgi" fragment="true"/>
+ <plugin id="org.eclipse.osgi"/>
+ <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
+ <plugin id="org.eclipse.osgi.services"/>
+ <plugin id="org.eclipse.sphinx.emf"/>
+ <plugin id="org.eclipse.sphinx.emf.workspace"/>
+ <plugin id="org.eclipse.sphinx.platform"/>
+ <plugin id="org.eclipse.xtend.lib"/>
+ <plugin id="org.eclipse.xtend.lib.macro"/>
+ <plugin id="org.eclipse.xtext.logging" fragment="true"/>
+ <plugin id="org.eclipse.xtext.xbase.lib"/>
+ <plugin id="org.jdom"/>
+ <plugin id="org.slf4j.api"/>
+ <plugin id="org.slf4j.impl.log4j12" fragment="true"/>
+ </plugins>
+
+ <configurations>
+ <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
+ <plugin id="org.eclipse.app4mc.transformation.application" autoStart="false" startLevel="5" />
+ <property name="log4j.configuration" value="headless_log4j.xml" />
+ </configurations>
+
+</product>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product.launch b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product.launch
new file mode 100644
index 0000000..286b5e0
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/Transformation.product.launch
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
+<setAttribute key="additional_plugins"/>
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Transformation.product"/>
+<booleanAttribute key="default" value="false"/>
+<setAttribute key="deselected_workspace_bundles"/>
+<stringAttribute key="featureDefaultLocation" value="workspace"/>
+<stringAttribute key="featurePluginResolution" value="workspace"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../runtime-Transformation.product"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog --properties "${project_loc:/app4mc.example.transform.app}/input.properties" -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dlog4j.configuration=headless_log4j.xml"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value=""/>
+<stringAttribute key="productFile" value="\app4mc.example.transform.app\Transformation.product"/>
+<setAttribute key="selected_features">
+<setEntry value="app4mc.example.transform.cust.feature:default"/>
+<setEntry value="app4mc.example.transform.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.ecore.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.feature:default"/>
+<setEntry value="net.sourceforge.plantuml.lib.feature:default"/>
+<setEntry value="openjfx.media.feature:default"/>
+<setEntry value="openjfx.standard.feature:default"/>
+<setEntry value="openjfx.swing.feature:default"/>
+<setEntry value="openjfx.swt.feature:default"/>
+<setEntry value="openjfx.web.feature:default"/>
+<setEntry value="org.eclipse.acceleo.query:default"/>
+<setEntry value="org.eclipse.acceleo:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters.headless:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.converters:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.edit.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.edit:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.editors.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.editors:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.export.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.export:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.import.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.import:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.models.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.models:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.visualizations.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.visualizations:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.mwe.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.mwe:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.scripting.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.amalthea.workflow.scripting:default"/>
+<setEntry value="org.eclipse.app4mc.docu.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.docu:default"/>
+<setEntry value="org.eclipse.app4mc.emf.metamodelviewers:default"/>
+<setEntry value="org.eclipse.app4mc.emf.viewers.graphical:default"/>
+<setEntry value="org.eclipse.app4mc.examples.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.examples:default"/>
+<setEntry value="org.eclipse.app4mc.multicore.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.multicore:default"/>
+<setEntry value="org.eclipse.app4mc.platform.3rdparty:default"/>
+<setEntry value="org.eclipse.app4mc.platform.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.platform:default"/>
+<setEntry value="org.eclipse.app4mc.sca2amalthea.feature.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.sca2amalthea.feature:default"/>
+<setEntry value="org.eclipse.app4mc.tracing.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.tracing:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.core.feature:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.examples.feature:default"/>
+<setEntry value="org.eclipse.app4mc.validation.sdk:default"/>
+<setEntry value="org.eclipse.app4mc.validation:default"/>
+<setEntry value="org.eclipse.draw2d:default"/>
+<setEntry value="org.eclipse.e4.core.tools.feature:default"/>
+<setEntry value="org.eclipse.e4.rcp:default"/>
+<setEntry value="org.eclipse.ease.feature:default"/>
+<setEntry value="org.eclipse.ease.lang.javascript.feature:default"/>
+<setEntry value="org.eclipse.ease.lang.jvm.feature:default"/>
+<setEntry value="org.eclipse.ease.modules.feature:default"/>
+<setEntry value="org.eclipse.ease.ui.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.feature:default"/>
+<setEntry value="org.eclipse.ecf.core.ssl.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.httpclient45.feature:default"/>
+<setEntry value="org.eclipse.ecf.filetransfer.ssl.feature:default"/>
+<setEntry value="org.eclipse.egit:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen.ecore:default"/>
+<setEntry value="org.eclipse.emf.codegen.ui:default"/>
+<setEntry value="org.eclipse.emf.codegen:default"/>
+<setEntry value="org.eclipse.emf.common.ui:default"/>
+<setEntry value="org.eclipse.emf.common:default"/>
+<setEntry value="org.eclipse.emf.compare.ide.ui:default"/>
+<setEntry value="org.eclipse.emf.compare.rcp.ui:default"/>
+<setEntry value="org.eclipse.emf.compare:default"/>
+<setEntry value="org.eclipse.emf.converter:default"/>
+<setEntry value="org.eclipse.emf.databinding.edit:default"/>
+<setEntry value="org.eclipse.emf.databinding:default"/>
+<setEntry value="org.eclipse.emf.ecore.edit:default"/>
+<setEntry value="org.eclipse.emf.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore.lib:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore.ui:default"/>
+<setEntry value="org.eclipse.emf.ecore.xcore:default"/>
+<setEntry value="org.eclipse.emf.ecore:default"/>
+<setEntry value="org.eclipse.emf.edit.ui:default"/>
+<setEntry value="org.eclipse.emf.edit:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore.editor:default"/>
+<setEntry value="org.eclipse.emf.mapping.ecore:default"/>
+<setEntry value="org.eclipse.emf.mapping.ui:default"/>
+<setEntry value="org.eclipse.emf.mapping:default"/>
+<setEntry value="org.eclipse.emf.mwe.core.feature:default"/>
+<setEntry value="org.eclipse.emf.mwe.ui.feature:default"/>
+<setEntry value="org.eclipse.emf.mwe2.language.sdk:default"/>
+<setEntry value="org.eclipse.emf.mwe2.launcher.source:default"/>
+<setEntry value="org.eclipse.emf.mwe2.launcher:default"/>
+<setEntry value="org.eclipse.emf.mwe2.runtime.sdk:default"/>
+<setEntry value="org.eclipse.emf.transaction:default"/>
+<setEntry value="org.eclipse.emf.validation.ocl:default"/>
+<setEntry value="org.eclipse.emf.validation:default"/>
+<setEntry value="org.eclipse.emf.workspace:default"/>
+<setEntry value="org.eclipse.emf:default"/>
+<setEntry value="org.eclipse.equinox.compendium.sdk:default"/>
+<setEntry value="org.eclipse.equinox.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.core.sdk:default"/>
+<setEntry value="org.eclipse.equinox.executable:default"/>
+<setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.discovery.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
+<setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
+<setEntry value="org.eclipse.equinox.sdk:default"/>
+<setEntry value="org.eclipse.equinox.server.core:default"/>
+<setEntry value="org.eclipse.equinox.server.jetty:default"/>
+<setEntry value="org.eclipse.equinox.server.p2:default"/>
+<setEntry value="org.eclipse.equinox.serverside.sdk:default"/>
+<setEntry value="org.eclipse.fx.ide.basic.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.converter.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.css.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.fxgraph.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.fxml.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.gmod.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.l10n.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.ldef.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.m2e.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.pde.feature:default"/>
+<setEntry value="org.eclipse.fx.ide.rrobot.feature:default"/>
+<setEntry value="org.eclipse.fx.runtime.min.feature:default"/>
+<setEntry value="org.eclipse.gef:default"/>
+<setEntry value="org.eclipse.gmf.runtime.notation:default"/>
+<setEntry value="org.eclipse.gmf.runtime.thirdparty:default"/>
+<setEntry value="org.eclipse.gmf:default"/>
+<setEntry value="org.eclipse.help:default"/>
+<setEntry value="org.eclipse.jdt:default"/>
+<setEntry value="org.eclipse.jgit.http.apache:default"/>
+<setEntry value="org.eclipse.jgit.ssh.apache:default"/>
+<setEntry value="org.eclipse.jgit:default"/>
+<setEntry value="org.eclipse.m2e.feature:default"/>
+<setEntry value="org.eclipse.ocl:default"/>
+<setEntry value="org.eclipse.pde:default"/>
+<setEntry value="org.eclipse.platform:default"/>
+<setEntry value="org.eclipse.rcp:default"/>
+<setEntry value="org.eclipse.sirius.runtime.acceleo:default"/>
+<setEntry value="org.eclipse.sirius.runtime.aql:default"/>
+<setEntry value="org.eclipse.sirius.runtime.ide.ui:default"/>
+<setEntry value="org.eclipse.sirius.runtime:default"/>
+<setEntry value="org.eclipse.sirius.specifier.ide.ui.acceleo:default"/>
+<setEntry value="org.eclipse.sphinx.core:default"/>
+<setEntry value="org.eclipse.sphinx.emf.check:default"/>
+<setEntry value="org.eclipse.sphinx.emf.compare:default"/>
+<setEntry value="org.eclipse.sphinx.emf.editors.forms:default"/>
+<setEntry value="org.eclipse.sphinx.emf.editors:default"/>
+<setEntry value="org.eclipse.sphinx.emf.metamodelgen:default"/>
+<setEntry value="org.eclipse.sphinx.emf.mwe.dynamic:default"/>
+<setEntry value="org.eclipse.sphinx.emf.navigators:default"/>
+<setEntry value="org.eclipse.sphinx.emf.search:default"/>
+<setEntry value="org.eclipse.sphinx.emf.serialization.generators:default"/>
+<setEntry value="org.eclipse.sphinx.emf.serialization:default"/>
+<setEntry value="org.eclipse.sphinx.emf.validation:default"/>
+<setEntry value="org.eclipse.sphinx.gmf.editors:default"/>
+<setEntry value="org.eclipse.sphinx.jdtpde:default"/>
+<setEntry value="org.eclipse.sphinx.xtendxpand:default"/>
+<setEntry value="org.eclipse.sphinx:default"/>
+<setEntry value="org.eclipse.uml2.codegen.ecore.ui:default"/>
+<setEntry value="org.eclipse.uml2.common.edit:default"/>
+<setEntry value="org.eclipse.uml2.common:default"/>
+<setEntry value="org.eclipse.uml2.uml.edit:default"/>
+<setEntry value="org.eclipse.uml2.uml:default"/>
+<setEntry value="org.eclipse.uml2:default"/>
+<setEntry value="org.eclipse.wst.common_core.feature:default"/>
+<setEntry value="org.eclipse.wst.common_ui.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.chromium.debug.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.feature:default"/>
+<setEntry value="org.eclipse.wst.jsdt.nodejs.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_core.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_ui.feature:default"/>
+<setEntry value="org.eclipse.wst.xml_userdoc.feature:default"/>
+<setEntry value="org.eclipse.xpand.ui:default"/>
+<setEntry value="org.eclipse.xpand:default"/>
+<setEntry value="org.eclipse.xsd.ecore.converter:default"/>
+<setEntry value="org.eclipse.xsd.edit:default"/>
+<setEntry value="org.eclipse.xsd.editor:default"/>
+<setEntry value="org.eclipse.xsd.mapping:default"/>
+<setEntry value="org.eclipse.xsd:default"/>
+<setEntry value="org.eclipse.xtend.dependencies:default"/>
+<setEntry value="org.eclipse.xtend.sdk:default"/>
+<setEntry value="org.eclipse.xtend.typesystem.emf:default"/>
+<setEntry value="org.eclipse.xtend.ui:default"/>
+<setEntry value="org.eclipse.xtend:default"/>
+<setEntry value="org.eclipse.xtext.docs:default"/>
+<setEntry value="org.eclipse.xtext.examples:default"/>
+<setEntry value="org.eclipse.xtext.redist:default"/>
+<setEntry value="org.eclipse.xtext.runtime:default"/>
+<setEntry value="org.eclipse.xtext.sdk:default"/>
+<setEntry value="org.eclipse.xtext.ui:default"/>
+<setEntry value="org.eclipse.xtext.xbase.lib:default"/>
+<setEntry value="org.eclipse.xtext.xbase:default"/>
+<setEntry value="org.eclipse.xtext.xtext.ui.graph:default"/>
+<setEntry value="org.eclipse.xtext.xtext.ui:default"/>
+</setAttribute>
+<setAttribute key="selected_target_bundles">
+<setEntry value="org.eclipse.core.contenttype@default:default"/>
+<setEntry value="org.eclipse.core.jobs@default:default"/>
+<setEntry value="org.eclipse.equinox.app@default:default"/>
+<setEntry value="org.eclipse.equinox.common@2:true"/>
+<setEntry value="org.eclipse.equinox.preferences@default:default"/>
+<setEntry value="org.eclipse.equinox.registry@default:default"/>
+</setAttribute>
+<setAttribute key="selected_workspace_bundles">
+<setEntry value="app4mc.example.transform.app@default:default"/>
+<setEntry value="app4mc.example.transform.m2m@default:default"/>
+<setEntry value="app4mc.example.transform.m2t@default:default"/>
+<setEntry value="app4mc.example.transform.samplemodel@default:default"/>
+<setEntry value="org.eclipse.app4mc.transformation.application@5:false"/>
+<setEntry value="org.eclipse.app4mc.transformation.extensions@default:default"/>
+</setAttribute>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="usefeatures" value="false"/>
+</launchConfiguration>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input.properties
index 072afc1..13ca09a 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input.properties
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input.properties
@@ -13,4 +13,7 @@
m2m_output_folder=./output/m2m_output_models
m2t_output_folder=./output/m2t_output_text_files
log_file=./output/transformation.txt
-tranformationConfigIDs=app4mc.example.transform.m2m.config;app4mc.example.transform.m2t.config
\ No newline at end of file
+m2mTransformers.target=(transformation=Amalthea2SampleModel)
+allModelToModelConfig.target=(transformation=Amalthea2SampleModel)
+m2tTransformers.target=(transformation=Amalthea2Text)
+allModelToTextConfig.target=(transformation=Amalthea2Text)
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input/amalthea_models/democar.amxmi b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input/amalthea_models/democar.amxmi
index 276723b..b0da661 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input/amalthea_models/democar.amxmi
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/input/amalthea_models/democar.amxmi
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.8" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
+<am:Amalthea xmlns:am="http://app4mc.eclipse.org/amalthea/0.9.9" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<commonElements>
<tags name="SwcEngineController" tagType="SOFTWARE_COMPONENT" />
<tags name="SwcActuators" tagType="SOFTWARE_COMPONENT" />
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/plugin.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/plugin.xml
index 878ad69..5e71408 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/plugin.xml
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/plugin.xml
@@ -1,27 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application
- visible="true">
- <run
- class="app4mc.example.transform.app.SampleApplication">
- </run>
- </application>
- </extension>
+
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="app4mc.example.transform.app.application"
- name="Example: Sample Model Transformation">
- <property
- name="appName"
- value="Example: Sample Model Transformation">
- </property>
- </product>
- </extension>
+
</plugin>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/src/.gitignore b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/src/.gitignore
similarity index 100%
rename from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/src/.gitignore
rename to eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/src/.gitignore
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/src/app4mc/example/transform/app/SampleApplication.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/src/app4mc/example/transform/app/SampleApplication.java
deleted file mode 100644
index 5833df0..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/src/app4mc/example/transform/app/SampleApplication.java
+++ /dev/null
@@ -1,104 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package app4mc.example.transform.app;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.transformation.application.base.Application;
-import org.eclipse.equinox.app.IApplicationContext;
-
-public class SampleApplication extends Application {
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- return super.start(context);
- }
-
- @Override
- protected Properties getInputParameters(IApplicationContext context) throws IOException, FileNotFoundException {
-
-
-
- String[] args = (String[]) context.getArguments().get("application.args");
-
- if (args != null && args.length > 0) {
-
- String inputPropsFile = args[1];
-
- File propertiesFile = new File(inputPropsFile);
-
- Properties properties = new Properties();
-
- properties.load(new FileInputStream(propertiesFile));
-
- //Now checking if the user has specified absolute paths in the properties file ?
-
- Object inputModelsFolder = properties.get("input_models_folder");
- Object m2m_outputModelsFolder = properties.get("m2m_output_folder");
- Object m2t_output_folder = properties.get("m2t_output_folder");
- Object logFile = properties.get("log_file");
-
- if(inputModelsFolder !=null) {
- String path=inputModelsFolder.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath() ;
-
- properties.put("input_models_folder", newPath);
-
- }
- if(m2m_outputModelsFolder !=null) {
- String path=m2m_outputModelsFolder.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath();
-
- properties.put("m2m_output_folder", newPath);
-
- }
- if(m2t_output_folder !=null) {
- String path=m2t_output_folder.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath();
-
- properties.put("m2t_output_folder", newPath);
-
- }
- if(logFile !=null) {
- String path=logFile.toString();
-
- String newPath=new File(path).exists()?path:new File(propertiesFile.getParent()+File.separator+ path).getCanonicalPath() ;
-
- properties.put("log_file", newPath);
-
- }
-
-
- return properties;
- }
-
- return null;
-
- }
-
- @Override
- protected Logger getLogger(Properties inputParameters) {
- return super.getLogger(inputParameters);
- }
-}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/.project
index c0d8489..b21d132 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/.project
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/.project
@@ -39,6 +39,11 @@
</dictionary>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/META-INF/MANIFEST.MF
index 255d19d..400ac88 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/META-INF/MANIFEST.MF
@@ -2,13 +2,30 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Example - M2M
Bundle-SymbolicName: app4mc.example.transform.m2m;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Eclipse APP4MC
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: com.google.inject;bundle-version="3.0.0",
- org.apache.log4j;bundle-version="1.2.15",
org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.app4mc.amalthea.model;visibility:=reexport,
- org.eclipse.app4mc.transformation.extensions,
- app4mc.example.transform.samplemodel
+ app4mc.example.transform.samplemodel,
+ org.eclipse.app4mc.amalthea.model;bundle-version="0.9.9"
Automatic-Module-Name: app4mc.example.transform.m2m
+Import-Package: javax.inject;version="1.0.0",
+ org.apache.felix.service.command;version="1.0.0",
+ org.eclipse.app4mc.transformation.application.base,
+ org.eclipse.app4mc.transformation.extensions,
+ org.eclipse.app4mc.transformation.extensions.base.templates,
+ org.eclipse.app4mc.transformation.extensions.executiontype,
+ org.osgi.service.component;version="1.4.0",
+ org.osgi.service.component.annotations;version="1.3.0",
+ org.slf4j;version="1.7.2"
+Service-Component: OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml,
+ OSGI-INF/templates.SWTransformer.xml,
+ OSGI-INF/templates.OSTransformer.xml,
+ OSGI-INF/templates.MappingTransformer.xml,
+ OSGI-INF/templates.LabelTransformer.xml,
+ OSGI-INF/templates.HWTransformer.xml,
+ OSGI-INF/configuration.M2MTransformationConfig.xml,
+ OSGI-INF/templates.AmaltheaModel2ModelTransformer.xml
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/configuration.M2MTransformationConfig.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/configuration.M2MTransformationConfig.xml
new file mode 100644
index 0000000..3d6f6ad
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/configuration.M2MTransformationConfig.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="configuration.M2MTransformationConfig">
+ <property name="transformation" value="Amalthea2SampleModel"/>
+ <service>
+ <provide interface="org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig"/>
+ </service>
+ <reference cardinality="1..1" field="amaltheaMultiFileLoader" interface="model.loader.IMultiFileLoader" name="amaltheaMultiFileLoader"/>
+ <reference cardinality="1..1" field="iCustomObjectsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="iCustomObjectsStore"/>
+ <implementation class="configuration.M2MTransformationConfig"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml
new file mode 100644
index 0000000..9cfb49f
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="model.loader.AmaltheaMultiFileLoader">
+ <service>
+ <provide interface="model.loader.IMultiFileLoader"/>
+ </service>
+ <implementation class="model.loader.AmaltheaMultiFileLoader"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.AmaltheaModel2ModelTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.AmaltheaModel2ModelTransformer.xml
new file mode 100644
index 0000000..60b0f1c
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.AmaltheaModel2ModelTransformer.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.AmaltheaModel2ModelTransformer">
+ <property name="transformation" value="Amalthea2SampleModel"/>
+ <service>
+ <provide interface="org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer"/>
+ </service>
+ <reference cardinality="1..1" field="customObjsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjsStore"/>
+ <reference cardinality="1..1" field="hw" interface="templates.HWTransformer" name="hw" scope="prototype_required"/>
+ <reference cardinality="1..1" field="mt" interface="templates.MappingTransformer" name="mt" scope="prototype_required"/>
+ <reference cardinality="1..1" field="os" interface="templates.OSTransformer" name="os" scope="prototype_required"/>
+ <reference cardinality="1..1" field="sw" interface="templates.SWTransformer" name="sw" scope="prototype_required"/>
+ <implementation class="templates.AmaltheaModel2ModelTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.HWTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.HWTransformer.xml
new file mode 100644
index 0000000..fc2cc55
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.HWTransformer.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.HWTransformer">
+ <service scope="prototype">
+ <provide interface="templates.HWTransformer"/>
+ </service>
+ <reference cardinality="1..1" field="customObjsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjsStore"/>
+ <implementation class="templates.HWTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.LabelTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.LabelTransformer.xml
new file mode 100644
index 0000000..a3f589d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.LabelTransformer.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.LabelTransformer">
+ <service scope="prototype">
+ <provide interface="org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer"/>
+ </service>
+ <implementation class="templates.LabelTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.MappingTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.MappingTransformer.xml
new file mode 100644
index 0000000..7e009fa
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.MappingTransformer.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.MappingTransformer">
+ <service scope="prototype">
+ <provide interface="templates.MappingTransformer"/>
+ </service>
+ <reference cardinality="1..1" field="customObjsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjsStore"/>
+ <implementation class="templates.MappingTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.OSTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.OSTransformer.xml
new file mode 100644
index 0000000..2f6a5fa
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.OSTransformer.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.OSTransformer">
+ <service scope="prototype">
+ <provide interface="templates.OSTransformer"/>
+ </service>
+ <implementation class="templates.OSTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.SWTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.SWTransformer.xml
new file mode 100644
index 0000000..7d8a2fc
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/OSGI-INF/templates.SWTransformer.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.SWTransformer">
+ <service scope="prototype">
+ <provide interface="templates.SWTransformer"/>
+ </service>
+ <implementation class="templates.SWTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/build.properties
index 67e32c5..b638bf2 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/build.properties
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/build.properties
@@ -9,13 +9,12 @@
# Robert Bosch GmbH - initial API and implementation
#
# *******************************************************************************
-source.. = src/,\
- xtend-gen/
+source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
about.html,\
- epl-2.0.html
+ epl-2.0.html,\
+ OSGI-INF/
src.includes = epl-2.0.html,\
about.html
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/lib/amalthea.jar b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/lib/amalthea.jar
new file mode 100644
index 0000000..93f30e3
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/lib/amalthea.jar
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/plugin.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/plugin.xml
deleted file mode 100644
index 1aeb4ab..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.app4mc.transformation.configuration">
- <config
- enabled="true"
- id="app4mc.example.transform.m2m.config"
- m2m_class="configuration.M2MTransformation"
- module_class="module.DefaultM2MInjectorModule">
- </config>
- </extension>
-</plugin>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformation.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformation.java
deleted file mode 100644
index d1e05ae..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformation.java
+++ /dev/null
@@ -1,92 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package configuration;
-
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import SampleModel.SampleModelPackage;
-import model.loader.AmaltheaMultiFileLoader;
-
-public class M2MTransformation implements IModelToModelConfig {
-
- private Properties parameters;
-
- private Logger logger ;
-
- public M2MTransformation() {
- }
-
- @Override
- public ResourceSet getInputResourceSet() {
-
- if (parameters != null) {
-
- String folderPath = parameters.getProperty("input_models_folder");
-
- if (folderPath != null) {
-
- ResourceSet resourceSet = new AmaltheaMultiFileLoader().loadMultipleFiles(folderPath);
-
- if(resourceSet.getResources().size()==0) {
- logger.error("no Amalthea model files are loaded. Verify if the model version is : " + AmaltheaFactory.eINSTANCE.createAmalthea().getVersion());
- }
-
- return resourceSet;
- } else {
- logger.error("input_models_folder parameter not set",
- new NullPointerException("input_models_folder property not set"));
- }
-
- } else {
- logger.error("Parameters object not set ", new NullPointerException("Parameter object is null"));
- }
- return null;
- }
-
- @Override
- public ResourceSet getOuputResourceSet() {
-
- ResourceSet outputRurceSet = new ResourceSetImpl();
-
- outputRurceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
- outputRurceSet.getPackageRegistry().put(SampleModelPackage.eNS_URI, SampleModelPackage.eINSTANCE);
-
- return outputRurceSet;
- }
-
- @Override
- public void setProperties(Properties parameters) {
-
- this.parameters = parameters;
- }
-
- @Override
- public void setLogger(Logger logger) {
-
- this.logger = logger;
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformationConfig.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformationConfig.java
new file mode 100644
index 0000000..c7b27e8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/configuration/M2MTransformationConfig.java
@@ -0,0 +1,84 @@
+ /**
+ ********************************************************************************
+ * Copyright (c) 2018 Robert Bosch GmbH.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+
+package configuration;
+
+import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore;
+import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.slf4j.Logger;
+
+import SampleModel.SampleModelPackage;
+import model.loader.IMultiFileLoader;
+
+@Component(
+ property= {
+// CommandProcessor.COMMAND_SCOPE + ":String=app4mc",
+ "transformation=Amalthea2SampleModel"
+ },
+ service=IModelToModelConfig.class
+ )
+public class M2MTransformationConfig implements IModelToModelConfig {
+
+ @Reference
+ private ICustomObjectsStore iCustomObjectsStore;
+
+ @Reference
+ private IMultiFileLoader amaltheaMultiFileLoader;
+
+ public ResourceSet getInputResourceSet() {
+
+ Logger logger = iCustomObjectsStore.getInstance(Logger.class);
+
+ String folderPath = iCustomObjectsStore.getData("input_models_folder");
+
+ if (folderPath != null) {
+
+ ResourceSet resourceSet = amaltheaMultiFileLoader.loadMultipleFiles(folderPath);
+
+ if(resourceSet.getResources().size()==0) {
+ logger.error("no Amalthea model files are loaded. Verify if the model version is : " + AmaltheaFactory.eINSTANCE.createAmalthea().getVersion());
+ }
+
+ return resourceSet;
+ } else {
+ logger.error("input_models_folder parameter not set",
+ new NullPointerException("input_models_folder property not set"));
+ }
+
+
+ return null;
+ }
+
+ public ResourceSet getOuputResourceSet() {
+
+ ResourceSet outputRurceSet = new ResourceSetImpl();
+
+ outputRurceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
+
+ outputRurceSet.getPackageRegistry().put(SampleModelPackage.eNS_URI, SampleModelPackage.eINSTANCE);
+
+ return outputRurceSet;
+ }
+
+
+}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/AmaltheaMultiFileLoader.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/AmaltheaMultiFileLoader.java
index 9935af7..1567072 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/AmaltheaMultiFileLoader.java
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/AmaltheaMultiFileLoader.java
@@ -31,8 +31,10 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.sphinx.emf.resource.ExtendedResourceSet;
import org.eclipse.sphinx.emf.resource.ExtendedResourceSetImpl;
+import org.osgi.service.component.annotations.Component;
-public class AmaltheaMultiFileLoader {
+@Component(service = IMultiFileLoader.class)
+public class AmaltheaMultiFileLoader implements IMultiFileLoader{
public ResourceSet loadMultipleFiles(String directoryPath) {
@@ -78,7 +80,7 @@
}
}
} catch (IOException e) {
- // ignore
+ System.err.println(e.getMessage());
}
}
return models;
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/IMultiFileLoader.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/IMultiFileLoader.java
new file mode 100644
index 0000000..191ed90
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/model/loader/IMultiFileLoader.java
@@ -0,0 +1,8 @@
+package model.loader;
+
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+public interface IMultiFileLoader {
+
+ public ResourceSet loadMultipleFiles(String directoryPath);
+}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/module/DefaultM2MInjectorModule.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/module/DefaultM2MInjectorModule.java
deleted file mode 100644
index f735c6b..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/module/DefaultM2MInjectorModule.java
+++ /dev/null
@@ -1,37 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package module;
-
-import org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule;
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer;
-
-import templates.AmaltheaModel2ModelTransformer;
-
-public class DefaultM2MInjectorModule extends AbstractTransformationInjectorModule {
-
-
- @Override
- protected void initializeBaseConfiguration() {
- bind(Model2ModelRootTransformer.class).to(AmaltheaModel2ModelTransformer.class);
- }
-
- @Override
- protected void initializeTransformerObjects() {
- // add custom transformer binding in this method
-
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/AmaltheaModel2ModelTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/AmaltheaModel2ModelTransformer.xtend
index e2ef1da..8924aa8 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/AmaltheaModel2ModelTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/AmaltheaModel2ModelTransformer.xtend
@@ -12,29 +12,47 @@
package templates
import SampleModel.SampleModelFactory
-import com.google.inject.Inject
import java.io.File
import org.eclipse.app4mc.amalthea.model.Amalthea
import org.eclipse.app4mc.amalthea.model.HWModel
import org.eclipse.app4mc.amalthea.model.MappingModel
import org.eclipse.app4mc.amalthea.model.OSModel
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer
import org.eclipse.emf.common.util.URI
import org.eclipse.emf.ecore.resource.ResourceSet
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.Reference
+import org.osgi.service.component.annotations.ReferencePolicyOption
+import org.osgi.service.component.annotations.ReferenceScope
+@Component(property=#[
+// CommandProcessor.COMMAND_SCOPE + ":String=app4mc",
+ "transformation=Amalthea2SampleModel"
+], service=Model2ModelRootTransformer)
class AmaltheaModel2ModelTransformer extends Model2ModelRootTransformer {
+ @Reference
+ ICustomObjectsStore customObjsStore
+
/*- Factory initiaization */
val outputModelFactory = SampleModelFactory.eINSTANCE
- /*- Transformer classes initiaization */
- @Inject extension SWTransformer sw
+ @Reference( scope=ReferenceScope.
+ PROTOTYPE_REQUIRED)
+ SWTransformer sw
- @Inject extension HWTransformer hw
+ @Reference ( scope=ReferenceScope.
+ PROTOTYPE_REQUIRED)
+ HWTransformer hw
- @Inject extension OSTransformer os
+ @Reference( scope=ReferenceScope.
+ PROTOTYPE_REQUIRED)
+ OSTransformer os
- @Inject extension MappingTransformer mt
+ @Reference( scope=ReferenceScope.
+ PROTOTYPE_REQUIRED)
+ MappingTransformer mt
override m2mTransformation(ResourceSet inputResourceSet, ResourceSet outputResourceSet) {
@@ -43,12 +61,12 @@
for (resource : inputResourceSet.resources) {
for (content : resource.contents) {
// content is a Amalthea model
- logger.info("Processing file : " + resource.URI)
+ customObjsStore.getLogger.info("Processing file : " + resource.URI)
val simulationModelRoot = transform(content as Amalthea)
val out_uri = URI.createFileURI(
- getProperty("m2m_output_folder") + File.separator + fileIndex++ + ".root")
+ getProperty("m2m_output_folder",customObjsStore) + File.separator + fileIndex++ + ".root")
val out_resource = outputResourceSet.createResource(out_uri)
@@ -56,7 +74,7 @@
out_resource.save(null)
- logger.info("Transformed model file generated at : " + out_uri)
+ customObjsStore.logger.info("Transformed model file generated at : " + out_uri)
}
}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/HWTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/HWTransformer.xtend
index 00ca1d6..64d8f18 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/HWTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/HWTransformer.xtend
@@ -16,9 +16,18 @@
import org.eclipse.app4mc.amalthea.model.AmaltheaFactory
import org.eclipse.app4mc.amalthea.model.HWModel
import org.eclipse.app4mc.amalthea.model.Memory
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.Reference
+import org.osgi.service.component.annotations.ServiceScope
-public class HWTransformer extends AbstractTransformer {
+@Component(scope=ServiceScope.PROTOTYPE, service =HWTransformer)
+public class HWTransformer extends AbstractTransformer implements ISubTransformer{
+
+ @Reference
+ ICustomObjectsStore customObjsStore
def OSTransformer getOS() {
return customObjsStore.getInstance(OSTransformer)
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/LabelTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/LabelTransformer.xtend
index a9c60e5..42ee7f5 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/LabelTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/LabelTransformer.xtend
@@ -11,5 +11,12 @@
package templates
-class LabelTransformer {
+import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.ServiceScope
+
+@Component(scope=ServiceScope.PROTOTYPE)
+public class LabelTransformer extends AbstractTransformer implements ISubTransformer{
+
}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/MappingTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/MappingTransformer.xtend
index 5d0f319..e176b4d 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/MappingTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/MappingTransformer.xtend
@@ -16,9 +16,18 @@
import org.eclipse.app4mc.amalthea.model.AmaltheaFactory
import org.eclipse.app4mc.amalthea.model.MappingModel
import org.eclipse.app4mc.amalthea.model.TaskScheduler
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.Reference
+import org.osgi.service.component.annotations.ServiceScope
-public class MappingTransformer extends AbstractTransformer {
+@Component(scope=ServiceScope.PROTOTYPE, service=MappingTransformer)
+public class MappingTransformer extends AbstractTransformer implements ISubTransformer {
+
+ @Reference
+ ICustomObjectsStore customObjsStore
def HWTransformer hwTransformer() {
return customObjsStore.getInstance(HWTransformer)
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/OSTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/OSTransformer.xtend
index 0e0bd0e..8e00534 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/OSTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/OSTransformer.xtend
@@ -14,10 +14,14 @@
import SampleModel.Model
import SampleModel.SampleModelFactory
import org.eclipse.app4mc.amalthea.model.OSModel
-import org.eclipse.app4mc.amalthea.model.TaskScheduler
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.ServiceScope
+import org.eclipse.app4mc.amalthea.model.TaskScheduler
-public class OSTransformer extends AbstractTransformer {
+@Component(scope=ServiceScope.PROTOTYPE,service =OSTransformer)
+public class OSTransformer extends AbstractTransformer implements ISubTransformer{
/*- Factory initiaization */
val outputModelFactory = SampleModelFactory.eINSTANCE
@@ -25,9 +29,9 @@
public def transfromOSModel(OSModel amaltheaOSModel, Model simulationModel) {
amaltheaOSModel.operatingSystems.forEach [ amltOs |
-
- amltOs.taskSchedulers.forEach [
- var simulationScheduler = createScheduler(it)
+
+ amltOs.taskSchedulers.forEach [a|
+ var simulationScheduler = createScheduler(a as TaskScheduler)
if (simulationScheduler.eContainer === null) {
simulationModel.schedulers.add(simulationScheduler)
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/SWTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/SWTransformer.xtend
index b10448b..fd236fc 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/SWTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2m/src/templates/SWTransformer.xtend
@@ -12,8 +12,12 @@
package templates
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.ServiceScope
+import org.eclipse.app4mc.transformation.extensions.base.templates.ISubTransformer
-public class SWTransformer extends AbstractTransformer {
+@Component(scope=ServiceScope.PROTOTYPE, service=SWTransformer)
+public class SWTransformer extends AbstractTransformer implements ISubTransformer{
String name
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project
index 9221ed3..19af949 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/META-INF/MANIFEST.MF
index 2d3d8f9..abc7a5c 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/META-INF/MANIFEST.MF
@@ -1,8 +1,18 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Cust
-Bundle-SymbolicName: app4mc.example.transform.m2t.cust;singleton:=true
+Bundle-SymbolicName: app4mc.example.transform.m2t.cust
Bundle-Version: 1.0.0.qualifier
-Fragment-Host: app4mc.example.transform.m2t;bundle-version="0.3.0"
Automatic-Module-Name: app4mc.example.transform.m2t.cust
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.app4mc.amalthea.model;bundle-version="0.9.9"
+Import-Package: org.eclipse.app4mc.transformation.application.base,
+ org.eclipse.app4mc.transformation.extensions,
+ org.eclipse.app4mc.transformation.extensions.base.templates,
+ org.eclipse.app4mc.transformation.extensions.executiontype,
+ org.osgi.service.component.annotations;version="1.3.0";resolution:=optional,
+ org.slf4j;version="1.7.2",
+ templates
+Export-Package: custTemplates
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/custTemplates.CustTransformer.xml
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/OSGI-INF/custTemplates.CustTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/OSGI-INF/custTemplates.CustTransformer.xml
new file mode 100644
index 0000000..038e0d6
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/OSGI-INF/custTemplates.CustTransformer.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="custTemplates.CustTransformer">
+ <property name="service.ranking" type="Integer" value="10"/>
+ <service>
+ <provide interface="templates.M2T_Output_Transformer"/>
+ </service>
+ <implementation class="custTemplates.CustTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/build.properties
index e3023e1..7aadc59 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/build.properties
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/build.properties
@@ -2,4 +2,4 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- fragment.xml
+ OSGI-INF/custTemplates.CustTransformer.xml
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/fragment.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/fragment.xml
deleted file mode 100644
index e83f305..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/fragment.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<fragment>
- <extension
- point="org.eclipse.app4mc.transformation.configuration">
- <config
- enabled="true"
- id="app4mc.example.transform.m2t.cust1.config1"
- m2t_class="configuration.M2TTransformation"
- module_class="custmodule.CustM2TInjectorModule">
- </config>
- </extension>
-
-</fragment>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custTemplates/CustTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custTemplates/CustTransformer.xtend
index ce89b9e..e0f7ed8 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custTemplates/CustTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custTemplates/CustTransformer.xtend
@@ -1,15 +1,17 @@
package custTemplates
import org.eclipse.app4mc.amalthea.model.Amalthea
+import org.osgi.service.component.annotations.Component
import templates.M2T_Output_Transformer
+@Component(property=#["service.ranking:Integer=10"],service=M2T_Output_Transformer)
class CustTransformer extends M2T_Output_Transformer {
/**
* Creates output with a "template only" style (like Xpand/Xtend).
*/
override String generateOutput1(Amalthea amalthea) '''
Customer template
- «super.generateOutput1(amalthea)»
+ «super.generateOutput1(amalthea)»
'''
@@ -19,6 +21,6 @@
*/
override String generateOutput2(Amalthea amalthea) '''
Customer template
- «super.generateOutput2(amalthea)»
+ «super.generateOutput2(amalthea)»
'''
}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custmodule/CustM2TInjectorModule.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custmodule/CustM2TInjectorModule.java
deleted file mode 100644
index 700a50f..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custmodule/CustM2TInjectorModule.java
+++ /dev/null
@@ -1,32 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package custmodule;
-
-import custTemplates.CustTransformer;
-import module.DefaultM2TInjectorModule;
-import templates.M2T_Output_Transformer;
-
-public class CustM2TInjectorModule extends DefaultM2TInjectorModule {
-
-
- @Override
- protected void initializeBaseConfiguration() {
- super.initializeBaseConfiguration();
- bind(M2T_Output_Transformer.class).to(CustTransformer.class);
- }
-
-
-}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/.project
index fed83d7..a04111c 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/.project
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/.project
@@ -39,6 +39,11 @@
</dictionary>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/META-INF/MANIFEST.MF
index d7e8c84..b3323d3 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/META-INF/MANIFEST.MF
@@ -2,13 +2,27 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Example - M2T
Bundle-SymbolicName: app4mc.example.transform.m2t;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Eclipse APP4MC
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: com.google.inject;bundle-version="3.0.0",
- org.apache.log4j;bundle-version="1.2.15",
org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.app4mc.amalthea.model;visibility:=reexport,
- org.eclipse.app4mc.transformation.extensions
-Export-Package: module
+ org.eclipse.app4mc.amalthea.model;bundle-version="0.9.9"
Automatic-Module-Name: app4mc.example.transform.m2t
+Service-Component: OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml,
+ OSGI-INF/templates.AmaltheaModel2TextTransformer.xml,
+ OSGI-INF/configuration.M2TTransformationConfig.xml,
+ OSGI-INF/templates.M2T_Output_Transformer.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: org.apache.felix.service.command;version="1.0.0",
+ org.eclipse.app4mc.transformation.application.base,
+ org.eclipse.app4mc.transformation.extensions,
+ org.eclipse.app4mc.transformation.extensions.base.templates,
+ org.eclipse.app4mc.transformation.extensions.executiontype,
+ org.osgi.service.component;version="1.4.0",
+ org.osgi.service.component.annotations;version="1.3.0",
+ org.slf4j;version="1.7.2"
+Export-Package: configuration,
+ model.loader,
+ templates
+Bundle-ClassPath: .
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/configuration.M2TTransformationConfig.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/configuration.M2TTransformationConfig.xml
new file mode 100644
index 0000000..50ac4d4
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/configuration.M2TTransformationConfig.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="configuration.M2TTransformationConfig">
+ <property name="transformation" value="Amalthea2Text"/>
+ <service>
+ <provide interface="org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig"/>
+ </service>
+ <reference cardinality="1..1" field="amaltheaMultiFileLoader" interface="model.loader.AmaltheaMultiFileLoader" name="amaltheaMultiFileLoader"/>
+ <reference cardinality="1..1" field="customObjsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjsStore"/>
+ <implementation class="configuration.M2TTransformationConfig"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml
new file mode 100644
index 0000000..6ea0cbb
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/model.loader.AmaltheaMultiFileLoader.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="model.loader.AmaltheaMultiFileLoader">
+ <service>
+ <provide interface="model.loader.AmaltheaMultiFileLoader"/>
+ </service>
+ <implementation class="model.loader.AmaltheaMultiFileLoader"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.AmaltheaModel2TextTransformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.AmaltheaModel2TextTransformer.xml
new file mode 100644
index 0000000..1f8ad42
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.AmaltheaModel2TextTransformer.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="templates.AmaltheaModel2TextTransformer">
+ <property name="transformation" value="Amalthea2Text"/>
+ <service>
+ <provide interface="org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer"/>
+ </service>
+ <reference cardinality="1..1" field="customObjsStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjsStore"/>
+ <reference cardinality="1..1" field="textGenerator" interface="templates.M2T_Output_Transformer" name="textGenerator"/>
+ <implementation class="templates.AmaltheaModel2TextTransformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.M2T_Output_Transformer.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.M2T_Output_Transformer.xml
new file mode 100644
index 0000000..9c6e18f
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/OSGI-INF/templates.M2T_Output_Transformer.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="templates.M2T_Output_Transformer">
+ <service>
+ <provide interface="templates.M2T_Output_Transformer"/>
+ </service>
+ <implementation class="templates.M2T_Output_Transformer"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/build.properties
index 67e32c5..09eb741 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/build.properties
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/build.properties
@@ -14,8 +14,8 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml,\
about.html,\
- epl-2.0.html
+ epl-2.0.html,\
+ OSGI-INF/
src.includes = epl-2.0.html,\
about.html
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/lib/amalthea.jar b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/lib/amalthea.jar
new file mode 100644
index 0000000..93f30e3
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/lib/amalthea.jar
Binary files differ
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/plugin.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/plugin.xml
deleted file mode 100644
index 2ed4b19..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.app4mc.transformation.configuration">
- <config
- enabled="true"
- id="app4mc.example.transform.m2t.config"
- m2t_class="configuration.M2TTransformation"
- module_class="module.DefaultM2TInjectorModule">
- </config>
- </extension>
-</plugin>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformation.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformationConfig.java
similarity index 61%
rename from eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformation.java
rename to eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformationConfig.java
index 6fd2684..c134ef2 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformation.java
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/configuration/M2TTransformationConfig.java
@@ -17,33 +17,46 @@
import java.util.Properties;
-import org.apache.log4j.Logger;
import org.eclipse.app4mc.amalthea.model.AmaltheaFactory;
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore;
import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.slf4j.Logger;
import model.loader.AmaltheaMultiFileLoader;
+@Component(
+ property= {
+// CommandProcessor.COMMAND_SCOPE + ":String=app4mc",
+ "transformation=Amalthea2Text"
+ },
+ service=IModelToTextConfig.class
+ )
+public class M2TTransformationConfig implements IModelToTextConfig {
-public class M2TTransformation implements IModelToTextConfig {
+ @Reference
+ private ICustomObjectsStore customObjsStore;
- private Properties parameters;
+
+ @Reference
+ private AmaltheaMultiFileLoader amaltheaMultiFileLoader;
- private Logger logger ;
-
- public M2TTransformation() {
- // TODO Auto-generated constructor stub
- }
@Override
public ResourceSet getInputResourceSet() {
- if (parameters != null) {
+ Properties properties = customObjsStore.getInstance(Properties.class);
- String folderPath = parameters.getProperty("input_models_folder");
+ Logger logger = customObjsStore.getInstance(Logger.class);
+
+ if (properties != null) {
+
+ String folderPath = properties.getProperty("input_models_folder");
if (folderPath != null) {
- ResourceSet resourceSet = new AmaltheaMultiFileLoader().loadMultipleFiles(folderPath);
+ ResourceSet resourceSet = amaltheaMultiFileLoader.loadMultipleFiles(folderPath);
if(resourceSet.getResources().size()==0) {
logger.error("no Amalthea model files are loaded. Verify if the model version is : " + AmaltheaFactory.eINSTANCE.createAmalthea().getVersion());
@@ -61,16 +74,8 @@
return null;
}
- @Override
- public void setProperties(Properties parameters) {
-
- this.parameters = parameters;
- }
+
- @Override
- public void setLogger(Logger logger) {
-
- this.logger = logger;
- }
+
}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/model/loader/AmaltheaMultiFileLoader.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/model/loader/AmaltheaMultiFileLoader.java
index 9935af7..265edaf 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/model/loader/AmaltheaMultiFileLoader.java
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/model/loader/AmaltheaMultiFileLoader.java
@@ -31,7 +31,10 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.sphinx.emf.resource.ExtendedResourceSet;
import org.eclipse.sphinx.emf.resource.ExtendedResourceSetImpl;
-
+import org.osgi.service.component.annotations.Component;
+@Component(
+ service=AmaltheaMultiFileLoader.class
+)
public class AmaltheaMultiFileLoader {
public ResourceSet loadMultipleFiles(String directoryPath) {
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/module/DefaultM2TInjectorModule.java b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/module/DefaultM2TInjectorModule.java
deleted file mode 100644
index 7e1bcb9..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/module/DefaultM2TInjectorModule.java
+++ /dev/null
@@ -1,37 +0,0 @@
- /**
- ********************************************************************************
- * Copyright (c) 2018 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package module;
-
-import org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule;
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer;
-
-import templates.AmaltheaModel2TextTransformer;
-
-public class DefaultM2TInjectorModule extends AbstractTransformationInjectorModule {
-
-
- @Override
- protected void initializeBaseConfiguration() {
- bind(Model2TextRootTransformer.class).to(AmaltheaModel2TextTransformer.class);
- }
-
- @Override
- protected void initializeTransformerObjects() {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/AmaltheaModel2TextTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/AmaltheaModel2TextTransformer.xtend
index aea52ce..8817ce6 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/AmaltheaModel2TextTransformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/AmaltheaModel2TextTransformer.xtend
@@ -14,41 +14,53 @@
import java.io.BufferedWriter
import java.io.File
import java.io.FileWriter
+import org.apache.felix.service.command.CommandProcessor
import org.eclipse.app4mc.amalthea.model.Amalthea
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
import org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer
import org.eclipse.emf.ecore.resource.ResourceSet
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.Reference
+import org.osgi.service.component.annotations.ReferencePolicyOption
+@Component(property=#[
+// CommandProcessor.COMMAND_SCOPE + ":String=app4mc",
+ "transformation=Amalthea2Text"
+], service=Model2TextRootTransformer)
class AmaltheaModel2TextTransformer extends Model2TextRootTransformer {
+ @Reference
+ ICustomObjectsStore customObjsStore
+
+ @Reference
+ M2T_Output_Transformer textGenerator
+
override m2tTransformation(ResourceSet inputResourceSet) {
for (resource : inputResourceSet.resources) {
for (model : resource.contents) {
// TODO: model is a Amalthea model
// check javadoc : https://www.eclipse.org/xtend/documentation/204_activeannotations.html#active-annotations-expression
- getLogger.info("Processing file : " + resource.URI)
+ customObjsStore.getLogger().info("Processing file : " + resource.URI)
- var String outputFolder = getProperty("m2t_output_folder");
- val textGenerator = new M2T_Output_Transformer
-
+ var String outputFolder = getProperty("m2t_output_folder", customObjsStore);
+// val textGenerator = new M2T_Output_Transformer
// ===== output 1 =====
-
- var outputFile1 = new File(outputFolder,"1.txt")
+ var outputFile1 = new File(outputFolder, "1.txt")
outputFile1.parentFile.mkdirs
outputFile1.createNewFile
if (model instanceof Amalthea) {
- val text = textGenerator.generateOutput1(model)
+ val text = textGenerator.generateOutput1(model as Amalthea)
/*saving buffer into file */
val bufferedWriter = new BufferedWriter(new FileWriter(outputFile1))
bufferedWriter.write(text)
bufferedWriter.close
}
-
+
// ===== output 2 =====
-
- var outputFile2 = new File(outputFolder , "2.txt")
+ var outputFile2 = new File(outputFolder, "2.txt")
outputFile2.parentFile.mkdirs
outputFile2.createNewFile
@@ -61,9 +73,8 @@
bufferedWriter.close
}
-
// TODO: save the file here
- logger.info("Script file generated at : " + outputFolder)
+ customObjsStore.logger.info("Script file generated at : " + outputFolder)
}
}
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/M2T_Output_Transformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/M2T_Output_Transformer.xtend
index a8131d1..df31d34 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/M2T_Output_Transformer.xtend
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/M2T_Output_Transformer.xtend
@@ -17,7 +17,9 @@
import org.eclipse.app4mc.amalthea.model.util.ModelUtil
import org.eclipse.app4mc.amalthea.model.util.SoftwareUtil
import org.eclipse.app4mc.transformation.extensions.base.templates.AbstractTransformer
+import org.osgi.service.component.annotations.Component
+@Component(service=M2T_Output_Transformer)
class M2T_Output_Transformer extends AbstractTransformer {
/**
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/META-INF/MANIFEST.MF
index 580b7eb..c79e578 100644
--- a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.samplemodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Example -Sample Model
Bundle-SymbolicName: app4mc.example.transform.samplemodel;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: Eclipse APP4MC
Bundle-Localization: plugin
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.gitignore b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.gitignore
new file mode 100644
index 0000000..7e902e8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.gitignore
@@ -0,0 +1 @@
+output/*
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.project
similarity index 83%
rename from eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project
rename to eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.project
index 562cae2..d1e520a 100644
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.app4mc.transformation.3rdparty.feature</name>
+ <name>app4mc.example.transform.cust.feature</name>
<comment></comment>
<projects>
</projects>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/feature.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/feature.xml
new file mode 100644
index 0000000..1f0a9b4
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.cust.feature/feature.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="app4mc.example.transform.cust.feature"
+ label="app4mc.example.transform.cust.features"
+ version="1.0.0.qualifier">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <includes
+ id="app4mc.example.transform.feature"
+ version="0.0.0"/>
+
+ <plugin
+ id="app4m.example.transform.cust.app"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="app4mc.example.transform.m2t.cust"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.gitignore b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.gitignore
new file mode 100644
index 0000000..7e902e8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.gitignore
@@ -0,0 +1 @@
+output/*
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.project
similarity index 83%
copy from eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project
copy to eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.project
index 562cae2..685ee28 100644
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.project
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.app4mc.transformation.3rdparty.feature</name>
+ <name>app4mc.example.transform.feature</name>
<comment></comment>
<projects>
</projects>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/feature.xml b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/feature.xml
new file mode 100644
index 0000000..ab425cb
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/features/app4mc.example.transform.feature/feature.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="app4mc.example.transform.feature"
+ label="app4mc.example.transform.feature"
+ version="1.0.0.qualifier">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+ <includes
+ id="org.eclipse.app4mc.transformation.core.feature"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.app4mc.amalthea.model"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="app4mc.example.transform.app"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="app4mc.example.transform.m2m"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="app4mc.example.transform.m2t"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="app4mc.example.transform.samplemodel"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/about.html b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/about.html
deleted file mode 100644
index 164f781..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>About</title>
-</head>
-<body lang="EN-US">
- <h2>About This Content</h2>
-
- <p>November 30, 2017</p>
- <h3>License</h3>
-
- <p>
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
- For purposes of the EPL, "Program" will mean the Content.
- </p>
-
- <p>
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at <a
- href="http://www.eclipse.org/">http://www.eclipse.org</a>.
- </p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/build.properties b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/build.properties
deleted file mode 100644
index f369aa8..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# *******************************************************************************
-# Copyright (c) 2018 Robert Bosch GmbH and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# Contributors:
-# Robert Bosch GmbH - initial API and implementation
-#
-# *******************************************************************************
-bin.includes = feature.xml,\
- epl-2.0.html,\
- about.html
-src.includes = about.html,\
- epl-2.0.html
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/epl-2.0.html b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/epl-2.0.html
deleted file mode 100644
index 637a181..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/epl-2.0.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Eclipse Public License - Version 2.0</title>
- <style type="text/css">
- body {
- margin: 1.5em 3em;
- }
- h1{
- font-size:1.5em;
- }
- h2{
- font-size:1em;
- margin-bottom:0.5em;
- margin-top:1em;
- }
- p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- }
- ul, ol{
- list-style-type:none;
- }
- </style>
- </head>
- <body>
- <h1>Eclipse Public License - v 2.0</h1>
- <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
- PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
- OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
- </p>
- <h2 id="definitions">1. DEFINITIONS</h2>
- <p>“Contribution” means:</p>
- <ul>
- <li>a) in the case of the initial Contributor, the initial content
- Distributed under this Agreement, and
- </li>
- <li>
- b) in the case of each subsequent Contributor:
- <ul>
- <li>i) changes to the Program, and</li>
- <li>ii) additions to the Program;</li>
- </ul>
- where such changes and/or additions to the Program originate from
- and are Distributed by that particular Contributor. A Contribution
- “originates” from a Contributor if it was added to the Program by such
- Contributor itself or anyone acting on such Contributor's behalf.
- Contributions do not include changes or additions to the Program that
- are not Modified Works.
- </li>
- </ul>
- <p>“Contributor” means any person or entity that Distributes the Program.</p>
- <p>“Licensed Patents” mean patent claims licensable by a Contributor which
- are necessarily infringed by the use or sale of its Contribution alone
- or when combined with the Program.
- </p>
- <p>“Program” means the Contributions Distributed in accordance with this
- Agreement.
- </p>
- <p>“Recipient” means anyone who receives the Program under this Agreement
- or any Secondary License (as applicable), including Contributors.
- </p>
- <p>“Derivative Works” shall mean any work, whether in Source Code or other
- form, that is based on (or derived from) the Program and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship.
- </p>
- <p>“Modified Works” shall mean any work in Source Code or other form that
- results from an addition to, deletion from, or modification of the
- contents of the Program, including, for purposes of clarity any new file
- in Source Code form that contains any contents of the Program. Modified
- Works shall not include works that contain only declarations, interfaces,
- types, classes, structures, or files of the Program solely in each case
- in order to link to, bind by name, or subclass the Program or Modified
- Works thereof.
- </p>
- <p>“Distribute” means the acts of a) distributing or b) making available
- in any manner that enables the transfer of a copy.
- </p>
- <p>“Source Code” means the form of a Program preferred for making
- modifications, including but not limited to software source code,
- documentation source, and configuration files.
- </p>
- <p>“Secondary License” means either the GNU General Public License,
- Version 2.0, or any later versions of that license, including any
- exceptions or additional permissions as identified by the initial
- Contributor.
- </p>
- <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
- <ul>
- <li>a) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free copyright
- license to reproduce, prepare Derivative Works of, publicly display,
- publicly perform, Distribute and sublicense the Contribution of such
- Contributor, if any, and such Derivative Works.
- </li>
- <li>b) Subject to the terms of this Agreement, each Contributor hereby
- grants Recipient a non-exclusive, worldwide, royalty-free patent
- license under Licensed Patents to make, use, sell, offer to sell,
- import and otherwise transfer the Contribution of such Contributor,
- if any, in Source Code or other form. This patent license shall
- apply to the combination of the Contribution and the Program if,
- at the time the Contribution is added by the Contributor, such
- addition of the Contribution causes such combination to be covered
- by the Licensed Patents. The patent license shall not apply to any
- other combinations which include the Contribution. No hardware per
- se is licensed hereunder.
- </li>
- <li>c) Recipient understands that although each Contributor grants the
- licenses to its Contributions set forth herein, no assurances are
- provided by any Contributor that the Program does not infringe the
- patent or other intellectual property rights of any other entity.
- Each Contributor disclaims any liability to Recipient for claims
- brought by any other entity based on infringement of intellectual
- property rights or otherwise. As a condition to exercising the rights
- and licenses granted hereunder, each Recipient hereby assumes sole
- responsibility to secure any other intellectual property rights needed,
- if any. For example, if a third party patent license is required to
- allow Recipient to Distribute the Program, it is Recipient's
- responsibility to acquire that license before distributing the Program.
- </li>
- <li>d) Each Contributor represents that to its knowledge it has sufficient
- copyright rights in its Contribution, if any, to grant the copyright
- license set forth in this Agreement.
- </li>
- <li>e) Notwithstanding the terms of any Secondary License, no Contributor
- makes additional grants to any Recipient (other than those set forth
- in this Agreement) as a result of such Recipient's receipt of the
- Program under the terms of a Secondary License (if permitted under
- the terms of Section 3).
- </li>
- </ul>
- <h2 id="requirements">3. REQUIREMENTS</h2>
- <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
- <ul>
- <li>a) the Program must also be made available as Source Code, in
- accordance with section 3.2, and the Contributor must accompany
- the Program with a statement that the Source Code for the Program
- is available under this Agreement, and informs Recipients how to
- obtain it in a reasonable manner on or through a medium customarily
- used for software exchange; and
- </li>
- <li>
- b) the Contributor may Distribute the Program under a license
- different than this Agreement, provided that such license:
- <ul>
- <li>i) effectively disclaims on behalf of all other Contributors all
- warranties and conditions, express and implied, including warranties
- or conditions of title and non-infringement, and implied warranties
- or conditions of merchantability and fitness for a particular purpose;
- </li>
- <li>ii) effectively excludes on behalf of all other Contributors all
- liability for damages, including direct, indirect, special, incidental
- and consequential damages, such as lost profits;
- </li>
- <li>iii) does not attempt to limit or alter the recipients' rights in the
- Source Code under section 3.2; and
- </li>
- <li>iv) requires any subsequent distribution of the Program by any party
- to be under a license that satisfies the requirements of this section 3.
- </li>
- </ul>
- </li>
- </ul>
- <p>3.2 When the Program is Distributed as Source Code:</p>
- <ul>
- <li>a) it must be made available under this Agreement, or if the Program (i)
- is combined with other material in a separate file or files made available
- under a Secondary License, and (ii) the initial Contributor attached to
- the Source Code the notice described in Exhibit A of this Agreement,
- then the Program may be made available under the terms of such
- Secondary Licenses, and
- </li>
- <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
- </ul>
- <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
- attribution notices, disclaimers of warranty, or limitations of liability
- (‘notices’) contained within the Program from any copy of the Program which
- they Distribute, provided that Contributors may add their own appropriate
- notices.
- </p>
- <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
- <p>Commercial distributors of software may accept certain responsibilities
- with respect to end users, business partners and the like. While this
- license is intended to facilitate the commercial use of the Program, the
- Contributor who includes the Program in a commercial product offering should
- do so in a manner which does not create potential liability for other
- Contributors. Therefore, if a Contributor includes the Program in a
- commercial product offering, such Contributor (“Commercial Contributor”)
- hereby agrees to defend and indemnify every other Contributor
- (“Indemnified Contributor”) against any losses, damages and costs
- (collectively “Losses”) arising from claims, lawsuits and other legal actions
- brought by a third party against the Indemnified Contributor to the extent
- caused by the acts or omissions of such Commercial Contributor in connection
- with its distribution of the Program in a commercial product offering.
- The obligations in this section do not apply to any claims or Losses relating
- to any actual or alleged intellectual property infringement. In order to
- qualify, an Indemnified Contributor must: a) promptly notify the
- Commercial Contributor in writing of such claim, and b) allow the Commercial
- Contributor to control, and cooperate with the Commercial Contributor in,
- the defense and any related settlement negotiations. The Indemnified
- Contributor may participate in any such claim at its own expense.
- </p>
- <p>For example, a Contributor might include the Program
- in a commercial product offering, Product X. That Contributor is then a
- Commercial Contributor. If that Commercial Contributor then makes performance
- claims, or offers warranties related to Product X, those performance claims
- and warranties are such Commercial Contributor's responsibility alone.
- Under this section, the Commercial Contributor would have to defend claims
- against the other Contributors related to those performance claims and
- warranties, and if a court requires any other Contributor to pay any damages
- as a result, the Commercial Contributor must pay those damages.
- </p>
- <h2 id="warranty">5. NO WARRANTY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
- WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
- solely responsible for determining the appropriateness of using and
- distributing the Program and assumes all risks associated with its
- exercise of rights under this Agreement, including but not limited to the
- risks and costs of program errors, compliance with applicable laws, damage
- to or loss of data, programs or equipment, and unavailability or
- interruption of operations.
- </p>
- <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
- <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
- BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
- LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
- GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- </p>
- <h2 id="general">7. GENERAL</h2>
- <p>If any provision of this Agreement is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability of the
- remainder of the terms of this Agreement, and without further action by the
- parties hereto, such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- </p>
- <p>If Recipient institutes patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Program itself
- (excluding combinations of the Program with other software or hardware)
- infringes such Recipient's patent(s), then such Recipient's rights granted
- under Section 2(b) shall terminate as of the date such litigation is filed.
- </p>
- <p>All Recipient's rights under this Agreement shall terminate if it fails to
- comply with any of the material terms or conditions of this Agreement and
- does not cure such failure in a reasonable period of time after becoming
- aware of such noncompliance. If all Recipient's rights under this Agreement
- terminate, Recipient agrees to cease use and distribution of the Program
- as soon as reasonably practicable. However, Recipient's obligations under
- this Agreement and any licenses granted by Recipient relating to the
- Program shall continue and survive.
- </p>
- <p>Everyone is permitted to copy and distribute copies of this Agreement,
- but in order to avoid inconsistency the Agreement is copyrighted and may
- only be modified in the following manner. The Agreement Steward reserves
- the right to publish new versions (including revisions) of this Agreement
- from time to time. No one other than the Agreement Steward has the right
- to modify this Agreement. The Eclipse Foundation is the initial Agreement
- Steward. The Eclipse Foundation may assign the responsibility to serve as
- the Agreement Steward to a suitable separate entity. Each new version of
- the Agreement will be given a distinguishing version number. The Program
- (including Contributions) may always be Distributed subject to the version
- of the Agreement under which it was received. In addition, after a new
- version of the Agreement is published, Contributor may elect to Distribute
- the Program (including its Contributions) under the new version.
- </p>
- <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
- receives no rights or licenses to the intellectual property of any
- Contributor under this Agreement, whether expressly, by implication,
- estoppel or otherwise. All rights in the Program not expressly granted
- under this Agreement are reserved. Nothing in this Agreement is intended
- to be enforceable by any entity that is not a Contributor or Recipient.
- No third-party beneficiary rights are created under this Agreement.
- </p>
- <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
- <p>“This Source Code may also be made available under the following
- Secondary Licenses when the conditions for such availability set forth
- in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
- version(s), and exceptions or additional permissions here}.”
- </p>
- <blockquote>
- <p>Simply including a copy of this Agreement, including this Exhibit A
- is not sufficient to license the Source Code under Secondary Licenses.
- </p>
- <p>If it is not possible or desirable to put the notice in a particular file,
- then You may include the notice in a location (such as a LICENSE file in a
- relevant directory) where a recipient would be likely to look for
- such a notice.
- </p>
- <p>You may add additional accurate notices of copyright ownership.</p>
- </blockquote>
- </body>
-</html>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/feature.xml b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/feature.xml
deleted file mode 100644
index 901a764..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.3rdparty.feature/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.app4mc.transformation.3rdparty.feature"
- label="APP4MC Model Transformation External Libs Feature"
- version="0.3.0.qualifier"
- provider-name="Eclipse APP4MC">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="https://projects.eclipse.org/projects/technology.app4mc">
- (c) Copyright Eclipse APP4MC contributors. 2018.
-All rights reserved.
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
-</feature>
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/feature.xml b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/feature.xml
index e1bbca8..5eb30c1 100644
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/feature.xml
+++ b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.core.feature/feature.xml
@@ -19,10 +19,6 @@
[Enter License Description here.]
</license>
- <includes
- id="org.eclipse.app4mc.transformation.3rdparty.feature"
- version="0.0.0"/>
-
<plugin
id="org.eclipse.app4mc.transformation.extensions"
download-size="0"
@@ -37,4 +33,20 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.app4mc.amalthea.converters.log4j.configuration"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.app4mc.transformation.log4j.headless.configuration"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ fragment="true"
+ unpack="false"/>
+
</feature>
diff --git a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.examples.feature/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.examples.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/features/org.eclipse.app4mc.transformation.examples.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.classpath b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.classpath
index 428337e..eca7bdb 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.classpath
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.classpath
@@ -3,6 +3,5 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="xtend-gen"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.project b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.project
index 3615b5a..389387f 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.project
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/META-INF/MANIFEST.MF
index 735dc74..752e7ef 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/META-INF/MANIFEST.MF
@@ -2,19 +2,25 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Base Application
Bundle-SymbolicName: org.eclipse.app4mc.transformation.application;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Eclipse APP4MC
-Require-Bundle: org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
- com.google.guava,
- com.google.inject;bundle-version="3.0.0";visibility:=reexport,
- org.eclipse.core.runtime;visibility:=reexport,
+Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.xtext.xbase.lib,
org.eclipse.xtend.lib,
- org.eclipse.xtend.lib.macro,
- org.eclipse.sphinx.emf.editors.forms,
- org.eclipse.app4mc.transformation.extensions
+ org.eclipse.xtend.lib.macro
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.eclipse.app4mc.transformation.application.base
Automatic-Module-Name: org.eclipse.app4mc.transformation.application
+Service-Component: OSGI-INF/org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent.xml,
+ OSGI-INF/org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter.xml,
+ OSGI-INF/org.eclipse.app4mc.transformation.application.base.StartTransformationCommand.xml
+Bundle-ActivationPolicy: lazy
+Import-Package: org.apache.felix.service.command;version="1.0.0",
+ org.eclipse.app4mc.transformation.extensions,
+ org.eclipse.app4mc.transformation.extensions.base.templates,
+ org.eclipse.app4mc.transformation.extensions.executiontype,
+ org.osgi.service.component;version="1.4.0",
+ org.osgi.service.component.annotations;version="[1.3.0,2.0.0)";resolution:=optional,
+ org.slf4j;version="1.7.2"
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter.xml
new file mode 100644
index 0000000..0e674ec
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" activate="activate" immediate="true" name="org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter">
+ <reference bind="setModelTransformationCommand" interface="org.eclipse.app4mc.transformation.application.base.StartTransformationCommand" name="ModelTransformationCommand"/>
+ <reference cardinality="1..1" field="environmentInfo" interface="org.eclipse.osgi.service.environment.EnvironmentInfo" name="environmentInfo"/>
+ <implementation class="org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.StartTransformationCommand.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.StartTransformationCommand.xml
new file mode 100644
index 0000000..82cfa0e
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.StartTransformationCommand.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="org.eclipse.app4mc.transformation.application.base.StartTransformationCommand">
+ <service>
+ <provide interface="org.eclipse.app4mc.transformation.application.base.StartTransformationCommand"/>
+ </service>
+ <reference cardinality="1..1" field="customObjectStore" interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore" name="customObjectStore"/>
+ <reference cardinality="1..1" field="factory" interface="org.osgi.service.component.ComponentFactory" name="factory" target="(component.factory=TRANSFORMER_FACTORY)"/>
+ <implementation class="org.eclipse.app4mc.transformation.application.base.StartTransformationCommand"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent.xml
new file mode 100644
index 0000000..284a7cd
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/OSGI-INF/org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" activate="activate" factory="TRANSFORMER_FACTORY" name="org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent">
+ <reference cardinality="0..n" field="allModelToModelConfig" interface="org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig" name="allModelToModelConfig"/>
+ <reference cardinality="0..n" field="allModelToTextConfig" interface="org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig" name="allModelToTextConfig"/>
+ <reference cardinality="0..n" field="m2mTransformers" interface="org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer" name="m2mTransformers"/>
+ <reference cardinality="0..n" field="m2tTransformers" interface="org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer" name="m2tTransformers"/>
+ <implementation class="org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/build.properties b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/build.properties
index baa0cf4..e36a226 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/build.properties
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/build.properties
@@ -9,13 +9,15 @@
# Robert Bosch GmbH - initial API and implementation
#
# *******************************************************************************
-source.. = src/,\
- xtend-gen/
+source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
about.html,\
- epl-2.0.html
+ epl-2.0.html,\
+ OSGI-INF/org.eclipse.app4mc.transformation.application.base.TransformerFactoryComponent.xml,\
+ OSGI-INF/org.eclipse.app4mc.transformation.application.base.EquinoxTransformationStarter.xml,\
+ OSGI-INF/org.eclipse.app4mc.transformation.application.base.StartTransformationCommand.xml
src.includes = about.html,\
epl-2.0.html
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/plugin.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/plugin.xml
index 5bfc1ea..2baf585 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/plugin.xml
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/plugin.xml
@@ -2,28 +2,7 @@
<?eclipse version="3.4"?>
<plugin>
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application
- visible="true">
- <run
- class="org.eclipse.app4mc.transformation.application.base.Application">
- </run>
- </application>
- </extension>
- <extension
- id="product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.eclipse.app4mc.transformation.application.application"
- name="APP4MCTransformation">
- <property
- name="appName"
- value="APP4MCTransformation">
- </property>
- </product>
- </extension>
+
</plugin>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/Application.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/Application.java
deleted file mode 100644
index 2f5267b..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/Application.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2020 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transformation.application.base;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Properties;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.FileAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
-
- Properties inputParameters = getInputParameters(context);
-
- if (inputParameters != null) {
-
- Logger logger = getLogger(inputParameters);
-
- logger.info("Starting Model transformation ...");
-
- ExecuteTransformation.start(logger, inputParameters);
-
- logger.removeAllAppenders();
- } else {
- System.out.println(
- "ERROR !! Unable to start transformation as required parameters are not set in input properties file");
-
- return Integer.valueOf(-1);
- }
-
- return IApplication.EXIT_OK;
- }
-
- protected Logger getLogger(Properties inputParameters) {
-
- String logFilePath = inputParameters.getProperty("log_file");
-
- org.apache.log4j.Logger logger = LogManager.getLogger("org.eclipse.app4mc.transformation");
-
- logger.setLevel(Level.INFO);
- try {
- logger.removeAllAppenders();
- /*- If required use the following options in pattern layout %d %-5p %t %c (%F:%L) %m" */
- logger.addAppender(
- new FileAppender(new PatternLayout("%d{yyyy-MM-dd_HH_mm_ss} - %-5p: %m%n"), logFilePath, false));
-
- logger.addAppender(new ConsoleAppender(new PatternLayout("%d{yyyy-MM-dd_HH_mm_ss} - %-5p: %m%n")));
-
- } catch (IOException e) {
-
- System.out.println("invalid log file path " + logFilePath + " specified in the input.properties file ");
- e.printStackTrace();
- }
-
- return logger;
- }
-
- protected Properties getInputParameters(IApplicationContext context) throws IOException, FileNotFoundException {
-
- String property = System.getProperty("user.dir");
-
- System.out.println(property);
- String[] args = (String[]) context.getArguments().get("application.args");
-
- if (args != null && args.length > 0) {
-
- String inputPropsFile = args[1];
-
- File file = new File(inputPropsFile);
-
- Properties properties = new Properties();
-
- properties.load(new FileInputStream(file));
-
- return properties;
- }
-
- return null;
- }
-
- @Override
- public void stop() {
- // nothing to do
- }
-}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/EquinoxTransformationStarter.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/EquinoxTransformationStarter.java
new file mode 100644
index 0000000..808f896
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/EquinoxTransformationStarter.java
@@ -0,0 +1,82 @@
+/**
+ ********************************************************************************
+ * Copyright (c) 2019 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+package org.eclipse.app4mc.transformation.application.base;
+
+import java.util.Arrays;
+
+import org.eclipse.osgi.service.environment.EnvironmentInfo;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+/**
+ * Immediate component that gets activated once the Equinox
+ * {@link EnvironmentInfo} is available. Triggers the Transformation process based on
+ * the command line arguments. Via -console parameter it is also possible to
+ * simply start the application in an interactive mode by keeping the OSGi
+ * console open. Otherwise the application will immediately closed after
+ * execution.
+ * <p>
+ * <b>Note:</b><br>
+ * Even when starting the app with the Equinox OSGi framework via bnd launcher,
+ * the {@link EnvironmentInfo} will be available. But it will not contain the
+ * necessary information that typically gets set the the Equinox launcher.
+ * Therefore the Transformation start will not be processed if the
+ * {@link EnvironmentInfo} is not initialized properly.
+ * </p>
+ */
+@Component(immediate = true)
+public class EquinoxTransformationStarter {
+
+ /**
+ * Launcher arguments provided by the Equinox launcher.
+ */
+ @Reference
+ EnvironmentInfo environmentInfo;
+
+
+ protected StartTransformationCommand startTransformationcommand;
+
+ @Reference
+ void setModelTransformationCommand(StartTransformationCommand command) {
+ this.startTransformationcommand = command;
+ }
+
+ @Activate
+ void activate() {
+ // only process model Transformation activation if the EnvironmentInfo is initialized
+ // properly
+ if (this.environmentInfo.getNonFrameworkArgs() != null) {
+ // check if a product or an application was started
+ // if yes this starter should do nothing
+ boolean isProduct =
+ Arrays.stream(environmentInfo.getNonFrameworkArgs()).anyMatch(arg -> "-product".equals(arg))
+ || this.environmentInfo.getProperty("eclipse.product") != null;
+ boolean isApplication =
+ Arrays.stream(environmentInfo.getNonFrameworkArgs()).anyMatch(arg -> "-application".equals(arg))
+ || this.environmentInfo.getProperty("eclipse.application") != null;
+
+// if (!isProduct && !isApplication) {
+ // check if -console or -consoleLog was provided as launch argument
+// boolean isInteractive = Arrays.stream(environmentInfo.getFrameworkArgs())
+// .anyMatch(arg -> "-console".equals(arg));
+// boolean showConsoleLog = Arrays.stream(environmentInfo.getFrameworkArgs())
+// .anyMatch(arg -> "-consoleLog".equals(arg));
+
+ startTransformationcommand.startTransformation(this.environmentInfo.getNonFrameworkArgs());
+// }
+ }
+ }
+}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExecuteTransformation.xtend b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExecuteTransformation.xtend
deleted file mode 100644
index cacccc3..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExecuteTransformation.xtend
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transformation.application.base
-
-import com.google.inject.Guice
-import com.google.inject.Injector
-import java.util.ArrayList
-import java.util.List
-import java.util.Map
-import java.util.Properties
-import org.apache.log4j.Logger
-import org.eclipse.app4mc.transformation.extensions.CustomObjectsStore
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer
-import org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer
-
-class ExecuteTransformation {
-
- def static void start(Logger logger, Properties properties) {
-
- var Map<String, TransformationConfig> enabledTransformationConfigurations = ExtensionExecution.
- getEnabledTransformationConfigElementsFromExtensions(logger);
-
- var List<TransformationConfig> configuredTransformations = getTransformationElementsSpecifiedByUser(
- enabledTransformationConfigurations, properties, logger);
-
- if (configuredTransformations.size == 0) {
-
- var msg = "Configured org.eclipse.app4mc.transformation.configuration are not enabled (or) they are not defined"
-
- logger.error(msg, new RuntimeException(msg))
-
- }
-
- for (transformationConfig : configuredTransformations) {
-
- val injector = Guice::createInjector(transformationConfig.injectorModule)
-
- /*-- Injection of created objects into Google Guice -- */
- injectPreCreatedObjects(injector, properties)
-
- /*------------------------------------------------------- */
- val model2ModelTransformer = injector.getInstance(typeof(Model2ModelRootTransformer));
-
- /*- M2M transformation */
- var m2mConfig = transformationConfig.model2ModelConfig;
-
- if (m2mConfig !== null && model2ModelTransformer !== null) {
-
- m2mConfig.properties = properties
-
- m2mConfig.logger = logger
-
- Model2ModelRootTransformer.properties=properties
-
- Model2ModelRootTransformer.injector=injector
-
- Model2ModelRootTransformer.logger=logger
-
- model2ModelTransformer.m2mTransformation(m2mConfig.inputResourceSet, m2mConfig.ouputResourceSet)
- }
-
- /*- M2T transformation */
- val model2TextTransformer = injector.getInstance(typeof(Model2TextRootTransformer));
-
- var m2tConfig = transformationConfig.model2TextConfig;
-
- if (m2tConfig !== null && model2TextTransformer !== null) {
-
- m2tConfig.properties = properties
-
- m2tConfig.logger = logger
-
- Model2TextRootTransformer.properties=properties
-
- Model2TextRootTransformer.injector=injector
-
- model2TextTransformer.m2tTransformation(m2tConfig.inputResourceSet)
- }
-
- }
-
- }
-
- def static List<TransformationConfig> getTransformationElementsSpecifiedByUser(
- Map<String, TransformationConfig> map, Properties properties, Logger logger) {
-
- val List<TransformationConfig> transformationConfigElements = new ArrayList
-
- if (properties.containsKey("tranformationConfigIDs")) {
-
- val transformationConfigIDs = (properties.get("tranformationConfigIDs") as String).split("\\;")
-
- for (id : transformationConfigIDs) {
-
- val transConfig = map.get(id)
-
- if (transConfig !== null) {
- transformationConfigElements.add(transConfig)
- }
-
- }
- } else {
- logger.error("Input properties file doesn't contain key with name: \"tranformationConfigIDs\" ",
- new Exception("Missing required parameter : \"tranformationConfigIDs\""))
- }
-
- return transformationConfigElements
- }
-
- protected def static void injectPreCreatedObjects(Injector injector, Object... inputObjs) {
-
- val customObjectsStore = injector.getInstance(CustomObjectsStore)
-
- for (element : inputObjs) {
- customObjectsStore.injectMembers(element.class, element)
- }
- }
-
-}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExtensionExecution.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExtensionExecution.java
deleted file mode 100644
index 9a654bf..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/ExtensionExecution.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transformation.application.base;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import org.apache.log4j.Logger;
-import org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-
-public class ExtensionExecution {
-
- protected static Map<String, TransformationConfig> getEnabledTransformationConfigElementsFromExtensions(
- Logger logger) throws CoreException {
-
- final IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- final IExtensionPoint extensionPoint = registry
- .getExtensionPoint("org.eclipse.app4mc.transformation.configuration");
-
- final IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-
- Map<String, TransformationConfig> id_obj_Map = new LinkedHashMap<String, TransformationConfig>();
-
- for (final IConfigurationElement iConfigurationElement : extensions) {
-
- final String id = iConfigurationElement.getAttribute("id");
-
- final String isEnabled = iConfigurationElement.getAttribute("enabled");
-
- logger.info("Tansformation configuration : \"" + id + "\" isEnabled : " + isEnabled);
-
- if (Boolean.parseBoolean(isEnabled)) {
-
- TransformationConfig config = new TransformationConfig();
-
- final Object module = iConfigurationElement.createExecutableExtension("module_class");
-
- Object m2m = null;
-
- if (iConfigurationElement.getAttribute("m2m_class") != null) {
- m2m = iConfigurationElement.createExecutableExtension("m2m_class");
- }
-
- Object m2t = null;
-
- if (iConfigurationElement.getAttribute("m2t_class") != null) {
- m2t = iConfigurationElement.createExecutableExtension("m2t_class");
- }
-
- config.setId(id);
-
- config.setInjectorModule((AbstractTransformationInjectorModule) module);
-
- config.setModel2ModelConfig((IModelToModelConfig) m2m);
-
-// ((IModelToModelConfig) m2m).setLogger(logger);
-
- config.setModel2TextConfig((IModelToTextConfig) m2t);
-
-// ((IModelToTextConfig) m2m).setLogger(logger);
-
- id_obj_Map.put(id, config);
-
- }
-
- }
-
- return id_obj_Map;
-
- }
-
- @Deprecated
- protected static IModelToTextConfig getM2TFromExtension(Logger logger) throws CoreException {
-
- final IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- final IExtensionPoint extensionPoint = registry
- .getExtensionPoint("org.eclipse.app4mc.transformation.extensions.m2t");
-
- final IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-
- Map<String, IModelToTextConfig> id_obj_Map = new LinkedHashMap<String, IModelToTextConfig>();
-
- for (final IConfigurationElement iConfigurationElement : extensions) {
-
- final String id = iConfigurationElement.getAttribute("id");
-
- final String isEnabled = iConfigurationElement.getAttribute("enabled");
-
- if (Boolean.parseBoolean(isEnabled)) {
-
- final Object module = iConfigurationElement.createExecutableExtension("class");
-
- id_obj_Map.put(id, (IModelToTextConfig) module);
-
- }
-
- }
-
- if (id_obj_Map.size() > 1) {
-
- String enabledIds = "--- " + id_obj_Map.keySet().stream().filter(s -> (s != null && !s.isEmpty()))
- .collect(Collectors.joining("," + System.getProperty("line.separator") + "--- "));
-
- logger.error(
- "Multiple M2T configurations are enabled. Based on the standard - only one configuration for M2T transofrmation - should be enabled for a specific product"
- + System.getProperty("line.separator")
- + "Below are the M2T configuration ids which are enabled : "
- + System.getProperty("line.separator") + enabledIds);
-
- String firstM2T_Id = id_obj_Map.keySet().iterator().next();
-
- logger.warn("** M2T configuration id : \"" + firstM2T_Id + "\" is enabled");
-
- return id_obj_Map.get(firstM2T_Id);
-
- } else if (id_obj_Map.size() == 1) {
-
- String id = id_obj_Map.keySet().iterator().next();
-
- logger.info("** M2T Configuration id : \"" + id + "\" is enabled");
-
- return id_obj_Map.get(id);
- }
-
- /*- default case */
- return null;
-
- }
-
- @Deprecated
- protected static IModelToModelConfig getM2MExtension(Logger logger) throws CoreException {
-
- final IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- final IExtensionPoint extensionPoint = registry
- .getExtensionPoint("org.eclipse.app4mc.transformation.extensions.m2m");
-
- final IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-
- Map<String, IModelToModelConfig> id_Obj_Map = new LinkedHashMap<String, IModelToModelConfig>();
-
- for (final IConfigurationElement iConfigurationElement : extensions) {
-
- final String id = iConfigurationElement.getAttribute("id");
-
- final String isEnabled = iConfigurationElement.getAttribute("enabled");
-
- if (Boolean.parseBoolean(isEnabled)) {
-
- final Object module = iConfigurationElement.createExecutableExtension("class");
-
- id_Obj_Map.put(id, (IModelToModelConfig) module);
-
- }
-
- }
-
- if (id_Obj_Map.size() > 1) {
-
- String enabledIds = "--- " + id_Obj_Map.keySet().stream().filter(s -> (s != null && !s.isEmpty()))
- .collect(Collectors.joining("," + System.getProperty("line.separator") + "--- "));
-
- logger.error(
- "Multiple M2M configurations are enabled. Based on the standard only one M2M configurations should be enabled for a specific product"
- + System.getProperty("line.separator") + "Below are the M2M module ids which are enabled : "
- + System.getProperty("line.separator") + enabledIds);
-
- String firstM2M_moduleId = id_Obj_Map.keySet().iterator().next();
-
- logger.warn("** M2M configuration id : \"" + firstM2M_moduleId + "\" is enabled");
-
- return id_Obj_Map.get(firstM2M_moduleId);
-
- } else if (id_Obj_Map.size() == 1) {
-
- String id = id_Obj_Map.keySet().iterator().next();
-
- logger.info("** M2M configuration id : \"" + id + "\" is enabled");
-
- return id_Obj_Map.get(id);
- }
-
- /*- default case */
- return null;
-
- }
-
- @Deprecated
- protected static AbstractTransformationInjectorModule getInjectionModuleFromExtension(Logger logger)
- throws CoreException {
-
- final IExtensionRegistry registry = Platform.getExtensionRegistry();
-
- final IExtensionPoint extensionPoint = registry
- .getExtensionPoint("org.eclipse.app4mc.transformation.extensions.module");
-
- final IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-
- Map<String, AbstractTransformationInjectorModule> id_Module_Map = new LinkedHashMap<String, AbstractTransformationInjectorModule>();
-
- for (final IConfigurationElement iConfigurationElement : extensions) {
-
- final String id = iConfigurationElement.getAttribute("id");
-
- final String isEnabled = iConfigurationElement.getAttribute("enabled");
-
- if (Boolean.parseBoolean(isEnabled)) {
-
- final Object module = iConfigurationElement.createExecutableExtension("class");
-
- id_Module_Map.put(id, (AbstractTransformationInjectorModule) module);
-
- }
-
- }
-
- if (id_Module_Map.size() > 1) {
-
- String enabledIds = "--- " + id_Module_Map.keySet().stream().filter(s -> (s != null && !s.isEmpty()))
- .collect(Collectors.joining("," + System.getProperty("line.separator") + "--- "));
-
- logger.error(
- "Multiple transformation injector modules are enabled. Based on the standard configuration for M2M transofrmation - only one module should be enabled for a specific product"
- + System.getProperty("line.separator") + "Below are the M2M module ids which are enabled : "
- + System.getProperty("line.separator") + enabledIds);
-
- String firstM2M_moduleId = id_Module_Map.keySet().iterator().next();
-
- logger.warn("** M2M injector module of id : \"" + firstM2M_moduleId + "\" is enabled");
-
- return id_Module_Map.get(firstM2M_moduleId);
-
- } else if (id_Module_Map.size() == 1) {
-
- String id = id_Module_Map.keySet().iterator().next();
-
- logger.info("** M2M injector module of id : \"" + id + "\" is enabled");
-
- return id_Module_Map.get(id);
-
- } else {
- logger.info("** Default M2M injector module is enabled");
- }
-
- /*- default case */
- return null;
-
- }
-}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/StartTransformationCommand.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/StartTransformationCommand.java
new file mode 100644
index 0000000..2244a24
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/StartTransformationCommand.java
@@ -0,0 +1,201 @@
+package org.eclipse.app4mc.transformation.application.base;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Properties;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore;
+import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer;
+import org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer;
+import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
+import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig;
+import org.osgi.service.component.ComponentFactory;
+import org.osgi.service.component.ComponentInstance;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+
+@Component(service = StartTransformationCommand.class)
+public class StartTransformationCommand {
+
+ @Reference(target = "(component.factory=TRANSFORMER_FACTORY)")
+ ComponentFactory<TransformerFactoryComponent> factory;
+
+ @Reference
+ ICustomObjectsStore customObjectStore;
+
+ public void starttest() {
+ System.out.println("Hello World !!");
+ }
+
+ public void startTransformation(String[] args) {
+
+ try {
+
+ String propertiesFilePath = null;
+
+ for (int i = 0; i < args.length; i++) {
+ String arg = args[i];
+ if (arg.equals("--properties")) {
+ propertiesFilePath = args[++i];
+ }
+ }
+
+ if (propertiesFilePath == null) {
+ System.out.println("Model transformation can not be performed as Properties file path is not supplied");
+ }
+ Properties inputParameters = getInputParameters(propertiesFilePath);
+
+ if (inputParameters != null) {
+
+ Logger logger = getLogger(inputParameters);
+
+ logger.info("Starting Model transformation ...");
+
+ Dictionary<String, Object> dictionaryForFactory = new Hashtable<>();
+
+ for (final String name : inputParameters.stringPropertyNames()) {
+ dictionaryForFactory.put(name, inputParameters.getProperty(name));
+ customObjectStore.indexData(name, inputParameters.getProperty(name));
+ }
+
+ customObjectStore.injectMembers(Properties.class, inputParameters);
+
+ customObjectStore.injectMembers(Logger.class, logger);
+
+ ComponentInstance<TransformerFactoryComponent> newInstance = factory.newInstance(dictionaryForFactory);
+
+ TransformerFactoryComponent factoryInstance = newInstance.getInstance();
+
+ List<Model2ModelRootTransformer> m2mTransformers = factoryInstance.getAllM2MTransformers();
+
+ List<IModelToModelConfig> allModelToModelConfig = factoryInstance.getAllModelToModelConfig();
+
+ List<Model2TextRootTransformer> m2tTransformers = factoryInstance.getAllM2TTransformers();
+
+ List<IModelToTextConfig> allModelToTextConfig = factoryInstance.getAllModelToTextConfig();
+
+ logger.debug("Model2Model transformers : " + m2mTransformers);
+ logger.debug("Model2Text transformers : " + m2tTransformers);
+ logger.debug("Model2Model transformation configuration : " + allModelToModelConfig);
+ logger.debug("Model2Text transformation configuration : " + allModelToTextConfig);
+
+// - Model to Model transformation
+
+ if(m2mTransformers.size()>0)
+ logger.info("****************** Model to Model Transformation *******************************");
+ for (Model2ModelRootTransformer model2ModelRootTransformer : m2mTransformers) {
+
+ System.out.println("** Executing M2M transformer : "+model2ModelRootTransformer.getClass().getTypeName());
+ for (IModelToModelConfig iModelToModelConfig : allModelToModelConfig) {
+ model2ModelRootTransformer.m2mTransformation(iModelToModelConfig.getInputResourceSet(),
+ iModelToModelConfig.getOuputResourceSet());
+ }
+
+ }
+
+ if(m2tTransformers.size()>0)
+ logger.info("****************** Model to Text Transformation *******************************");
+// - Model to Text transformation
+
+ for (Model2TextRootTransformer model2TextRootTransformer : m2tTransformers) {
+ System.out.println("** Executing M2T transformer : "+model2TextRootTransformer.getClass().getTypeName());
+
+ for (IModelToTextConfig iModelToTextConfig : allModelToTextConfig) {
+ model2TextRootTransformer.m2tTransformation(iModelToTextConfig.getInputResourceSet());
+ }
+
+ }
+
+ } else {
+ System.out.println(
+ "ERROR !! Unable to start transformation as required parameters are not set in input properties file");
+
+ }
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ protected Properties getInputParameters(String inputPropsFile) throws IOException, FileNotFoundException {
+
+ if (inputPropsFile != null && inputPropsFile.length() > 0) {
+
+ File propertiesFile = new File(inputPropsFile);
+
+ Properties properties = new Properties();
+
+ properties.load(new FileInputStream(propertiesFile));
+
+ // Now checking if the user has specified absolute paths in the properties file
+ // ?
+
+ Object inputModelsFolder = properties.get("input_models_folder");
+ Object m2m_outputModelsFolder = properties.get("m2m_output_folder");
+ Object m2t_output_folder = properties.get("m2t_output_folder");
+ Object logFile = properties.get("log_file");
+
+ if (inputModelsFolder != null) {
+ String path = inputModelsFolder.toString();
+
+ String newPath = new File(path).exists() ? path
+ : new File(propertiesFile.getParent() + File.separator + path).getCanonicalPath();
+
+ properties.put("input_models_folder", newPath);
+
+ }
+ if (m2m_outputModelsFolder != null) {
+ String path = m2m_outputModelsFolder.toString();
+
+ String newPath = new File(path).exists() ? path
+ : new File(propertiesFile.getParent() + File.separator + path).getCanonicalPath();
+
+ properties.put("m2m_output_folder", newPath);
+
+ }
+ if (m2t_output_folder != null) {
+ String path = m2t_output_folder.toString();
+
+ String newPath = new File(path).exists() ? path
+ : new File(propertiesFile.getParent() + File.separator + path).getCanonicalPath();
+
+ properties.put("m2t_output_folder", newPath);
+
+ }
+ if (logFile != null) {
+ String path = logFile.toString();
+
+ String newPath = new File(path).exists() ? path
+ : new File(propertiesFile.getParent() + File.separator + path).getCanonicalPath();
+
+ properties.put("log_file", newPath);
+
+ }
+
+ return properties;
+ }
+
+ return null;
+
+ }
+
+ protected Logger getLogger(Properties inputParameters) {
+
+
+ String logFilePath = inputParameters.getProperty("log_file");
+ System.setProperty("APP4MC_TRANSFORMATION_LOG_FILE", logFilePath);
+ Logger logger = LoggerFactory.getLogger(StartTransformationCommand.class);
+
+ System.out.println("Following log4j configuration is considered :"+System.getProperty("log4j.configuration"));
+
+ return logger;
+ }
+
+}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformationConfig.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformationConfig.java
deleted file mode 100644
index 9a0efc0..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformationConfig.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transformation.application.base;
-
-import org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
-import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig;
-
-public class TransformationConfig {
-
- private String id;
-
- private AbstractTransformationInjectorModule injectorModule;
-
- private IModelToModelConfig model2ModelConfig;
-
- private IModelToTextConfig model2TextConfig;
-
- public AbstractTransformationInjectorModule getInjectorModule() {
- return injectorModule;
- }
-
- public void setInjectorModule(AbstractTransformationInjectorModule injectorModule) {
- this.injectorModule = injectorModule;
- }
-
- public IModelToModelConfig getModel2ModelConfig() {
- return model2ModelConfig;
- }
-
- public void setModel2ModelConfig(IModelToModelConfig model2ModelConfig) {
- this.model2ModelConfig = model2ModelConfig;
- }
-
- public IModelToTextConfig getModel2TextConfig() {
- return model2TextConfig;
- }
-
- public void setModel2TextConfig(IModelToTextConfig model2TextConfig) {
- this.model2TextConfig = model2TextConfig;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
-}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformerFactoryComponent.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformerFactoryComponent.java
new file mode 100644
index 0000000..21f6f72
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.application/src/org/eclipse/app4mc/transformation/application/base/TransformerFactoryComponent.java
@@ -0,0 +1,55 @@
+package org.eclipse.app4mc.transformation.application.base;
+
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.app4mc.transformation.extensions.base.templates.Model2ModelRootTransformer;
+import org.eclipse.app4mc.transformation.extensions.base.templates.Model2TextRootTransformer;
+import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig;
+import org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+
+@Component(factory = "TRANSFORMER_FACTORY")
+public class TransformerFactoryComponent {
+
+
+ @Reference
+ List<Model2ModelRootTransformer> m2mTransformers;
+
+ @Reference
+ List<Model2TextRootTransformer> m2tTransformers;
+
+ @Reference
+ List<IModelToModelConfig> allModelToModelConfig;
+
+ @Reference
+ List<IModelToTextConfig> allModelToTextConfig;
+
+ @Activate
+ void activate(Map<String, Object> properties) {
+ }
+
+
+ public List<Model2ModelRootTransformer> getAllM2MTransformers(){
+ return m2mTransformers;
+ }
+
+ public List<Model2TextRootTransformer> getAllM2TTransformers(){
+ return m2tTransformers;
+ }
+
+
+ public List<IModelToModelConfig> getAllModelToModelConfig() {
+ return allModelToModelConfig;
+ }
+
+
+ public List<IModelToTextConfig> getAllModelToTextConfig() {
+ return allModelToTextConfig;
+ }
+
+
+}
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/.project b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/.project
index d8f4d34..807597e 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/.project
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/.project
@@ -25,6 +25,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/META-INF/MANIFEST.MF
index 548cb93..49bbb2f 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/META-INF/MANIFEST.MF
@@ -2,12 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Extensions
Bundle-SymbolicName: org.eclipse.app4mc.transformation.extensions;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Eclipse APP4MC
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
- com.google.inject;bundle-version="3.0.0";visibility:=reexport,
- org.eclipse.core.runtime,
+Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.xtext.xbase.lib;visibility:=reexport,
@@ -16,3 +14,7 @@
org.eclipse.app4mc.transformation.extensions.base.templates,
org.eclipse.app4mc.transformation.extensions.executiontype
Automatic-Module-Name: org.eclipse.app4mc.transformation.extensions
+Import-Package: org.osgi.service.component.annotations;version="[1.3.0,2.0.0)";resolution:=optional,
+ org.slf4j;version="1.7.2"
+Bundle-ActivationPolicy: lazy
+Service-Component: OSGI-INF/org.eclipse.app4mc.transformation.extensions.CustomObjectsStore.xml
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/OSGI-INF/org.eclipse.app4mc.transformation.extensions.CustomObjectsStore.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/OSGI-INF/org.eclipse.app4mc.transformation.extensions.CustomObjectsStore.xml
new file mode 100644
index 0000000..d0af4f3
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/OSGI-INF/org.eclipse.app4mc.transformation.extensions.CustomObjectsStore.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="org.eclipse.app4mc.transformation.extensions.CustomObjectsStore">
+ <service scope="singleton">
+ <provide interface="org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore"/>
+ </service>
+ <implementation class="org.eclipse.app4mc.transformation.extensions.CustomObjectsStore"/>
+</scr:component>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/build.properties b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/build.properties
index bac7dc9..f331d08 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/build.properties
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/build.properties
@@ -16,6 +16,7 @@
.,\
plugin.xml,\
epl-2.0.html,\
- about.html
+ about.html,\
+ OSGI-INF/org.eclipse.app4mc.transformation.extensions.CustomObjectsStore.xml
src.includes = about.html,\
epl-2.0.html
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/plugin.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/plugin.xml
index d028e22..5535690 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/plugin.xml
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/plugin.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
- <extension-point id="org.eclipse.app4mc.transformation.configuration" name="transformation.configuration" schema="schema/org.eclipse.app4mc.transformation.configuration.exsd"/>
</plugin>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/schema/org.eclipse.app4mc.transformation.configuration.exsd b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/schema/org.eclipse.app4mc.transformation.configuration.exsd
deleted file mode 100644
index 1f4bc2b..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/schema/org.eclipse.app4mc.transformation.configuration.exsd
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.app4mc.transformation.extensions" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.app4mc.transformation.extensions" id="org.eclipse.app4mc.transformation.configuration" name="transformation.configuration"/>
- </appinfo>
- <documentation>
- [Enter description of this extension point.]
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <choice>
- <element ref="config"/>
- </choice>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="config">
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="identifier"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="enabled" type="boolean" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="module_class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn="org.eclipse.app4mc.transformation.extensions.AbstractTransformationInjectorModule:"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="m2m_class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.app4mc.transformation.extensions.executiontype.IModelToModelConfig"/>
- </appinfo>
- </annotation>
- </attribute>
- <attribute name="m2t_class" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.app4mc.transformation.extensions.executiontype.IModelToTextConfig"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- [Enter the first release in which this extension point appears.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
-
-</schema>
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/AbstractTransformationInjectorModule.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/AbstractTransformationInjectorModule.java
deleted file mode 100644
index 70aa959..0000000
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/AbstractTransformationInjectorModule.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- ********************************************************************************
- * Copyright (c) 2018-2019 Robert Bosch GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
- */
-
-package org.eclipse.app4mc.transformation.extensions;
-
-import com.google.inject.AbstractModule;
-
-public abstract class AbstractTransformationInjectorModule extends AbstractModule {
-
-
- @Override
- protected void configure() {
- initializeBaseConfiguration();
- initializeTransformerObjects();
- }
-
- abstract protected void initializeBaseConfiguration() ;
- abstract protected void initializeTransformerObjects();
-
-}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/CustomObjectsStore.xtend b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/CustomObjectsStore.xtend
index 115a5b2..2ab5a0c 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/CustomObjectsStore.xtend
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/CustomObjectsStore.xtend
@@ -16,36 +16,42 @@
package org.eclipse.app4mc.transformation.extensions
import java.util.HashMap
+import org.osgi.service.component.annotations.Component
+import org.osgi.service.component.annotations.ServiceScope
-class CustomObjectsStore {
+@Component(scope =ServiceScope.SINGLETON)
+class CustomObjectsStore implements ICustomObjectsStore{
private var cls_instance_map = new HashMap();
private var data_map = new HashMap<String, Object>();
- public def <T> T getInstance(Object cls) {
+ public override <T> T getInstance(Object cls) {
val value = cls_instance_map.get(cls);
return value as T
}
- public def <T> void injectMembers(Object cls, T instance) {
+ public override <T> void injectMembers(Object cls, T instance) {
cls_instance_map.put(cls, instance);
}
- public def <T> void indexData(String key, T value){
+ public override <T> void indexData(String key, T value){
data_map.put(key, value);
}
- public def <T> getData(String key){
+ public override <T> getData(String key){
data_map.get(key) as T
}
- public def void clearCache() {
+ public override void clearCache() {
cls_instance_map.clear
+ data_map.clear
}
+
+
}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/ICustomObjectsStore.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/ICustomObjectsStore.java
new file mode 100644
index 0000000..ded2561
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/ICustomObjectsStore.java
@@ -0,0 +1,14 @@
+package org.eclipse.app4mc.transformation.extensions;
+
+public interface ICustomObjectsStore {
+ public <T> T getInstance(Object cls);
+
+ public <T> void injectMembers(Object cls, T instance);
+
+ public <T> void indexData(String key, T value);
+
+ public <T> T getData(String key);
+
+ public void clearCache();
+
+}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/AbstractTransformer.xtend b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/AbstractTransformer.xtend
index 2d4de38..aeeb05a 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/AbstractTransformer.xtend
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/AbstractTransformer.xtend
@@ -1,37 +1,26 @@
/**
- ********************************************************************************
+ * *******************************************************************************
* Copyright (c) 2018-2019 Robert Bosch GmbH.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
- *
+ *
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* Robert Bosch GmbH - initial API and implementation
- ********************************************************************************
+ * *******************************************************************************
*/
package org.eclipse.app4mc.transformation.extensions.base.templates
import java.util.Properties
-import org.apache.log4j.LogManager
-import org.apache.log4j.Logger
-import org.eclipse.app4mc.transformation.extensions.CustomObjectsStore
-import org.apache.log4j.ConsoleAppender
-import org.apache.log4j.PatternLayout
-import com.google.inject.Injector
+import org.eclipse.app4mc.transformation.extensions.ICustomObjectsStore
+import org.slf4j.Logger
-public abstract class AbstractTransformer{
-
- static public CustomObjectsStore customObjsStore = new CustomObjectsStore
+abstract class AbstractTransformer {
- static public Logger logger
-
- static public Properties properties
-
- static public Injector injector
/**
* Provides Log4J logger which can be used by the corresponding Transformer classes.
@@ -39,34 +28,14 @@
* In case, if user specific appenders are to be attached to the logger, this method should be overridden and new Appenders should be attached to the logger
*
*/
- protected def Logger getLogger() {
- if (logger === null) {
- logger = createLogger
- logger.addAppender(new ConsoleAppender(new PatternLayout))
- }
- return logger
+ protected def Logger getLogger(ICustomObjectsStore cust) {
+ return cust.getInstance(Logger);
+
}
- protected def Logger createLogger(){
- logger = LogManager.getLogger("com.bosch.m2m.app4mc.simulation");
-
- }
- protected def String getProperty(String propKey) {
+ protected def String getProperty(String propKey, ICustomObjectsStore customObjsStore) {
- if (properties === null) {
-
- if (customObjsStore !== null) {
- properties = customObjsStore.getInstance(Properties)
- if (properties === null) {
- throw new NullPointerException(
- "Properties object not set in CustomObjectsStore : Verify the custom Google Guice Module configuration ")
- }
-
- } else {
- throw new NullPointerException(
- "CustomObjectsStore object not binded: Verify the custom Google Guice Module configuration ")
- }
- }
+ val Properties properties = customObjsStore.getInstance(Properties);
val value = properties.get(propKey)
@@ -79,13 +48,4 @@
}
-/* public def doGenerate() '''
- *
- * « val instance = customObjsStore.getInstance(Properties)»
- * «instance.get("log_file")»
- * «getLogger.warn("logging info about transformation of :"+this.class.name) »
- * ----------> «this.class.name»
- * ===============> «properties.get("log_file")»
- * '''
- */
}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/IRootTransformer.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/IRootTransformer.java
new file mode 100644
index 0000000..30d8f88
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/IRootTransformer.java
@@ -0,0 +1,5 @@
+package org.eclipse.app4mc.transformation.extensions.base.templates;
+
+public interface IRootTransformer {
+
+}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/ISubTransformer.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/ISubTransformer.java
new file mode 100644
index 0000000..f19b159
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/ISubTransformer.java
@@ -0,0 +1,5 @@
+package org.eclipse.app4mc.transformation.extensions.base.templates;
+
+public interface ISubTransformer {
+
+}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2ModelRootTransformer.xtend b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2ModelRootTransformer.xtend
index 2c264b7..c2c6636 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2ModelRootTransformer.xtend
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2ModelRootTransformer.xtend
@@ -17,9 +17,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet
-public class Model2ModelRootTransformer extends AbstractTransformer {
-
- public def void m2mTransformation(ResourceSet inputResourceSet, ResourceSet outputResourceSet) {
- }
+abstract class Model2ModelRootTransformer extends AbstractTransformer implements IRootTransformer{
+ def void m2mTransformation(ResourceSet inputResourceSet, ResourceSet outputResourceSet)
}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2TextRootTransformer.xtend b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2TextRootTransformer.xtend
index e89473a..145d2a3 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2TextRootTransformer.xtend
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/base/templates/Model2TextRootTransformer.xtend
@@ -17,8 +17,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet
-public class Model2TextRootTransformer extends AbstractTransformer {
+ abstract class Model2TextRootTransformer extends AbstractTransformer implements IRootTransformer{
- public def void m2tTransformation(ResourceSet inputResourceSet) {
- }
+ def void m2tTransformation(ResourceSet inputResourceSet)
}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToModelConfig.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToModelConfig.java
index 5bfc042..929081b 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToModelConfig.java
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToModelConfig.java
@@ -15,9 +15,6 @@
package org.eclipse.app4mc.transformation.extensions.executiontype;
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
import org.eclipse.emf.ecore.resource.ResourceSet;
public interface IModelToModelConfig {
@@ -26,8 +23,5 @@
public ResourceSet getOuputResourceSet();
- public void setProperties(Properties parameters);
-
- public void setLogger(Logger logger);
}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToTextConfig.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToTextConfig.java
index ddfa87e..3a4d10e 100644
--- a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToTextConfig.java
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.extensions/src/org/eclipse/app4mc/transformation/extensions/executiontype/IModelToTextConfig.java
@@ -15,16 +15,10 @@
package org.eclipse.app4mc.transformation.extensions.executiontype;
-import java.util.Properties;
-
-import org.apache.log4j.Logger;
import org.eclipse.emf.ecore.resource.ResourceSet;
public interface IModelToTextConfig {
public ResourceSet getInputResourceSet();
-
- public void setProperties(Properties parameters);
- public void setLogger(Logger logger);
}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.classpath b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.classpath
similarity index 100%
rename from eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.classpath
rename to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.classpath
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.project
similarity index 88%
copy from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project
copy to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.project
index 2004d34..9cdaba3 100644
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.inchron.realtime.root</name>
+ <name>org.eclipse.app4mc.transformation.log4j.headless.configuration</name>
<comment></comment>
<projects>
</projects>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
copy from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.jdt.core.prefs
copy to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/.settings/org.eclipse.jdt.core.prefs
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..246087c
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Configuration
+Bundle-SymbolicName: org.eclipse.app4mc.transformation.log4j.headless.configuration
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: org.apache.log4j;bundle-version="1.2.15"
+Automatic-Module-Name: org.eclipse.app4mc.amalthea.converters.log4j.configuration
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.equinox.common;bundle-version="3.10.0",
+ org.eclipse.core.runtime;bundle-version="3.14.0";resolution:=optional,
+ org.eclipse.ui.console,
+ org.eclipse.ui;bundle-version="3.115.0"
+Bundle-Vendor: Eclipse APP4MC
+Import-Package: javax.xml.parsers,
+ org.eclipse.equinox.log;version="1.0.0",
+ org.osgi.framework;version="1.9.0",
+ org.osgi.service.log;version="1.4.0",
+ org.osgi.util.tracker;version="1.5.2",
+ org.w3c.dom,
+ org.xml.sax
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/build.properties b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/build.properties
new file mode 100644
index 0000000..ffbfb7c
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ headless_log4j.xml
+src.includes = headless_log4j.xml
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/headless_log4j.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/headless_log4j.xml
new file mode 100644
index 0000000..c4cc99e
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/headless_log4j.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <!-- only log errors to the console -->
+ <param name="Threshold" value="${app4mc.log.level}"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%m%n" />
+ </layout>
+ </appender>
+
+ <appender name="FILE" class="org.eclipse.app4mc.transformation.log4j.headless.configuration.TransformationFileAppender">
+ <param name="append" value="true"/>
+ <param name="dateFormat" value="yyyy-MM-dd_HH_mm_ss"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern"
+ value="%d{yyyy-MM-dd_HH_mm_ss} - %-5p: %m%n" />
+ </layout>
+ </appender>
+
+ <root>
+ <!-- set the log level to debug to catch everything -->
+ <!-- on the appenders the threshold is set to filter further -->
+ <level value="info" />
+ <appender-ref ref="CONSOLE" />
+ <appender-ref ref="FILE" />
+ </root>
+
+</log4j:configuration>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/src/org/eclipse/app4mc/transformation/log4j/headless/configuration/TransformationFileAppender.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/src/org/eclipse/app4mc/transformation/log4j/headless/configuration/TransformationFileAppender.java
new file mode 100644
index 0000000..80394b6
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.headless.configuration/src/org/eclipse/app4mc/transformation/log4j/headless/configuration/TransformationFileAppender.java
@@ -0,0 +1,57 @@
+/**
+ ********************************************************************************
+ * Copyright (c) 2019 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+package org.eclipse.app4mc.transformation.log4j.headless.configuration;
+
+import java.io.File;
+
+import org.apache.log4j.FileAppender;
+
+/**
+ * Custom Log4j appender that is writing log statements to a dedicated log file
+ * if the system property <i>OUTPUT_DIRECTORY</i> is set. With this mechanism it
+ * is possible to write a log file per migration session to a dedicated log file
+ * only.
+ */
+public class TransformationFileAppender extends FileAppender {
+
+
+ @Override
+ protected boolean checkEntryConditions() {
+ // we only append if an output directory is set
+ String logFilePath = System.getProperty("APP4MC_TRANSFORMATION_LOG_FILE");
+ if (logFilePath != null) {
+ if (new File(logFilePath).canWrite()==false) {
+ return false;
+ }
+ super.setFile(logFilePath);
+ super.activateOptions();
+
+ return super.checkEntryConditions();
+ }
+ return false;
+ }
+
+
+
+ @Override
+ public void activateOptions() {
+ // simply avoid the log warning for missing fileName configuration
+ if (fileName != null) {
+ super.activateOptions();
+ }
+ }
+
+
+}
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.classpath b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.classpath
similarity index 100%
copy from eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.app/.classpath
copy to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.classpath
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.project
similarity index 89%
rename from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project
rename to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.project
index 2004d34..296788c 100644
--- a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.project
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.inchron.realtime.root</name>
+ <name>org.eclipse.app4mc.transformation.log4j.ui.configuration</name>
<comment></comment>
<projects>
</projects>
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.settings/org.eclipse.core.resources.prefs
similarity index 100%
rename from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.core.resources.prefs
rename to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.settings/org.eclipse.core.resources.prefs
diff --git a/eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from eclipse-tools/model-transformation/examples/amlt2inchron/com.inchron.realtime.root/.settings/org.eclipse.jdt.core.prefs
rename to eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/.settings/org.eclipse.jdt.core.prefs
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..aa9d6eb
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: APP4MC Transformation Log4j UI Configuration
+Bundle-SymbolicName: org.eclipse.app4mc.transformation.log4j.ui.configuration
+Bundle-Version: 1.0.0.qualifier
+Fragment-Host: org.apache.log4j;bundle-version="1.2.15"
+Automatic-Module-Name: org.eclipse.app4mc.amalthea.converters.log4j.configuration
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.equinox.common;bundle-version="3.10.0",
+ org.eclipse.core.runtime;bundle-version="3.14.0";resolution:=optional,
+ org.eclipse.ui.console,
+ org.eclipse.ui;bundle-version="3.115.0"
+Bundle-Vendor: Eclipse APP4MC
+Import-Package: javax.xml.parsers,
+ org.eclipse.equinox.log;version="1.0.0",
+ org.osgi.framework;version="1.9.0",
+ org.osgi.service.log;version="1.4.0",
+ org.osgi.util.tracker;version="1.5.2",
+ org.w3c.dom,
+ org.xml.sax
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/build.properties b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/build.properties
new file mode 100644
index 0000000..c9f9f78
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ headless_log4j.xml,\
+ log4j.xml
+src.includes = headless_log4j.xml,\
+ log4j.xml
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/log4j.xml b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/log4j.xml
new file mode 100644
index 0000000..4937684
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/log4j.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
+
+
+
+<appender name="FILE" class="org.eclipse.app4mc.transformation.log4j.headless.configuration.TransformationFileAppender">
+ <param name="append" value="true"/>
+ <param name="dateFormat" value="yyyy-MM-dd_HH_mm_ss"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern"
+ value="%d{yyyy-MM-dd_HH_mm_ss} - %-5p: %m%n" />
+ </layout>
+ </appender>
+
+ <appender name="ECLIPSE" class="org.eclipse.app4mc.amalthea.converters.log4j.configuration.EclipseLogAppender">
+ <!-- only log errors to the eclipse log -->
+ <param name="Threshold" value="ERROR"/>
+ </appender>
+
+ <appender name="ECLIPSE_CONSOLE" class="org.eclipse.app4mc.transformation.log4j.configuration.CustomConsoleAppender">
+ <!-- only log errors to the console -->
+ <param name="Threshold" value="ERROR"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern"
+ value="%d{yyyy-MM-dd_HH_mm_ss} - %-5p: %m%n" />
+ </layout>
+ </appender>
+
+
+ <root>
+ <!-- set the log level to debug to catch everything -->
+ <!-- on the appenders the threshold is set to filter further -->
+ <level value="debug" />
+ <!-- <appender-ref ref="CONSOLE" /> -->
+ <appender-ref ref="ECLIPSE" />
+ <appender-ref ref="FILE" />
+ <appender-ref ref="ECLIPSE_CONSOLE" />
+ </root>
+
+</log4j:configuration>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/CustomConsoleAppender.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/CustomConsoleAppender.java
new file mode 100644
index 0000000..99bfb63
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/CustomConsoleAppender.java
@@ -0,0 +1,95 @@
+package org.eclipse.app4mc.transformation.log4j.configuration;
+
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.Layout;
+import org.apache.log4j.spi.LoggingEvent;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.console.IConsoleManager;
+import org.eclipse.ui.console.MessageConsole;
+import org.eclipse.ui.console.MessageConsoleStream;
+
+public class CustomConsoleAppender extends ConsoleAppender {
+
+ public CustomConsoleAppender() {
+ }
+
+ public CustomConsoleAppender(Layout layout) {
+ super(layout, SYSTEM_OUT);
+ }
+
+ public CustomConsoleAppender(Layout layout, String target) {
+ super.setLayout(layout);
+ super.setTarget(target);
+ super.activateOptions();
+ }
+
+ private MessageConsole myConsole;
+
+ @Override
+ public void append(LoggingEvent event) {
+ if (logMessageOnConsole(event) == false) {
+ myConsole = findConsole("ASF SLG");
+ logMessageOnConsole(event);
+ }
+ }
+ @Override
+ public synchronized void doAppend(LoggingEvent event) {
+
+ if (logMessageOnConsole(event) == false) {
+ myConsole = findConsole("ASF SLG");
+ logMessageOnConsole(event);
+ }
+ }
+
+ private boolean logMessageOnConsole(LoggingEvent event) {
+ if (myConsole != null) {
+ MessageConsoleStream out = myConsole.newMessageStream();
+ out.println(event.getMessage().toString());
+ return true;
+ }
+ return false;
+ }
+
+
+ private MessageConsole findConsole(String name) {
+
+ openConsoleView();
+ ConsolePlugin plugin = ConsolePlugin.getDefault();
+ if (plugin != null) {
+ IConsoleManager conMan = plugin.getConsoleManager();
+ if (conMan != null) {
+ IConsole[] existing = conMan.getConsoles();
+ for (int i = 0; i < existing.length; i++)
+ if (name.equals(existing[i].getName()))
+ return (MessageConsole) existing[i];
+ // no console found, so create a new one
+ MessageConsole myConsole = new MessageConsole(name, null);
+ conMan.addConsoles(new IConsole[] { myConsole });
+
+ return myConsole;
+
+ }
+
+ }
+ return null;
+ }
+
+ private void openConsoleView() {
+ try {
+ IViewPart findView = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .findView(IConsoleConstants.ID_CONSOLE_VIEW);
+ if (findView == null) {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .showView(IConsoleConstants.ID_CONSOLE_VIEW);
+ }
+
+ } catch (PartInitException e) {
+ // TODO:Currently not logging any message for this exception
+ }
+ }
+}
diff --git a/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/EclipseLogAppender.java b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/EclipseLogAppender.java
new file mode 100644
index 0000000..c1ad942
--- /dev/null
+++ b/eclipse-tools/model-transformation/plugins/org.eclipse.app4mc.transformation.log4j.ui.configuration/src/org/eclipse/app4mc/transformation/log4j/configuration/EclipseLogAppender.java
@@ -0,0 +1,82 @@
+/**
+ ********************************************************************************
+ * Copyright (c) 2019 Robert Bosch GmbH and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Robert Bosch GmbH - initial API and implementation
+ ********************************************************************************
+ */
+package org.eclipse.app4mc.transformation.log4j.configuration;
+
+import org.apache.log4j.AppenderSkeleton;
+import org.apache.log4j.Level;
+import org.apache.log4j.spi.LoggingEvent;
+import org.apache.log4j.spi.ThrowableInformation;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
+
+/**
+ * Custom Log4j appender that forwards log statements to the Eclipse logging mechanism.
+ */
+public class EclipseLogAppender extends AppenderSkeleton {
+
+ private int getStatus(final LoggingEvent event) {
+ final Level level = event.getLevel();
+
+ int status = IStatus.INFO;
+
+ if (level == Level.ERROR) {
+ status = IStatus.ERROR;
+ }
+ else if (level == Level.INFO) {
+ status = IStatus.INFO;
+ }
+ else if (level == Level.WARN) {
+ status = IStatus.WARNING;
+ }
+ else if (level == Level.FATAL) {
+ status = IStatus.ERROR;
+ }
+ return status;
+ }
+
+ @Override
+ protected void append(final LoggingEvent event) {
+
+ final Object messageObject = event.getMessage();
+ final ThrowableInformation throwableInformation = event.getThrowableInformation();
+ final int status = getStatus(event);
+
+ Bundle bundle = FrameworkUtil.getBundle(getClass());
+ if (bundle != null) {
+ if (throwableInformation != null) {
+ Platform.getLog(bundle).log(new Status(status, bundle.getSymbolicName(),
+ messageObject != null ? messageObject.toString() : "",
+ throwableInformation.getThrowable()));
+ }
+ else {
+ Platform.getLog(bundle).log(new Status(status, bundle.getSymbolicName(),
+ messageObject != null ? messageObject.toString() : ""));
+ }
+ }
+ }
+
+ @Override
+ public void close() {
+ }
+
+ @Override
+ public boolean requiresLayout() {
+ return false;
+ }
+
+}
diff --git a/eclipse-tools/model-transformation/releng/dev_utils/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/releng/dev_utils/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/releng/dev_utils/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf b/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
index 7d81ca4..644778b 100644
--- a/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
+++ b/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
@@ -1,41 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529215332641_1" label="transformation.framework" name="transformation.framework">
-<item elementID="=org.eclipse.app4mc.transformation.application" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=org.eclipse.app4mc.transformation.extensions" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.core.feature" type="4" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.3rdparty.feature" type="4" />
-</workingSets>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529215338148_2" label="inchron.transformation" name="inchron.transformation">
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.to.inchron.feature" type="4" />
-<item elementID="=org.eclipse.app4mc.transform.to.inchron.app" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=org.eclipse.app4mc.transform.to.inchron.m2m" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=org.eclipse.app4mc.transformation.3rdparty.libs" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=com.inchron.realtime.root" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=org.eclipse.app4mc.transform.to.inchron.product" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-</workingSets>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529439029677_8" label="sample.model.transformation.example" name="sample.model.transformation.example">
-<item elementID="=app4mc.example.transform.app" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=app4mc.example.transform.m2m" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=app4mc.example.transform.m2t" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=app4mc.example.transform.samplemodel" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.examples.feature" type="4" />
-</workingSets>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529439029677_24" label="sample.model.transformation.example.customization" name="sample.model.transformation.example.customization">
-<item elementID="=app4m.example.transform.cust.app" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item elementID="=app4mc.example.transform.m2t.cust" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529914625380_12" label="build" name="build">
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.target" type="4"/>
+<item elementID="=org.eclipse.app4mc.transformation.examples.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.p2repo" type="4"/>
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/dev_utils" type="4"/>
</workingSets>
-
-
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529914625380_12" label="build" name="build">
-<item elementID="=org.eclipse.app4mc.transformation.examples.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.p2repo" type="4" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/dev_utils" type="4" />
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.target" type="4" />
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529915202554_18" label="Examples_Builders" name="Examples_Builders">
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.examples.feature" type="4"/>
+<item elementID="=org.eclipse.app4mc.transformation.examples.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
</workingSets>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529915202554_18" label="Examples_Builders" name="Examples_Builders">
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.examples.feature" type="4" />
-<item elementID="=org.eclipse.app4mc.transformation.examples.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory" />
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529439029677_8" label="sample.model.transformation.example" name="sample.model.transformation.example">
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.examples.feature" type="4"/>
+<item elementID="=app4mc.example.transform.app" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=app4mc.example.transform.m2m" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=app4mc.example.transform.m2t" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=app4mc.example.transform.samplemodel" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/app4mc.example.transform.feature" type="4"/>
</workingSets>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529915327977_23" label="features" name="features" />
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529439029677_24" label="sample.model.transformation.example.customization" name="sample.model.transformation.example.customization">
+<item elementID="=app4m.example.transform.cust.app" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=app4mc.example.transform.m2t.cust" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/app4mc.example.transform.cust.feature" type="4"/>
+</workingSets>
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529215332641_1" label="transformation.framework" name="transformation.framework">
+<item elementID="=org.eclipse.app4mc.transformation.application" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.core.feature" type="4"/>
+<item elementID="=org.eclipse.app4mc.transformation.extensions" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=org.eclipse.app4mc.transformation.log4j.ui.configuration" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=org.eclipse.app4mc.transformation.log4j.headless.configuration" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+</workingSets>
</psf>
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.examples.installer/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.examples.installer/META-INF/MANIFEST.MF
index a845380..0f1ecea 100644
--- a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.examples.installer/META-INF/MANIFEST.MF
+++ b/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.examples.installer/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: APP4MC Transformation Examples Installer
Bundle-SymbolicName: org.eclipse.app4mc.transformation.examples.installer;singleton:=true
-Bundle-Version: 0.3.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.emf.common.ui
Bundle-Vendor: Eclipse APP4MC
diff --git a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.p2repo/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.p2repo/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.p2repo/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.target/.settings/org.eclipse.core.resources.prefs b/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.target/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/eclipse-tools/model-transformation/releng/org.eclipse.app4mc.transformation.target/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8