From a593e7ff1e551d9679aca9431da1b30ba8d1680a Mon Sep 17 00:00:00 2001
From: Mayank Chaudhary <chaudhary@fortiss.org>
Date: Thu, 31 Mar 2016 13:12:45 +0000
Subject: [PATCH] methods defined added for sensors and actuators refs 2507

---
 .../executable/ActuatorOutExecutable.java     | 22 ++++++-------
 .../generator/executable/BusExecutable.java   |  3 +-
 .../executable/BusMasterPortExecutable.java   | 32 ++++++++-----------
 .../executable/CANBusExecutable.java          |  3 +-
 .../generator/executable/CoreExecutable.java  |  4 ++-
 .../executable/SensorInExecutable.java        | 23 ++++++-------
 6 files changed, 39 insertions(+), 48 deletions(-)

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
index 83d6cb1d..5cde1ec4 100644
--- 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
@@ -17,6 +17,8 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.af3.platform.raspberry.generator.executable;
 
+import static org.fortiss.af3.expression.utils.ExpressionModelElementFactory.funcCall;
+
 import org.fortiss.af3.component.model.OutputPort;
 import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
@@ -45,30 +47,26 @@ public class ActuatorOutExecutable extends TransmitterExecutableBase<ActuatorOut
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getInitialization() {
+		return funcCall("init_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getTermination() {
+		return funcCall("term_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getTermination() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		return funcCall("write_" + modelElement.getName(), value);
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getInitialization() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		return funcCall("set_noval_" + modelElement.getName());
 	}
 
 }
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
index 252a6ce5..1f555bbc 100644
--- 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
@@ -26,7 +26,6 @@ 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;
-import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
 
 /**
  * 
@@ -49,7 +48,7 @@ public class BusExecutable extends TransmissionUnitExecutableBase<TransmissionUn
 	@Override
 	public void createAllFiles(SourcePackage pack, Map<ExecutionUnit, List<Port>> euPortsPair,
 			Map<ExecutionUnit, List<Component>> euComponentList, Component topComponent,
-			int deploymentID, ITransformationContext context) {
+			int deploymentID) {
 		// TODO Auto-generated method stub
 
 	}
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
index c19fd395..47a574cf 100644
--- 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
@@ -17,6 +17,8 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.af3.platform.raspberry.generator.executable;
 
+import static org.fortiss.af3.expression.utils.ExpressionModelElementFactory.funcCall;
+
 import org.fortiss.af3.component.model.InputPort;
 import org.fortiss.af3.component.model.OutputPort;
 import org.fortiss.af3.expression.model.terms.IExpressionTerm;
@@ -48,44 +50,38 @@ public class BusMasterPortExecutable extends TransceiverExecutableBase<BusMaster
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getInitialization() {
+		return funcCall("init_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getTermination() {
+		return funcCall("term_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getValueWriteAccessor(OutputPort logicalSignal, IExpressionTerm value) {
+		return funcCall("write_" + modelElement.getName() + "_" + logicalSignal.getName(), value);
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		return funcCall("read_" + modelElement.getName() + "_" + logicalSignal.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getTermination() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getNoValWriteAccessor(OutputPort logicalSignal) {
+		return funcCall("set_noval_" + modelElement.getName() + "_" + logicalSignal.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getInitialization() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		return funcCall("is_noval_" + modelElement.getName() + "_" + logicalSignal.getName());
 	}
 
 }
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
index 7ad0777f..9b5a4a57 100644
--- 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
@@ -26,7 +26,6 @@ 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;
-import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
 
 /**
  * 
@@ -49,7 +48,7 @@ public class CANBusExecutable extends TransmissionUnitExecutableBase<Transmissio
 	@Override
 	public void createAllFiles(SourcePackage pack, Map<ExecutionUnit, List<Port>> euPortsPair,
 			Map<ExecutionUnit, List<Component>> euComponentList, Component topComponent,
-			int deploymentID, ITransformationContext context) {
+			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
index d4c8c4a7..d4dcdcba 100644
--- 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
@@ -71,6 +71,7 @@ import org.fortiss.af3.platform.language.executable.ITerminatableExecutable;
 import org.fortiss.af3.platform.language.executable.IWritableExecutable;
 import org.fortiss.af3.platform.language.executable.IWritableExecutableWithNoValSupport;
 import org.fortiss.af3.platform.model.ExecutionUnit;
+import org.fortiss.af3.platform.model.GenericPlatformUnit;
 import org.fortiss.af3.platform.model.PlatformConnectorUnit;
 import org.fortiss.af3.platform.model.generic.GenericReceiver;
 import org.fortiss.af3.platform.model.generic.GenericTransceiver;
@@ -116,7 +117,8 @@ public class CoreExecutable extends ExecutionUnitExecutableBase<Core, CSourcePac
 		/* need to check if all annotations are set */
 
 		CSourcePackage sourcePackage = createCSourcePackage();
-		sourcePackage.setBaseLocation("app/" + name);
+		String dirName = ((GenericPlatformUnit)modelElement.eContainer()).getName();
+		sourcePackage.setBaseLocation(dirName + "/" + name);
 
 		// Fill the the two helper sets. Sets are used to ensure uniqueness of platform connectors.
 		Set<PlatformConnectorUnit> usedUnits = new HashSet<PlatformConnectorUnit>();
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
index fa3912b0..3e2beec9 100644
--- 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
@@ -17,6 +17,8 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.af3.platform.raspberry.generator.executable;
 
+import static org.fortiss.af3.expression.utils.ExpressionModelElementFactory.funcCall;
+
 import org.fortiss.af3.component.model.InputPort;
 import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
@@ -45,30 +47,25 @@ public class SensorInExecutable extends ReceiverExecutableBase<SensorIn> impleme
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getInitialization() {
+		return funcCall("init_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getTermination() {
+		return funcCall("term_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getTermination() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getValueReadAccessor(InputPort logicalSignal) {
+		return funcCall("read_" + modelElement.getName());
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IExpressionTerm getInitialization() {
-		// TODO Auto-generated method stub
-		return null;
+	public IExpressionTerm getNoValGuardAccessor(InputPort logicalSignal) {
+		return funcCall("is_noval_" + modelElement.getName());
 	}
-
 }
-- 
GitLab