updated workingset psf + added customization example for sample model transformation
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.classpath b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.classpath
@@ -0,0 +1,7 @@
+<?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/sample-model-transformation/app4m.example.transform.cust.app/.gitignore b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.gitignore
new file mode 100644
index 0000000..7e902e8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.gitignore
@@ -0,0 +1 @@
+output/*
\ No newline at end of file
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.project
new file mode 100644
index 0000000..f73f982
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>app4m.example.transform.cust.app</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/sample-model-transformation/app4m.example.transform.cust.app/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+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/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
new file mode 100644
index 0000000..a28ec11
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/Cust_ModelTransformation.product
@@ -0,0 +1,194 @@
+<?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/META-INF/MANIFEST.MF b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0074986
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: App
+Bundle-SymbolicName: app4m.example.transform.cust.app
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: app4m.example.transform.cust.app
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/build.properties b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
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/input.properties
new file mode 100644
index 0000000..4a3a266
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input.properties
@@ -0,0 +1,16 @@
+# *******************************************************************************
+# 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
+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
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
new file mode 100644
index 0000000..276723b
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4m.example.transform.cust.app/input/amalthea_models/democar.amxmi
@@ -0,0 +1,799 @@
+<?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">
+ <commonElements>
+ <tags name="SwcEngineController" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcActuators" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcBrakeForceArbiter" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcABSCalculation" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcSensors" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcSensorPostprocessing" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcCylNumObserver" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcBrakeForceCalculation" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcEngineSensors" tagType="SOFTWARE_COMPONENT" />
+ <tags name="SwcInjIgnActuation" tagType="SOFTWARE_COMPONENT" />
+ </commonElements>
+ <swModel>
+ <tasks name="Task_10MS" stimuli="Timer_10MS?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
+ <customProperties key="priority">
+ <value xsi:type="am:StringObject" value="10" />
+ </customProperties>
+ <activityGraph>
+ <items xsi:type="am:Group" name="CallSequence" ordered="true">
+ <items xsi:type="am:RunnableCall" runnable="CheckPlausability?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakeActuatorMonitor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="DiagnosisArbiter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="VehicleStateMonitor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakeForceCalculation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakeSafetyMonitor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="ABSCalculation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakeForceActuation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="CaliperPositionCalculation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakeActuator?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="StopLightActuator?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakePedalSensorDiagnosis?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakePedalSensorTranslation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BrakePedalSensorVoter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="DecelerationSensorDiagnosis?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="DecelerationSensorTranslation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="VehicleSpeedSensorDiagnosis?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="DecelerationSensorVoter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="VehicleSpeedSensorVoter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="VehicleSpeedSensorTranslation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="WheelSpeedSensorTranslation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="WheelSpeedSensorDiagnosis?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="CylNumObserver?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="WheelSpeedSensorVoter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="ThrottleController?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="APedVoter?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="BaseFuelMass?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="ThrottleActuator?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="TotalFuelMass?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="TransientFuelMass?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="InjectionTimeActuation?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="IgnitionTiming?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="IgnitionTimeActuation?type=Runnable" />
+ </items>
+ </activityGraph>
+ </tasks>
+ <tasks name="Task_20MS" stimuli="Timer_20MS?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
+ <customProperties key="priority">
+ <value xsi:type="am:StringObject" value="10" />
+ </customProperties>
+ <activityGraph>
+ <items xsi:type="am:Group" name="CallSequence" ordered="true">
+ <items xsi:type="am:RunnableCall" runnable="BrakeForceArbiter?type=Runnable" />
+ </items>
+ </activityGraph>
+ </tasks>
+ <tasks name="Task_5MS" stimuli="Timer_5MS?type=PeriodicStimulus" preemption="preemptive" multipleTaskActivationLimit="10">
+ <customProperties key="priority">
+ <value xsi:type="am:StringObject" value="10" />
+ </customProperties>
+ <activityGraph>
+ <items xsi:type="am:Group" name="CallSequence" ordered="true">
+ <items xsi:type="am:RunnableCall" runnable="EcuBrakeActuator?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="EcuStopLightActuator?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="EcuBrakePedalSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="EcuDecelerationSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="EcuVehicleSpeedSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="EcuWheelSpeedSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="APedSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="ThrottleSensor?type=Runnable" />
+ <items xsi:type="am:RunnableCall" runnable="MassAirFlowSensor?type=Runnable" />
+ </items>
+ </activityGraph>
+ </tasks>
+ <runnables name="ABSCalculation" tags="SwcABSCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VotedDecelerationRate?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VotedVehicleSpeed?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VotedWheelSpeed?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ArbitratedBrakeForce?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="ABSActivation?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ABSMode?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="APedSensor" tags="SwcEngineSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="APedSensor1Voltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="APedSensor2Voltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="APedPosition1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="APedPosition2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="APedVoter" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="APedPosition1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="APedPosition2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VotedAPedPosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BaseFuelMass" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="MassAirFlow?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BaseFuelMassPerStroke?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="MAFRate?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeActuator" tags="SwcABSCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="CaliperPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakeForceVoltage?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeActuatorMonitor" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakeForce?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeForceFeedback?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeForceActuation" tags="SwcABSCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="ABSActivation?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ABSMode?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakeForce?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeForceCurrent?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeForceArbiter" tags="SwcBrakeForceArbiter?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="CalculatedBrakeForce?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeSafetyState?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="ArbitratedBrakeForce?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeForceCalculation" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeForceFeedback?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ArbitratedDiagnosisRequest?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="MonitoredVehicleState?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeSafetyLevel?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="CalculatedBrakeForce?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeMonitorLevel?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakePedalSensorDiagnosis" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakePedalSensorTranslation" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakePedalSensorVoter" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VotedBrakePedalPosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="BrakeSafetyMonitor" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeForceFeedback?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ArbitratedDiagnosisRequest?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="MonitoredVehicleState?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeMonitorLevel?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakeSafetyLevel?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeSafetyState?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="CaliperPositionCalculation" tags="SwcABSCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="CaliperPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakeForceCurrent?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="CaliperPosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="CheckPlausability" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VotedBrakePedalPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="CylNumObserver" tags="SwcCylNumObserver?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="CylinderNumber?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="TriggeredCylinderNumber?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="DecelerationSensorDiagnosis" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="DecelerationSensorTranslation" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="DecelerationRate1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="DecelerationRate2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="DecelerationSensorVoter" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="DecelerationRate1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="DecelerationRate2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VotedDecelerationRate?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="DiagnosisArbiter" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="ArbitratedDiagnosisRequest?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuBrakeActuator" tags="SwcActuators?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakeForceVoltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuBrakePedalSensor" tags="SwcSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:Ticks">
+ <default lowerBound="144000" upperBound="176000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="160000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="BrakePedalPositionVoltage2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuDecelerationSensor" tags="SwcSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:Ticks">
+ <default lowerBound="144000" upperBound="176000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="160000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="DecelerationVoltage2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuStopLightActuator" tags="SwcActuators?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BrakeApplication?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuVehicleSpeedSensor" tags="SwcSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="EcuWheelSpeedSensor" tags="SwcSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="IgnitionTimeActuation" tags="SwcInjIgnActuation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="TriggeredCylinderNumber?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime3?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime4?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime5?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime6?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="IgnitionTime7?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="IgnitionTime8?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="IgnitionTiming" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="MAFRate?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="IgnitionTime?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="InjectionTimeActuation" tags="SwcInjIgnActuation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="TriggeredCylinderNumber?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="TotalFuelMassPerStroke?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime3?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime4?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime5?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime6?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime7?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="InjectionTime8?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="MassAirFlowSensor" tags="SwcEngineSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="MAFSensorVoltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="MassAirFlow?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="StopLightActuator" tags="SwcABSCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="ArbitratedBrakeForce?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="BrakeApplication?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="ThrottleActuator" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="DesiredThrottlePosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="DesiredThrottlePositionVoltage?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="ThrottleController" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VotedAPedPosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ThrottlePosition?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="DesiredThrottlePosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="ThrottleSensor" tags="SwcEngineSensors?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="ThrottleSensor1Voltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="ThrottleSensor2Voltage?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="ThrottlePosition?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="TotalFuelMass" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="TransientFuelMassPerStroke?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="TotalFuelMassPerStroke?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="TransientFuelMass" tags="SwcEngineController?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="BaseFuelMassPerStroke?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="TransientFuelMassPerStroke?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="VehicleSpeedSensorDiagnosis" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="VehicleSpeedSensorTranslation" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VehicleSpeedVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VehicleSpeed1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VehicleSpeed2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="VehicleSpeedSensorVoter" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="VehicleSpeed1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="VehicleSpeed2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VotedVehicleSpeed?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="VehicleStateMonitor" tags="SwcBrakeForceCalculation?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="MonitoredVehicleState?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="WheelSpeedSensorDiagnosis" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ </activityGraph>
+ </runnables>
+ <runnables name="WheelSpeedSensorTranslation" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="WheelSpeedVoltage2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="WheelSpeed1?type=Label" access="write" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="WheelSpeed2?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <runnables name="WheelSpeedSensorVoter" tags="SwcSensorPostprocessing?type=Tag" callback="false" service="false">
+ <activityGraph>
+ <items xsi:type="am:LabelAccess" data="WheelSpeed1?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:LabelAccess" data="WheelSpeed2?type=Label" access="read" dataStability="inherited" />
+ <items xsi:type="am:Ticks">
+ <default lowerBound="72000" upperBound="88000" xsi:type="am:DiscreteValueWeibullEstimatorsDistribution" pRemainPromille="0.5" average="80000" />
+ </items>
+ <items xsi:type="am:LabelAccess" data="VotedWheelSpeed?type=Label" access="write" dataStability="inherited" />
+ </activityGraph>
+ </runnables>
+ <labels name="ABSActivation" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="ABSMode" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="APedPosition1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="APedPosition2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="APedSensor1Voltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="APedSensor2Voltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="ArbitratedBrakeForce" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="ArbitratedDiagnosisRequest" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BaseFuelMassPerStroke" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="BrakeApplication" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakeForce" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakeForceCurrent" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakeForceFeedback" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakeForceVoltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="BrakeMonitorLevel" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakePedalPosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakePedalPosition1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakePedalPosition2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakePedalPositionVoltage1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="BrakePedalPositionVoltage2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="BrakeSafetyLevel" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="BrakeSafetyState" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="CalculatedBrakeForce" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="CaliperPosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="CylinderNumber" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="DecelerationRate1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="DecelerationRate2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="DecelerationVoltage1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="DecelerationVoltage2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="DesiredThrottlePosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="DesiredThrottlePositionVoltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime3" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime4" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime5" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime6" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime7" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="IgnitionTime8" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime3" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime4" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime5" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime6" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime7" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="InjectionTime8" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="MAFRate" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="MAFSensorVoltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="MassAirFlow" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="MonitoredVehicleState" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="ThrottlePosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="ThrottleSensor1Voltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="ThrottleSensor2Voltage" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="TotalFuelMassPerStroke" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="TransientFuelMassPerStroke" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="TriggeredCylinderNumber" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VehicleSpeed1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VehicleSpeed2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VehicleSpeedVoltage1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="VehicleSpeedVoltage2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="VotedAPedPosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VotedBrakePedalPosition" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VotedDecelerationRate" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VotedVehicleSpeed" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="VotedWheelSpeed" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="WheelSpeed1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="WheelSpeed2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="8" unit="bit" />
+ </labels>
+ <labels name="WheelSpeedVoltage1" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ <labels name="WheelSpeedVoltage2" constant="false" bVolatile="false" dataStability="noProtection">
+ <size value="16" unit="bit" />
+ </labels>
+ </swModel>
+ <hwModel>
+ <definitions xsi:type="am:ProcessingUnitDefinition" name="DefaultCore" puType="CPU" features="Instructions/IPC_1?type=HwFeature" />
+ <definitions xsi:type="am:MemoryDefinition" name="DefaultMemory">
+ <size value="4" unit="MB" />
+ <accessLatency xsi:type="am:DiscreteValueConstant" value="2" />
+ </definitions>
+ <featureCategories name="Instructions" featureType="performance">
+ <features name="IPC_1" value="1.0" />
+ </featureCategories>
+ <structures name="Democar" structureType="System">
+ <structures name="ECU_1" structureType="ECU">
+ <structures name="Microcontroller_1" structureType="Microcontroller">
+ <modules xsi:type="am:Memory" name="Mem_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="DefaultMemory?type=MemoryDefinition">
+ <ports name="port" bitWidth="32" priority="0" portType="responder" />
+ </modules>
+ <modules xsi:type="am:ProcessingUnit" name="Core_1" frequencyDomain="FrequencyDomain_1?type=FrequencyDomain" definition="DefaultCore?type=ProcessingUnitDefinition">
+ <ports name="port" bitWidth="32" priority="0" portType="initiator" />
+ </modules>
+ <connections name="con1" port1="Core_1/port?type=HwPort" port2="Mem_1/port?type=HwPort" />
+ </structures>
+ </structures>
+ </structures>
+ <domains xsi:type="am:FrequencyDomain" name="FrequencyDomain_1" clockGating="false">
+ <defaultValue value="200.0" unit="MHz" />
+ </domains>
+ </hwModel>
+ <osModel>
+ <operatingSystems name="OperatingSystem">
+ <taskSchedulers name="Task_Scheduler_Core_1">
+ <schedulingAlgorithm xsi:type="am:OSEK" />
+ </taskSchedulers>
+ </operatingSystems>
+ </osModel>
+ <stimuliModel>
+ <stimuli xsi:type="am:PeriodicStimulus" name="Timer_10MS">
+ <offset value="0" unit="ms" />
+ <recurrence value="10" unit="ms" />
+ </stimuli>
+ <stimuli xsi:type="am:PeriodicStimulus" name="Timer_20MS">
+ <offset value="0" unit="ms" />
+ <recurrence value="20" unit="ms" />
+ </stimuli>
+ <stimuli xsi:type="am:PeriodicStimulus" name="Timer_5MS">
+ <offset value="0" unit="ms" />
+ <recurrence value="5" unit="ms" />
+ </stimuli>
+ </stimuliModel>
+ <constraintsModel>
+ <requirements xsi:type="am:ProcessRequirement" name="Deadline_05" severity="Critical" process="Task_5MS?type=Task">
+ <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+ <limitValue value="5" unit="ms" />
+ </limit>
+ </requirements>
+ <requirements xsi:type="am:ProcessRequirement" name="Deadline_10" severity="Critical" process="Task_10MS?type=Task">
+ <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+ <limitValue value="10" unit="ms" />
+ </limit>
+ </requirements>
+ <requirements xsi:type="am:ProcessRequirement" name="Deadline_20" severity="Critical" process="Task_20MS?type=Task">
+ <limit xsi:type="am:TimeRequirementLimit" limitType="UpperLimit" metric="ResponseTime">
+ <limitValue value="20" unit="ms" />
+ </limit>
+ </requirements>
+ </constraintsModel>
+</am:Amalthea>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/.gitignore b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/.gitignore
new file mode 100644
index 0000000..7e902e8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.app/.gitignore
@@ -0,0 +1 @@
+output/*
\ No newline at end of file
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
index c5e93e7..35232d1 100644
--- 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
@@ -62,7 +62,6 @@
<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.amalthea.sphinx"/>
<plugin id="org.eclipse.app4mc.transformation.application"/>
<plugin id="org.eclipse.app4mc.transformation.extensions"/>
<plugin id="org.eclipse.compare.core"/>
diff --git a/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.classpath b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.classpath
new file mode 100644
index 0000000..428337e
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.classpath
@@ -0,0 +1,8 @@
+<?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/sample-model-transformation/app4mc.example.transform.m2t.cust/.project b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project
new file mode 100644
index 0000000..9221ed3
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>app4mc.example.transform.m2t.cust</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/sample-model-transformation/app4mc.example.transform.m2t.cust/.settings/org.eclipse.jdt.core.prefs b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+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/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
new file mode 100644
index 0000000..2d3d8f9
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Cust
+Bundle-SymbolicName: app4mc.example.transform.m2t.cust;singleton:=true
+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
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
new file mode 100644
index 0000000..e3023e1
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ fragment.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
new file mode 100644
index 0000000..e83f305
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/fragment.xml
@@ -0,0 +1,14 @@
+<?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
new file mode 100644
index 0000000..650c16f
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custTemplates/CustTransformer.xtend
@@ -0,0 +1,24 @@
+package custTemplates
+
+import org.eclipse.app4mc.amalthea.model.Amalthea
+import templates.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)»
+ '''
+
+
+ /**
+ * Creates output with a combination of template and functions.
+ * This allows a more flexible use of utility functions and lambdas.
+ */
+ override String generateOutput2(Amalthea amalthea) '''
+ Customer template
+ «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
new file mode 100644
index 0000000..700a50f
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t.cust/src/custmodule/CustM2TInjectorModule.java
@@ -0,0 +1,32 @@
+ /**
+ ********************************************************************************
+ * 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/src/templates/AmaltheaModel2TextTransformer.xtend b/eclipse-tools/model-transformation/examples/sample-model-transformation/app4mc.example.transform.m2t/src/templates/AmaltheaModel2TextTransformer.xtend
index 4fb9079..aea52ce 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
@@ -26,7 +26,7 @@
for (model : resource.contents) {
// TODO: model is a Amalthea model
// check javadoc : https://www.eclipse.org/xtend/documentation/204_activeannotations.html#active-annotations-expression
- logger.info("Processing file : " + resource.URI)
+ getLogger.info("Processing file : " + resource.URI)
var String outputFolder = getProperty("m2t_output_folder");
val textGenerator = new M2T_Output_Transformer
diff --git a/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf b/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
index 06bf9e1..7d81ca4 100644
--- a/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
+++ b/eclipse-tools/model-transformation/releng/dev_utils/workingSets.psf
@@ -1,43 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
-
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529914625380_12" label="build" name="build">
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/dev_utils" type="4"/>
-<item elementID="=org.eclipse.app4mc.transformation.examples.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item elementID="=org.eclipse.app4mc.transformation.examples.builder" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.p2repo" type="4"/>
-<item elementID="=org.eclipse.app4mc.inchron.transformation.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.build" type="4"/>
+<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" id="1529215332641_1" label="core" name="core">
-<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"/>
+<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" id="1529439029677_8" label="examples" name="examples">
-<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"/>
+<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" 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"/>
-<item elementID="=org.eclipse.app4mc.transformation.examples.builder" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item elementID="=org.eclipse.app4mc.inchron.transformation.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+
+<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>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529915327977_23" label="features" name="features">
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.examples.feature" type="4"/>
-<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.to.inchron.feature" type="4"/>
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.app4mc.transformation.3rdparty.feature" type="4"/>
+
+
+<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>
-<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" id="1529215338148_2" label="inchron" name="inchron">
-<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="=org.eclipse.app4mc.inchron.transformation.installer" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item elementID="=org.eclipse.app4mc.transform.to.inchron.product" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
-<item elementID="=com.inchron.realtime.root" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<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>
+<workingSets editPageId="org.eclipse.jdt.ui.JavaWorkingSetPage" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1529915327977_23" label="features" name="features" />
</psf>
\ No newline at end of file