added RunnableItems transformer stubs
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
index 69f6287..3adb5f7 100644
--- 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
@@ -6,6 +6,7 @@
import org.eclipse.app4mc.amalthea.model.TaskScheduler
import templates.AbstractAmaltheaInchronTransformer
import templates.utils.AmltCacheModel
+import org.eclipse.app4mc.amalthea.model.OperatingSystem
class MappingTransformer extends AbstractAmaltheaInchronTransformer{
@@ -102,6 +103,12 @@
}
cacheModel.addInchronScheduler_amltSchedulerMap(inchronScheduler,amltTaskScheduler)
+
+
+
+
+
+
}
/**
@@ -114,4 +121,5 @@
}
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
index 81d37b2..5f81656 100644
--- 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
@@ -20,6 +20,12 @@
inchronSystem.name=amltOS.name+"_SYSTEM"
+ var inchronComponent=inchronModelFactory.createComponent
+
+ inchronComponent.name=amltOS.name+"_SWC"
+
+ inchronSystem.components.add(inchronComponent)
+
var inchronRtosConfig=inchronModelFactory.createRtosConfig
inchronRtosConfig.name=amltOS.name
@@ -38,6 +44,8 @@
inchronModel.systems.add(inchronSystem)
cacheModel.addInchronRtosConfig(inchronSystem.rtosConfig)
+
+ cacheModel.addInchronComponent(inchronComponent)
}
]
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
index 01e07a2..f850dac 100644
--- 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
@@ -1,14 +1,22 @@
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
class ISRTransformer extends AbstractAmaltheaInchronTransformer{
- public def create inchronModelFactory.createProcess createProcess(ISR amltISR ){
+ var AmltCacheModel cacheModel
+
+ public 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
}
}
\ 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
new file mode 100644
index 0000000..6b2bbad
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/RunnableTransformer.xtend
@@ -0,0 +1,25 @@
+package templates.m2m.sw
+
+import org.eclipse.app4mc.amalthea.model.Process
+import org.eclipse.app4mc.amalthea.model.Runnable
+import templates.AbstractAmaltheaInchronTransformer
+import templates.utils.AmltCacheModel
+
+class RunnableTransformer extends AbstractAmaltheaInchronTransformer{
+
+ var AmltCacheModel cacheModel
+
+ public def create inchronModelFactory.createFunction createFunction(Process amltProcess, Runnable amltRunnable ){
+
+ cacheModel=customObjsStore.getInstance(AmltCacheModel)
+
+ var inchronComponent =cacheModel.getInchronComponent(amltProcess)
+
+ inchronComponent.functions.add(it)
+
+ it.name=amltRunnable.name
+
+
+ //TODO implement transformation
+ }
+}
\ 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/SWTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/SWTransformer.xtend
index 2e8c8fe..ac9bd62 100644
--- 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
@@ -7,6 +7,7 @@
import templates.utils.AmltCacheModel
import org.eclipse.app4mc.amalthea.model.TaskScheduler
import org.eclipse.app4mc.amalthea.model.InterruptController
+import org.eclipse.app4mc.amalthea.model.OperatingSystem
class SWTransformer extends AbstractAmaltheaInchronTransformer {
@@ -29,12 +30,24 @@
if(amltScheduler !=null){
+ var amltOS=amltScheduler.eContainer as OperatingSystem
+
+ val inchronComponent=cacheModel.getInchronComponent(amltOS.name+"_SWC")
+
if(amltScheduler instanceof TaskScheduler){
amltScheduler.taskAllocations.forEach[amltTaskAllocation|{
var amltTask=amltTaskAllocation.task
- var inchronProcess=taskTransformer.createProcess(amltTask)
+ val inchronProcess=taskTransformer.createProcess(amltTask,inchronComponent)
+
+
+ amltTaskAllocation.affinity.forEach[amltPU|{
+ var inchronCpuCore=cacheModel.getInchronCpuCore(amltPU.name)
+ if(inchronCpuCore!==null){
+ inchronProcess.cpuCores.add(inchronCpuCore)
+ }
+ }]
inchronScheduler.schedulables.add(inchronProcess)
}]
@@ -42,7 +55,7 @@
amltScheduler.isrAllocations.forEach[amltISRAllocation|{
var amltISR=amltISRAllocation.isr
- var inchronProcess=isrTransformer.createProcess(amltISR)
+ var inchronProcess=isrTransformer.createProcess(amltISR,inchronComponent)
inchronScheduler.schedulables.add(inchronProcess)
}]
}
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
index dc3655e..5b63222 100644
--- 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
@@ -1,12 +1,44 @@
package templates.m2m.sw
-import templates.AbstractAmaltheaInchronTransformer
+import com.inchron.realtime.root.model.Component
+import org.eclipse.app4mc.amalthea.model.CallSequence
import org.eclipse.app4mc.amalthea.model.Task
+import templates.AbstractAmaltheaInchronTransformer
+import templates.utils.AmltCacheModel
+import org.eclipse.app4mc.amalthea.model.ModeSwitch
+import org.eclipse.app4mc.amalthea.model.ProbabilitySwitch
+import org.eclipse.app4mc.amalthea.model.TaskRunnableCall
+import com.google.inject.Inject
class TaskTransformer extends AbstractAmaltheaInchronTransformer{
- public def create inchronModelFactory.createProcess createProcess(Task amltTask ){
+ var AmltCacheModel cacheModel
+
+ @Inject RunnableTransformer runnableTransformer
+
+ public def create inchronModelFactory.createProcess createProcess(Task amltTask, Component inchronComponent ){
+ cacheModel=customObjsStore.getInstance(AmltCacheModel)
+
+ cacheModel.addAmltProcess_InchronComponent(amltTask, inchronComponent)
it.name=amltTask.name
+
+ amltTask.callGraph.graphEntries.forEach[amltGraphEntry|{
+ if(amltGraphEntry instanceof CallSequence){
+
+ amltGraphEntry.calls.forEach[amltCallSequenceItem|{
+ if(amltCallSequenceItem instanceof TaskRunnableCall){
+
+ var amltRunnable=amltCallSequenceItem.runnable
+
+ runnableTransformer.createFunction(amltTask,amltRunnable)
+ }
+ }]
+ }else if(amltGraphEntry instanceof ModeSwitch){
+
+ }else if(amltGraphEntry instanceof ProbabilitySwitch){
+
+ }
+ }]
}
}
\ 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/AsynchronousServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/AsynchronousServerCallTransformer.xtend
new file mode 100644
index 0000000..0570088
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/AsynchronousServerCallTransformer.xtend
@@ -0,0 +1,8 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class AsynchronousServerCallTransformer extends AbstractAmaltheaInchronTransformer{
+
+
+}
\ 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/ChannelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelAccessTransformer.xtend
new file mode 100644
index 0000000..5b88e81
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelAccessTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ChannelAccessTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/ChannelReceiveTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelReceiveTransformer.xtend
new file mode 100644
index 0000000..0b8edd5
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelReceiveTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ChannelReceiveTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/ChannelSendTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelSendTransformer.xtend
new file mode 100644
index 0000000..cc456c3
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ChannelSendTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ChannelSendTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/ComputationItemTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ComputationItemTransformer.xtend
new file mode 100644
index 0000000..3dd560d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ComputationItemTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ComputationItemTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/CustomEventTriggerTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/CustomEventTriggerTransformer.xtend
new file mode 100644
index 0000000..c3681ee
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/CustomEventTriggerTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class CustomEventTriggerTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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
new file mode 100644
index 0000000..af91424
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ExecutionNeedTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ExecutionNeedTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/GetResultServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GetResultServerCallTransformer.xtend
new file mode 100644
index 0000000..788a654
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GetResultServerCallTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class GetResultServerCallTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/GroupTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GroupTransformer.xtend
new file mode 100644
index 0000000..1a82ec8
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/GroupTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class GroupTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/LabelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/LabelAccessTransformer.xtend
new file mode 100644
index 0000000..833ab70
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/LabelAccessTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class LabelAccessTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/ModeLabelAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ModeLabelAccessTransformer.xtend
new file mode 100644
index 0000000..806f8d6
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ModeLabelAccessTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ModeLabelAccessTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/RunnableCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableCallTransformer.xtend
new file mode 100644
index 0000000..b327154
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableCallTransformer.xtend
@@ -0,0 +1,19 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+import org.eclipse.app4mc.amalthea.model.RunnableCall
+import com.google.inject.Inject
+import templates.m2m.sw.RunnableTransformer
+import org.eclipse.app4mc.amalthea.model.Process
+
+class RunnableCallTransformer extends AbstractAmaltheaInchronTransformer{
+
+ @Inject RunnableTransformer runnableTransformer;
+
+
+ public def create inchronModelFactory.createFunctionCall createFunctionCall(Process amltProcess, RunnableCall amltRunnableCall){
+
+ it.function = runnableTransformer.createFunction(amltProcess, amltRunnableCall.runnable);
+ }
+
+}
\ 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/RunnableModeSwitchTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableModeSwitchTransformer.xtend
new file mode 100644
index 0000000..f7d649d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableModeSwitchTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class RunnableModeSwitchTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/RunnableProbablilitySwitchTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableProbablilitySwitchTransformer.xtend
new file mode 100644
index 0000000..cbdcd9b
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/RunnableProbablilitySwitchTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class RunnableProbablilitySwitchTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/SemaphoreAccessTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SemaphoreAccessTransformer.xtend
new file mode 100644
index 0000000..b7f6c6c
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SemaphoreAccessTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class SemaphoreAccessTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/SenderReceiverCommunicationTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverCommunicationTransformer.xtend
new file mode 100644
index 0000000..e4d2e70
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverCommunicationTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class SenderReceiverCommunicationTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/SenderReceiverReadTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverReadTransformer.xtend
new file mode 100644
index 0000000..7c64e0b
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverReadTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class SenderReceiverReadTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/SenderReceiverWriteTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverWriteTransformer.xtend
new file mode 100644
index 0000000..aa450bb
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SenderReceiverWriteTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class SenderReceiverWriteTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/ServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ServerCallTransformer.xtend
new file mode 100644
index 0000000..d2767c6
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/ServerCallTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class ServerCallTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/SynchronousServerCallTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SynchronousServerCallTransformer.xtend
new file mode 100644
index 0000000..a258c0d
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/SynchronousServerCallTransformer.xtend
@@ -0,0 +1,7 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class SynchronousServerCallTransformer extends AbstractAmaltheaInchronTransformer{
+
+}
\ 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/TicksTransformer.xtend b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TicksTransformer.xtend
new file mode 100644
index 0000000..2f01c34
--- /dev/null
+++ b/eclipse-tools/model-transformation/examples/amlt2inchron/org.eclipse.app4mc.transform.to.inchron.m2m/src/templates/m2m/sw/runnableItem/TicksTransformer.xtend
@@ -0,0 +1,9 @@
+package templates.m2m.sw.runnableItem
+
+import templates.AbstractAmaltheaInchronTransformer
+
+class TicksTransformer extends AbstractAmaltheaInchronTransformer{
+
+
+ // transform to resource consumption
+}
\ No newline at end of file
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
index a7fa108..11379e0 100644
--- 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
@@ -33,6 +33,7 @@
import com.inchron.realtime.root.model.ActivationConnection;
import com.inchron.realtime.root.model.Clock;
+import com.inchron.realtime.root.model.Component;
import com.inchron.realtime.root.model.CpuCore;
import com.inchron.realtime.root.model.GenericSystem;
import com.inchron.realtime.root.model.RtosConfig;
@@ -50,6 +51,14 @@
private Map<String,RtosConfig> inchronRtosConfigMap = new HashMap<>();
+ private Map<String, Component> inchronComponentsMap = new HashMap<>();
+
+ private Map<Process, Component> amltProcess_InchronComponentMap = new HashMap<>();
+
+ private Map<com.inchron.realtime.root.model.Process, Component> inchronProcessComponentsMap = new HashMap<>();
+
+
+
private Map<com.inchron.realtime.root.model.Scheduler, Scheduler> inchronScheduler_amltSchedulerMap = new HashMap<>();
@@ -299,4 +308,28 @@
public CpuCore getInchronCpuCore(String name) {
return inchronCpuCoresMap.get(name);
}
+
+
+ public void addInchronComponent(Component component) {
+ inchronComponentsMap.put(component.getName(), component);
+ }
+
+ public Component getInchronComponent(String name) {
+ return inchronComponentsMap.get(name);
+ }
+
+
+
+
+ public void addAmltProcess_InchronComponent(Process amltProcess, Component inchronComponent) {
+ amltProcess_InchronComponentMap.put(amltProcess,inchronComponent);
+ }
+
+ public Component getInchronComponent(Process amltProcess) {
+ return amltProcess_InchronComponentMap.get(amltProcess);
+ }
+
+
+
+
}