From 0a72c4698bdd9ae5cfc824538e04749c9e54d2c5 Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Thu, 24 May 2018 16:05:53 +0200
Subject: [PATCH] Some code generator cleanup and file header unification.

Signed-off-by: Florian Hoelzl <hoelzl@fortiss.org>
---
 .../executable/CanBusExecutable.java          |  16 +-
 .../executable/CanConnectorExecutable.java    |  15 +-
 .../executable/CanTransmissionCatalog.java    |  16 +-
 .../executable/HeaderCopyGenerator.java       |  15 +-
 .../executable/MultiUnitMainGenerator.java    |  15 +-
 .../executable/PWMActuatorExecutable.java     |  15 +-
 .../executable/RaspberryPIExecutable.java     | 201 ++++++++++--------
 ...ator.java => SingleUnitMainGenerator.java} |  19 +-
 .../generator/executable/framework/.ratings   |   1 +
 .../ISingletonInitializableExecutable.java    |  30 +++
 .../executable/gamepad/Button1Executable.java |  15 +-
 .../executable/gamepad/Button2Executable.java |  15 +-
 .../executable/gamepad/Button3Executable.java |  15 +-
 .../executable/gamepad/Button4Executable.java |  15 +-
 .../gamepad/ButtonL1Executable.java           |  15 +-
 .../gamepad/ButtonL2Executable.java           |  15 +-
 .../gamepad/ButtonR1Executable.java           |  15 +-
 .../gamepad/ButtonR2Executable.java           |  15 +-
 .../gamepad/Left_StickXExecutable.java        |  15 +-
 .../gamepad/Left_StickYExecutable.java        |  15 +-
 .../gamepad/Right_StickXExecutable.java       |  15 +-
 .../gamepad/Right_StickYExecutable.java       |  15 +-
 .../rumblepad/ButtonAExecutable.java          |  15 +-
 .../rumblepad/ButtonBExecutable.java          |  15 +-
 .../rumblepad/ButtonHomeExecutable.java       |  15 +-
 .../rumblepad/ButtonL1Executable.java         |  15 +-
 .../rumblepad/ButtonL3Executable.java         |  15 +-
 .../rumblepad/ButtonR1Executable.java         |  15 +-
 .../rumblepad/ButtonR3Executable.java         |  16 +-
 .../rumblepad/ButtonSelectExecutable.java     |  15 +-
 .../rumblepad/ButtonStartExecutable.java      |  15 +-
 .../rumblepad/ButtonXExecutable.java          |  15 +-
 .../rumblepad/ButtonYExecutable.java          |  15 +-
 .../rumblepad/DPadDownExecutable.java         |  15 +-
 .../rumblepad/DPadLeftExecutable.java         |  15 +-
 .../rumblepad/DPadRightExecutable.java        |  15 +-
 .../rumblepad/DPadUpExecutable.java           |  15 +-
 .../rumblepad/L2PositionExecutable.java       |  15 +-
 .../rumblepad/Left_StickXExecutable.java      |  15 +-
 .../rumblepad/Left_StickYExecutable.java      |  15 +-
 .../rumblepad/R2PositionExecutable.java       |  15 +-
 .../rumblepad/Right_StickXExecutable.java     |  15 +-
 .../rumblepad/Right_StickYExecutable.java     |  15 +-
 .../SimpleRumbleFeatureExecutable.java        |  10 +-
 .../transform/PWMActuatorTransformation.java  |   2 -
 45 files changed, 272 insertions(+), 579 deletions(-)
 rename org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/{MainGenerator.java => SingleUnitMainGenerator.java} (98%)
 create mode 100644 org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
 create mode 100644 org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializableExecutable.java

diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanBusExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanBusExecutable.java
index d8f0d797..a6d7a776 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanBusExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanBusExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -28,14 +26,7 @@ import org.fortiss.af3.platform.model.ExecutionUnit;
 import org.fortiss.af3.platform.model.TransmissionUnit;
 import org.fortiss.af3.platform.raspberry.model.CanBus;
 
-/**
- * Executable for {@link CanBus}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link CanBus}. */
 public class CanBusExecutable extends TransmissionUnitExecutableBase<TransmissionUnit> {
 
 	/** Constructor. */
@@ -51,5 +42,4 @@ public class CanBusExecutable extends TransmissionUnitExecutableBase<Transmissio
 			int deploymentID) {
 		// no functionality as of now
 	}
-
 }
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanConnectorExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanConnectorExecutable.java
index 0260fd55..ed13a0d5 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanConnectorExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanConnectorExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -30,14 +28,7 @@ import org.fortiss.af3.expression.model.types.TInt;
 import org.fortiss.af3.platform.language.executable.TransceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.CanConnector;
 
