From f4d912843ded13c25bbc9a4a3535f7e5bccf7e05 Mon Sep 17 00:00:00 2001
From: Mayank Chaudhary <chaudhary@fortiss.org>
Date: Tue, 8 Mar 2016 11:36:20 +0000
Subject: [PATCH] Executables for Raspberry platform elements refs 2507

---
 ...yPlatformHierarchicalCompositionRules.java | 60 ++++++++++++
 .../executable/ActuatorExecutable.java        | 74 +++++++++++++++
 .../executable/ActuatorOutExecutable.java     | 74 +++++++++++++++
 .../generator/executable/BusExecutable.java   | 56 ++++++++++++
 .../BusMasterInterfaceExecutable.java         | 91 +++++++++++++++++++
 .../executable/BusMasterPortExecutable.java   | 91 +++++++++++++++++++
 .../executable/CANBusExecutable.java          | 56 ++++++++++++
 .../generator/executable/CoreExecutable.java  | 73 +++++++++++++++
 .../executable/RaspberryPi1Executable.java    | 40 ++++++++
 .../executable/RaspberryPi2Executable.java    | 40 ++++++++
 .../executable/RaspberryPi3Executable.java    | 40 ++++++++
 .../executable/SensorExecutable.java          | 74 +++++++++++++++
 .../executable/SensorInExecutable.java        | 74 +++++++++++++++
 13 files changed, 843 insertions(+)
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compositor/RaspberryPlatformHierarchicalCompositionRules.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorOutExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterInterfaceExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterPortExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CANBusExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CoreExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi1Executable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi2Executable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi3Executable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorExecutable.java
 create mode 100644 org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorInExecutable.java

diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compositor/RaspberryPlatformHierarchicalCompositionRules.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compositor/RaspberryPlatformHierarchicalCompositionRules.java
new file mode 100644
index 00000000..b6ecf4a0
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/compositor/RaspberryPlatformHierarchicalCompositionRules.java
@@ -0,0 +1,60 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.compositor;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.fortiss.af3.platform.compose.IPlatformHierarchicalCompositionRules;
+import org.fortiss.af3.platform.compose.PlatformHierarchicalCompositionRulesBase;
+import org.fortiss.af3.platform.model.IArchitectureDomain;
+import org.fortiss.af3.platform.model.IPlatformDomain;
+import org.fortiss.af3.platform.raspberry.model.IBoardDomain;
+import org.fortiss.af3.platform.raspberry.model.IProcessorDomain;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class RaspberryPlatformHierarchicalCompositionRules extends
+		PlatformHierarchicalCompositionRulesBase {
+
+	/** Singleton pattern. */
+	public static IPlatformHierarchicalCompositionRules INSTANCE =
+			new RaspberryPlatformHierarchicalCompositionRules();
+
+	/** {@inheritDoc} */
+	@Override
+	public EList<Class<? extends IArchitectureDomain>> getAdmissibleChildDomains(
+			Class<? extends IArchitectureDomain> domain) {
+		EList<Class<? extends IArchitectureDomain>> rval =
+				new BasicEList<Class<? extends IArchitectureDomain>>();
+
+		if(domain.equals(IPlatformDomain.class)) {
+			rval.add(IBoardDomain.class);
+		} else if(hasEqualLevel(domain, IPlatformDomain.class)) {
+			rval.add(IPlatformDomain.class);
+		} else if(hasEqualLevel(domain, IBoardDomain.class)) {
+			rval.add(IProcessorDomain.class);
+		}
+		return rval;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorExecutable.java
new file mode 100644
index 00000000..86405b37
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorExecutable.java
@@ -0,0 +1,74 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.OutputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.IWritableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.TransmitterExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.Actuator;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class ActuatorExecutable extends TransmitterExecutableBase<Actuator> implements
+		IInitializableExecutable, ITerminatableExecutable, IWritableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public ActuatorExecutable(Actuator modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorOutExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorOutExecutable.java
new file mode 100644
index 00000000..83d6cb1d
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/ActuatorOutExecutable.java
@@ -0,0 +1,74 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.OutputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.IWritableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.TransmitterExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.ActuatorOut;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class ActuatorOutExecutable extends TransmitterExecutableBase<ActuatorOut> implements
+		IInitializableExecutable, ITerminatableExecutable, IWritableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public ActuatorOutExecutable(ActuatorOut modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusExecutable.java
new file mode 100644
index 00000000..1f555bbc
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusExecutable.java
@@ -0,0 +1,56 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import java.util.List;
+import java.util.Map;
+
+import org.fortiss.af3.component.model.Component;
+import org.fortiss.af3.component.model.Port;
+import org.fortiss.af3.generator.common.model.source.SourcePackage;
+import org.fortiss.af3.platform.language.executable.TransmissionUnitExecutableBase;
+import org.fortiss.af3.platform.model.ExecutionUnit;
+import org.fortiss.af3.platform.model.TransmissionUnit;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class BusExecutable extends TransmissionUnitExecutableBase<TransmissionUnit> {
+
+	/**
+	 * @param modelElement
+	 */
+	public BusExecutable(TransmissionUnit modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void createAllFiles(SourcePackage pack, Map<ExecutionUnit, List<Port>> euPortsPair,
+			Map<ExecutionUnit, List<Component>> euComponentList, Component topComponent,
+			int deploymentID) {
+		// TODO Auto-generated method stub
+
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterInterfaceExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterInterfaceExecutable.java
new file mode 100644
index 00000000..c48cf6c7
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterInterfaceExecutable.java
@@ -0,0 +1,91 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.InputPort;
+import org.fortiss.af3.component.model.OutputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.IReadableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.IWritableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.TransceiverExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.BusMasterInterface;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class BusMasterInterfaceExecutable extends TransceiverExecutableBase<BusMasterInterface>
+		implements IInitializableExecutable, ITerminatableExecutable,
+		IReadableExecutableWithNoValSupport, IWritableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public BusMasterInterfaceExecutable(BusMasterInterface modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterPortExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterPortExecutable.java
new file mode 100644
index 00000000..c19fd395
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/BusMasterPortExecutable.java
@@ -0,0 +1,91 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.InputPort;
+import org.fortiss.af3.component.model.OutputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.IReadableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.IWritableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.TransceiverExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.BusMasterPort;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class BusMasterPortExecutable extends TransceiverExecutableBase<BusMasterPort> implements
+		IInitializableExecutable, ITerminatableExecutable, IReadableExecutableWithNoValSupport,
+		IWritableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public BusMasterPortExecutable(BusMasterPort modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CANBusExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CANBusExecutable.java
new file mode 100644
index 00000000..9b5a4a57
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CANBusExecutable.java
@@ -0,0 +1,56 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import java.util.List;
+import java.util.Map;
+
+import org.fortiss.af3.component.model.Component;
+import org.fortiss.af3.component.model.Port;
+import org.fortiss.af3.generator.common.model.source.SourcePackage;
+import org.fortiss.af3.platform.language.executable.TransmissionUnitExecutableBase;
+import org.fortiss.af3.platform.model.ExecutionUnit;
+import org.fortiss.af3.platform.model.TransmissionUnit;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class CANBusExecutable extends TransmissionUnitExecutableBase<TransmissionUnit> {
+
+	/**
+	 * @param modelElement
+	 */
+	public CANBusExecutable(TransmissionUnit modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void createAllFiles(SourcePackage pack, Map<ExecutionUnit, List<Port>> euPortsPair,
+			Map<ExecutionUnit, List<Component>> euComponentList, Component topComponent,
+			int deploymentID) {
+		// TODO Auto-generated method stub
+
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CoreExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CoreExecutable.java
new file mode 100644
index 00000000..9f4401f4
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/CoreExecutable.java
@@ -0,0 +1,73 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import java.util.List;
+
+import org.conqat.lib.commons.collections.Pair;
+import org.fortiss.af3.component.model.Component;
+import org.fortiss.af3.component.model.Port;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.generator.common.model.c.CSourcePackage;
+import org.fortiss.af3.platform.language.executable.ExecutionUnitExecutableBase;
+import org.fortiss.af3.platform.model.ExecutionUnit;
+import org.fortiss.af3.platform.model.PlatformConnectorUnit;
+import org.fortiss.af3.platform.raspberry.model.Core;
+import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class CoreExecutable extends ExecutionUnitExecutableBase<Core, CSourcePackage> {
+
+	/**
+	 * @param modelElement
+	 */
+	public CoreExecutable(Core modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	protected CSourcePackage createExecutionUnitSourcePackage(String name,
+			List<Pair<ExecutionUnit, Component>> deployedComponents,
+			List<Pair<PlatformConnectorUnit, Port>> deployedPorts, ITransformationContext context) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi1Executable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi1Executable.java
new file mode 100644
index 00000000..74718c69
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi1Executable.java
@@ -0,0 +1,40 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.platform.language.executable.GenericPlatformUnitExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.RaspberryPi1;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class RaspberryPi1Executable extends GenericPlatformUnitExecutableBase<RaspberryPi1> {
+
+	/**
+	 * @param modelElement
+	 */
+	public RaspberryPi1Executable(RaspberryPi1 modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi2Executable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi2Executable.java
new file mode 100644
index 00000000..d533aaf9
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi2Executable.java
@@ -0,0 +1,40 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.platform.language.executable.GenericPlatformUnitExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.RaspberryPi2;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class RaspberryPi2Executable extends GenericPlatformUnitExecutableBase<RaspberryPi2> {
+
+	/**
+	 * @param modelElement
+	 */
+	public RaspberryPi2Executable(RaspberryPi2 modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi3Executable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi3Executable.java
new file mode 100644
index 00000000..a73b2105
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPi3Executable.java
@@ -0,0 +1,40 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.platform.language.executable.GenericPlatformUnitExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.RaspberryPi3;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class RaspberryPi3Executable extends GenericPlatformUnitExecutableBase<RaspberryPi3> {
+
+	/**
+	 * @param modelElement
+	 */
+	public RaspberryPi3Executable(RaspberryPi3 modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorExecutable.java
new file mode 100644
index 00000000..3b1a834f
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorExecutable.java
@@ -0,0 +1,74 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.InputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.IReadableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.Sensor;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class SensorExecutable extends ReceiverExecutableBase<Sensor> implements
+		IInitializableExecutable, ITerminatableExecutable, IReadableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public SensorExecutable(Sensor modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorInExecutable.java b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorInExecutable.java
new file mode 100644
index 00000000..fa3912b0
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/trunk/src/org/fortiss/af3/platform/raspberry/generator/executable/SensorInExecutable.java
@@ -0,0 +1,74 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2016 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.platform.raspberry.generator.executable;
+
+import org.fortiss.af3.component.model.InputPort;
+import org.fortiss.af3.expression.model.terms.IExpressionTerm;
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+import org.fortiss.af3.platform.language.executable.IReadableExecutableWithNoValSupport;
+import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
+import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
+import org.fortiss.af3.platform.raspberry.model.SensorIn;
+
+/**
+ * 
+ * @author chaudhary
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating RED Hash:
+ */
+public class SensorInExecutable extends ReceiverExecutableBase<SensorIn> implements
+		IInitializableExecutable, ITerminatableExecutable, IReadableExecutableWithNoValSupport {
+
+	/**
+	 * @param modelElement
+	 */
+	public SensorInExecutable(SensorIn modelElement) {
+		super(modelElement);
+		// TODO Auto-generated constructor stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getTermination() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public IExpressionTerm getInitialization() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
-- 
GitLab