-/**
- * Executable for {@link CanConnector}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link CanConnector}s. */
 public class CanConnectorExecutable extends TransceiverExecutableBase<CanConnector> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanTransmissionCatalog.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanTransmissionCatalog.java
index 774bccbe..ec4637ed 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanTransmissionCatalog.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/CanTransmissionCatalog.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -30,15 +28,7 @@ import org.fortiss.af3.deployment.model.ComponentAllocation;
 import org.fortiss.af3.deployment.model.Deployment;
 import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
 
-/**
- * Can Transmission Catalog
- * 
- * @author eder
- * @author hoelzl
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Can Transmission Catalog */
 public class CanTransmissionCatalog extends TransmissionCatalog {
 	/** Mapping from atomic component to deployed execution unit. */
 	private HashMap<Component, RaspberryPi> componentToRaspberry = new HashMap<>();
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/HeaderCopyGenerator.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/HeaderCopyGenerator.java
index ae7b0233..18239a3a 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/HeaderCopyGenerator.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/HeaderCopyGenerator.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: HeaderCopyGenerator.java 23938 2018-04-10 11:29:55Z eder $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -23,14 +21,7 @@ import org.fortiss.af3.generator.common.model.c.CSourcePackage;
 import org.fortiss.af3.generator.common.model.source.ByteContentUnit;
 import org.fortiss.af3.platform.raspberry.AF3PlatformRaspberryActivator;
 
-/**
- * Class for copying the header files to the target folder.
- * 
- * @author hoelzl
- * @author $Author: eder $
- * @version $Rev: 23938 $
- * @ConQAT.Rating RED Hash:
- */
+/** Class for copying the header files to the target folder. */
 final class HeaderCopyGenerator {
 	/** Adds the header files to the given target {@link CSourcePackage}. */
 	public static void copyHeaderFiles(CSourcePackage incLibPack) throws Exception {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MultiUnitMainGenerator.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MultiUnitMainGenerator.java
index c8df8b52..458754b8 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MultiUnitMainGenerator.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MultiUnitMainGenerator.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: MultiUnitMainGenerator.java 23075 2018-02-01 14:25:45Z ext.konstantin.tschernik $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -92,14 +90,7 @@ import org.fortiss.af3.project.model.typesystem.IType;
 import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
 import org.fortiss.tooling.kernel.model.INamedElement;
 
-/**
- * Separate class for generating the main.c file for use with CAN-based multi-unit deployments.
- * 
- * @author hoelzl
- * @author $Author: ext.konstantin.tschernik $
- * @version $Rev: 23075 $
- * @ConQAT.Rating RED Hash:
- */
+/** Separate class for generating the main.c file for use with CAN-based multi-unit deployments. */
 class MultiUnitMainGenerator {
 	private static final int WAITING_SLEEP_IN_MICROS = 50;
 	private Deployment deployment;
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
index faabcd8e..7f408032 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -25,14 +23,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.TransmitterExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.ActuatorPWM;
 
-/**
- * Executable for {@link ActuatorPWM}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ActuatorPWM}. */
 public class PWMActuatorExecutable extends TransmitterExecutableBase<ActuatorPWM> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPIExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPIExecutable.java
index 0c57efb4..3bfe08be 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPIExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/RaspberryPIExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -37,6 +35,7 @@ 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.component.model.generator.ComponentProgram;
+import org.fortiss.af3.deployment.generator.DeploymentExecutable;
 import org.fortiss.af3.deployment.generator.DeploymentExecutableTransformationContext;
 import org.fortiss.af3.deployment.model.Deployment;
 import org.fortiss.af3.expression.model.DataDictionary;
@@ -53,15 +52,7 @@ import org.fortiss.af3.platform.raspberry.model.RaspberryPi;
 import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
 import org.fortiss.tooling.kernel.extension.exception.ChainTransformationFailedException;
 
-/**
- * {@link ExecutionUnitExecutableBase} for the {@link RaspberryPi} platform.
- * 
- * @author eder
- * @author hoelzl
- * @author $Author: eder $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** {@link ExecutionUnitExecutableBase} for the {@link RaspberryPi} platform. */
 public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<RaspberryPi, CSourcePackage> {
 	/** Folder name for library source files. */
 	private static final String SRC_LIB_SUB_PACKAGE_NAME = "src-lib";
@@ -76,8 +67,22 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry
 	// Note that the order is important (GCC linker crap!)
 	private static final String LIB_NAMES_WITH_BRICK = "brick " + LIB_NAMES;
 	/** Default library names extended with vesc. */
+	// Note that the order is important (GCC linker crap!)
 	private static final String LIB_NAMES_WITH_VESC = LIB_NAMES_WITH_BRICK + " vesc";
 
+	// code generator input and intermediary data
+	/** The transformation context provided by the deployment generator framework. */
+	private ITransformationContext context;
+	/** The current deployment. */
+	private Deployment deployment;
+	/** If the deployment uses a {@link CanBus} this references its catalog. */
+	private CanTransmissionCatalog canCatalog;
+	/** The list of atomic components deployed on this execution unit. */
+	private List<Component> atomics = new ArrayList<>();
+	// code generator output
+	/** The C source package produced by this generator. */
+	private CSourcePackage generatorResult;
+
 	/** Constructor. */
 	public RaspberryPIExecutable(RaspberryPi modelElement) {
 		super(modelElement);
@@ -88,96 +93,115 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry
 	protected CSourcePackage createExecutionUnitSourcePackage(String name,
 			List<Pair<ExecutionUnit, Component>> deployedComponents,
 			List<Pair<PlatformConnectorUnit, Port>> deployedPorts, ITransformationContext context) {
-		Deployment deployment = null;
-		CanTransmissionCatalog catalog = null;
+		this.context = context;
+		findDeploymentAndLookForCanTransmissionCatalog();
+		// create the result package
+		generatorResult = createCSourcePackage();
+		generatorResult.setBaseLocation(name);
+		try {
+			addEclipseCProjectFiles();
+			addConfigureAndMakedefsFiles();
+			addStaticLibrariesAndCode();
+			addDataDictionaryCode();
+			addLogicalComponentCode(deployedComponents);
+			addMainFile(deployedComponents, deployedPorts);
+		} catch(Exception ex) {
+			error(AF3PlatformRaspberryActivator.getDefault(), ex.getMessage(), ex);
+			ex.printStackTrace();
+		}
+		return generatorResult;
+	}
+
+	/** Adds the code for the deployed logical components. */
+	private void addLogicalComponentCode(List<Pair<ExecutionUnit, Component>> deployedComponents)
+			throws ChainTransformationFailedException {
+		if(canCatalog != null) {
+			findAtomicDeployedComponents(deployedComponents);
+			addLogicalComponentCodeMultiUnit();
+		} else {
+			addLogicalComponentCodeSingleUnit(deployedComponents);
+		}
+	}
+
+	/** Searches the deployed components for atomic ones and adds them to the {@code atomics} list. */
+	private void findAtomicDeployedComponents(
+			List<Pair<ExecutionUnit, Component>> deployedComponents) {
+		atomics.clear();
+		for(Pair<ExecutionUnit, Component> p : deployedComponents) {
+			if(p.getFirst() != modelElement) {
+				continue;
+			}
+			Component c = p.getSecond();
+			if(isAtomicComponent(c)) {
+				atomics.add(c);
+			} else {
+				atomics.addAll(c.findAtomicComponents());
+			}
+		}
+	}
+
+	/**
+	 * Analyzes the deployment context searching for {@link Deployment} and
+	 * {@link CanTransmissionCatalog}.
+	 */
+	private void findDeploymentAndLookForCanTransmissionCatalog() {
+		deployment = null;
+		canCatalog = null;
 		if(context instanceof DeploymentExecutableTransformationContext) {
 			DeploymentExecutableTransformationContext dContext =
 					(DeploymentExecutableTransformationContext)context;
-			deployment = dContext.getDeploymentExecutable().getDeployment();
+			DeploymentExecutable dExec = dContext.getDeploymentExecutable();
+			deployment = dExec.getDeployment();
 			List<TransmissionUnit> tus =
 					findAtomicTransmissionUnits(modelElement.getPlatformArchitecture());
-			if(!tus.isEmpty() && tus.get(0) instanceof CanBus) {
-				catalog =
-						(CanTransmissionCatalog)dContext.getDeploymentExecutable()
-								.getTransmissionCatalog(tus.get(0));
-			}
-		}
-		// create the result package
-		CSourcePackage sourcePackage = createCSourcePackage();
-		sourcePackage.setBaseLocation(name);
-		try {
-			addDataDictionaryCode(context, sourcePackage);
-			List<Component> atomics = new ArrayList<Component>();
-			for(Pair<ExecutionUnit, Component> p : deployedComponents) {
-				if(p.getFirst() != modelElement) {
-					continue;
+			for(TransmissionUnit tu : tus) {
+				if(tu instanceof CanBus) {
+					canCatalog = (CanTransmissionCatalog)dExec.getTransmissionCatalog(tu);
+					break;
 				}
-				Component c = p.getSecond();
-				if(isAtomicComponent(c)) {
-					atomics.add(c);
-				} else {
-					atomics.addAll(c.findAtomicComponents());
-				}
-			}
-			if(catalog != null) {
-				addLogicalComponentCode(atomics, context, sourcePackage);
-			} else {
-				addLogicalComponentCodeSingleUnit(deployedComponents, context, sourcePackage);
 			}
-			addEclipseCProjectFiles(sourcePackage, modelElement.getName());
-			addStaticLibrariesAndCode(sourcePackage);
-			addConfigureAndMakedefsFiles(sourcePackage, modelElement.getName(), LIB_NAMES_WITH_VESC);
-			addMainFile(deployment, catalog, sourcePackage, atomics, deployedComponents,
-					deployedPorts, context);
-		} catch(Exception ex) {
-			error(AF3PlatformRaspberryActivator.getDefault(), ex.getMessage(), ex);
-			ex.printStackTrace();
 		}
-		return sourcePackage;
 	}
 
-	/** Creates the main file by using the {@link MainGenerator} helper class. */
-	private void addMainFile(Deployment deployment, CanTransmissionCatalog catalog,
-			CSourcePackage sourcePackage, List<Component> atomics,
-			List<Pair<ExecutionUnit, Component>> deployedComponents,
-			List<Pair<PlatformConnectorUnit, Port>> deployedPorts, ITransformationContext context) {
-		CSourcePackage srcGenPack = (CSourcePackage)sourcePackage.getSrcGenPackage();
-		if(catalog != null) {
+	/** Creates the main file by using the {@link SingleUnitMainGenerator} helper class. */
+	private void addMainFile(List<Pair<ExecutionUnit, Component>> deployedComponents,
+			List<Pair<PlatformConnectorUnit, Port>> deployedPorts) {
+		CSourcePackage srcGenPack = (CSourcePackage)generatorResult.getSrcGenPackage();
+		if(canCatalog != null) {
 			MultiUnitMainGenerator mg =
-					new MultiUnitMainGenerator(deployment, catalog, modelElement, atomics,
+					new MultiUnitMainGenerator(deployment, canCatalog, modelElement, atomics,
 							deployedComponents, deployedPorts, context);
 			srcGenPack.addUnit(mg.createMultiUnitMain());
 		} else {
-			MainGenerator mg =
-					new MainGenerator(modelElement, deployedComponents, deployedPorts, context);
+			SingleUnitMainGenerator mg =
+					new SingleUnitMainGenerator(modelElement, deployedComponents, deployedPorts, context);
 			srcGenPack.addUnit(mg.createSingleUnitMain());
 		}
 	}
 
 	/** Adds the build process files: configure and Makedefs. */
-	private void addConfigureAndMakedefsFiles(CSourcePackage sourcePackage, String binaryName,
-			String libNames) {
-		sourcePackage.addUnit(getConfigureFile(binaryName, libNames));
-		sourcePackage.addUnit(getMakedefsFile());
+	private void addConfigureAndMakedefsFiles() {
+		generatorResult.addUnit(getConfigureFile(modelElement.getName(), LIB_NAMES_WITH_VESC));
+		generatorResult.addUnit(getMakedefsFile());
 	}
 
 	/** Adds the library code need by the deployment code generator. */
-	private void addStaticLibrariesAndCode(CSourcePackage sourcePackage) throws Exception {
+	private void addStaticLibrariesAndCode() throws Exception {
 		CSourcePackage srcLib =
 				AF3GeneratorCommonLanguagesCFactory.eINSTANCE.createCSourcePackage();
 		srcLib.setBaseLocation(SRC_LIB_SUB_PACKAGE_NAME);
-		sourcePackage.getSubPackages().add(srcLib);
+		generatorResult.getSubPackages().add(srcLib);
 		srcLib.addUnit(createByteContentUnitForPluginFileInRCP(
 				AF3PlatformRaspberryActivator.PLUGIN_ID, "code-gen-hal/src", "data.c", false));
 
 		CSourcePackage incLib =
 				AF3GeneratorCommonLanguagesCFactory.eINSTANCE.createCSourcePackage();
 		incLib.setBaseLocation(INC_LIB_SUB_PACKAGE_NAME);
-		sourcePackage.getSubPackages().add(incLib);
+		generatorResult.getSubPackages().add(incLib);
 
 		CSourcePackage lib = AF3GeneratorCommonLanguagesCFactory.eINSTANCE.createCSourcePackage();
 		lib.setBaseLocation(LIB_SUB_PACKAGE_NAME);
-		sourcePackage.getSubPackages().add(lib);
+		generatorResult.getSubPackages().add(lib);
 		lib.addUnit(createByteContentUnitForPluginFileInRCP(
 				AF3PlatformRaspberryActivator.PLUGIN_ID, "code-gen-hal/lib", "libbrick.a", false));
 		lib.addUnit(createByteContentUnitForPluginFileInRCP(
@@ -186,26 +210,28 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry
 	}
 
 	/** Adds auxiliary files for Eclipse C project. */
-	private void addEclipseCProjectFiles(CSourcePackage sourcePackage, String projectName) {
-		sourcePackage.addUnit(getEclipseProjectFile(projectName));
+	private void addEclipseCProjectFiles() {
+		generatorResult.addUnit(getEclipseProjectFile(modelElement.getName()));
 	}
 
 	/** Creates the code for all deployed components. */
-	private void addLogicalComponentCode(List<Component> deployedAtomics,
-			ITransformationContext context, CSourcePackage sourcePackage)
-			throws ChainTransformationFailedException {
-		for(Component cmp : deployedAtomics) {
+	private void addLogicalComponentCodeMultiUnit() throws ChainTransformationFailedException {
+		for(Component cmp : atomics) {
 			ComponentProgram cprog =
 					createTransformedObjectFor(cmp, ComponentProgram.class, context);
-			CSourcePackage cPack = createTransformedObjectFor(cprog, CSourcePackage.class, context);
-			cPack.mergeInto(sourcePackage);
+			if(cprog != null) {
+				CSourcePackage cPack =
+						createTransformedObjectFor(cprog, CSourcePackage.class, context);
+				if(cPack != null) {
+					cPack.mergeInto(generatorResult);
+				}
+			}
 		}
 	}
 
 	/** Creates the code for all deployed components. */
 	private void addLogicalComponentCodeSingleUnit(
-			List<Pair<ExecutionUnit, Component>> deployedComponents,
-			ITransformationContext context, CSourcePackage sourcePackage)
+			List<Pair<ExecutionUnit, Component>> deployedComponents)
 			throws ChainTransformationFailedException {
 		for(Pair<ExecutionUnit, Component> pair : deployedComponents) {
 			if(pair.getFirst() != modelElement) {
@@ -214,21 +240,26 @@ public class RaspberryPIExecutable extends ExecutionUnitExecutableBase<Raspberry
 			Component cmp = pair.getSecond();
 			ComponentProgram cprog =
 					createTransformedObjectFor(cmp, ComponentProgram.class, context);
-			CSourcePackage cPack = createTransformedObjectFor(cprog, CSourcePackage.class, context);
-			cPack.mergeInto(sourcePackage);
+			if(cprog != null) {
+				CSourcePackage cPack =
+						createTransformedObjectFor(cprog, CSourcePackage.class, context);
+				if(cPack != null) {
+					cPack.mergeInto(generatorResult);
+				}
+			}
 		}
 	}
 
 	/** Creates the code for the data dictionary. */
-	private void
-			addDataDictionaryCode(ITransformationContext context, CSourcePackage sourcePackage)
-					throws ChainTransformationFailedException {
+	private void addDataDictionaryCode() throws ChainTransformationFailedException {
 		DataDictionary dd = getRootElement(modelElement, DataDictionary.class);
 		if(dd == null) {
 			dd = createDataDictionary();
 		}
 		CSourcePackage ddPackage = createTransformedObjectFor(dd, CSourcePackage.class, context);
-		ddPackage.mergeInto(sourcePackage);
+		if(dd != null) {
+			ddPackage.mergeInto(generatorResult);
+		}
 	}
 
 	/** {@inheritDoc} */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MainGenerator.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/SingleUnitMainGenerator.java
similarity index 98%
rename from org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MainGenerator.java
rename to org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/SingleUnitMainGenerator.java
index e56edfbc..e1df0d82 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/MainGenerator.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/SingleUnitMainGenerator.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: MainGenerator.java 23939 2018-04-10 12:20:41Z eder $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -80,15 +78,8 @@ import org.fortiss.af3.platform.raspberry.model.rumblepad.RumbleMagnitudeWeak;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadReceiverBase;
 import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
 
-/**
- * Separate class for generating the main.c file.
- * 
- * @author hoelzl
- * @author $Author: eder $
- * @version $Rev: 23939 $
- * @ConQAT.Rating RED Hash:
- */
-class MainGenerator {
+/** Separate class for generating the main.c file for deployments ion single {@link RaspberryPi}. */
+class SingleUnitMainGenerator {
 	private static final int WAITING_SLEEP_IN_MICROS = 250;
 	private RaspberryPi executionUnit;
 	private List<Pair<ExecutionUnit, Component>> deployedComponents;
@@ -118,7 +109,7 @@ class MainGenerator {
 	private boolean useVesc;
 
 	/** Constructor. */
-	public MainGenerator(RaspberryPi executionUnit,
+	public SingleUnitMainGenerator(RaspberryPi executionUnit,
 			List<Pair<ExecutionUnit, Component>> deployedComponents,
 			List<Pair<PlatformConnectorUnit, Port>> deployedPorts, ITransformationContext context) {
 		this.executionUnit = executionUnit;
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
new file mode 100644
index 00000000..e2d40397
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
@@ -0,0 +1 @@
+ISingletonInitializableExecutable.java 4c423c2595dbaac444bdebc616a3d859b9056488 YELLOW
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializableExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializableExecutable.java
new file mode 100644
index 00000000..4c423c25
--- /dev/null
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializableExecutable.java
@@ -0,0 +1,30 @@
+/*-------------------------------------------------------------------------+
+| Copyright 2018 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.framework;
+
+import org.fortiss.af3.platform.language.executable.IInitializableExecutable;
+
+/**
+ * Interface implemented by platform-specific executables, which need
+ * initialization during system start-up. In contrast to {@link IInitializableExecutable},
+ * if there are more than one actuator or sensor with the same initialization term, this
+ * term is only included once in the generated code.
+ * 
+ * @author hoelzl
+ */
+public interface ISingletonInitializableExecutable extends IInitializableExecutable {
+	// marker interface
+}
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button1Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button1Executable.java
index a7e9f72c..24ccb4a8 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button1Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button1Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Button1;
 
-/**
- * Executable for {@link Button1}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Button1}. */
 public class Button1Executable extends ReceiverExecutableBase<Button1> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button2Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button2Executable.java
index 7b91f000..1619d2c2 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button2Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button2Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Button2;
 
-/**
- * Executable for {@link Button2}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Button2}. */
 public class Button2Executable extends ReceiverExecutableBase<Button2> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button3Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button3Executable.java
index 60274cf3..cd9615e4 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button3Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button3Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Button3;
 
-/**
- * Executable for {@link Button3}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Button3}. */
 public class Button3Executable extends ReceiverExecutableBase<Button3> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button4Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button4Executable.java
index b93fff5d..55ce16f9 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button4Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Button4Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Button4;
 
-/**
- * Executable for {@link Button4}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Button4}. */
 public class Button4Executable extends ReceiverExecutableBase<Button4> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL1Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL1Executable.java
index 1424b482..11e985bf 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL1Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL1Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.ButtonL1;
 
-/**
- * Executable for {@link ButtonL1}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonL1}. */
 public class ButtonL1Executable extends ReceiverExecutableBase<ButtonL1> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL2Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL2Executable.java
index b62543f8..e4f01bed 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL2Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonL2Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.ButtonL2;
 
-/**
- * Executable for {@link ButtonL2}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonL2}. */
 public class ButtonL2Executable extends ReceiverExecutableBase<ButtonL2> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR1Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR1Executable.java
index 841bc943..ff808449 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR1Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR1Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.ButtonR1;
 
-/**
- * Executable for {@link ButtonR1}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonR1}. */
 public class ButtonR1Executable extends ReceiverExecutableBase<ButtonR1> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR2Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR2Executable.java
index 5a0d5639..3c5892ad 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR2Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/ButtonR2Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.ButtonR2;
 
-/**
- * Executable for {@link ButtonR2}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonR2}. */
 public class ButtonR2Executable extends ReceiverExecutableBase<ButtonR2> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickXExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickXExecutable.java
index 9c86424c..5ee19c79 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickXExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickXExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickX_Position;
 
-/**
- * Executable for {@link Left_StickX_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Left_StickX_Position}. */
 public class Left_StickXExecutable extends ReceiverExecutableBase<Left_StickX_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickYExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickYExecutable.java
index 3372b1b8..72072552 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickYExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Left_StickYExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Left_StickY_Position;
 
-/**
- * Executable for {@link Left_StickY_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Left_StickY_Position}. */
 public class Left_StickYExecutable extends ReceiverExecutableBase<Left_StickY_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickXExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickXExecutable.java
index 7858cb4e..be3ca277 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickXExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickXExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickX_Position;
 
-/**
- * Executable for {@link Right_StickX_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Right_StickX_Position}. */
 public class Right_StickXExecutable extends ReceiverExecutableBase<Right_StickX_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickYExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickYExecutable.java
index 79174689..54ab0565 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickYExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/Right_StickYExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.gamepad.Right_StickY_Position;
 
-/**
- * Executable for {@link Right_StickY_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 18709 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Right_StickY_Position}. */
 public class Right_StickYExecutable extends ReceiverExecutableBase<Right_StickY_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonAExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonAExecutable.java
index 272e3f6a..0661a0f5 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonAExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonAExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonAExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonA;
 
-/**
- * Executable for {@link ButtonA}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonA}. */
 public class ButtonAExecutable extends ReceiverExecutableBase<ButtonA> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonBExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonBExecutable.java
index 953cd639..63073452 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonBExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonBExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonBExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonB;
 
-/**
- * Executable for {@link ButtonB}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonB}. */
 public class ButtonBExecutable extends ReceiverExecutableBase<ButtonB> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonHomeExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonHomeExecutable.java
index 10acd77c..a04d161d 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonHomeExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonHomeExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonHomeExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonHome;
 
-/**
- * Executable for {@link ButtonHome}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonHome}. */
 public class ButtonHomeExecutable extends ReceiverExecutableBase<ButtonHome> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL1Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL1Executable.java
index 8fbc896b..e8523f64 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL1Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL1Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonL1Executable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL1;
 
-/**
- * Executable for {@link ButtonL1}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonL1}. */
 public class ButtonL1Executable extends ReceiverExecutableBase<ButtonL1> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL3Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL3Executable.java
index 279bf759..6b4d7f9e 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL3Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonL3Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonL3Executable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonL3;
 
-/**
- * Executable for {@link ButtonL3}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonL3}. */
 public class ButtonL3Executable extends ReceiverExecutableBase<ButtonL3> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR1Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR1Executable.java
index 982357f5..bfbf0248 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR1Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR1Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonR1Executable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR1;
 
-/**
- * Executable for {@link ButtonR1}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonR1}. */
 public class ButtonR1Executable extends ReceiverExecutableBase<ButtonR1> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR3Executable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR3Executable.java
index 109802ec..e70cec4e 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR3Executable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonR3Executable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonR3Executable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,16 +22,8 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonR3;
 
-/**
- * Executable for {@link ButtonR3}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonR3}. */
 public class ButtonR3Executable extends ReceiverExecutableBase<ButtonR3> {
-
 	/** Constructor. */
 	public ButtonR3Executable(ButtonR3 modelElement) {
 		super(modelElement);
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonSelectExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonSelectExecutable.java
index ad8d9d96..ecc252e9 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonSelectExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonSelectExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonSelectExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonSelect;
 
-/**
- * Executable for {@link ButtonSelect}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonSelect}. */
 public class ButtonSelectExecutable extends ReceiverExecutableBase<ButtonSelect> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonStartExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonStartExecutable.java
index c877fad2..d13a109b 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonStartExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonStartExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonStartExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonStart;
 
-/**
- * Executable for {@link ButtonStart}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonStart}. */
 public class ButtonStartExecutable extends ReceiverExecutableBase<ButtonStart> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonXExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonXExecutable.java
index dc0bf489..99b1faf9 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonXExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonXExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonXExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonX;
 
-/**
- * Executable for {@link ButtonX}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonX}. */
 public class ButtonXExecutable extends ReceiverExecutableBase<ButtonX> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonYExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonYExecutable.java
index 8bb0d1dd..c4813f82 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonYExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/ButtonYExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: ButtonYExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.ButtonY;
 
-/**
- * Executable for {@link ButtonY}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link ButtonY}. */
 public class ButtonYExecutable extends ReceiverExecutableBase<ButtonY> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadDownExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadDownExecutable.java
index 6d6c3c72..7aa0aaab 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadDownExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadDownExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: DPadDownExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadDown;
 
-/**
- * Executable for {@link DPadDown}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link DPadDown}. */
 public class DPadDownExecutable extends ReceiverExecutableBase<DPadDown> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadLeftExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadLeftExecutable.java
index 135b1cd5..0cee35a8 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadLeftExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadLeftExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: DPadLeftExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadLeft;
 
-/**
- * Executable for {@link DPadLeft}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link DPadLeft}. */
 public class DPadLeftExecutable extends ReceiverExecutableBase<DPadLeft> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadRightExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadRightExecutable.java
index df14a788..52e2e59c 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadRightExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadRightExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: DPadRightExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadRight;
 
-/**
- * Executable for {@link DPadRight}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link DPadRight}. */
 public class DPadRightExecutable extends ReceiverExecutableBase<DPadRight> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadUpExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadUpExecutable.java
index c875f70f..f7568fb1 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadUpExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/DPadUpExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: DPadUpExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.DPadUp;
 
-/**
- * Executable for {@link DPadUp}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link DPadUp}. */
 public class DPadUpExecutable extends ReceiverExecutableBase<DPadUp> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/L2PositionExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/L2PositionExecutable.java
index 50c51ccb..b944b26d 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/L2PositionExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/L2PositionExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: L2PositionExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.L2_Position;
 
-/**
- * Executable for {@link L2_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link L2_Position}. */
 public class L2PositionExecutable extends ReceiverExecutableBase<L2_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickXExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickXExecutable.java
index 5b75461e..6347ebc9 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickXExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickXExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: Left_StickXExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickX_Position;
 
-/**
- * Executable for {@link Left_StickX_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Left_StickX_Position}. */
 public class Left_StickXExecutable extends ReceiverExecutableBase<Left_StickX_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickYExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickYExecutable.java
index 4ef4a4c4..33894565 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickYExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Left_StickYExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: Left_StickYExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.Left_StickY_Position;
 
-/**
- * Executable for {@link Left_StickY_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Left_StickY_Position}. */
 public class Left_StickYExecutable extends ReceiverExecutableBase<Left_StickY_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/R2PositionExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/R2PositionExecutable.java
index 8bb178f7..eaafe55e 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/R2PositionExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/R2PositionExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: R2PositionExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.R2_Position;
 
-/**
- * Executable for {@link R2_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link R2_Position}. */
 public class R2PositionExecutable extends ReceiverExecutableBase<R2_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickXExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickXExecutable.java
index f47ed581..fc1ab5ea 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickXExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickXExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: Right_StickXExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickX_Position;
 
-/**
- * Executable for {@link Right_StickX_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Right_StickX_Position}. */
 public class Right_StickXExecutable extends ReceiverExecutableBase<Right_StickX_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickYExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickYExecutable.java
index 8651bd01..b7826a54 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickYExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/Right_StickYExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: Right_StickYExecutable.java 22461 2017-12-07 12:52:48Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -24,14 +22,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.ReceiverExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.Right_StickY_Position;
 
-/**
- * Executable for {@link Right_StickY_Position}.
- * 
- * @author eder
- * @author $Author: hoelzl $
- * @version $Rev: 22461 $
- * @ConQAT.Rating RED Hash:
- */
+/** Executable for {@link Right_StickY_Position}. */
 public class Right_StickYExecutable extends ReceiverExecutableBase<Right_StickY_Position> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/SimpleRumbleFeatureExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/SimpleRumbleFeatureExecutable.java
index 38e514fc..42520aed 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/SimpleRumbleFeatureExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/SimpleRumbleFeatureExecutable.java
@@ -1,7 +1,5 @@
-/*--------------------------------------------------------------------------+
-$Id: SimpleRumbleFeatureExecutable.java 22478 2017-12-08 09:55:32Z hoelzl $
-|                                                                          |
-| Copyright 2017 fortiss GmbH                     |
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -25,9 +23,7 @@ import org.fortiss.af3.expression.model.terms.IExpressionTerm;
 import org.fortiss.af3.platform.language.executable.TransmitterExecutableBase;
 import org.fortiss.af3.platform.raspberry.model.rumblepad.SimpleRumbleFeature;
 
-/**
- * Executable for {@link SimpleRumbleFeature}.
- */
+/** Executable for {@link SimpleRumbleFeature}. */
 public class SimpleRumbleFeatureExecutable extends TransmitterExecutableBase<SimpleRumbleFeature> {
 	/** Constructor. */
 	public SimpleRumbleFeatureExecutable(SimpleRumbleFeature modelElement) {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/transform/PWMActuatorTransformation.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/transform/PWMActuatorTransformation.java
index 3edc3262..ada9a6c2 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/transform/PWMActuatorTransformation.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/transform/PWMActuatorTransformation.java
@@ -31,7 +31,6 @@ import org.fortiss.tooling.kernel.extension.data.ITransformationContext;
  * @ConQAT.Rating RED Hash:
  */
 public class PWMActuatorTransformation implements ITransformationProvider {
-
 	/** {@inheritDoc} */
 	@Override
 	public Class<?> getTargetClass() {
@@ -56,5 +55,4 @@ public class PWMActuatorTransformation implements ITransformationProvider {
 	public Object transform(Object source, ITransformationContext context) {
 		return new PWMActuatorExecutable((ActuatorPWM)source);
 	}
-
 }
-- 
GitLab