Initial model generator UI and configuration model added
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.classpath b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.classpath
new file mode 100644
index 0000000..15a4e05
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.classpath
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen">
+		<attributes>
+			<attribute name="ignore_optional_problems" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.gitignore b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.gitignore
new file mode 100644
index 0000000..934e0e0
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.gitignore
@@ -0,0 +1,2 @@
+/bin
+/target
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.project b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.project
new file mode 100644
index 0000000..4f92a9a
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.app4mc.amalthea.generator.configuration</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+	</natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.emf.ecore.xcore.Xcore.prefs b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.emf.ecore.xcore.Xcore.prefs
new file mode 100644
index 0000000..ed6e784
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.emf.ecore.xcore.Xcore.prefs
@@ -0,0 +1,21 @@
+BuilderConfiguration.is_project_specific=true
+autobuilding=true
+eclipse.preferences.version=1
+generateGeneratedAnnotation=false
+generateSuppressWarnings=true
+generatedAnnotationComment=
+includeDateInGenerated=false
+outlet.DEFAULT_OUTPUT.cleanDirectory=false
+outlet.DEFAULT_OUTPUT.cleanupDerived=false
+outlet.DEFAULT_OUTPUT.createDirectory=true
+outlet.DEFAULT_OUTPUT.derived=false
+outlet.DEFAULT_OUTPUT.directory=./src-gen
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.keepLocalHistory=true
+outlet.DEFAULT_OUTPUT.override=true
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
+targetJavaVersion=JAVA5
+useJavaCompilerCompliance=true
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.xtend.core.Xtend.prefs b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..e2a48f9
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,21 @@
+BuilderConfiguration.is_project_specific=true
+autobuilding=true
+eclipse.preferences.version=1
+generateGeneratedAnnotation=false
+generateSuppressWarnings=true
+generatedAnnotationComment=
+includeDateInGenerated=false
+outlet.DEFAULT_OUTPUT.cleanDirectory=false
+outlet.DEFAULT_OUTPUT.cleanupDerived=true
+outlet.DEFAULT_OUTPUT.createDirectory=true
+outlet.DEFAULT_OUTPUT.derived=false
+outlet.DEFAULT_OUTPUT.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.keepLocalHistory=false
+outlet.DEFAULT_OUTPUT.override=true
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.ignore=
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=
+targetJavaVersion=JAVA5
+useJavaCompilerCompliance=true
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/META-INF/MANIFEST.MF b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cc8fe07
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: APP4MC Amalthea Model Generator Configuration
+Bundle-SymbolicName: org.eclipse.app4mc.amalthea.generator.configuration;singleton:=true
+Bundle-Version: 0.8.1.qualifier
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.app4mc.amalthea.generator.configuration,
+ org.eclipse.app4mc.amalthea.generator.configuration.impl,
+ org.eclipse.app4mc.amalthea.generator.configuration.util
+Bundle-Vendor: Eclipse.org
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xcore.lib,
+ org.eclipse.xtext.xbase.lib;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/about.html b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/about.html
new file mode 100644
index 0000000..49696f9
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/about.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>September 30, 2013</p>	
+<h3>License</h3>
+
+<p>APP4MC provides all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/build.properties b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/build.properties
new file mode 100644
index 0000000..ef72b14
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/build.properties
@@ -0,0 +1,24 @@
+# *******************************************************************************
+#  Copyright (c) 2016 Robert Bosch GmbH and others.
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License v1.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+# 
+#     Generated using Eclipse EMF
+# 
+# *******************************************************************************
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src-gen/,\
+           src/
+output.. = bin/
+src.includes = epl-v10.html,\
+               pom.xml,\
+               about.html,\
+               model/
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/epl-v10.html b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/epl-v10.html
new file mode 100644
index 0000000..fd39122
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>&quot;Contribution&quot; means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>&quot;Contributor&quot; means any person or entity that distributes
+the Program.</p>
+
+<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>&quot;Program&quot; means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>&quot;Recipient&quot; means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and
+indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
+against any losses, damages and costs (collectively &quot;Losses&quot;)
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/model/RTMGC.xcore b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/model/RTMGC.xcore
new file mode 100644
index 0000000..42030da
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/model/RTMGC.xcore
@@ -0,0 +1,213 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Timing-Architects Embedded Systems GmbH - initial API and implementation
+ *
+ * *******************************************************************************
+ */
+ 
+ @GenModel(
+	modelName="RTMGC", prefix="RTMGC",
+	copyrightText="*******************************************************************************\r\n Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.\r\n All rights reserved. This program and the accompanying materials\r\n are made available under the terms of the Eclipse Public License v1.0\r\n which accompanies this distribution, and is available at\r\n http://www.eclipse.org/legal/epl-v10.html\r\n\r\n    Generated using Eclipse EMF\r\n\r\n*******************************************************************************"
+)
+
+package org.eclipse.app4mc.amalthea.generator.configuration
+
+import org.eclipse.emf.ecore.xml.^type.PositiveInteger
+import org.eclipse.emf.ecore.xml.^type.UnsignedInt
+
+class RTMGC {
+	contains Generation[1] generation
+}
+
+class Generation {
+	PositiveInteger count
+	String baseModel
+	String[1..*] hwModels
+	String[1..*] osModels
+	String swModel
+	String outputFolder
+	contains ActivationProperties[1] activations
+	contains LabelProperties[1] labels
+	contains RunnableProperties[1] runnables
+	contains SemaphoreProperties[1] semaphores
+	contains TaskProperties[1] tasks
+}
+
+class ActivationProperties {
+	contains PeriodicActivation[1] periodicActivation
+	contains PeriodicTriangleShift[1] periodicTriangleShift
+	contains SporadicActivation[1] sporadicActivation
+}
+
+abstract class Activation {
+	PositiveInteger appearanceProbability
+}
+
+class PeriodicActivation extends Activation {
+	contains Recurrence[1] recurrence
+	contains IntegerTimeDistribution[1] offset
+}
+
+class PeriodicTriangleShift extends PeriodicActivation {
+		contains TriangleClock[1] clock
+}
+
+class TriangleClock {
+	contains DoubleDistribution min_start
+	contains DoubleDistribution max_end
+	contains IntegerTimeDistribution shift
+	contains IntegerTimeDistribution period
+}
+
+class SporadicActivation extends Activation {
+	contains IntegerTimeDistribution[1] minValue
+	contains PercentageDistribution[1] maxValueDistance
+	contains PercentageDistribution[1] avgValueDistance
+}
+
+class Recurrence extends IntegerTimeDistribution {
+	RecurrenceType recurrenceType = "random"
+}
+
+enum RecurrenceType {
+	random = 0
+	harmonic = 1
+}
+
+class LabelProperties {
+	contains IntegerDistribution[1] count
+	contains IntegerDistribution[1] bitSize
+	contains IntegerDistribution[1] perSWC
+}
+
+class RunnableProperties {
+	RuntimeType[1] runtimeType = "instructionsConst"
+	contains IntegerDistribution[1] instructionsPerRunnables
+	contains IntegerDistribution[1] runnablesPerCallSequence
+	contains IntegerDistribution[1] runnablesPerSWC
+	contains PercentageDistribution[1] minStatisticsDistance
+	contains PercentageDistribution[1] maxStatisticsDistance
+}
+
+enum RuntimeType {
+	instructionsConst = 0
+	instructionsStatistics = 1
+}
+
+class SemaphoreProperties {
+	contains IntegerDistribution[1] count
+	boolean priorityCeilingProtocol
+	SemaphoreType[1] semaphoreType = "counting"
+	WaitModes[1] waitMode = "active waiting"
+	contains SemaphoreAccessProperties[1] SemaphoreAccess
+}
+
+class SemaphoreAccessProperties {
+	contains IntegerDistribution[1] perUnitReadAccessCount
+	contains IntegerDistribution[1] perUnitWriteAccessCount
+	SemaphoreRequestOrder[1] requestOrder = "none"
+	SemaphoreAccessType[1] accessType = "RandRunnable"
+}
+
+enum SemaphoreRequestOrder {
+	none = 0
+	requestGrouped = 1
+	nameIncreasing = 2
+}
+
+enum SemaphoreAccessType {
+	RWperTask = 0
+    RWperCallSequence = 1
+	RandRunnable = 2
+	WholeCS = 3
+	GroupedFMLP = 4
+	WeakFMLP = 5
+	EVA = 6
+}
+
+enum SemaphoreType {
+	binary = 0
+	counting = 1
+	both = 2
+}
+
+enum WaitModes {
+	polling as "active waiting" = 0
+	parking as "passive waiting" = 1
+}
+
+class TaskProperties {
+	contains IntegerDistribution[1] count
+	contains PercentageDistribution[1] load
+	contains IntegerDistribution[1] perTaskGroup
+	contains IntegerDistribution[1] mta
+	contains DoubleDistribution[1] deadlineFactor
+	contains IntegerDistribution[1] callSequencesBetweenSchedulePoints
+	contains CallGraphProperties[1] callGraphs
+	ProcessMappingAlgorithms mappingDetermination = "Worst Fit Decreasing"
+	PriorityDeterminationAlgorithm priorityDetermination = "Rate Monotonic"
+}
+
+class CallGraphProperties {
+	contains PercentageDistribution[1] signalDomainCoverage
+	contains PercentageDistribution[1] callSequenceUsage
+}
+
+abstract class Distribution {
+	DistributionType ^type = "Constant Value"
+}
+
+class IntegerDistribution extends Distribution {
+	UnsignedInt min
+	UnsignedInt avg
+	UnsignedInt max
+}
+
+class IntegerTimeDistribution extends IntegerDistribution {
+	TimeUnit unit = "ms"
+}
+
+class PercentageDistribution extends Distribution {
+	double minPercentage
+	double avgPercentage
+	double maxPercentage
+}
+
+class DoubleDistribution extends Distribution {
+	double min
+	double avg
+	double max
+}
+
+enum DistributionType {
+	const as "Constant Value" = 0
+	uniform as "Uniform Distribution" = 1
+	weibull as "Weibull Distribution" = 2
+}
+
+enum ProcessMappingAlgorithms {
+	WFD as "Worst Fit Decreasing" = 0
+	WFI as "Worst Fit Increasing" = 1
+	BFD as "Best Fit Decreasing" = 2
+	BFI as "Best Fit Increasing" = 3
+}
+
+enum PriorityDeterminationAlgorithm {
+	RM as "Rate Monotonic" = 0
+	DM as "Deadline Monotonic" = 1
+}
+
+enum TimeUnit {
+	ps = 0
+	ns = 1
+	us = 2
+	ms = 3
+	s = 4
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.properties b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.properties
new file mode 100644
index 0000000..cb6a4fc
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.properties
@@ -0,0 +1,13 @@
+# *******************************************************************************
+#  Copyright (c) 2015 Robert Bosch GmbH and others.
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License v1.0
+#  which accompanies this distribution, and is available at
+#  http://www.eclipse.org/legal/epl-v10.html
+# 
+#     Generated using Eclipse EMF
+# 
+# *******************************************************************************
+
+pluginName = AMALTHEA Model
+providerName = Eclipse.org
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.xml b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.xml
new file mode 100644
index 0000000..c3eba02
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ *******************************************************************************
+  Copyright (c) 2016 Robert Bosch GmbH and others.
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License v1.0
+  which accompanies this distribution, and is available at
+  http://www.eclipse.org/legal/epl-v10.html
+ 
+     Generated using Eclipse EMF
+ 
+ *******************************************************************************
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated RTMGC -->
+      <package
+            uri="org.eclipse.app4mc.amalthea.generator.configuration"
+            class="org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage"
+            genModel="model/RTMGC.xcore"/>
+   </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/pom.xml b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/pom.xml
new file mode 100644
index 0000000..9943b3f
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../build/org.eclipse.app4mc.build/pom.xml</relativePath>
+		<groupId>org.eclipse.app4mc.build</groupId>
+		<artifactId>parent</artifactId>
+		<version>0.8.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.app4mc.amalthea.generator.configuration</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Activation.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Activation.java
new file mode 100644
index 0000000..0d2a3de
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Activation.java
@@ -0,0 +1,62 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Activation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Activation#getAppearanceProbability <em>Appearance Probability</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivation()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Activation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Appearance Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Appearance Probability</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Appearance Probability</em>' attribute.
+	 * @see #setAppearanceProbability(BigInteger)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivation_AppearanceProbability()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger"
+	 * @generated
+	 */
+	BigInteger getAppearanceProbability();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Activation#getAppearanceProbability <em>Appearance Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Appearance Probability</em>' attribute.
+	 * @see #getAppearanceProbability()
+	 * @generated
+	 */
+	void setAppearanceProbability(BigInteger value);
+
+} // Activation
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ActivationProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ActivationProperties.java
new file mode 100644
index 0000000..b704ac5
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ActivationProperties.java
@@ -0,0 +1,114 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Activation Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicActivation <em>Periodic Activation</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicTriangleShift <em>Periodic Triangle Shift</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getSporadicActivation <em>Sporadic Activation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivationProperties()
+ * @model
+ * @generated
+ */
+public interface ActivationProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Periodic Activation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Periodic Activation</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Periodic Activation</em>' containment reference.
+	 * @see #setPeriodicActivation(PeriodicActivation)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivationProperties_PeriodicActivation()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PeriodicActivation getPeriodicActivation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicActivation <em>Periodic Activation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Periodic Activation</em>' containment reference.
+	 * @see #getPeriodicActivation()
+	 * @generated
+	 */
+	void setPeriodicActivation(PeriodicActivation value);
+
+	/**
+	 * Returns the value of the '<em><b>Periodic Triangle Shift</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Periodic Triangle Shift</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Periodic Triangle Shift</em>' containment reference.
+	 * @see #setPeriodicTriangleShift(PeriodicTriangleShift)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivationProperties_PeriodicTriangleShift()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PeriodicTriangleShift getPeriodicTriangleShift();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicTriangleShift <em>Periodic Triangle Shift</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Periodic Triangle Shift</em>' containment reference.
+	 * @see #getPeriodicTriangleShift()
+	 * @generated
+	 */
+	void setPeriodicTriangleShift(PeriodicTriangleShift value);
+
+	/**
+	 * Returns the value of the '<em><b>Sporadic Activation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Sporadic Activation</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sporadic Activation</em>' containment reference.
+	 * @see #setSporadicActivation(SporadicActivation)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getActivationProperties_SporadicActivation()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	SporadicActivation getSporadicActivation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getSporadicActivation <em>Sporadic Activation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sporadic Activation</em>' containment reference.
+	 * @see #getSporadicActivation()
+	 * @generated
+	 */
+	void setSporadicActivation(SporadicActivation value);
+
+} // ActivationProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/CallGraphProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/CallGraphProperties.java
new file mode 100644
index 0000000..daa870d
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/CallGraphProperties.java
@@ -0,0 +1,87 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Call Graph Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getSignalDomainCoverage <em>Signal Domain Coverage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getCallSequenceUsage <em>Call Sequence Usage</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getCallGraphProperties()
+ * @model
+ * @generated
+ */
+public interface CallGraphProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Signal Domain Coverage</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Signal Domain Coverage</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Signal Domain Coverage</em>' containment reference.
+	 * @see #setSignalDomainCoverage(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getCallGraphProperties_SignalDomainCoverage()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getSignalDomainCoverage();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getSignalDomainCoverage <em>Signal Domain Coverage</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Signal Domain Coverage</em>' containment reference.
+	 * @see #getSignalDomainCoverage()
+	 * @generated
+	 */
+	void setSignalDomainCoverage(PercentageDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Call Sequence Usage</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Call Sequence Usage</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Call Sequence Usage</em>' containment reference.
+	 * @see #setCallSequenceUsage(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getCallGraphProperties_CallSequenceUsage()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getCallSequenceUsage();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getCallSequenceUsage <em>Call Sequence Usage</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Call Sequence Usage</em>' containment reference.
+	 * @see #getCallSequenceUsage()
+	 * @generated
+	 */
+	void setCallSequenceUsage(PercentageDistribution value);
+
+} // CallGraphProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Distribution.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Distribution.java
new file mode 100644
index 0000000..7841a80
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Distribution.java
@@ -0,0 +1,64 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Distribution#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDistribution()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Distribution extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * The default value is <code>"Constant Value"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.DistributionType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DistributionType
+	 * @see #setType(DistributionType)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDistribution_Type()
+	 * @model default="Constant Value" unique="false"
+	 * @generated
+	 */
+	DistributionType getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Distribution#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DistributionType
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(DistributionType value);
+
+} // Distribution
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DistributionType.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DistributionType.java
new file mode 100644
index 0000000..d61ea0e
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DistributionType.java
@@ -0,0 +1,251 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Distribution Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDistributionType()
+ * @model
+ * @generated
+ */
+public enum DistributionType implements Enumerator {
+	/**
+	 * The '<em><b>Const</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #CONST_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	CONST(0, "const", "Constant Value"),
+
+	/**
+	 * The '<em><b>Uniform</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #UNIFORM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	UNIFORM(1, "uniform", "Uniform Distribution"),
+
+	/**
+	 * The '<em><b>Weibull</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WEIBULL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WEIBULL(2, "weibull", "Weibull Distribution");
+
+	/**
+	 * The '<em><b>Const</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Const</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #CONST
+	 * @model name="const" literal="Constant Value"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int CONST_VALUE = 0;
+
+	/**
+	 * The '<em><b>Uniform</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Uniform</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #UNIFORM
+	 * @model name="uniform" literal="Uniform Distribution"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int UNIFORM_VALUE = 1;
+
+	/**
+	 * The '<em><b>Weibull</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Weibull</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WEIBULL
+	 * @model name="weibull" literal="Weibull Distribution"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WEIBULL_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Distribution Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final DistributionType[] VALUES_ARRAY =
+		new DistributionType[] {
+			CONST,
+			UNIFORM,
+			WEIBULL,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Distribution Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<DistributionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Distribution Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static DistributionType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			DistributionType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Distribution Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static DistributionType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			DistributionType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Distribution Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static DistributionType get(int value) {
+		switch (value) {
+			case CONST_VALUE: return CONST;
+			case UNIFORM_VALUE: return UNIFORM;
+			case WEIBULL_VALUE: return WEIBULL;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private DistributionType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //DistributionType
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DoubleDistribution.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DoubleDistribution.java
new file mode 100644
index 0000000..ab82b9e
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/DoubleDistribution.java
@@ -0,0 +1,113 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Double Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMin <em>Min</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getAvg <em>Avg</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMax <em>Max</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDoubleDistribution()
+ * @model
+ * @generated
+ */
+public interface DoubleDistribution extends Distribution {
+	/**
+	 * Returns the value of the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min</em>' attribute.
+	 * @see #setMin(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDoubleDistribution_Min()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getMin();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMin <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min</em>' attribute.
+	 * @see #getMin()
+	 * @generated
+	 */
+	void setMin(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avg</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avg</em>' attribute.
+	 * @see #setAvg(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDoubleDistribution_Avg()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getAvg();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getAvg <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avg</em>' attribute.
+	 * @see #getAvg()
+	 * @generated
+	 */
+	void setAvg(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max</em>' attribute.
+	 * @see #setMax(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getDoubleDistribution_Max()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getMax();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMax <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max</em>' attribute.
+	 * @see #getMax()
+	 * @generated
+	 */
+	void setMax(double value);
+
+} // DoubleDistribution
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Generation.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Generation.java
new file mode 100644
index 0000000..30fe752
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Generation.java
@@ -0,0 +1,314 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.math.BigInteger;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getBaseModel <em>Base Model</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getHwModels <em>Hw Models</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOsModels <em>Os Models</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSwModel <em>Sw Model</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOutputFolder <em>Output Folder</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getActivations <em>Activations</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getLabels <em>Labels</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getRunnables <em>Runnables</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSemaphores <em>Semaphores</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getTasks <em>Tasks</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration()
+ * @model
+ * @generated
+ */
+public interface Generation extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' attribute.
+	 * @see #setCount(BigInteger)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Count()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger"
+	 * @generated
+	 */
+	BigInteger getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getCount <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' attribute.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(BigInteger value);
+
+	/**
+	 * Returns the value of the '<em><b>Base Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Model</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Base Model</em>' attribute.
+	 * @see #setBaseModel(String)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_BaseModel()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getBaseModel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getBaseModel <em>Base Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Base Model</em>' attribute.
+	 * @see #getBaseModel()
+	 * @generated
+	 */
+	void setBaseModel(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Hw Models</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hw Models</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hw Models</em>' attribute list.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_HwModels()
+	 * @model unique="false" required="true"
+	 * @generated
+	 */
+	EList<String> getHwModels();
+
+	/**
+	 * Returns the value of the '<em><b>Os Models</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Os Models</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Os Models</em>' attribute list.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_OsModels()
+	 * @model unique="false" required="true"
+	 * @generated
+	 */
+	EList<String> getOsModels();
+
+	/**
+	 * Returns the value of the '<em><b>Sw Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Sw Model</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Sw Model</em>' attribute.
+	 * @see #setSwModel(String)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_SwModel()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getSwModel();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSwModel <em>Sw Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Sw Model</em>' attribute.
+	 * @see #getSwModel()
+	 * @generated
+	 */
+	void setSwModel(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Output Folder</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Output Folder</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Output Folder</em>' attribute.
+	 * @see #setOutputFolder(String)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_OutputFolder()
+	 * @model unique="false"
+	 * @generated
+	 */
+	String getOutputFolder();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOutputFolder <em>Output Folder</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Output Folder</em>' attribute.
+	 * @see #getOutputFolder()
+	 * @generated
+	 */
+	void setOutputFolder(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Activations</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activations</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activations</em>' containment reference.
+	 * @see #setActivations(ActivationProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Activations()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	ActivationProperties getActivations();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getActivations <em>Activations</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activations</em>' containment reference.
+	 * @see #getActivations()
+	 * @generated
+	 */
+	void setActivations(ActivationProperties value);
+
+	/**
+	 * Returns the value of the '<em><b>Labels</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Labels</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Labels</em>' containment reference.
+	 * @see #setLabels(LabelProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Labels()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	LabelProperties getLabels();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getLabels <em>Labels</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Labels</em>' containment reference.
+	 * @see #getLabels()
+	 * @generated
+	 */
+	void setLabels(LabelProperties value);
+
+	/**
+	 * Returns the value of the '<em><b>Runnables</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Runnables</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Runnables</em>' containment reference.
+	 * @see #setRunnables(RunnableProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Runnables()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	RunnableProperties getRunnables();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getRunnables <em>Runnables</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Runnables</em>' containment reference.
+	 * @see #getRunnables()
+	 * @generated
+	 */
+	void setRunnables(RunnableProperties value);
+
+	/**
+	 * Returns the value of the '<em><b>Semaphores</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Semaphores</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Semaphores</em>' containment reference.
+	 * @see #setSemaphores(SemaphoreProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Semaphores()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	SemaphoreProperties getSemaphores();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSemaphores <em>Semaphores</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Semaphores</em>' containment reference.
+	 * @see #getSemaphores()
+	 * @generated
+	 */
+	void setSemaphores(SemaphoreProperties value);
+
+	/**
+	 * Returns the value of the '<em><b>Tasks</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Tasks</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tasks</em>' containment reference.
+	 * @see #setTasks(TaskProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getGeneration_Tasks()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	TaskProperties getTasks();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getTasks <em>Tasks</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Tasks</em>' containment reference.
+	 * @see #getTasks()
+	 * @generated
+	 */
+	void setTasks(TaskProperties value);
+
+} // Generation
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerDistribution.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerDistribution.java
new file mode 100644
index 0000000..900e13f
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerDistribution.java
@@ -0,0 +1,113 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMin <em>Min</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getAvg <em>Avg</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMax <em>Max</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerDistribution()
+ * @model
+ * @generated
+ */
+public interface IntegerDistribution extends Distribution {
+	/**
+	 * Returns the value of the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min</em>' attribute.
+	 * @see #setMin(long)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerDistribution_Min()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt"
+	 * @generated
+	 */
+	long getMin();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMin <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min</em>' attribute.
+	 * @see #getMin()
+	 * @generated
+	 */
+	void setMin(long value);
+
+	/**
+	 * Returns the value of the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avg</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avg</em>' attribute.
+	 * @see #setAvg(long)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerDistribution_Avg()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt"
+	 * @generated
+	 */
+	long getAvg();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getAvg <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avg</em>' attribute.
+	 * @see #getAvg()
+	 * @generated
+	 */
+	void setAvg(long value);
+
+	/**
+	 * Returns the value of the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max</em>' attribute.
+	 * @see #setMax(long)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerDistribution_Max()
+	 * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt"
+	 * @generated
+	 */
+	long getMax();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMax <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max</em>' attribute.
+	 * @see #getMax()
+	 * @generated
+	 */
+	void setMax(long value);
+
+} // IntegerDistribution
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerTimeDistribution.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerTimeDistribution.java
new file mode 100644
index 0000000..3bb735f
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/IntegerTimeDistribution.java
@@ -0,0 +1,63 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Integer Time Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerTimeDistribution()
+ * @model
+ * @generated
+ */
+public interface IntegerTimeDistribution extends IntegerDistribution {
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' attribute.
+	 * The default value is <code>"ms"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Unit</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit
+	 * @see #setUnit(TimeUnit)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getIntegerTimeDistribution_Unit()
+	 * @model default="ms" unique="false"
+	 * @generated
+	 */
+	TimeUnit getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution#getUnit <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Unit</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit
+	 * @see #getUnit()
+	 * @generated
+	 */
+	void setUnit(TimeUnit value);
+
+} // IntegerTimeDistribution
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/LabelProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/LabelProperties.java
new file mode 100644
index 0000000..42c1db3
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/LabelProperties.java
@@ -0,0 +1,114 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Label Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getBitSize <em>Bit Size</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getPerSWC <em>Per SWC</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getLabelProperties()
+ * @model
+ * @generated
+ */
+public interface LabelProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' containment reference.
+	 * @see #setCount(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getLabelProperties_Count()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getCount <em>Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' containment reference.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Bit Size</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Bit Size</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Bit Size</em>' containment reference.
+	 * @see #setBitSize(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getLabelProperties_BitSize()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getBitSize();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getBitSize <em>Bit Size</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Bit Size</em>' containment reference.
+	 * @see #getBitSize()
+	 * @generated
+	 */
+	void setBitSize(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Per SWC</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Per SWC</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Per SWC</em>' containment reference.
+	 * @see #setPerSWC(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getLabelProperties_PerSWC()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getPerSWC();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getPerSWC <em>Per SWC</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Per SWC</em>' containment reference.
+	 * @see #getPerSWC()
+	 * @generated
+	 */
+	void setPerSWC(IntegerDistribution value);
+
+} // LabelProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PercentageDistribution.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PercentageDistribution.java
new file mode 100644
index 0000000..5e15e0c
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PercentageDistribution.java
@@ -0,0 +1,113 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Percentage Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMinPercentage <em>Min Percentage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getAvgPercentage <em>Avg Percentage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMaxPercentage <em>Max Percentage</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPercentageDistribution()
+ * @model
+ * @generated
+ */
+public interface PercentageDistribution extends Distribution {
+	/**
+	 * Returns the value of the '<em><b>Min Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min Percentage</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min Percentage</em>' attribute.
+	 * @see #setMinPercentage(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPercentageDistribution_MinPercentage()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getMinPercentage();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMinPercentage <em>Min Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min Percentage</em>' attribute.
+	 * @see #getMinPercentage()
+	 * @generated
+	 */
+	void setMinPercentage(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Avg Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avg Percentage</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avg Percentage</em>' attribute.
+	 * @see #setAvgPercentage(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPercentageDistribution_AvgPercentage()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getAvgPercentage();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getAvgPercentage <em>Avg Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avg Percentage</em>' attribute.
+	 * @see #getAvgPercentage()
+	 * @generated
+	 */
+	void setAvgPercentage(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Max Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max Percentage</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max Percentage</em>' attribute.
+	 * @see #setMaxPercentage(double)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPercentageDistribution_MaxPercentage()
+	 * @model unique="false"
+	 * @generated
+	 */
+	double getMaxPercentage();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMaxPercentage <em>Max Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max Percentage</em>' attribute.
+	 * @see #getMaxPercentage()
+	 * @generated
+	 */
+	void setMaxPercentage(double value);
+
+} // PercentageDistribution
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicActivation.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicActivation.java
new file mode 100644
index 0000000..fcb4410
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicActivation.java
@@ -0,0 +1,86 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Periodic Activation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getRecurrence <em>Recurrence</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getOffset <em>Offset</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPeriodicActivation()
+ * @model
+ * @generated
+ */
+public interface PeriodicActivation extends Activation {
+	/**
+	 * Returns the value of the '<em><b>Recurrence</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Recurrence</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Recurrence</em>' containment reference.
+	 * @see #setRecurrence(Recurrence)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPeriodicActivation_Recurrence()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	Recurrence getRecurrence();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getRecurrence <em>Recurrence</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Recurrence</em>' containment reference.
+	 * @see #getRecurrence()
+	 * @generated
+	 */
+	void setRecurrence(Recurrence value);
+
+	/**
+	 * Returns the value of the '<em><b>Offset</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Offset</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Offset</em>' containment reference.
+	 * @see #setOffset(IntegerTimeDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPeriodicActivation_Offset()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerTimeDistribution getOffset();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getOffset <em>Offset</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Offset</em>' containment reference.
+	 * @see #getOffset()
+	 * @generated
+	 */
+	void setOffset(IntegerTimeDistribution value);
+
+} // PeriodicActivation
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicTriangleShift.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicTriangleShift.java
new file mode 100644
index 0000000..e04c981
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PeriodicTriangleShift.java
@@ -0,0 +1,59 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Periodic Triangle Shift</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift#getClock <em>Clock</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPeriodicTriangleShift()
+ * @model
+ * @generated
+ */
+public interface PeriodicTriangleShift extends PeriodicActivation {
+	/**
+	 * Returns the value of the '<em><b>Clock</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Clock</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Clock</em>' containment reference.
+	 * @see #setClock(TriangleClock)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPeriodicTriangleShift_Clock()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	TriangleClock getClock();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift#getClock <em>Clock</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Clock</em>' containment reference.
+	 * @see #getClock()
+	 * @generated
+	 */
+	void setClock(TriangleClock value);
+
+} // PeriodicTriangleShift
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PriorityDeterminationAlgorithm.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PriorityDeterminationAlgorithm.java
new file mode 100644
index 0000000..42d4fc2
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/PriorityDeterminationAlgorithm.java
@@ -0,0 +1,224 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Priority Determination Algorithm</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getPriorityDeterminationAlgorithm()
+ * @model
+ * @generated
+ */
+public enum PriorityDeterminationAlgorithm implements Enumerator {
+	/**
+	 * The '<em><b>RM</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RM(0, "RM", "Rate Monotonic"),
+
+	/**
+	 * The '<em><b>DM</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #DM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	DM(1, "DM", "Deadline Monotonic");
+
+	/**
+	 * The '<em><b>RM</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RM</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RM
+	 * @model literal="Rate Monotonic"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RM_VALUE = 0;
+
+	/**
+	 * The '<em><b>DM</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>DM</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #DM
+	 * @model literal="Deadline Monotonic"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int DM_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Priority Determination Algorithm</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final PriorityDeterminationAlgorithm[] VALUES_ARRAY =
+		new PriorityDeterminationAlgorithm[] {
+			RM,
+			DM,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Priority Determination Algorithm</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<PriorityDeterminationAlgorithm> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Priority Determination Algorithm</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static PriorityDeterminationAlgorithm get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			PriorityDeterminationAlgorithm result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Priority Determination Algorithm</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static PriorityDeterminationAlgorithm getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			PriorityDeterminationAlgorithm result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Priority Determination Algorithm</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static PriorityDeterminationAlgorithm get(int value) {
+		switch (value) {
+			case RM_VALUE: return RM;
+			case DM_VALUE: return DM;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private PriorityDeterminationAlgorithm(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //PriorityDeterminationAlgorithm
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ProcessMappingAlgorithms.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ProcessMappingAlgorithms.java
new file mode 100644
index 0000000..8e6cc58
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/ProcessMappingAlgorithms.java
@@ -0,0 +1,278 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Process Mapping Algorithms</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getProcessMappingAlgorithms()
+ * @model
+ * @generated
+ */
+public enum ProcessMappingAlgorithms implements Enumerator {
+	/**
+	 * The '<em><b>WFD</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WFD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WFD(0, "WFD", "Worst Fit Decreasing"),
+
+	/**
+	 * The '<em><b>WFI</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WFI_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WFI(1, "WFI", "Worst Fit Increasing"),
+
+	/**
+	 * The '<em><b>BFD</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BFD_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BFD(2, "BFD", "Best Fit Decreasing"),
+
+	/**
+	 * The '<em><b>BFI</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BFI_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BFI(3, "BFI", "Best Fit Increasing");
+
+	/**
+	 * The '<em><b>WFD</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>WFD</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WFD
+	 * @model literal="Worst Fit Decreasing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WFD_VALUE = 0;
+
+	/**
+	 * The '<em><b>WFI</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>WFI</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WFI
+	 * @model literal="Worst Fit Increasing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WFI_VALUE = 1;
+
+	/**
+	 * The '<em><b>BFD</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>BFD</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #BFD
+	 * @model literal="Best Fit Decreasing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BFD_VALUE = 2;
+
+	/**
+	 * The '<em><b>BFI</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>BFI</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #BFI
+	 * @model literal="Best Fit Increasing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BFI_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Process Mapping Algorithms</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final ProcessMappingAlgorithms[] VALUES_ARRAY =
+		new ProcessMappingAlgorithms[] {
+			WFD,
+			WFI,
+			BFD,
+			BFI,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Process Mapping Algorithms</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<ProcessMappingAlgorithms> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Process Mapping Algorithms</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static ProcessMappingAlgorithms get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			ProcessMappingAlgorithms result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Process Mapping Algorithms</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static ProcessMappingAlgorithms getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			ProcessMappingAlgorithms result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Process Mapping Algorithms</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static ProcessMappingAlgorithms get(int value) {
+		switch (value) {
+			case WFD_VALUE: return WFD;
+			case WFI_VALUE: return WFI;
+			case BFD_VALUE: return BFD;
+			case BFI_VALUE: return BFI;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private ProcessMappingAlgorithms(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //ProcessMappingAlgorithms
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGC.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGC.java
new file mode 100644
index 0000000..504b5f6
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGC.java
@@ -0,0 +1,60 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RTMGC</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RTMGC#getGeneration <em>Generation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRTMGC()
+ * @model
+ * @generated
+ */
+public interface RTMGC extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Generation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Generation</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Generation</em>' containment reference.
+	 * @see #setGeneration(Generation)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRTMGC_Generation()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	Generation getGeneration();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RTMGC#getGeneration <em>Generation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Generation</em>' containment reference.
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	void setGeneration(Generation value);
+
+} // RTMGC
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCFactory.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCFactory.java
new file mode 100644
index 0000000..e31080a
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCFactory.java
@@ -0,0 +1,205 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage
+ * @generated
+ */
+public interface RTMGCFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTMGCFactory eINSTANCE = org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>RTMGC</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>RTMGC</em>'.
+	 * @generated
+	 */
+	RTMGC createRTMGC();
+
+	/**
+	 * Returns a new object of class '<em>Generation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Generation</em>'.
+	 * @generated
+	 */
+	Generation createGeneration();
+
+	/**
+	 * Returns a new object of class '<em>Activation Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Activation Properties</em>'.
+	 * @generated
+	 */
+	ActivationProperties createActivationProperties();
+
+	/**
+	 * Returns a new object of class '<em>Periodic Activation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Periodic Activation</em>'.
+	 * @generated
+	 */
+	PeriodicActivation createPeriodicActivation();
+
+	/**
+	 * Returns a new object of class '<em>Periodic Triangle Shift</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Periodic Triangle Shift</em>'.
+	 * @generated
+	 */
+	PeriodicTriangleShift createPeriodicTriangleShift();
+
+	/**
+	 * Returns a new object of class '<em>Triangle Clock</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Triangle Clock</em>'.
+	 * @generated
+	 */
+	TriangleClock createTriangleClock();
+
+	/**
+	 * Returns a new object of class '<em>Sporadic Activation</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Sporadic Activation</em>'.
+	 * @generated
+	 */
+	SporadicActivation createSporadicActivation();
+
+	/**
+	 * Returns a new object of class '<em>Recurrence</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Recurrence</em>'.
+	 * @generated
+	 */
+	Recurrence createRecurrence();
+
+	/**
+	 * Returns a new object of class '<em>Label Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Label Properties</em>'.
+	 * @generated
+	 */
+	LabelProperties createLabelProperties();
+
+	/**
+	 * Returns a new object of class '<em>Runnable Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Runnable Properties</em>'.
+	 * @generated
+	 */
+	RunnableProperties createRunnableProperties();
+
+	/**
+	 * Returns a new object of class '<em>Semaphore Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Semaphore Properties</em>'.
+	 * @generated
+	 */
+	SemaphoreProperties createSemaphoreProperties();
+
+	/**
+	 * Returns a new object of class '<em>Semaphore Access Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Semaphore Access Properties</em>'.
+	 * @generated
+	 */
+	SemaphoreAccessProperties createSemaphoreAccessProperties();
+
+	/**
+	 * Returns a new object of class '<em>Task Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Task Properties</em>'.
+	 * @generated
+	 */
+	TaskProperties createTaskProperties();
+
+	/**
+	 * Returns a new object of class '<em>Call Graph Properties</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Call Graph Properties</em>'.
+	 * @generated
+	 */
+	CallGraphProperties createCallGraphProperties();
+
+	/**
+	 * Returns a new object of class '<em>Integer Distribution</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer Distribution</em>'.
+	 * @generated
+	 */
+	IntegerDistribution createIntegerDistribution();
+
+	/**
+	 * Returns a new object of class '<em>Integer Time Distribution</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Integer Time Distribution</em>'.
+	 * @generated
+	 */
+	IntegerTimeDistribution createIntegerTimeDistribution();
+
+	/**
+	 * Returns a new object of class '<em>Percentage Distribution</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Percentage Distribution</em>'.
+	 * @generated
+	 */
+	PercentageDistribution createPercentageDistribution();
+
+	/**
+	 * Returns a new object of class '<em>Double Distribution</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Double Distribution</em>'.
+	 * @generated
+	 */
+	DoubleDistribution createDoubleDistribution();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RTMGCPackage getRTMGCPackage();
+
+} //RTMGCFactory
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCPackage.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCPackage.java
new file mode 100644
index 0000000..fb2e033
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RTMGCPackage.java
@@ -0,0 +1,3400 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each operation of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * *
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     Timing-Architects Embedded Systems GmbH - initial API and implementation
+ * 
+ * *******************************************************************************
+ * <!-- end-model-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCFactory
+ * @model kind="package"
+ *        annotation="http://www.eclipse.org/emf/2002/GenModel modelName='RTMGC' prefix='RTMGC' copyrightText='*******************************************************************************\r\n Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.\r\n All rights reserved. This program and the accompanying materials\r\n are made available under the terms of the Eclipse Public License v1.0\r\n which accompanies this distribution, and is available at\r\n http://www.eclipse.org/legal/epl-v10.html\r\n\r\n    Generated using Eclipse EMF\r\n\r\n*******************************************************************************' basePackage='org.eclipse.app4mc.amalthea.generator'"
+ * @generated
+ */
+public interface RTMGCPackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "configuration";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "org.eclipse.app4mc.amalthea.generator.configuration";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "configuration";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	RTMGCPackage eINSTANCE = org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCImpl <em>RTMGC</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRTMGC()
+	 * @generated
+	 */
+	int RTMGC = 0;
+
+	/**
+	 * The feature id for the '<em><b>Generation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RTMGC__GENERATION = 0;
+
+	/**
+	 * The number of structural features of the '<em>RTMGC</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RTMGC_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>RTMGC</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RTMGC_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl <em>Generation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getGeneration()
+	 * @generated
+	 */
+	int GENERATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__BASE_MODEL = 1;
+
+	/**
+	 * The feature id for the '<em><b>Hw Models</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__HW_MODELS = 2;
+
+	/**
+	 * The feature id for the '<em><b>Os Models</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__OS_MODELS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Sw Model</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__SW_MODEL = 4;
+
+	/**
+	 * The feature id for the '<em><b>Output Folder</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__OUTPUT_FOLDER = 5;
+
+	/**
+	 * The feature id for the '<em><b>Activations</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__ACTIVATIONS = 6;
+
+	/**
+	 * The feature id for the '<em><b>Labels</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__LABELS = 7;
+
+	/**
+	 * The feature id for the '<em><b>Runnables</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__RUNNABLES = 8;
+
+	/**
+	 * The feature id for the '<em><b>Semaphores</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__SEMAPHORES = 9;
+
+	/**
+	 * The feature id for the '<em><b>Tasks</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION__TASKS = 10;
+
+	/**
+	 * The number of structural features of the '<em>Generation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION_FEATURE_COUNT = 11;
+
+	/**
+	 * The number of operations of the '<em>Generation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl <em>Activation Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getActivationProperties()
+	 * @generated
+	 */
+	int ACTIVATION_PROPERTIES = 2;
+
+	/**
+	 * The feature id for the '<em><b>Periodic Activation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Periodic Triangle Shift</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Sporadic Activation</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION = 2;
+
+	/**
+	 * The number of structural features of the '<em>Activation Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_PROPERTIES_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Activation Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationImpl <em>Activation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getActivation()
+	 * @generated
+	 */
+	int ACTIVATION = 3;
+
+	/**
+	 * The feature id for the '<em><b>Appearance Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION__APPEARANCE_PROBABILITY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl <em>Periodic Activation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPeriodicActivation()
+	 * @generated
+	 */
+	int PERIODIC_ACTIVATION = 4;
+
+	/**
+	 * The feature id for the '<em><b>Appearance Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_ACTIVATION__APPEARANCE_PROBABILITY = ACTIVATION__APPEARANCE_PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Recurrence</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_ACTIVATION__RECURRENCE = ACTIVATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_ACTIVATION__OFFSET = ACTIVATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Periodic Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_ACTIVATION_FEATURE_COUNT = ACTIVATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Periodic Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_ACTIVATION_OPERATION_COUNT = ACTIVATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicTriangleShiftImpl <em>Periodic Triangle Shift</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicTriangleShiftImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPeriodicTriangleShift()
+	 * @generated
+	 */
+	int PERIODIC_TRIANGLE_SHIFT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Appearance Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT__APPEARANCE_PROBABILITY = PERIODIC_ACTIVATION__APPEARANCE_PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Recurrence</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT__RECURRENCE = PERIODIC_ACTIVATION__RECURRENCE;
+
+	/**
+	 * The feature id for the '<em><b>Offset</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT__OFFSET = PERIODIC_ACTIVATION__OFFSET;
+
+	/**
+	 * The feature id for the '<em><b>Clock</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT__CLOCK = PERIODIC_ACTIVATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Periodic Triangle Shift</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT_FEATURE_COUNT = PERIODIC_ACTIVATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Periodic Triangle Shift</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERIODIC_TRIANGLE_SHIFT_OPERATION_COUNT = PERIODIC_ACTIVATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.TriangleClockImpl <em>Triangle Clock</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.TriangleClockImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTriangleClock()
+	 * @generated
+	 */
+	int TRIANGLE_CLOCK = 6;
+
+	/**
+	 * The feature id for the '<em><b>Min start</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK__MIN_START = 0;
+
+	/**
+	 * The feature id for the '<em><b>Max end</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK__MAX_END = 1;
+
+	/**
+	 * The feature id for the '<em><b>Shift</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK__SHIFT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Period</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK__PERIOD = 3;
+
+	/**
+	 * The number of structural features of the '<em>Triangle Clock</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Triangle Clock</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIANGLE_CLOCK_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SporadicActivationImpl <em>Sporadic Activation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SporadicActivationImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSporadicActivation()
+	 * @generated
+	 */
+	int SPORADIC_ACTIVATION = 7;
+
+	/**
+	 * The feature id for the '<em><b>Appearance Probability</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION__APPEARANCE_PROBABILITY = ACTIVATION__APPEARANCE_PROBABILITY;
+
+	/**
+	 * The feature id for the '<em><b>Min Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION__MIN_VALUE = ACTIVATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Max Value Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION__MAX_VALUE_DISTANCE = ACTIVATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Avg Value Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION__AVG_VALUE_DISTANCE = ACTIVATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Sporadic Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION_FEATURE_COUNT = ACTIVATION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Sporadic Activation</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SPORADIC_ACTIVATION_OPERATION_COUNT = ACTIVATION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DistributionImpl <em>Distribution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.DistributionImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDistribution()
+	 * @generated
+	 */
+	int DISTRIBUTION = 15;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTION__TYPE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl <em>Integer Distribution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getIntegerDistribution()
+	 * @generated
+	 */
+	int INTEGER_DISTRIBUTION = 16;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION__TYPE = DISTRIBUTION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION__MIN = DISTRIBUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION__AVG = DISTRIBUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION__MAX = DISTRIBUTION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Integer Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION_FEATURE_COUNT = DISTRIBUTION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Integer Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_DISTRIBUTION_OPERATION_COUNT = DISTRIBUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerTimeDistributionImpl <em>Integer Time Distribution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerTimeDistributionImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getIntegerTimeDistribution()
+	 * @generated
+	 */
+	int INTEGER_TIME_DISTRIBUTION = 17;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION__TYPE = INTEGER_DISTRIBUTION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION__MIN = INTEGER_DISTRIBUTION__MIN;
+
+	/**
+	 * The feature id for the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION__AVG = INTEGER_DISTRIBUTION__AVG;
+
+	/**
+	 * The feature id for the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION__MAX = INTEGER_DISTRIBUTION__MAX;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION__UNIT = INTEGER_DISTRIBUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Integer Time Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION_FEATURE_COUNT = INTEGER_DISTRIBUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Integer Time Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTEGER_TIME_DISTRIBUTION_OPERATION_COUNT = INTEGER_DISTRIBUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RecurrenceImpl <em>Recurrence</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RecurrenceImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRecurrence()
+	 * @generated
+	 */
+	int RECURRENCE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__TYPE = INTEGER_TIME_DISTRIBUTION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__MIN = INTEGER_TIME_DISTRIBUTION__MIN;
+
+	/**
+	 * The feature id for the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__AVG = INTEGER_TIME_DISTRIBUTION__AVG;
+
+	/**
+	 * The feature id for the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__MAX = INTEGER_TIME_DISTRIBUTION__MAX;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__UNIT = INTEGER_TIME_DISTRIBUTION__UNIT;
+
+	/**
+	 * The feature id for the '<em><b>Recurrence Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE__RECURRENCE_TYPE = INTEGER_TIME_DISTRIBUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Recurrence</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE_FEATURE_COUNT = INTEGER_TIME_DISTRIBUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Recurrence</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECURRENCE_OPERATION_COUNT = INTEGER_TIME_DISTRIBUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl <em>Label Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getLabelProperties()
+	 * @generated
+	 */
+	int LABEL_PROPERTIES = 9;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LABEL_PROPERTIES__COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Bit Size</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LABEL_PROPERTIES__BIT_SIZE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Per SWC</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LABEL_PROPERTIES__PER_SWC = 2;
+
+	/**
+	 * The number of structural features of the '<em>Label Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LABEL_PROPERTIES_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Label Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LABEL_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RunnablePropertiesImpl <em>Runnable Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RunnablePropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRunnableProperties()
+	 * @generated
+	 */
+	int RUNNABLE_PROPERTIES = 10;
+
+	/**
+	 * The feature id for the '<em><b>Runtime Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__RUNTIME_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Instructions Per Runnables</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__INSTRUCTIONS_PER_RUNNABLES = 1;
+
+	/**
+	 * The feature id for the '<em><b>Runnables Per Call Sequence</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__RUNNABLES_PER_CALL_SEQUENCE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Runnables Per SWC</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__RUNNABLES_PER_SWC = 3;
+
+	/**
+	 * The feature id for the '<em><b>Min Statistics Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__MIN_STATISTICS_DISTANCE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Max Statistics Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES__MAX_STATISTICS_DISTANCE = 5;
+
+	/**
+	 * The number of structural features of the '<em>Runnable Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES_FEATURE_COUNT = 6;
+
+	/**
+	 * The number of operations of the '<em>Runnable Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RUNNABLE_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphorePropertiesImpl <em>Semaphore Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphorePropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreProperties()
+	 * @generated
+	 */
+	int SEMAPHORE_PROPERTIES = 11;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES__COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Priority Ceiling Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES__PRIORITY_CEILING_PROTOCOL = 1;
+
+	/**
+	 * The feature id for the '<em><b>Semaphore Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES__SEMAPHORE_TYPE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Wait Mode</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES__WAIT_MODE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Semaphore Access</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES__SEMAPHORE_ACCESS = 4;
+
+	/**
+	 * The number of structural features of the '<em>Semaphore Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Semaphore Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphoreAccessPropertiesImpl <em>Semaphore Access Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphoreAccessPropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreAccessProperties()
+	 * @generated
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES = 12;
+
+	/**
+	 * The feature id for the '<em><b>Per Unit Read Access Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES__PER_UNIT_READ_ACCESS_COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Per Unit Write Access Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES__PER_UNIT_WRITE_ACCESS_COUNT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Request Order</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES__REQUEST_ORDER = 2;
+
+	/**
+	 * The feature id for the '<em><b>Access Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES__ACCESS_TYPE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Semaphore Access Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES_FEATURE_COUNT = 4;
+
+	/**
+	 * The number of operations of the '<em>Semaphore Access Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEMAPHORE_ACCESS_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.TaskPropertiesImpl <em>Task Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.TaskPropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTaskProperties()
+	 * @generated
+	 */
+	int TASK_PROPERTIES = 13;
+
+	/**
+	 * The feature id for the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__COUNT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Load</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__LOAD = 1;
+
+	/**
+	 * The feature id for the '<em><b>Per Task Group</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__PER_TASK_GROUP = 2;
+
+	/**
+	 * The feature id for the '<em><b>Mta</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__MTA = 3;
+
+	/**
+	 * The feature id for the '<em><b>Deadline Factor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__DEADLINE_FACTOR = 4;
+
+	/**
+	 * The feature id for the '<em><b>Call Sequences Between Schedule Points</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__CALL_SEQUENCES_BETWEEN_SCHEDULE_POINTS = 5;
+
+	/**
+	 * The feature id for the '<em><b>Call Graphs</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__CALL_GRAPHS = 6;
+
+	/**
+	 * The feature id for the '<em><b>Mapping Determination</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__MAPPING_DETERMINATION = 7;
+
+	/**
+	 * The feature id for the '<em><b>Priority Determination</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES__PRIORITY_DETERMINATION = 8;
+
+	/**
+	 * The number of structural features of the '<em>Task Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES_FEATURE_COUNT = 9;
+
+	/**
+	 * The number of operations of the '<em>Task Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TASK_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl <em>Call Graph Properties</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getCallGraphProperties()
+	 * @generated
+	 */
+	int CALL_GRAPH_PROPERTIES = 14;
+
+	/**
+	 * The feature id for the '<em><b>Signal Domain Coverage</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Call Sequence Usage</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Call Graph Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_GRAPH_PROPERTIES_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Call Graph Properties</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_GRAPH_PROPERTIES_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl <em>Percentage Distribution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPercentageDistribution()
+	 * @generated
+	 */
+	int PERCENTAGE_DISTRIBUTION = 18;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION__TYPE = DISTRIBUTION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Min Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE = DISTRIBUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Avg Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE = DISTRIBUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Max Percentage</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE = DISTRIBUTION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Percentage Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION_FEATURE_COUNT = DISTRIBUTION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Percentage Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PERCENTAGE_DISTRIBUTION_OPERATION_COUNT = DISTRIBUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl <em>Double Distribution</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDoubleDistribution()
+	 * @generated
+	 */
+	int DOUBLE_DISTRIBUTION = 19;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION__TYPE = DISTRIBUTION__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Min</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION__MIN = DISTRIBUTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Avg</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION__AVG = DISTRIBUTION_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Max</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION__MAX = DISTRIBUTION_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Double Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION_FEATURE_COUNT = DISTRIBUTION_FEATURE_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Double Distribution</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DOUBLE_DISTRIBUTION_OPERATION_COUNT = DISTRIBUTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType <em>Recurrence Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRecurrenceType()
+	 * @generated
+	 */
+	int RECURRENCE_TYPE = 20;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType <em>Runtime Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRuntimeType()
+	 * @generated
+	 */
+	int RUNTIME_TYPE = 21;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder <em>Semaphore Request Order</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreRequestOrder()
+	 * @generated
+	 */
+	int SEMAPHORE_REQUEST_ORDER = 22;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType <em>Semaphore Access Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreAccessType()
+	 * @generated
+	 */
+	int SEMAPHORE_ACCESS_TYPE = 23;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType <em>Semaphore Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreType()
+	 * @generated
+	 */
+	int SEMAPHORE_TYPE = 24;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.WaitModes <em>Wait Modes</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.WaitModes
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getWaitModes()
+	 * @generated
+	 */
+	int WAIT_MODES = 25;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.DistributionType <em>Distribution Type</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DistributionType
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDistributionType()
+	 * @generated
+	 */
+	int DISTRIBUTION_TYPE = 26;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms <em>Process Mapping Algorithms</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getProcessMappingAlgorithms()
+	 * @generated
+	 */
+	int PROCESS_MAPPING_ALGORITHMS = 27;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm <em>Priority Determination Algorithm</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPriorityDeterminationAlgorithm()
+	 * @generated
+	 */
+	int PRIORITY_DETERMINATION_ALGORITHM = 28;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit <em>Time Unit</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTimeUnit()
+	 * @generated
+	 */
+	int TIME_UNIT = 29;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.RTMGC <em>RTMGC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>RTMGC</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGC
+	 * @generated
+	 */
+	EClass getRTMGC();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RTMGC#getGeneration <em>Generation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Generation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGC#getGeneration()
+	 * @see #getRTMGC()
+	 * @generated
+	 */
+	EReference getRTMGC_Generation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation <em>Generation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Generation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation
+	 * @generated
+	 */
+	EClass getGeneration();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getCount()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_Count();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getBaseModel <em>Base Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Base Model</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getBaseModel()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_BaseModel();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getHwModels <em>Hw Models</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Hw Models</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getHwModels()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_HwModels();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOsModels <em>Os Models</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Os Models</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOsModels()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_OsModels();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSwModel <em>Sw Model</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Sw Model</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSwModel()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_SwModel();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOutputFolder <em>Output Folder</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Output Folder</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getOutputFolder()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EAttribute getGeneration_OutputFolder();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getActivations <em>Activations</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Activations</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getActivations()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EReference getGeneration_Activations();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getLabels <em>Labels</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Labels</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getLabels()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EReference getGeneration_Labels();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getRunnables <em>Runnables</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Runnables</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getRunnables()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EReference getGeneration_Runnables();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSemaphores <em>Semaphores</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Semaphores</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getSemaphores()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EReference getGeneration_Semaphores();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.Generation#getTasks <em>Tasks</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Tasks</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Generation#getTasks()
+	 * @see #getGeneration()
+	 * @generated
+	 */
+	EReference getGeneration_Tasks();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties <em>Activation Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Activation Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties
+	 * @generated
+	 */
+	EClass getActivationProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicActivation <em>Periodic Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Periodic Activation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicActivation()
+	 * @see #getActivationProperties()
+	 * @generated
+	 */
+	EReference getActivationProperties_PeriodicActivation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicTriangleShift <em>Periodic Triangle Shift</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Periodic Triangle Shift</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getPeriodicTriangleShift()
+	 * @see #getActivationProperties()
+	 * @generated
+	 */
+	EReference getActivationProperties_PeriodicTriangleShift();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getSporadicActivation <em>Sporadic Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Sporadic Activation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties#getSporadicActivation()
+	 * @see #getActivationProperties()
+	 * @generated
+	 */
+	EReference getActivationProperties_SporadicActivation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.Activation <em>Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Activation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Activation
+	 * @generated
+	 */
+	EClass getActivation();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Activation#getAppearanceProbability <em>Appearance Probability</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Appearance Probability</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Activation#getAppearanceProbability()
+	 * @see #getActivation()
+	 * @generated
+	 */
+	EAttribute getActivation_AppearanceProbability();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation <em>Periodic Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Periodic Activation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation
+	 * @generated
+	 */
+	EClass getPeriodicActivation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getRecurrence <em>Recurrence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Recurrence</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getRecurrence()
+	 * @see #getPeriodicActivation()
+	 * @generated
+	 */
+	EReference getPeriodicActivation_Recurrence();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getOffset <em>Offset</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Offset</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation#getOffset()
+	 * @see #getPeriodicActivation()
+	 * @generated
+	 */
+	EReference getPeriodicActivation_Offset();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift <em>Periodic Triangle Shift</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Periodic Triangle Shift</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift
+	 * @generated
+	 */
+	EClass getPeriodicTriangleShift();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift#getClock <em>Clock</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Clock</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift#getClock()
+	 * @see #getPeriodicTriangleShift()
+	 * @generated
+	 */
+	EReference getPeriodicTriangleShift_Clock();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock <em>Triangle Clock</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Triangle Clock</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock
+	 * @generated
+	 */
+	EClass getTriangleClock();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMin_start <em>Min start</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Min start</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMin_start()
+	 * @see #getTriangleClock()
+	 * @generated
+	 */
+	EReference getTriangleClock_Min_start();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMax_end <em>Max end</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Max end</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMax_end()
+	 * @see #getTriangleClock()
+	 * @generated
+	 */
+	EReference getTriangleClock_Max_end();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getShift <em>Shift</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Shift</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getShift()
+	 * @see #getTriangleClock()
+	 * @generated
+	 */
+	EReference getTriangleClock_Shift();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getPeriod <em>Period</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Period</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getPeriod()
+	 * @see #getTriangleClock()
+	 * @generated
+	 */
+	EReference getTriangleClock_Period();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation <em>Sporadic Activation</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Sporadic Activation</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation
+	 * @generated
+	 */
+	EClass getSporadicActivation();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMinValue <em>Min Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Min Value</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMinValue()
+	 * @see #getSporadicActivation()
+	 * @generated
+	 */
+	EReference getSporadicActivation_MinValue();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMaxValueDistance <em>Max Value Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Max Value Distance</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMaxValueDistance()
+	 * @see #getSporadicActivation()
+	 * @generated
+	 */
+	EReference getSporadicActivation_MaxValueDistance();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getAvgValueDistance <em>Avg Value Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Avg Value Distance</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getAvgValueDistance()
+	 * @see #getSporadicActivation()
+	 * @generated
+	 */
+	EReference getSporadicActivation_AvgValueDistance();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.Recurrence <em>Recurrence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Recurrence</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Recurrence
+	 * @generated
+	 */
+	EClass getRecurrence();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Recurrence#getRecurrenceType <em>Recurrence Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Recurrence Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Recurrence#getRecurrenceType()
+	 * @see #getRecurrence()
+	 * @generated
+	 */
+	EAttribute getRecurrence_RecurrenceType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties <em>Label Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Label Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties
+	 * @generated
+	 */
+	EClass getLabelProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getCount()
+	 * @see #getLabelProperties()
+	 * @generated
+	 */
+	EReference getLabelProperties_Count();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getBitSize <em>Bit Size</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Bit Size</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getBitSize()
+	 * @see #getLabelProperties()
+	 * @generated
+	 */
+	EReference getLabelProperties_BitSize();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getPerSWC <em>Per SWC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Per SWC</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties#getPerSWC()
+	 * @see #getLabelProperties()
+	 * @generated
+	 */
+	EReference getLabelProperties_PerSWC();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties <em>Runnable Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Runnable Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties
+	 * @generated
+	 */
+	EClass getRunnableProperties();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRuntimeType <em>Runtime Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Runtime Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRuntimeType()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EAttribute getRunnableProperties_RuntimeType();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getInstructionsPerRunnables <em>Instructions Per Runnables</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Instructions Per Runnables</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getInstructionsPerRunnables()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EReference getRunnableProperties_InstructionsPerRunnables();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerCallSequence <em>Runnables Per Call Sequence</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Runnables Per Call Sequence</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerCallSequence()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EReference getRunnableProperties_RunnablesPerCallSequence();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerSWC <em>Runnables Per SWC</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Runnables Per SWC</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerSWC()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EReference getRunnableProperties_RunnablesPerSWC();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMinStatisticsDistance <em>Min Statistics Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Min Statistics Distance</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMinStatisticsDistance()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EReference getRunnableProperties_MinStatisticsDistance();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMaxStatisticsDistance <em>Max Statistics Distance</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Max Statistics Distance</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMaxStatisticsDistance()
+	 * @see #getRunnableProperties()
+	 * @generated
+	 */
+	EReference getRunnableProperties_MaxStatisticsDistance();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties <em>Semaphore Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Semaphore Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties
+	 * @generated
+	 */
+	EClass getSemaphoreProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getCount()
+	 * @see #getSemaphoreProperties()
+	 * @generated
+	 */
+	EReference getSemaphoreProperties_Count();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#isPriorityCeilingProtocol <em>Priority Ceiling Protocol</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Priority Ceiling Protocol</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#isPriorityCeilingProtocol()
+	 * @see #getSemaphoreProperties()
+	 * @generated
+	 */
+	EAttribute getSemaphoreProperties_PriorityCeilingProtocol();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreType <em>Semaphore Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Semaphore Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreType()
+	 * @see #getSemaphoreProperties()
+	 * @generated
+	 */
+	EAttribute getSemaphoreProperties_SemaphoreType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getWaitMode <em>Wait Mode</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Wait Mode</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getWaitMode()
+	 * @see #getSemaphoreProperties()
+	 * @generated
+	 */
+	EAttribute getSemaphoreProperties_WaitMode();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreAccess <em>Semaphore Access</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Semaphore Access</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreAccess()
+	 * @see #getSemaphoreProperties()
+	 * @generated
+	 */
+	EReference getSemaphoreProperties_SemaphoreAccess();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties <em>Semaphore Access Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Semaphore Access Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties
+	 * @generated
+	 */
+	EClass getSemaphoreAccessProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitReadAccessCount <em>Per Unit Read Access Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Per Unit Read Access Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitReadAccessCount()
+	 * @see #getSemaphoreAccessProperties()
+	 * @generated
+	 */
+	EReference getSemaphoreAccessProperties_PerUnitReadAccessCount();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitWriteAccessCount <em>Per Unit Write Access Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Per Unit Write Access Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitWriteAccessCount()
+	 * @see #getSemaphoreAccessProperties()
+	 * @generated
+	 */
+	EReference getSemaphoreAccessProperties_PerUnitWriteAccessCount();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getRequestOrder <em>Request Order</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Request Order</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getRequestOrder()
+	 * @see #getSemaphoreAccessProperties()
+	 * @generated
+	 */
+	EAttribute getSemaphoreAccessProperties_RequestOrder();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getAccessType <em>Access Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Access Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getAccessType()
+	 * @see #getSemaphoreAccessProperties()
+	 * @generated
+	 */
+	EAttribute getSemaphoreAccessProperties_AccessType();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties <em>Task Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Task Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties
+	 * @generated
+	 */
+	EClass getTaskProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCount <em>Count</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Count</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCount()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_Count();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getLoad <em>Load</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Load</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getLoad()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_Load();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPerTaskGroup <em>Per Task Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Per Task Group</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPerTaskGroup()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_PerTaskGroup();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMta <em>Mta</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Mta</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMta()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_Mta();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getDeadlineFactor <em>Deadline Factor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Deadline Factor</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getDeadlineFactor()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_DeadlineFactor();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallSequencesBetweenSchedulePoints <em>Call Sequences Between Schedule Points</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Call Sequences Between Schedule Points</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallSequencesBetweenSchedulePoints()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_CallSequencesBetweenSchedulePoints();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallGraphs <em>Call Graphs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Call Graphs</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallGraphs()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EReference getTaskProperties_CallGraphs();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMappingDetermination <em>Mapping Determination</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Mapping Determination</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMappingDetermination()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EAttribute getTaskProperties_MappingDetermination();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPriorityDetermination <em>Priority Determination</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Priority Determination</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPriorityDetermination()
+	 * @see #getTaskProperties()
+	 * @generated
+	 */
+	EAttribute getTaskProperties_PriorityDetermination();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties <em>Call Graph Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Call Graph Properties</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties
+	 * @generated
+	 */
+	EClass getCallGraphProperties();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getSignalDomainCoverage <em>Signal Domain Coverage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Signal Domain Coverage</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getSignalDomainCoverage()
+	 * @see #getCallGraphProperties()
+	 * @generated
+	 */
+	EReference getCallGraphProperties_SignalDomainCoverage();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getCallSequenceUsage <em>Call Sequence Usage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Call Sequence Usage</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties#getCallSequenceUsage()
+	 * @see #getCallGraphProperties()
+	 * @generated
+	 */
+	EReference getCallGraphProperties_CallSequenceUsage();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.Distribution <em>Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Distribution</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Distribution
+	 * @generated
+	 */
+	EClass getDistribution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.Distribution#getType <em>Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.Distribution#getType()
+	 * @see #getDistribution()
+	 * @generated
+	 */
+	EAttribute getDistribution_Type();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution <em>Integer Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer Distribution</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution
+	 * @generated
+	 */
+	EClass getIntegerDistribution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMin <em>Min</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Min</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMin()
+	 * @see #getIntegerDistribution()
+	 * @generated
+	 */
+	EAttribute getIntegerDistribution_Min();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getAvg <em>Avg</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Avg</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getAvg()
+	 * @see #getIntegerDistribution()
+	 * @generated
+	 */
+	EAttribute getIntegerDistribution_Avg();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMax <em>Max</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution#getMax()
+	 * @see #getIntegerDistribution()
+	 * @generated
+	 */
+	EAttribute getIntegerDistribution_Max();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution <em>Integer Time Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Integer Time Distribution</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution
+	 * @generated
+	 */
+	EClass getIntegerTimeDistribution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution#getUnit <em>Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Unit</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution#getUnit()
+	 * @see #getIntegerTimeDistribution()
+	 * @generated
+	 */
+	EAttribute getIntegerTimeDistribution_Unit();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution <em>Percentage Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Percentage Distribution</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution
+	 * @generated
+	 */
+	EClass getPercentageDistribution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMinPercentage <em>Min Percentage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Min Percentage</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMinPercentage()
+	 * @see #getPercentageDistribution()
+	 * @generated
+	 */
+	EAttribute getPercentageDistribution_MinPercentage();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getAvgPercentage <em>Avg Percentage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Avg Percentage</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getAvgPercentage()
+	 * @see #getPercentageDistribution()
+	 * @generated
+	 */
+	EAttribute getPercentageDistribution_AvgPercentage();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMaxPercentage <em>Max Percentage</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max Percentage</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution#getMaxPercentage()
+	 * @see #getPercentageDistribution()
+	 * @generated
+	 */
+	EAttribute getPercentageDistribution_MaxPercentage();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution <em>Double Distribution</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Double Distribution</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution
+	 * @generated
+	 */
+	EClass getDoubleDistribution();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMin <em>Min</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Min</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMin()
+	 * @see #getDoubleDistribution()
+	 * @generated
+	 */
+	EAttribute getDoubleDistribution_Min();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getAvg <em>Avg</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Avg</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getAvg()
+	 * @see #getDoubleDistribution()
+	 * @generated
+	 */
+	EAttribute getDoubleDistribution_Avg();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMax <em>Max</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution#getMax()
+	 * @see #getDoubleDistribution()
+	 * @generated
+	 */
+	EAttribute getDoubleDistribution_Max();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType <em>Recurrence Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Recurrence Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType
+	 * @generated
+	 */
+	EEnum getRecurrenceType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType <em>Runtime Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Runtime Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType
+	 * @generated
+	 */
+	EEnum getRuntimeType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder <em>Semaphore Request Order</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Semaphore Request Order</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder
+	 * @generated
+	 */
+	EEnum getSemaphoreRequestOrder();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType <em>Semaphore Access Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Semaphore Access Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType
+	 * @generated
+	 */
+	EEnum getSemaphoreAccessType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType <em>Semaphore Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Semaphore Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType
+	 * @generated
+	 */
+	EEnum getSemaphoreType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.WaitModes <em>Wait Modes</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Wait Modes</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.WaitModes
+	 * @generated
+	 */
+	EEnum getWaitModes();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.DistributionType <em>Distribution Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Distribution Type</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.DistributionType
+	 * @generated
+	 */
+	EEnum getDistributionType();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms <em>Process Mapping Algorithms</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Process Mapping Algorithms</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms
+	 * @generated
+	 */
+	EEnum getProcessMappingAlgorithms();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm <em>Priority Determination Algorithm</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Priority Determination Algorithm</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm
+	 * @generated
+	 */
+	EEnum getPriorityDeterminationAlgorithm();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit <em>Time Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Time Unit</em>'.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit
+	 * @generated
+	 */
+	EEnum getTimeUnit();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RTMGCFactory getRTMGCFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each operation of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCImpl <em>RTMGC</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRTMGC()
+		 * @generated
+		 */
+		EClass RTMGC = eINSTANCE.getRTMGC();
+
+		/**
+		 * The meta object literal for the '<em><b>Generation</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RTMGC__GENERATION = eINSTANCE.getRTMGC_Generation();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl <em>Generation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getGeneration()
+		 * @generated
+		 */
+		EClass GENERATION = eINSTANCE.getGeneration();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__COUNT = eINSTANCE.getGeneration_Count();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Model</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__BASE_MODEL = eINSTANCE.getGeneration_BaseModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Hw Models</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__HW_MODELS = eINSTANCE.getGeneration_HwModels();
+
+		/**
+		 * The meta object literal for the '<em><b>Os Models</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__OS_MODELS = eINSTANCE.getGeneration_OsModels();
+
+		/**
+		 * The meta object literal for the '<em><b>Sw Model</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__SW_MODEL = eINSTANCE.getGeneration_SwModel();
+
+		/**
+		 * The meta object literal for the '<em><b>Output Folder</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute GENERATION__OUTPUT_FOLDER = eINSTANCE.getGeneration_OutputFolder();
+
+		/**
+		 * The meta object literal for the '<em><b>Activations</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference GENERATION__ACTIVATIONS = eINSTANCE.getGeneration_Activations();
+
+		/**
+		 * The meta object literal for the '<em><b>Labels</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference GENERATION__LABELS = eINSTANCE.getGeneration_Labels();
+
+		/**
+		 * The meta object literal for the '<em><b>Runnables</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference GENERATION__RUNNABLES = eINSTANCE.getGeneration_Runnables();
+
+		/**
+		 * The meta object literal for the '<em><b>Semaphores</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference GENERATION__SEMAPHORES = eINSTANCE.getGeneration_Semaphores();
+
+		/**
+		 * The meta object literal for the '<em><b>Tasks</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference GENERATION__TASKS = eINSTANCE.getGeneration_Tasks();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl <em>Activation Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getActivationProperties()
+		 * @generated
+		 */
+		EClass ACTIVATION_PROPERTIES = eINSTANCE.getActivationProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Periodic Activation</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION = eINSTANCE.getActivationProperties_PeriodicActivation();
+
+		/**
+		 * The meta object literal for the '<em><b>Periodic Triangle Shift</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT = eINSTANCE.getActivationProperties_PeriodicTriangleShift();
+
+		/**
+		 * The meta object literal for the '<em><b>Sporadic Activation</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION = eINSTANCE.getActivationProperties_SporadicActivation();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationImpl <em>Activation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getActivation()
+		 * @generated
+		 */
+		EClass ACTIVATION = eINSTANCE.getActivation();
+
+		/**
+		 * The meta object literal for the '<em><b>Appearance Probability</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute ACTIVATION__APPEARANCE_PROBABILITY = eINSTANCE.getActivation_AppearanceProbability();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl <em>Periodic Activation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPeriodicActivation()
+		 * @generated
+		 */
+		EClass PERIODIC_ACTIVATION = eINSTANCE.getPeriodicActivation();
+
+		/**
+		 * The meta object literal for the '<em><b>Recurrence</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIODIC_ACTIVATION__RECURRENCE = eINSTANCE.getPeriodicActivation_Recurrence();
+
+		/**
+		 * The meta object literal for the '<em><b>Offset</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIODIC_ACTIVATION__OFFSET = eINSTANCE.getPeriodicActivation_Offset();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicTriangleShiftImpl <em>Periodic Triangle Shift</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicTriangleShiftImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPeriodicTriangleShift()
+		 * @generated
+		 */
+		EClass PERIODIC_TRIANGLE_SHIFT = eINSTANCE.getPeriodicTriangleShift();
+
+		/**
+		 * The meta object literal for the '<em><b>Clock</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference PERIODIC_TRIANGLE_SHIFT__CLOCK = eINSTANCE.getPeriodicTriangleShift_Clock();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.TriangleClockImpl <em>Triangle Clock</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.TriangleClockImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTriangleClock()
+		 * @generated
+		 */
+		EClass TRIANGLE_CLOCK = eINSTANCE.getTriangleClock();
+
+		/**
+		 * The meta object literal for the '<em><b>Min start</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIANGLE_CLOCK__MIN_START = eINSTANCE.getTriangleClock_Min_start();
+
+		/**
+		 * The meta object literal for the '<em><b>Max end</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIANGLE_CLOCK__MAX_END = eINSTANCE.getTriangleClock_Max_end();
+
+		/**
+		 * The meta object literal for the '<em><b>Shift</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIANGLE_CLOCK__SHIFT = eINSTANCE.getTriangleClock_Shift();
+
+		/**
+		 * The meta object literal for the '<em><b>Period</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TRIANGLE_CLOCK__PERIOD = eINSTANCE.getTriangleClock_Period();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SporadicActivationImpl <em>Sporadic Activation</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SporadicActivationImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSporadicActivation()
+		 * @generated
+		 */
+		EClass SPORADIC_ACTIVATION = eINSTANCE.getSporadicActivation();
+
+		/**
+		 * The meta object literal for the '<em><b>Min Value</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SPORADIC_ACTIVATION__MIN_VALUE = eINSTANCE.getSporadicActivation_MinValue();
+
+		/**
+		 * The meta object literal for the '<em><b>Max Value Distance</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SPORADIC_ACTIVATION__MAX_VALUE_DISTANCE = eINSTANCE.getSporadicActivation_MaxValueDistance();
+
+		/**
+		 * The meta object literal for the '<em><b>Avg Value Distance</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SPORADIC_ACTIVATION__AVG_VALUE_DISTANCE = eINSTANCE.getSporadicActivation_AvgValueDistance();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RecurrenceImpl <em>Recurrence</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RecurrenceImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRecurrence()
+		 * @generated
+		 */
+		EClass RECURRENCE = eINSTANCE.getRecurrence();
+
+		/**
+		 * The meta object literal for the '<em><b>Recurrence Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RECURRENCE__RECURRENCE_TYPE = eINSTANCE.getRecurrence_RecurrenceType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl <em>Label Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getLabelProperties()
+		 * @generated
+		 */
+		EClass LABEL_PROPERTIES = eINSTANCE.getLabelProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LABEL_PROPERTIES__COUNT = eINSTANCE.getLabelProperties_Count();
+
+		/**
+		 * The meta object literal for the '<em><b>Bit Size</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LABEL_PROPERTIES__BIT_SIZE = eINSTANCE.getLabelProperties_BitSize();
+
+		/**
+		 * The meta object literal for the '<em><b>Per SWC</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference LABEL_PROPERTIES__PER_SWC = eINSTANCE.getLabelProperties_PerSWC();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RunnablePropertiesImpl <em>Runnable Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RunnablePropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRunnableProperties()
+		 * @generated
+		 */
+		EClass RUNNABLE_PROPERTIES = eINSTANCE.getRunnableProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Runtime Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute RUNNABLE_PROPERTIES__RUNTIME_TYPE = eINSTANCE.getRunnableProperties_RuntimeType();
+
+		/**
+		 * The meta object literal for the '<em><b>Instructions Per Runnables</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNABLE_PROPERTIES__INSTRUCTIONS_PER_RUNNABLES = eINSTANCE.getRunnableProperties_InstructionsPerRunnables();
+
+		/**
+		 * The meta object literal for the '<em><b>Runnables Per Call Sequence</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNABLE_PROPERTIES__RUNNABLES_PER_CALL_SEQUENCE = eINSTANCE.getRunnableProperties_RunnablesPerCallSequence();
+
+		/**
+		 * The meta object literal for the '<em><b>Runnables Per SWC</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNABLE_PROPERTIES__RUNNABLES_PER_SWC = eINSTANCE.getRunnableProperties_RunnablesPerSWC();
+
+		/**
+		 * The meta object literal for the '<em><b>Min Statistics Distance</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNABLE_PROPERTIES__MIN_STATISTICS_DISTANCE = eINSTANCE.getRunnableProperties_MinStatisticsDistance();
+
+		/**
+		 * The meta object literal for the '<em><b>Max Statistics Distance</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference RUNNABLE_PROPERTIES__MAX_STATISTICS_DISTANCE = eINSTANCE.getRunnableProperties_MaxStatisticsDistance();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphorePropertiesImpl <em>Semaphore Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphorePropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreProperties()
+		 * @generated
+		 */
+		EClass SEMAPHORE_PROPERTIES = eINSTANCE.getSemaphoreProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SEMAPHORE_PROPERTIES__COUNT = eINSTANCE.getSemaphoreProperties_Count();
+
+		/**
+		 * The meta object literal for the '<em><b>Priority Ceiling Protocol</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEMAPHORE_PROPERTIES__PRIORITY_CEILING_PROTOCOL = eINSTANCE.getSemaphoreProperties_PriorityCeilingProtocol();
+
+		/**
+		 * The meta object literal for the '<em><b>Semaphore Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEMAPHORE_PROPERTIES__SEMAPHORE_TYPE = eINSTANCE.getSemaphoreProperties_SemaphoreType();
+
+		/**
+		 * The meta object literal for the '<em><b>Wait Mode</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEMAPHORE_PROPERTIES__WAIT_MODE = eINSTANCE.getSemaphoreProperties_WaitMode();
+
+		/**
+		 * The meta object literal for the '<em><b>Semaphore Access</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SEMAPHORE_PROPERTIES__SEMAPHORE_ACCESS = eINSTANCE.getSemaphoreProperties_SemaphoreAccess();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphoreAccessPropertiesImpl <em>Semaphore Access Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.SemaphoreAccessPropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreAccessProperties()
+		 * @generated
+		 */
+		EClass SEMAPHORE_ACCESS_PROPERTIES = eINSTANCE.getSemaphoreAccessProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Per Unit Read Access Count</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SEMAPHORE_ACCESS_PROPERTIES__PER_UNIT_READ_ACCESS_COUNT = eINSTANCE.getSemaphoreAccessProperties_PerUnitReadAccessCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Per Unit Write Access Count</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference SEMAPHORE_ACCESS_PROPERTIES__PER_UNIT_WRITE_ACCESS_COUNT = eINSTANCE.getSemaphoreAccessProperties_PerUnitWriteAccessCount();
+
+		/**
+		 * The meta object literal for the '<em><b>Request Order</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEMAPHORE_ACCESS_PROPERTIES__REQUEST_ORDER = eINSTANCE.getSemaphoreAccessProperties_RequestOrder();
+
+		/**
+		 * The meta object literal for the '<em><b>Access Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute SEMAPHORE_ACCESS_PROPERTIES__ACCESS_TYPE = eINSTANCE.getSemaphoreAccessProperties_AccessType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.TaskPropertiesImpl <em>Task Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.TaskPropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTaskProperties()
+		 * @generated
+		 */
+		EClass TASK_PROPERTIES = eINSTANCE.getTaskProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Count</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__COUNT = eINSTANCE.getTaskProperties_Count();
+
+		/**
+		 * The meta object literal for the '<em><b>Load</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__LOAD = eINSTANCE.getTaskProperties_Load();
+
+		/**
+		 * The meta object literal for the '<em><b>Per Task Group</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__PER_TASK_GROUP = eINSTANCE.getTaskProperties_PerTaskGroup();
+
+		/**
+		 * The meta object literal for the '<em><b>Mta</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__MTA = eINSTANCE.getTaskProperties_Mta();
+
+		/**
+		 * The meta object literal for the '<em><b>Deadline Factor</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__DEADLINE_FACTOR = eINSTANCE.getTaskProperties_DeadlineFactor();
+
+		/**
+		 * The meta object literal for the '<em><b>Call Sequences Between Schedule Points</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__CALL_SEQUENCES_BETWEEN_SCHEDULE_POINTS = eINSTANCE.getTaskProperties_CallSequencesBetweenSchedulePoints();
+
+		/**
+		 * The meta object literal for the '<em><b>Call Graphs</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference TASK_PROPERTIES__CALL_GRAPHS = eINSTANCE.getTaskProperties_CallGraphs();
+
+		/**
+		 * The meta object literal for the '<em><b>Mapping Determination</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TASK_PROPERTIES__MAPPING_DETERMINATION = eINSTANCE.getTaskProperties_MappingDetermination();
+
+		/**
+		 * The meta object literal for the '<em><b>Priority Determination</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute TASK_PROPERTIES__PRIORITY_DETERMINATION = eINSTANCE.getTaskProperties_PriorityDetermination();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl <em>Call Graph Properties</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getCallGraphProperties()
+		 * @generated
+		 */
+		EClass CALL_GRAPH_PROPERTIES = eINSTANCE.getCallGraphProperties();
+
+		/**
+		 * The meta object literal for the '<em><b>Signal Domain Coverage</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE = eINSTANCE.getCallGraphProperties_SignalDomainCoverage();
+
+		/**
+		 * The meta object literal for the '<em><b>Call Sequence Usage</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE = eINSTANCE.getCallGraphProperties_CallSequenceUsage();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DistributionImpl <em>Distribution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.DistributionImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDistribution()
+		 * @generated
+		 */
+		EClass DISTRIBUTION = eINSTANCE.getDistribution();
+
+		/**
+		 * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DISTRIBUTION__TYPE = eINSTANCE.getDistribution_Type();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl <em>Integer Distribution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getIntegerDistribution()
+		 * @generated
+		 */
+		EClass INTEGER_DISTRIBUTION = eINSTANCE.getIntegerDistribution();
+
+		/**
+		 * The meta object literal for the '<em><b>Min</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_DISTRIBUTION__MIN = eINSTANCE.getIntegerDistribution_Min();
+
+		/**
+		 * The meta object literal for the '<em><b>Avg</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_DISTRIBUTION__AVG = eINSTANCE.getIntegerDistribution_Avg();
+
+		/**
+		 * The meta object literal for the '<em><b>Max</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_DISTRIBUTION__MAX = eINSTANCE.getIntegerDistribution_Max();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerTimeDistributionImpl <em>Integer Time Distribution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerTimeDistributionImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getIntegerTimeDistribution()
+		 * @generated
+		 */
+		EClass INTEGER_TIME_DISTRIBUTION = eINSTANCE.getIntegerTimeDistribution();
+
+		/**
+		 * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute INTEGER_TIME_DISTRIBUTION__UNIT = eINSTANCE.getIntegerTimeDistribution_Unit();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl <em>Percentage Distribution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPercentageDistribution()
+		 * @generated
+		 */
+		EClass PERCENTAGE_DISTRIBUTION = eINSTANCE.getPercentageDistribution();
+
+		/**
+		 * The meta object literal for the '<em><b>Min Percentage</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE = eINSTANCE.getPercentageDistribution_MinPercentage();
+
+		/**
+		 * The meta object literal for the '<em><b>Avg Percentage</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE = eINSTANCE.getPercentageDistribution_AvgPercentage();
+
+		/**
+		 * The meta object literal for the '<em><b>Max Percentage</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE = eINSTANCE.getPercentageDistribution_MaxPercentage();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl <em>Double Distribution</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDoubleDistribution()
+		 * @generated
+		 */
+		EClass DOUBLE_DISTRIBUTION = eINSTANCE.getDoubleDistribution();
+
+		/**
+		 * The meta object literal for the '<em><b>Min</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DOUBLE_DISTRIBUTION__MIN = eINSTANCE.getDoubleDistribution_Min();
+
+		/**
+		 * The meta object literal for the '<em><b>Avg</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DOUBLE_DISTRIBUTION__AVG = eINSTANCE.getDoubleDistribution_Avg();
+
+		/**
+		 * The meta object literal for the '<em><b>Max</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute DOUBLE_DISTRIBUTION__MAX = eINSTANCE.getDoubleDistribution_Max();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType <em>Recurrence Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRecurrenceType()
+		 * @generated
+		 */
+		EEnum RECURRENCE_TYPE = eINSTANCE.getRecurrenceType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType <em>Runtime Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getRuntimeType()
+		 * @generated
+		 */
+		EEnum RUNTIME_TYPE = eINSTANCE.getRuntimeType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder <em>Semaphore Request Order</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreRequestOrder()
+		 * @generated
+		 */
+		EEnum SEMAPHORE_REQUEST_ORDER = eINSTANCE.getSemaphoreRequestOrder();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType <em>Semaphore Access Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreAccessType()
+		 * @generated
+		 */
+		EEnum SEMAPHORE_ACCESS_TYPE = eINSTANCE.getSemaphoreAccessType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType <em>Semaphore Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getSemaphoreType()
+		 * @generated
+		 */
+		EEnum SEMAPHORE_TYPE = eINSTANCE.getSemaphoreType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.WaitModes <em>Wait Modes</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.WaitModes
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getWaitModes()
+		 * @generated
+		 */
+		EEnum WAIT_MODES = eINSTANCE.getWaitModes();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.DistributionType <em>Distribution Type</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.DistributionType
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getDistributionType()
+		 * @generated
+		 */
+		EEnum DISTRIBUTION_TYPE = eINSTANCE.getDistributionType();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms <em>Process Mapping Algorithms</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getProcessMappingAlgorithms()
+		 * @generated
+		 */
+		EEnum PROCESS_MAPPING_ALGORITHMS = eINSTANCE.getProcessMappingAlgorithms();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm <em>Priority Determination Algorithm</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getPriorityDeterminationAlgorithm()
+		 * @generated
+		 */
+		EEnum PRIORITY_DETERMINATION_ALGORITHM = eINSTANCE.getPriorityDeterminationAlgorithm();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit <em>Time Unit</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit
+		 * @see org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCPackageImpl#getTimeUnit()
+		 * @generated
+		 */
+		EEnum TIME_UNIT = eINSTANCE.getTimeUnit();
+
+	}
+
+} //RTMGCPackage
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Recurrence.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Recurrence.java
new file mode 100644
index 0000000..d05fdaf
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/Recurrence.java
@@ -0,0 +1,63 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Recurrence</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.Recurrence#getRecurrenceType <em>Recurrence Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRecurrence()
+ * @model
+ * @generated
+ */
+public interface Recurrence extends IntegerTimeDistribution {
+	/**
+	 * Returns the value of the '<em><b>Recurrence Type</b></em>' attribute.
+	 * The default value is <code>"random"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Recurrence Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Recurrence Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType
+	 * @see #setRecurrenceType(RecurrenceType)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRecurrence_RecurrenceType()
+	 * @model default="random" unique="false"
+	 * @generated
+	 */
+	RecurrenceType getRecurrenceType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.Recurrence#getRecurrenceType <em>Recurrence Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Recurrence Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType
+	 * @see #getRecurrenceType()
+	 * @generated
+	 */
+	void setRecurrenceType(RecurrenceType value);
+
+} // Recurrence
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RecurrenceType.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RecurrenceType.java
new file mode 100644
index 0000000..27fc2b5
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RecurrenceType.java
@@ -0,0 +1,224 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Recurrence Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRecurrenceType()
+ * @model
+ * @generated
+ */
+public enum RecurrenceType implements Enumerator {
+	/**
+	 * The '<em><b>Random</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RANDOM_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RANDOM(0, "random", "random"),
+
+	/**
+	 * The '<em><b>Harmonic</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #HARMONIC_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	HARMONIC(1, "harmonic", "harmonic");
+
+	/**
+	 * The '<em><b>Random</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Random</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RANDOM
+	 * @model name="random"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RANDOM_VALUE = 0;
+
+	/**
+	 * The '<em><b>Harmonic</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Harmonic</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #HARMONIC
+	 * @model name="harmonic"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int HARMONIC_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Recurrence Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final RecurrenceType[] VALUES_ARRAY =
+		new RecurrenceType[] {
+			RANDOM,
+			HARMONIC,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Recurrence Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<RecurrenceType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Recurrence Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RecurrenceType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RecurrenceType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Recurrence Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RecurrenceType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RecurrenceType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Recurrence Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RecurrenceType get(int value) {
+		switch (value) {
+			case RANDOM_VALUE: return RANDOM;
+			case HARMONIC_VALUE: return HARMONIC;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private RecurrenceType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //RecurrenceType
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RunnableProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RunnableProperties.java
new file mode 100644
index 0000000..6e7e4a2
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RunnableProperties.java
@@ -0,0 +1,199 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Runnable Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRuntimeType <em>Runtime Type</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getInstructionsPerRunnables <em>Instructions Per Runnables</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerCallSequence <em>Runnables Per Call Sequence</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerSWC <em>Runnables Per SWC</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMinStatisticsDistance <em>Min Statistics Distance</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMaxStatisticsDistance <em>Max Statistics Distance</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties()
+ * @model
+ * @generated
+ */
+public interface RunnableProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Runtime Type</b></em>' attribute.
+	 * The default value is <code>"instructionsConst"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Runtime Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Runtime Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType
+	 * @see #setRuntimeType(RuntimeType)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_RuntimeType()
+	 * @model default="instructionsConst" unique="false" required="true"
+	 * @generated
+	 */
+	RuntimeType getRuntimeType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRuntimeType <em>Runtime Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Runtime Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType
+	 * @see #getRuntimeType()
+	 * @generated
+	 */
+	void setRuntimeType(RuntimeType value);
+
+	/**
+	 * Returns the value of the '<em><b>Instructions Per Runnables</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Instructions Per Runnables</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Instructions Per Runnables</em>' containment reference.
+	 * @see #setInstructionsPerRunnables(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_InstructionsPerRunnables()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getInstructionsPerRunnables();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getInstructionsPerRunnables <em>Instructions Per Runnables</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Instructions Per Runnables</em>' containment reference.
+	 * @see #getInstructionsPerRunnables()
+	 * @generated
+	 */
+	void setInstructionsPerRunnables(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Runnables Per Call Sequence</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Runnables Per Call Sequence</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Runnables Per Call Sequence</em>' containment reference.
+	 * @see #setRunnablesPerCallSequence(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_RunnablesPerCallSequence()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getRunnablesPerCallSequence();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerCallSequence <em>Runnables Per Call Sequence</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Runnables Per Call Sequence</em>' containment reference.
+	 * @see #getRunnablesPerCallSequence()
+	 * @generated
+	 */
+	void setRunnablesPerCallSequence(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Runnables Per SWC</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Runnables Per SWC</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Runnables Per SWC</em>' containment reference.
+	 * @see #setRunnablesPerSWC(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_RunnablesPerSWC()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getRunnablesPerSWC();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getRunnablesPerSWC <em>Runnables Per SWC</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Runnables Per SWC</em>' containment reference.
+	 * @see #getRunnablesPerSWC()
+	 * @generated
+	 */
+	void setRunnablesPerSWC(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Min Statistics Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min Statistics Distance</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min Statistics Distance</em>' containment reference.
+	 * @see #setMinStatisticsDistance(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_MinStatisticsDistance()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getMinStatisticsDistance();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMinStatisticsDistance <em>Min Statistics Distance</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min Statistics Distance</em>' containment reference.
+	 * @see #getMinStatisticsDistance()
+	 * @generated
+	 */
+	void setMinStatisticsDistance(PercentageDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Max Statistics Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max Statistics Distance</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max Statistics Distance</em>' containment reference.
+	 * @see #setMaxStatisticsDistance(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRunnableProperties_MaxStatisticsDistance()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getMaxStatisticsDistance();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties#getMaxStatisticsDistance <em>Max Statistics Distance</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max Statistics Distance</em>' containment reference.
+	 * @see #getMaxStatisticsDistance()
+	 * @generated
+	 */
+	void setMaxStatisticsDistance(PercentageDistribution value);
+
+} // RunnableProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RuntimeType.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RuntimeType.java
new file mode 100644
index 0000000..d4c2202
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/RuntimeType.java
@@ -0,0 +1,224 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Runtime Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getRuntimeType()
+ * @model
+ * @generated
+ */
+public enum RuntimeType implements Enumerator {
+	/**
+	 * The '<em><b>Instructions Const</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INSTRUCTIONS_CONST_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INSTRUCTIONS_CONST(0, "instructionsConst", "instructionsConst"),
+
+	/**
+	 * The '<em><b>Instructions Statistics</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #INSTRUCTIONS_STATISTICS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INSTRUCTIONS_STATISTICS(1, "instructionsStatistics", "instructionsStatistics");
+
+	/**
+	 * The '<em><b>Instructions Const</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Instructions Const</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INSTRUCTIONS_CONST
+	 * @model name="instructionsConst"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INSTRUCTIONS_CONST_VALUE = 0;
+
+	/**
+	 * The '<em><b>Instructions Statistics</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Instructions Statistics</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #INSTRUCTIONS_STATISTICS
+	 * @model name="instructionsStatistics"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INSTRUCTIONS_STATISTICS_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Runtime Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final RuntimeType[] VALUES_ARRAY =
+		new RuntimeType[] {
+			INSTRUCTIONS_CONST,
+			INSTRUCTIONS_STATISTICS,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Runtime Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<RuntimeType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Runtime Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RuntimeType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RuntimeType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Runtime Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RuntimeType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			RuntimeType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Runtime Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static RuntimeType get(int value) {
+		switch (value) {
+			case INSTRUCTIONS_CONST_VALUE: return INSTRUCTIONS_CONST;
+			case INSTRUCTIONS_STATISTICS_VALUE: return INSTRUCTIONS_STATISTICS;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private RuntimeType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //RuntimeType
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessProperties.java
new file mode 100644
index 0000000..ed71e5a
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessProperties.java
@@ -0,0 +1,149 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Semaphore Access Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitReadAccessCount <em>Per Unit Read Access Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitWriteAccessCount <em>Per Unit Write Access Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getRequestOrder <em>Request Order</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getAccessType <em>Access Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessProperties()
+ * @model
+ * @generated
+ */
+public interface SemaphoreAccessProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Per Unit Read Access Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Per Unit Read Access Count</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Per Unit Read Access Count</em>' containment reference.
+	 * @see #setPerUnitReadAccessCount(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessProperties_PerUnitReadAccessCount()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getPerUnitReadAccessCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitReadAccessCount <em>Per Unit Read Access Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Per Unit Read Access Count</em>' containment reference.
+	 * @see #getPerUnitReadAccessCount()
+	 * @generated
+	 */
+	void setPerUnitReadAccessCount(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Per Unit Write Access Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Per Unit Write Access Count</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Per Unit Write Access Count</em>' containment reference.
+	 * @see #setPerUnitWriteAccessCount(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessProperties_PerUnitWriteAccessCount()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getPerUnitWriteAccessCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getPerUnitWriteAccessCount <em>Per Unit Write Access Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Per Unit Write Access Count</em>' containment reference.
+	 * @see #getPerUnitWriteAccessCount()
+	 * @generated
+	 */
+	void setPerUnitWriteAccessCount(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Request Order</b></em>' attribute.
+	 * The default value is <code>"none"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Request Order</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Request Order</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder
+	 * @see #setRequestOrder(SemaphoreRequestOrder)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessProperties_RequestOrder()
+	 * @model default="none" unique="false" required="true"
+	 * @generated
+	 */
+	SemaphoreRequestOrder getRequestOrder();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getRequestOrder <em>Request Order</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Request Order</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder
+	 * @see #getRequestOrder()
+	 * @generated
+	 */
+	void setRequestOrder(SemaphoreRequestOrder value);
+
+	/**
+	 * Returns the value of the '<em><b>Access Type</b></em>' attribute.
+	 * The default value is <code>"RandRunnable"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Access Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Access Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType
+	 * @see #setAccessType(SemaphoreAccessType)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessProperties_AccessType()
+	 * @model default="RandRunnable" unique="false" required="true"
+	 * @generated
+	 */
+	SemaphoreAccessType getAccessType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties#getAccessType <em>Access Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Access Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType
+	 * @see #getAccessType()
+	 * @generated
+	 */
+	void setAccessType(SemaphoreAccessType value);
+
+} // SemaphoreAccessProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessType.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessType.java
new file mode 100644
index 0000000..0cd0174
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreAccessType.java
@@ -0,0 +1,359 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Semaphore Access Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreAccessType()
+ * @model
+ * @generated
+ */
+public enum SemaphoreAccessType implements Enumerator {
+	/**
+	 * The '<em><b>RWper Task</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RWPER_TASK_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RWPER_TASK(0, "RWperTask", "RWperTask"),
+
+	/**
+	 * The '<em><b>RWper Call Sequence</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RWPER_CALL_SEQUENCE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RWPER_CALL_SEQUENCE(1, "RWperCallSequence", "RWperCallSequence"),
+
+	/**
+	 * The '<em><b>Rand Runnable</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RAND_RUNNABLE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RAND_RUNNABLE(2, "RandRunnable", "RandRunnable"),
+
+	/**
+	 * The '<em><b>Whole CS</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WHOLE_CS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WHOLE_CS(3, "WholeCS", "WholeCS"),
+
+	/**
+	 * The '<em><b>Grouped FMLP</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #GROUPED_FMLP_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	GROUPED_FMLP(4, "GroupedFMLP", "GroupedFMLP"),
+
+	/**
+	 * The '<em><b>Weak FMLP</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #WEAK_FMLP_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	WEAK_FMLP(5, "WeakFMLP", "WeakFMLP"),
+
+	/**
+	 * The '<em><b>EVA</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #EVA_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	EVA(6, "EVA", "EVA");
+
+	/**
+	 * The '<em><b>RWper Task</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RWper Task</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RWPER_TASK
+	 * @model name="RWperTask"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RWPER_TASK_VALUE = 0;
+
+	/**
+	 * The '<em><b>RWper Call Sequence</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RWper Call Sequence</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RWPER_CALL_SEQUENCE
+	 * @model name="RWperCallSequence"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RWPER_CALL_SEQUENCE_VALUE = 1;
+
+	/**
+	 * The '<em><b>Rand Runnable</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Rand Runnable</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RAND_RUNNABLE
+	 * @model name="RandRunnable"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RAND_RUNNABLE_VALUE = 2;
+
+	/**
+	 * The '<em><b>Whole CS</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Whole CS</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WHOLE_CS
+	 * @model name="WholeCS"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WHOLE_CS_VALUE = 3;
+
+	/**
+	 * The '<em><b>Grouped FMLP</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Grouped FMLP</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #GROUPED_FMLP
+	 * @model name="GroupedFMLP"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int GROUPED_FMLP_VALUE = 4;
+
+	/**
+	 * The '<em><b>Weak FMLP</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Weak FMLP</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #WEAK_FMLP
+	 * @model name="WeakFMLP"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int WEAK_FMLP_VALUE = 5;
+
+	/**
+	 * The '<em><b>EVA</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>EVA</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #EVA
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int EVA_VALUE = 6;
+
+	/**
+	 * An array of all the '<em><b>Semaphore Access Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final SemaphoreAccessType[] VALUES_ARRAY =
+		new SemaphoreAccessType[] {
+			RWPER_TASK,
+			RWPER_CALL_SEQUENCE,
+			RAND_RUNNABLE,
+			WHOLE_CS,
+			GROUPED_FMLP,
+			WEAK_FMLP,
+			EVA,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Semaphore Access Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<SemaphoreAccessType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Semaphore Access Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreAccessType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreAccessType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Access Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreAccessType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreAccessType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Access Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreAccessType get(int value) {
+		switch (value) {
+			case RWPER_TASK_VALUE: return RWPER_TASK;
+			case RWPER_CALL_SEQUENCE_VALUE: return RWPER_CALL_SEQUENCE;
+			case RAND_RUNNABLE_VALUE: return RAND_RUNNABLE;
+			case WHOLE_CS_VALUE: return WHOLE_CS;
+			case GROUPED_FMLP_VALUE: return GROUPED_FMLP;
+			case WEAK_FMLP_VALUE: return WEAK_FMLP;
+			case EVA_VALUE: return EVA;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private SemaphoreAccessType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //SemaphoreAccessType
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreProperties.java
new file mode 100644
index 0000000..c45b187
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreProperties.java
@@ -0,0 +1,176 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Semaphore Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#isPriorityCeilingProtocol <em>Priority Ceiling Protocol</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreType <em>Semaphore Type</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getWaitMode <em>Wait Mode</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreAccess <em>Semaphore Access</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties()
+ * @model
+ * @generated
+ */
+public interface SemaphoreProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' containment reference.
+	 * @see #setCount(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties_Count()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getCount <em>Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' containment reference.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Priority Ceiling Protocol</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Priority Ceiling Protocol</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Priority Ceiling Protocol</em>' attribute.
+	 * @see #setPriorityCeilingProtocol(boolean)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties_PriorityCeilingProtocol()
+	 * @model unique="false"
+	 * @generated
+	 */
+	boolean isPriorityCeilingProtocol();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#isPriorityCeilingProtocol <em>Priority Ceiling Protocol</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Priority Ceiling Protocol</em>' attribute.
+	 * @see #isPriorityCeilingProtocol()
+	 * @generated
+	 */
+	void setPriorityCeilingProtocol(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Semaphore Type</b></em>' attribute.
+	 * The default value is <code>"counting"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Semaphore Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Semaphore Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType
+	 * @see #setSemaphoreType(SemaphoreType)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties_SemaphoreType()
+	 * @model default="counting" unique="false" required="true"
+	 * @generated
+	 */
+	SemaphoreType getSemaphoreType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreType <em>Semaphore Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Semaphore Type</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType
+	 * @see #getSemaphoreType()
+	 * @generated
+	 */
+	void setSemaphoreType(SemaphoreType value);
+
+	/**
+	 * Returns the value of the '<em><b>Wait Mode</b></em>' attribute.
+	 * The default value is <code>"active waiting"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.WaitModes}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Wait Mode</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Wait Mode</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.WaitModes
+	 * @see #setWaitMode(WaitModes)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties_WaitMode()
+	 * @model default="active waiting" unique="false" required="true"
+	 * @generated
+	 */
+	WaitModes getWaitMode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getWaitMode <em>Wait Mode</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Wait Mode</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.WaitModes
+	 * @see #getWaitMode()
+	 * @generated
+	 */
+	void setWaitMode(WaitModes value);
+
+	/**
+	 * Returns the value of the '<em><b>Semaphore Access</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Semaphore Access</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Semaphore Access</em>' containment reference.
+	 * @see #setSemaphoreAccess(SemaphoreAccessProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreProperties_SemaphoreAccess()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	SemaphoreAccessProperties getSemaphoreAccess();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties#getSemaphoreAccess <em>Semaphore Access</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Semaphore Access</em>' containment reference.
+	 * @see #getSemaphoreAccess()
+	 * @generated
+	 */
+	void setSemaphoreAccess(SemaphoreAccessProperties value);
+
+} // SemaphoreProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreRequestOrder.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreRequestOrder.java
new file mode 100644
index 0000000..4d9e934
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreRequestOrder.java
@@ -0,0 +1,251 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Semaphore Request Order</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreRequestOrder()
+ * @model
+ * @generated
+ */
+public enum SemaphoreRequestOrder implements Enumerator {
+	/**
+	 * The '<em><b>None</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NONE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NONE(0, "none", "none"),
+
+	/**
+	 * The '<em><b>Request Grouped</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #REQUEST_GROUPED_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	REQUEST_GROUPED(1, "requestGrouped", "requestGrouped"),
+
+	/**
+	 * The '<em><b>Name Increasing</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NAME_INCREASING_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NAME_INCREASING(2, "nameIncreasing", "nameIncreasing");
+
+	/**
+	 * The '<em><b>None</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NONE
+	 * @model name="none"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NONE_VALUE = 0;
+
+	/**
+	 * The '<em><b>Request Grouped</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Request Grouped</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #REQUEST_GROUPED
+	 * @model name="requestGrouped"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int REQUEST_GROUPED_VALUE = 1;
+
+	/**
+	 * The '<em><b>Name Increasing</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Name Increasing</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NAME_INCREASING
+	 * @model name="nameIncreasing"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NAME_INCREASING_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Semaphore Request Order</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final SemaphoreRequestOrder[] VALUES_ARRAY =
+		new SemaphoreRequestOrder[] {
+			NONE,
+			REQUEST_GROUPED,
+			NAME_INCREASING,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Semaphore Request Order</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<SemaphoreRequestOrder> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Semaphore Request Order</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreRequestOrder get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreRequestOrder result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Request Order</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreRequestOrder getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreRequestOrder result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Request Order</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreRequestOrder get(int value) {
+		switch (value) {
+			case NONE_VALUE: return NONE;
+			case REQUEST_GROUPED_VALUE: return REQUEST_GROUPED;
+			case NAME_INCREASING_VALUE: return NAME_INCREASING;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private SemaphoreRequestOrder(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //SemaphoreRequestOrder
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreType.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreType.java
new file mode 100644
index 0000000..d3bd0dd
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SemaphoreType.java
@@ -0,0 +1,251 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Semaphore Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSemaphoreType()
+ * @model
+ * @generated
+ */
+public enum SemaphoreType implements Enumerator {
+	/**
+	 * The '<em><b>Binary</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BINARY_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BINARY(0, "binary", "binary"),
+
+	/**
+	 * The '<em><b>Counting</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #COUNTING_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	COUNTING(1, "counting", "counting"),
+
+	/**
+	 * The '<em><b>Both</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #BOTH_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	BOTH(2, "both", "both");
+
+	/**
+	 * The '<em><b>Binary</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Binary</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #BINARY
+	 * @model name="binary"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BINARY_VALUE = 0;
+
+	/**
+	 * The '<em><b>Counting</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Counting</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #COUNTING
+	 * @model name="counting"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int COUNTING_VALUE = 1;
+
+	/**
+	 * The '<em><b>Both</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Both</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #BOTH
+	 * @model name="both"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int BOTH_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Semaphore Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final SemaphoreType[] VALUES_ARRAY =
+		new SemaphoreType[] {
+			BINARY,
+			COUNTING,
+			BOTH,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Semaphore Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<SemaphoreType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Semaphore Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			SemaphoreType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Semaphore Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static SemaphoreType get(int value) {
+		switch (value) {
+			case BINARY_VALUE: return BINARY;
+			case COUNTING_VALUE: return COUNTING;
+			case BOTH_VALUE: return BOTH;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private SemaphoreType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //SemaphoreType
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SporadicActivation.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SporadicActivation.java
new file mode 100644
index 0000000..7a0887e
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/SporadicActivation.java
@@ -0,0 +1,113 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sporadic Activation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMinValue <em>Min Value</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMaxValueDistance <em>Max Value Distance</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getAvgValueDistance <em>Avg Value Distance</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSporadicActivation()
+ * @model
+ * @generated
+ */
+public interface SporadicActivation extends Activation {
+	/**
+	 * Returns the value of the '<em><b>Min Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min Value</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min Value</em>' containment reference.
+	 * @see #setMinValue(IntegerTimeDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSporadicActivation_MinValue()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerTimeDistribution getMinValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMinValue <em>Min Value</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min Value</em>' containment reference.
+	 * @see #getMinValue()
+	 * @generated
+	 */
+	void setMinValue(IntegerTimeDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Max Value Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max Value Distance</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max Value Distance</em>' containment reference.
+	 * @see #setMaxValueDistance(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSporadicActivation_MaxValueDistance()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getMaxValueDistance();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getMaxValueDistance <em>Max Value Distance</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max Value Distance</em>' containment reference.
+	 * @see #getMaxValueDistance()
+	 * @generated
+	 */
+	void setMaxValueDistance(PercentageDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Avg Value Distance</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Avg Value Distance</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Avg Value Distance</em>' containment reference.
+	 * @see #setAvgValueDistance(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getSporadicActivation_AvgValueDistance()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getAvgValueDistance();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation#getAvgValueDistance <em>Avg Value Distance</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Avg Value Distance</em>' containment reference.
+	 * @see #getAvgValueDistance()
+	 * @generated
+	 */
+	void setAvgValueDistance(PercentageDistribution value);
+
+} // SporadicActivation
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TaskProperties.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TaskProperties.java
new file mode 100644
index 0000000..1012cb2
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TaskProperties.java
@@ -0,0 +1,284 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Task Properties</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getLoad <em>Load</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPerTaskGroup <em>Per Task Group</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMta <em>Mta</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getDeadlineFactor <em>Deadline Factor</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallSequencesBetweenSchedulePoints <em>Call Sequences Between Schedule Points</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallGraphs <em>Call Graphs</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMappingDetermination <em>Mapping Determination</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPriorityDetermination <em>Priority Determination</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties()
+ * @model
+ * @generated
+ */
+public interface TaskProperties extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Count</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Count</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Count</em>' containment reference.
+	 * @see #setCount(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_Count()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getCount();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCount <em>Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Count</em>' containment reference.
+	 * @see #getCount()
+	 * @generated
+	 */
+	void setCount(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Load</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Load</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Load</em>' containment reference.
+	 * @see #setLoad(PercentageDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_Load()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	PercentageDistribution getLoad();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getLoad <em>Load</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Load</em>' containment reference.
+	 * @see #getLoad()
+	 * @generated
+	 */
+	void setLoad(PercentageDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Per Task Group</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Per Task Group</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Per Task Group</em>' containment reference.
+	 * @see #setPerTaskGroup(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_PerTaskGroup()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getPerTaskGroup();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPerTaskGroup <em>Per Task Group</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Per Task Group</em>' containment reference.
+	 * @see #getPerTaskGroup()
+	 * @generated
+	 */
+	void setPerTaskGroup(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Mta</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mta</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mta</em>' containment reference.
+	 * @see #setMta(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_Mta()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getMta();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMta <em>Mta</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Mta</em>' containment reference.
+	 * @see #getMta()
+	 * @generated
+	 */
+	void setMta(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Deadline Factor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Deadline Factor</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Deadline Factor</em>' containment reference.
+	 * @see #setDeadlineFactor(DoubleDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_DeadlineFactor()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	DoubleDistribution getDeadlineFactor();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getDeadlineFactor <em>Deadline Factor</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Deadline Factor</em>' containment reference.
+	 * @see #getDeadlineFactor()
+	 * @generated
+	 */
+	void setDeadlineFactor(DoubleDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Call Sequences Between Schedule Points</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Call Sequences Between Schedule Points</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Call Sequences Between Schedule Points</em>' containment reference.
+	 * @see #setCallSequencesBetweenSchedulePoints(IntegerDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_CallSequencesBetweenSchedulePoints()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	IntegerDistribution getCallSequencesBetweenSchedulePoints();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallSequencesBetweenSchedulePoints <em>Call Sequences Between Schedule Points</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Call Sequences Between Schedule Points</em>' containment reference.
+	 * @see #getCallSequencesBetweenSchedulePoints()
+	 * @generated
+	 */
+	void setCallSequencesBetweenSchedulePoints(IntegerDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Call Graphs</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Call Graphs</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Call Graphs</em>' containment reference.
+	 * @see #setCallGraphs(CallGraphProperties)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_CallGraphs()
+	 * @model containment="true" required="true"
+	 * @generated
+	 */
+	CallGraphProperties getCallGraphs();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getCallGraphs <em>Call Graphs</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Call Graphs</em>' containment reference.
+	 * @see #getCallGraphs()
+	 * @generated
+	 */
+	void setCallGraphs(CallGraphProperties value);
+
+	/**
+	 * Returns the value of the '<em><b>Mapping Determination</b></em>' attribute.
+	 * The default value is <code>"Worst Fit Decreasing"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Mapping Determination</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Mapping Determination</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms
+	 * @see #setMappingDetermination(ProcessMappingAlgorithms)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_MappingDetermination()
+	 * @model default="Worst Fit Decreasing" unique="false"
+	 * @generated
+	 */
+	ProcessMappingAlgorithms getMappingDetermination();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getMappingDetermination <em>Mapping Determination</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Mapping Determination</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms
+	 * @see #getMappingDetermination()
+	 * @generated
+	 */
+	void setMappingDetermination(ProcessMappingAlgorithms value);
+
+	/**
+	 * Returns the value of the '<em><b>Priority Determination</b></em>' attribute.
+	 * The default value is <code>"Rate Monotonic"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Priority Determination</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Priority Determination</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm
+	 * @see #setPriorityDetermination(PriorityDeterminationAlgorithm)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTaskProperties_PriorityDetermination()
+	 * @model default="Rate Monotonic" unique="false"
+	 * @generated
+	 */
+	PriorityDeterminationAlgorithm getPriorityDetermination();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties#getPriorityDetermination <em>Priority Determination</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Priority Determination</em>' attribute.
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm
+	 * @see #getPriorityDetermination()
+	 * @generated
+	 */
+	void setPriorityDetermination(PriorityDeterminationAlgorithm value);
+
+} // TaskProperties
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TimeUnit.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TimeUnit.java
new file mode 100644
index 0000000..36ef961
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TimeUnit.java
@@ -0,0 +1,305 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Time Unit</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTimeUnit()
+ * @model
+ * @generated
+ */
+public enum TimeUnit implements Enumerator {
+	/**
+	 * The '<em><b>Ps</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PS(0, "ps", "ps"),
+
+	/**
+	 * The '<em><b>Ns</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NS(1, "ns", "ns"),
+
+	/**
+	 * The '<em><b>Us</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #US_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	US(2, "us", "us"),
+
+	/**
+	 * The '<em><b>Ms</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #MS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	MS(3, "ms", "ms"),
+
+	/**
+	 * The '<em><b>S</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #S_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	S(4, "s", "s");
+
+	/**
+	 * The '<em><b>Ps</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Ps</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PS
+	 * @model name="ps"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PS_VALUE = 0;
+
+	/**
+	 * The '<em><b>Ns</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Ns</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NS
+	 * @model name="ns"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NS_VALUE = 1;
+
+	/**
+	 * The '<em><b>Us</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Us</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #US
+	 * @model name="us"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int US_VALUE = 2;
+
+	/**
+	 * The '<em><b>Ms</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Ms</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #MS
+	 * @model name="ms"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int MS_VALUE = 3;
+
+	/**
+	 * The '<em><b>S</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>S</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #S
+	 * @model name="s"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int S_VALUE = 4;
+
+	/**
+	 * An array of all the '<em><b>Time Unit</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final TimeUnit[] VALUES_ARRAY =
+		new TimeUnit[] {
+			PS,
+			NS,
+			US,
+			MS,
+			S,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Time Unit</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<TimeUnit> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Time Unit</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static TimeUnit get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			TimeUnit result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Time Unit</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static TimeUnit getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			TimeUnit result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Time Unit</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static TimeUnit get(int value) {
+		switch (value) {
+			case PS_VALUE: return PS;
+			case NS_VALUE: return NS;
+			case US_VALUE: return US;
+			case MS_VALUE: return MS;
+			case S_VALUE: return S;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private TimeUnit(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //TimeUnit
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TriangleClock.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TriangleClock.java
new file mode 100644
index 0000000..a3cb472
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/TriangleClock.java
@@ -0,0 +1,141 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Triangle Clock</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMin_start <em>Min start</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMax_end <em>Max end</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getShift <em>Shift</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getPeriod <em>Period</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTriangleClock()
+ * @model
+ * @generated
+ */
+public interface TriangleClock extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Min start</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Min start</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Min start</em>' containment reference.
+	 * @see #setMin_start(DoubleDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTriangleClock_Min_start()
+	 * @model containment="true"
+	 * @generated
+	 */
+	DoubleDistribution getMin_start();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMin_start <em>Min start</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Min start</em>' containment reference.
+	 * @see #getMin_start()
+	 * @generated
+	 */
+	void setMin_start(DoubleDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Max end</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max end</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max end</em>' containment reference.
+	 * @see #setMax_end(DoubleDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTriangleClock_Max_end()
+	 * @model containment="true"
+	 * @generated
+	 */
+	DoubleDistribution getMax_end();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getMax_end <em>Max end</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max end</em>' containment reference.
+	 * @see #getMax_end()
+	 * @generated
+	 */
+	void setMax_end(DoubleDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Shift</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Shift</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Shift</em>' containment reference.
+	 * @see #setShift(IntegerTimeDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTriangleClock_Shift()
+	 * @model containment="true"
+	 * @generated
+	 */
+	IntegerTimeDistribution getShift();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getShift <em>Shift</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Shift</em>' containment reference.
+	 * @see #getShift()
+	 * @generated
+	 */
+	void setShift(IntegerTimeDistribution value);
+
+	/**
+	 * Returns the value of the '<em><b>Period</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Period</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Period</em>' containment reference.
+	 * @see #setPeriod(IntegerTimeDistribution)
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getTriangleClock_Period()
+	 * @model containment="true"
+	 * @generated
+	 */
+	IntegerTimeDistribution getPeriod();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock#getPeriod <em>Period</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Period</em>' containment reference.
+	 * @see #getPeriod()
+	 * @generated
+	 */
+	void setPeriod(IntegerTimeDistribution value);
+
+} // TriangleClock
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/WaitModes.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/WaitModes.java
new file mode 100644
index 0000000..8debc38
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/WaitModes.java
@@ -0,0 +1,224 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Wait Modes</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#getWaitModes()
+ * @model
+ * @generated
+ */
+public enum WaitModes implements Enumerator {
+	/**
+	 * The '<em><b>Polling</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #POLLING_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	POLLING(0, "polling", "active waiting"),
+
+	/**
+	 * The '<em><b>Parking</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #PARKING_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PARKING(1, "parking", "passive waiting");
+
+	/**
+	 * The '<em><b>Polling</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Polling</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #POLLING
+	 * @model name="polling" literal="active waiting"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int POLLING_VALUE = 0;
+
+	/**
+	 * The '<em><b>Parking</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Parking</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #PARKING
+	 * @model name="parking" literal="passive waiting"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PARKING_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>Wait Modes</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final WaitModes[] VALUES_ARRAY =
+		new WaitModes[] {
+			POLLING,
+			PARKING,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Wait Modes</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<WaitModes> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Wait Modes</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static WaitModes get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			WaitModes result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Wait Modes</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static WaitModes getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			WaitModes result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Wait Modes</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static WaitModes get(int value) {
+		switch (value) {
+			case POLLING_VALUE: return POLLING;
+			case PARKING_VALUE: return PARKING;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private WaitModes(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //WaitModes
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationImpl.java
new file mode 100644
index 0000000..3d34469
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationImpl.java
@@ -0,0 +1,175 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import java.math.BigInteger;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.Activation;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationImpl#getAppearanceProbability <em>Appearance Probability</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ActivationImpl extends MinimalEObjectImpl.Container implements Activation {
+	/**
+	 * The default value of the '{@link #getAppearanceProbability() <em>Appearance Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAppearanceProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final BigInteger APPEARANCE_PROBABILITY_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAppearanceProbability() <em>Appearance Probability</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAppearanceProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected BigInteger appearanceProbability = APPEARANCE_PROBABILITY_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ActivationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.ACTIVATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BigInteger getAppearanceProbability() {
+		return appearanceProbability;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAppearanceProbability(BigInteger newAppearanceProbability) {
+		BigInteger oldAppearanceProbability = appearanceProbability;
+		appearanceProbability = newAppearanceProbability;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION__APPEARANCE_PROBABILITY, oldAppearanceProbability, appearanceProbability));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION__APPEARANCE_PROBABILITY:
+				return getAppearanceProbability();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION__APPEARANCE_PROBABILITY:
+				setAppearanceProbability((BigInteger)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION__APPEARANCE_PROBABILITY:
+				setAppearanceProbability(APPEARANCE_PROBABILITY_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION__APPEARANCE_PROBABILITY:
+				return APPEARANCE_PROBABILITY_EDEFAULT == null ? appearanceProbability != null : !APPEARANCE_PROBABILITY_EDEFAULT.equals(appearanceProbability);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (appearanceProbability: ");
+		result.append(appearanceProbability);
+		result.append(')');
+		return result.toString();
+	}
+
+} //ActivationImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationPropertiesImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationPropertiesImpl.java
new file mode 100644
index 0000000..f2c2dcf
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/ActivationPropertiesImpl.java
@@ -0,0 +1,320 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation;
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Activation Properties</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getPeriodicActivation <em>Periodic Activation</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getPeriodicTriangleShift <em>Periodic Triangle Shift</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.ActivationPropertiesImpl#getSporadicActivation <em>Sporadic Activation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ActivationPropertiesImpl extends MinimalEObjectImpl.Container implements ActivationProperties {
+	/**
+	 * The cached value of the '{@link #getPeriodicActivation() <em>Periodic Activation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriodicActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected PeriodicActivation periodicActivation;
+
+	/**
+	 * The cached value of the '{@link #getPeriodicTriangleShift() <em>Periodic Triangle Shift</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPeriodicTriangleShift()
+	 * @generated
+	 * @ordered
+	 */
+	protected PeriodicTriangleShift periodicTriangleShift;
+
+	/**
+	 * The cached value of the '{@link #getSporadicActivation() <em>Sporadic Activation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSporadicActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected SporadicActivation sporadicActivation;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ActivationPropertiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.ACTIVATION_PROPERTIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PeriodicActivation getPeriodicActivation() {
+		return periodicActivation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPeriodicActivation(PeriodicActivation newPeriodicActivation, NotificationChain msgs) {
+		PeriodicActivation oldPeriodicActivation = periodicActivation;
+		periodicActivation = newPeriodicActivation;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, oldPeriodicActivation, newPeriodicActivation);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPeriodicActivation(PeriodicActivation newPeriodicActivation) {
+		if (newPeriodicActivation != periodicActivation) {
+			NotificationChain msgs = null;
+			if (periodicActivation != null)
+				msgs = ((InternalEObject)periodicActivation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, null, msgs);
+			if (newPeriodicActivation != null)
+				msgs = ((InternalEObject)newPeriodicActivation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, null, msgs);
+			msgs = basicSetPeriodicActivation(newPeriodicActivation, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION, newPeriodicActivation, newPeriodicActivation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PeriodicTriangleShift getPeriodicTriangleShift() {
+		return periodicTriangleShift;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPeriodicTriangleShift(PeriodicTriangleShift newPeriodicTriangleShift, NotificationChain msgs) {
+		PeriodicTriangleShift oldPeriodicTriangleShift = periodicTriangleShift;
+		periodicTriangleShift = newPeriodicTriangleShift;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, oldPeriodicTriangleShift, newPeriodicTriangleShift);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPeriodicTriangleShift(PeriodicTriangleShift newPeriodicTriangleShift) {
+		if (newPeriodicTriangleShift != periodicTriangleShift) {
+			NotificationChain msgs = null;
+			if (periodicTriangleShift != null)
+				msgs = ((InternalEObject)periodicTriangleShift).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, null, msgs);
+			if (newPeriodicTriangleShift != null)
+				msgs = ((InternalEObject)newPeriodicTriangleShift).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, null, msgs);
+			msgs = basicSetPeriodicTriangleShift(newPeriodicTriangleShift, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT, newPeriodicTriangleShift, newPeriodicTriangleShift));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SporadicActivation getSporadicActivation() {
+		return sporadicActivation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetSporadicActivation(SporadicActivation newSporadicActivation, NotificationChain msgs) {
+		SporadicActivation oldSporadicActivation = sporadicActivation;
+		sporadicActivation = newSporadicActivation;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, oldSporadicActivation, newSporadicActivation);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSporadicActivation(SporadicActivation newSporadicActivation) {
+		if (newSporadicActivation != sporadicActivation) {
+			NotificationChain msgs = null;
+			if (sporadicActivation != null)
+				msgs = ((InternalEObject)sporadicActivation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, null, msgs);
+			if (newSporadicActivation != null)
+				msgs = ((InternalEObject)newSporadicActivation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, null, msgs);
+			msgs = basicSetSporadicActivation(newSporadicActivation, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION, newSporadicActivation, newSporadicActivation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
+				return basicSetPeriodicActivation(null, msgs);
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
+				return basicSetPeriodicTriangleShift(null, msgs);
+			case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
+				return basicSetSporadicActivation(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
+				return getPeriodicActivation();
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
+				return getPeriodicTriangleShift();
+			case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
+				return getSporadicActivation();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
+				setPeriodicActivation((PeriodicActivation)newValue);
+				return;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
+				setPeriodicTriangleShift((PeriodicTriangleShift)newValue);
+				return;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
+				setSporadicActivation((SporadicActivation)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
+				setPeriodicActivation((PeriodicActivation)null);
+				return;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
+				setPeriodicTriangleShift((PeriodicTriangleShift)null);
+				return;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
+				setSporadicActivation((SporadicActivation)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_ACTIVATION:
+				return periodicActivation != null;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__PERIODIC_TRIANGLE_SHIFT:
+				return periodicTriangleShift != null;
+			case RTMGCPackage.ACTIVATION_PROPERTIES__SPORADIC_ACTIVATION:
+				return sporadicActivation != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ActivationPropertiesImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/CallGraphPropertiesImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/CallGraphPropertiesImpl.java
new file mode 100644
index 0000000..d6b9a37
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/CallGraphPropertiesImpl.java
@@ -0,0 +1,252 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Graph Properties</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl#getSignalDomainCoverage <em>Signal Domain Coverage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.CallGraphPropertiesImpl#getCallSequenceUsage <em>Call Sequence Usage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallGraphPropertiesImpl extends MinimalEObjectImpl.Container implements CallGraphProperties {
+	/**
+	 * The cached value of the '{@link #getSignalDomainCoverage() <em>Signal Domain Coverage</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSignalDomainCoverage()
+	 * @generated
+	 * @ordered
+	 */
+	protected PercentageDistribution signalDomainCoverage;
+
+	/**
+	 * The cached value of the '{@link #getCallSequenceUsage() <em>Call Sequence Usage</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCallSequenceUsage()
+	 * @generated
+	 * @ordered
+	 */
+	protected PercentageDistribution callSequenceUsage;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CallGraphPropertiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.CALL_GRAPH_PROPERTIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PercentageDistribution getSignalDomainCoverage() {
+		return signalDomainCoverage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetSignalDomainCoverage(PercentageDistribution newSignalDomainCoverage, NotificationChain msgs) {
+		PercentageDistribution oldSignalDomainCoverage = signalDomainCoverage;
+		signalDomainCoverage = newSignalDomainCoverage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE, oldSignalDomainCoverage, newSignalDomainCoverage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSignalDomainCoverage(PercentageDistribution newSignalDomainCoverage) {
+		if (newSignalDomainCoverage != signalDomainCoverage) {
+			NotificationChain msgs = null;
+			if (signalDomainCoverage != null)
+				msgs = ((InternalEObject)signalDomainCoverage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE, null, msgs);
+			if (newSignalDomainCoverage != null)
+				msgs = ((InternalEObject)newSignalDomainCoverage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE, null, msgs);
+			msgs = basicSetSignalDomainCoverage(newSignalDomainCoverage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE, newSignalDomainCoverage, newSignalDomainCoverage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PercentageDistribution getCallSequenceUsage() {
+		return callSequenceUsage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetCallSequenceUsage(PercentageDistribution newCallSequenceUsage, NotificationChain msgs) {
+		PercentageDistribution oldCallSequenceUsage = callSequenceUsage;
+		callSequenceUsage = newCallSequenceUsage;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE, oldCallSequenceUsage, newCallSequenceUsage);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCallSequenceUsage(PercentageDistribution newCallSequenceUsage) {
+		if (newCallSequenceUsage != callSequenceUsage) {
+			NotificationChain msgs = null;
+			if (callSequenceUsage != null)
+				msgs = ((InternalEObject)callSequenceUsage).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE, null, msgs);
+			if (newCallSequenceUsage != null)
+				msgs = ((InternalEObject)newCallSequenceUsage).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE, null, msgs);
+			msgs = basicSetCallSequenceUsage(newCallSequenceUsage, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE, newCallSequenceUsage, newCallSequenceUsage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE:
+				return basicSetSignalDomainCoverage(null, msgs);
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE:
+				return basicSetCallSequenceUsage(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE:
+				return getSignalDomainCoverage();
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE:
+				return getCallSequenceUsage();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE:
+				setSignalDomainCoverage((PercentageDistribution)newValue);
+				return;
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE:
+				setCallSequenceUsage((PercentageDistribution)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE:
+				setSignalDomainCoverage((PercentageDistribution)null);
+				return;
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE:
+				setCallSequenceUsage((PercentageDistribution)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__SIGNAL_DOMAIN_COVERAGE:
+				return signalDomainCoverage != null;
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES__CALL_SEQUENCE_USAGE:
+				return callSequenceUsage != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CallGraphPropertiesImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DistributionImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DistributionImpl.java
new file mode 100644
index 0000000..cf7ca2b
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DistributionImpl.java
@@ -0,0 +1,174 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.Distribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.DistributionType;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DistributionImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DistributionImpl extends MinimalEObjectImpl.Container implements Distribution {
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final DistributionType TYPE_EDEFAULT = DistributionType.CONST;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DistributionType type = TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DistributionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.DISTRIBUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DistributionType getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(DistributionType newType) {
+		DistributionType oldType = type;
+		type = newType == null ? TYPE_EDEFAULT : newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.DISTRIBUTION__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.DISTRIBUTION__TYPE:
+				return getType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.DISTRIBUTION__TYPE:
+				setType((DistributionType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.DISTRIBUTION__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.DISTRIBUTION__TYPE:
+				return type != TYPE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (type: ");
+		result.append(type);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DistributionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DoubleDistributionImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DoubleDistributionImpl.java
new file mode 100644
index 0000000..df1da62
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/DoubleDistributionImpl.java
@@ -0,0 +1,280 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Double Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl#getMin <em>Min</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl#getAvg <em>Avg</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.DoubleDistributionImpl#getMax <em>Max</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DoubleDistributionImpl extends DistributionImpl implements DoubleDistribution {
+	/**
+	 * The default value of the '{@link #getMin() <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MIN_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMin() <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin()
+	 * @generated
+	 * @ordered
+	 */
+	protected double min = MIN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAvg() <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvg()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double AVG_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getAvg() <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvg()
+	 * @generated
+	 * @ordered
+	 */
+	protected double avg = AVG_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMax() <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MAX_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMax() <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax()
+	 * @generated
+	 * @ordered
+	 */
+	protected double max = MAX_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleDistributionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.DOUBLE_DISTRIBUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMin() {
+		return min;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMin(double newMin) {
+		double oldMin = min;
+		min = newMin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.DOUBLE_DISTRIBUTION__MIN, oldMin, min));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getAvg() {
+		return avg;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvg(double newAvg) {
+		double oldAvg = avg;
+		avg = newAvg;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.DOUBLE_DISTRIBUTION__AVG, oldAvg, avg));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMax() {
+		return max;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMax(double newMax) {
+		double oldMax = max;
+		max = newMax;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.DOUBLE_DISTRIBUTION__MAX, oldMax, max));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MIN:
+				return getMin();
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__AVG:
+				return getAvg();
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MAX:
+				return getMax();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MIN:
+				setMin((Double)newValue);
+				return;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__AVG:
+				setAvg((Double)newValue);
+				return;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MAX:
+				setMax((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MIN:
+				setMin(MIN_EDEFAULT);
+				return;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__AVG:
+				setAvg(AVG_EDEFAULT);
+				return;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MAX:
+				setMax(MAX_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MIN:
+				return min != MIN_EDEFAULT;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__AVG:
+				return avg != AVG_EDEFAULT;
+			case RTMGCPackage.DOUBLE_DISTRIBUTION__MAX:
+				return max != MAX_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (min: ");
+		result.append(min);
+		result.append(", avg: ");
+		result.append(avg);
+		result.append(", max: ");
+		result.append(max);
+		result.append(')');
+		return result.toString();
+	}
+
+} //DoubleDistributionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/GenerationImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/GenerationImpl.java
new file mode 100644
index 0000000..69e0124
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/GenerationImpl.java
@@ -0,0 +1,765 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import java.math.BigInteger;
+
+import java.util.Collection;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.Generation;
+import org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Generation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getBaseModel <em>Base Model</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getHwModels <em>Hw Models</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getOsModels <em>Os Models</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getSwModel <em>Sw Model</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getOutputFolder <em>Output Folder</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getActivations <em>Activations</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getLabels <em>Labels</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getRunnables <em>Runnables</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getSemaphores <em>Semaphores</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.GenerationImpl#getTasks <em>Tasks</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GenerationImpl extends MinimalEObjectImpl.Container implements Generation {
+	/**
+	 * The default value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final BigInteger COUNT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected BigInteger count = COUNT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getBaseModel() <em>Base Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBaseModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String BASE_MODEL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getBaseModel() <em>Base Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBaseModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected String baseModel = BASE_MODEL_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getHwModels() <em>Hw Models</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHwModels()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> hwModels;
+
+	/**
+	 * The cached value of the '{@link #getOsModels() <em>Os Models</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOsModels()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> osModels;
+
+	/**
+	 * The default value of the '{@link #getSwModel() <em>Sw Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSwModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SW_MODEL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSwModel() <em>Sw Model</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSwModel()
+	 * @generated
+	 * @ordered
+	 */
+	protected String swModel = SW_MODEL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getOutputFolder() <em>Output Folder</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOutputFolder()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String OUTPUT_FOLDER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getOutputFolder() <em>Output Folder</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOutputFolder()
+	 * @generated
+	 * @ordered
+	 */
+	protected String outputFolder = OUTPUT_FOLDER_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getActivations() <em>Activations</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivations()
+	 * @generated
+	 * @ordered
+	 */
+	protected ActivationProperties activations;
+
+	/**
+	 * The cached value of the '{@link #getLabels() <em>Labels</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getLabels()
+	 * @generated
+	 * @ordered
+	 */
+	protected LabelProperties labels;
+
+	/**
+	 * The cached value of the '{@link #getRunnables() <em>Runnables</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRunnables()
+	 * @generated
+	 * @ordered
+	 */
+	protected RunnableProperties runnables;
+
+	/**
+	 * The cached value of the '{@link #getSemaphores() <em>Semaphores</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSemaphores()
+	 * @generated
+	 * @ordered
+	 */
+	protected SemaphoreProperties semaphores;
+
+	/**
+	 * The cached value of the '{@link #getTasks() <em>Tasks</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTasks()
+	 * @generated
+	 * @ordered
+	 */
+	protected TaskProperties tasks;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected GenerationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.GENERATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BigInteger getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(BigInteger newCount) {
+		BigInteger oldCount = count;
+		count = newCount;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__COUNT, oldCount, count));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getBaseModel() {
+		return baseModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBaseModel(String newBaseModel) {
+		String oldBaseModel = baseModel;
+		baseModel = newBaseModel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__BASE_MODEL, oldBaseModel, baseModel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getHwModels() {
+		if (hwModels == null) {
+			hwModels = new EDataTypeEList<String>(String.class, this, RTMGCPackage.GENERATION__HW_MODELS);
+		}
+		return hwModels;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getOsModels() {
+		if (osModels == null) {
+			osModels = new EDataTypeEList<String>(String.class, this, RTMGCPackage.GENERATION__OS_MODELS);
+		}
+		return osModels;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSwModel() {
+		return swModel;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSwModel(String newSwModel) {
+		String oldSwModel = swModel;
+		swModel = newSwModel;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__SW_MODEL, oldSwModel, swModel));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getOutputFolder() {
+		return outputFolder;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOutputFolder(String newOutputFolder) {
+		String oldOutputFolder = outputFolder;
+		outputFolder = newOutputFolder;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__OUTPUT_FOLDER, oldOutputFolder, outputFolder));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivationProperties getActivations() {
+		return activations;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetActivations(ActivationProperties newActivations, NotificationChain msgs) {
+		ActivationProperties oldActivations = activations;
+		activations = newActivations;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__ACTIVATIONS, oldActivations, newActivations);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setActivations(ActivationProperties newActivations) {
+		if (newActivations != activations) {
+			NotificationChain msgs = null;
+			if (activations != null)
+				msgs = ((InternalEObject)activations).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__ACTIVATIONS, null, msgs);
+			if (newActivations != null)
+				msgs = ((InternalEObject)newActivations).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__ACTIVATIONS, null, msgs);
+			msgs = basicSetActivations(newActivations, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__ACTIVATIONS, newActivations, newActivations));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LabelProperties getLabels() {
+		return labels;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetLabels(LabelProperties newLabels, NotificationChain msgs) {
+		LabelProperties oldLabels = labels;
+		labels = newLabels;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__LABELS, oldLabels, newLabels);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setLabels(LabelProperties newLabels) {
+		if (newLabels != labels) {
+			NotificationChain msgs = null;
+			if (labels != null)
+				msgs = ((InternalEObject)labels).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__LABELS, null, msgs);
+			if (newLabels != null)
+				msgs = ((InternalEObject)newLabels).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__LABELS, null, msgs);
+			msgs = basicSetLabels(newLabels, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__LABELS, newLabels, newLabels));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RunnableProperties getRunnables() {
+		return runnables;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRunnables(RunnableProperties newRunnables, NotificationChain msgs) {
+		RunnableProperties oldRunnables = runnables;
+		runnables = newRunnables;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__RUNNABLES, oldRunnables, newRunnables);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRunnables(RunnableProperties newRunnables) {
+		if (newRunnables != runnables) {
+			NotificationChain msgs = null;
+			if (runnables != null)
+				msgs = ((InternalEObject)runnables).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__RUNNABLES, null, msgs);
+			if (newRunnables != null)
+				msgs = ((InternalEObject)newRunnables).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__RUNNABLES, null, msgs);
+			msgs = basicSetRunnables(newRunnables, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__RUNNABLES, newRunnables, newRunnables));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreProperties getSemaphores() {
+		return semaphores;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetSemaphores(SemaphoreProperties newSemaphores, NotificationChain msgs) {
+		SemaphoreProperties oldSemaphores = semaphores;
+		semaphores = newSemaphores;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__SEMAPHORES, oldSemaphores, newSemaphores);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSemaphores(SemaphoreProperties newSemaphores) {
+		if (newSemaphores != semaphores) {
+			NotificationChain msgs = null;
+			if (semaphores != null)
+				msgs = ((InternalEObject)semaphores).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__SEMAPHORES, null, msgs);
+			if (newSemaphores != null)
+				msgs = ((InternalEObject)newSemaphores).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__SEMAPHORES, null, msgs);
+			msgs = basicSetSemaphores(newSemaphores, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__SEMAPHORES, newSemaphores, newSemaphores));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaskProperties getTasks() {
+		return tasks;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetTasks(TaskProperties newTasks, NotificationChain msgs) {
+		TaskProperties oldTasks = tasks;
+		tasks = newTasks;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__TASKS, oldTasks, newTasks);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTasks(TaskProperties newTasks) {
+		if (newTasks != tasks) {
+			NotificationChain msgs = null;
+			if (tasks != null)
+				msgs = ((InternalEObject)tasks).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__TASKS, null, msgs);
+			if (newTasks != null)
+				msgs = ((InternalEObject)newTasks).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.GENERATION__TASKS, null, msgs);
+			msgs = basicSetTasks(newTasks, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.GENERATION__TASKS, newTasks, newTasks));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.GENERATION__ACTIVATIONS:
+				return basicSetActivations(null, msgs);
+			case RTMGCPackage.GENERATION__LABELS:
+				return basicSetLabels(null, msgs);
+			case RTMGCPackage.GENERATION__RUNNABLES:
+				return basicSetRunnables(null, msgs);
+			case RTMGCPackage.GENERATION__SEMAPHORES:
+				return basicSetSemaphores(null, msgs);
+			case RTMGCPackage.GENERATION__TASKS:
+				return basicSetTasks(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.GENERATION__COUNT:
+				return getCount();
+			case RTMGCPackage.GENERATION__BASE_MODEL:
+				return getBaseModel();
+			case RTMGCPackage.GENERATION__HW_MODELS:
+				return getHwModels();
+			case RTMGCPackage.GENERATION__OS_MODELS:
+				return getOsModels();
+			case RTMGCPackage.GENERATION__SW_MODEL:
+				return getSwModel();
+			case RTMGCPackage.GENERATION__OUTPUT_FOLDER:
+				return getOutputFolder();
+			case RTMGCPackage.GENERATION__ACTIVATIONS:
+				return getActivations();
+			case RTMGCPackage.GENERATION__LABELS:
+				return getLabels();
+			case RTMGCPackage.GENERATION__RUNNABLES:
+				return getRunnables();
+			case RTMGCPackage.GENERATION__SEMAPHORES:
+				return getSemaphores();
+			case RTMGCPackage.GENERATION__TASKS:
+				return getTasks();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.GENERATION__COUNT:
+				setCount((BigInteger)newValue);
+				return;
+			case RTMGCPackage.GENERATION__BASE_MODEL:
+				setBaseModel((String)newValue);
+				return;
+			case RTMGCPackage.GENERATION__HW_MODELS:
+				getHwModels().clear();
+				getHwModels().addAll((Collection<? extends String>)newValue);
+				return;
+			case RTMGCPackage.GENERATION__OS_MODELS:
+				getOsModels().clear();
+				getOsModels().addAll((Collection<? extends String>)newValue);
+				return;
+			case RTMGCPackage.GENERATION__SW_MODEL:
+				setSwModel((String)newValue);
+				return;
+			case RTMGCPackage.GENERATION__OUTPUT_FOLDER:
+				setOutputFolder((String)newValue);
+				return;
+			case RTMGCPackage.GENERATION__ACTIVATIONS:
+				setActivations((ActivationProperties)newValue);
+				return;
+			case RTMGCPackage.GENERATION__LABELS:
+				setLabels((LabelProperties)newValue);
+				return;
+			case RTMGCPackage.GENERATION__RUNNABLES:
+				setRunnables((RunnableProperties)newValue);
+				return;
+			case RTMGCPackage.GENERATION__SEMAPHORES:
+				setSemaphores((SemaphoreProperties)newValue);
+				return;
+			case RTMGCPackage.GENERATION__TASKS:
+				setTasks((TaskProperties)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.GENERATION__COUNT:
+				setCount(COUNT_EDEFAULT);
+				return;
+			case RTMGCPackage.GENERATION__BASE_MODEL:
+				setBaseModel(BASE_MODEL_EDEFAULT);
+				return;
+			case RTMGCPackage.GENERATION__HW_MODELS:
+				getHwModels().clear();
+				return;
+			case RTMGCPackage.GENERATION__OS_MODELS:
+				getOsModels().clear();
+				return;
+			case RTMGCPackage.GENERATION__SW_MODEL:
+				setSwModel(SW_MODEL_EDEFAULT);
+				return;
+			case RTMGCPackage.GENERATION__OUTPUT_FOLDER:
+				setOutputFolder(OUTPUT_FOLDER_EDEFAULT);
+				return;
+			case RTMGCPackage.GENERATION__ACTIVATIONS:
+				setActivations((ActivationProperties)null);
+				return;
+			case RTMGCPackage.GENERATION__LABELS:
+				setLabels((LabelProperties)null);
+				return;
+			case RTMGCPackage.GENERATION__RUNNABLES:
+				setRunnables((RunnableProperties)null);
+				return;
+			case RTMGCPackage.GENERATION__SEMAPHORES:
+				setSemaphores((SemaphoreProperties)null);
+				return;
+			case RTMGCPackage.GENERATION__TASKS:
+				setTasks((TaskProperties)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.GENERATION__COUNT:
+				return COUNT_EDEFAULT == null ? count != null : !COUNT_EDEFAULT.equals(count);
+			case RTMGCPackage.GENERATION__BASE_MODEL:
+				return BASE_MODEL_EDEFAULT == null ? baseModel != null : !BASE_MODEL_EDEFAULT.equals(baseModel);
+			case RTMGCPackage.GENERATION__HW_MODELS:
+				return hwModels != null && !hwModels.isEmpty();
+			case RTMGCPackage.GENERATION__OS_MODELS:
+				return osModels != null && !osModels.isEmpty();
+			case RTMGCPackage.GENERATION__SW_MODEL:
+				return SW_MODEL_EDEFAULT == null ? swModel != null : !SW_MODEL_EDEFAULT.equals(swModel);
+			case RTMGCPackage.GENERATION__OUTPUT_FOLDER:
+				return OUTPUT_FOLDER_EDEFAULT == null ? outputFolder != null : !OUTPUT_FOLDER_EDEFAULT.equals(outputFolder);
+			case RTMGCPackage.GENERATION__ACTIVATIONS:
+				return activations != null;
+			case RTMGCPackage.GENERATION__LABELS:
+				return labels != null;
+			case RTMGCPackage.GENERATION__RUNNABLES:
+				return runnables != null;
+			case RTMGCPackage.GENERATION__SEMAPHORES:
+				return semaphores != null;
+			case RTMGCPackage.GENERATION__TASKS:
+				return tasks != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (count: ");
+		result.append(count);
+		result.append(", baseModel: ");
+		result.append(baseModel);
+		result.append(", hwModels: ");
+		result.append(hwModels);
+		result.append(", osModels: ");
+		result.append(osModels);
+		result.append(", swModel: ");
+		result.append(swModel);
+		result.append(", outputFolder: ");
+		result.append(outputFolder);
+		result.append(')');
+		return result.toString();
+	}
+
+} //GenerationImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerDistributionImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerDistributionImpl.java
new file mode 100644
index 0000000..c631904
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerDistributionImpl.java
@@ -0,0 +1,280 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl#getMin <em>Min</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl#getAvg <em>Avg</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerDistributionImpl#getMax <em>Max</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntegerDistributionImpl extends DistributionImpl implements IntegerDistribution {
+	/**
+	 * The default value of the '{@link #getMin() <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final long MIN_EDEFAULT = 0L;
+
+	/**
+	 * The cached value of the '{@link #getMin() <em>Min</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMin()
+	 * @generated
+	 * @ordered
+	 */
+	protected long min = MIN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAvg() <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvg()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final long AVG_EDEFAULT = 0L;
+
+	/**
+	 * The cached value of the '{@link #getAvg() <em>Avg</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvg()
+	 * @generated
+	 * @ordered
+	 */
+	protected long avg = AVG_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMax() <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final long MAX_EDEFAULT = 0L;
+
+	/**
+	 * The cached value of the '{@link #getMax() <em>Max</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMax()
+	 * @generated
+	 * @ordered
+	 */
+	protected long max = MAX_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerDistributionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.INTEGER_DISTRIBUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public long getMin() {
+		return min;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMin(long newMin) {
+		long oldMin = min;
+		min = newMin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.INTEGER_DISTRIBUTION__MIN, oldMin, min));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public long getAvg() {
+		return avg;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvg(long newAvg) {
+		long oldAvg = avg;
+		avg = newAvg;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.INTEGER_DISTRIBUTION__AVG, oldAvg, avg));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public long getMax() {
+		return max;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMax(long newMax) {
+		long oldMax = max;
+		max = newMax;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.INTEGER_DISTRIBUTION__MAX, oldMax, max));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MIN:
+				return getMin();
+			case RTMGCPackage.INTEGER_DISTRIBUTION__AVG:
+				return getAvg();
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MAX:
+				return getMax();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MIN:
+				setMin((Long)newValue);
+				return;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__AVG:
+				setAvg((Long)newValue);
+				return;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MAX:
+				setMax((Long)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MIN:
+				setMin(MIN_EDEFAULT);
+				return;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__AVG:
+				setAvg(AVG_EDEFAULT);
+				return;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MAX:
+				setMax(MAX_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MIN:
+				return min != MIN_EDEFAULT;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__AVG:
+				return avg != AVG_EDEFAULT;
+			case RTMGCPackage.INTEGER_DISTRIBUTION__MAX:
+				return max != MAX_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (min: ");
+		result.append(min);
+		result.append(", avg: ");
+		result.append(avg);
+		result.append(", max: ");
+		result.append(max);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerDistributionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerTimeDistributionImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerTimeDistributionImpl.java
new file mode 100644
index 0000000..d15df95
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/IntegerTimeDistributionImpl.java
@@ -0,0 +1,173 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Integer Time Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.IntegerTimeDistributionImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntegerTimeDistributionImpl extends IntegerDistributionImpl implements IntegerTimeDistribution {
+	/**
+	 * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final TimeUnit UNIT_EDEFAULT = TimeUnit.MS;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected TimeUnit unit = UNIT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntegerTimeDistributionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.INTEGER_TIME_DISTRIBUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimeUnit getUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUnit(TimeUnit newUnit) {
+		TimeUnit oldUnit = unit;
+		unit = newUnit == null ? UNIT_EDEFAULT : newUnit;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.INTEGER_TIME_DISTRIBUTION__UNIT, oldUnit, unit));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_TIME_DISTRIBUTION__UNIT:
+				return getUnit();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_TIME_DISTRIBUTION__UNIT:
+				setUnit((TimeUnit)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_TIME_DISTRIBUTION__UNIT:
+				setUnit(UNIT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.INTEGER_TIME_DISTRIBUTION__UNIT:
+				return unit != UNIT_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (unit: ");
+		result.append(unit);
+		result.append(')');
+		return result.toString();
+	}
+
+} //IntegerTimeDistributionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/LabelPropertiesImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/LabelPropertiesImpl.java
new file mode 100644
index 0000000..f1ab48e
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/LabelPropertiesImpl.java
@@ -0,0 +1,318 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Label Properties</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl#getCount <em>Count</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl#getBitSize <em>Bit Size</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.LabelPropertiesImpl#getPerSWC <em>Per SWC</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LabelPropertiesImpl extends MinimalEObjectImpl.Container implements LabelProperties {
+	/**
+	 * The cached value of the '{@link #getCount() <em>Count</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCount()
+	 * @generated
+	 * @ordered
+	 */
+	protected IntegerDistribution count;
+
+	/**
+	 * The cached value of the '{@link #getBitSize() <em>Bit Size</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getBitSize()
+	 * @generated
+	 * @ordered
+	 */
+	protected IntegerDistribution bitSize;
+
+	/**
+	 * The cached value of the '{@link #getPerSWC() <em>Per SWC</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPerSWC()
+	 * @generated
+	 * @ordered
+	 */
+	protected IntegerDistribution perSWC;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LabelPropertiesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.LABEL_PROPERTIES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerDistribution getCount() {
+		return count;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetCount(IntegerDistribution newCount, NotificationChain msgs) {
+		IntegerDistribution oldCount = count;
+		count = newCount;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__COUNT, oldCount, newCount);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCount(IntegerDistribution newCount) {
+		if (newCount != count) {
+			NotificationChain msgs = null;
+			if (count != null)
+				msgs = ((InternalEObject)count).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__COUNT, null, msgs);
+			if (newCount != null)
+				msgs = ((InternalEObject)newCount).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__COUNT, null, msgs);
+			msgs = basicSetCount(newCount, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__COUNT, newCount, newCount));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerDistribution getBitSize() {
+		return bitSize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetBitSize(IntegerDistribution newBitSize, NotificationChain msgs) {
+		IntegerDistribution oldBitSize = bitSize;
+		bitSize = newBitSize;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE, oldBitSize, newBitSize);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setBitSize(IntegerDistribution newBitSize) {
+		if (newBitSize != bitSize) {
+			NotificationChain msgs = null;
+			if (bitSize != null)
+				msgs = ((InternalEObject)bitSize).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE, null, msgs);
+			if (newBitSize != null)
+				msgs = ((InternalEObject)newBitSize).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE, null, msgs);
+			msgs = basicSetBitSize(newBitSize, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE, newBitSize, newBitSize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerDistribution getPerSWC() {
+		return perSWC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPerSWC(IntegerDistribution newPerSWC, NotificationChain msgs) {
+		IntegerDistribution oldPerSWC = perSWC;
+		perSWC = newPerSWC;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__PER_SWC, oldPerSWC, newPerSWC);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPerSWC(IntegerDistribution newPerSWC) {
+		if (newPerSWC != perSWC) {
+			NotificationChain msgs = null;
+			if (perSWC != null)
+				msgs = ((InternalEObject)perSWC).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__PER_SWC, null, msgs);
+			if (newPerSWC != null)
+				msgs = ((InternalEObject)newPerSWC).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.LABEL_PROPERTIES__PER_SWC, null, msgs);
+			msgs = basicSetPerSWC(newPerSWC, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.LABEL_PROPERTIES__PER_SWC, newPerSWC, newPerSWC));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.LABEL_PROPERTIES__COUNT:
+				return basicSetCount(null, msgs);
+			case RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE:
+				return basicSetBitSize(null, msgs);
+			case RTMGCPackage.LABEL_PROPERTIES__PER_SWC:
+				return basicSetPerSWC(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.LABEL_PROPERTIES__COUNT:
+				return getCount();
+			case RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE:
+				return getBitSize();
+			case RTMGCPackage.LABEL_PROPERTIES__PER_SWC:
+				return getPerSWC();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.LABEL_PROPERTIES__COUNT:
+				setCount((IntegerDistribution)newValue);
+				return;
+			case RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE:
+				setBitSize((IntegerDistribution)newValue);
+				return;
+			case RTMGCPackage.LABEL_PROPERTIES__PER_SWC:
+				setPerSWC((IntegerDistribution)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.LABEL_PROPERTIES__COUNT:
+				setCount((IntegerDistribution)null);
+				return;
+			case RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE:
+				setBitSize((IntegerDistribution)null);
+				return;
+			case RTMGCPackage.LABEL_PROPERTIES__PER_SWC:
+				setPerSWC((IntegerDistribution)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.LABEL_PROPERTIES__COUNT:
+				return count != null;
+			case RTMGCPackage.LABEL_PROPERTIES__BIT_SIZE:
+				return bitSize != null;
+			case RTMGCPackage.LABEL_PROPERTIES__PER_SWC:
+				return perSWC != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //LabelPropertiesImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PercentageDistributionImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PercentageDistributionImpl.java
new file mode 100644
index 0000000..3b2e384
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PercentageDistributionImpl.java
@@ -0,0 +1,280 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Percentage Distribution</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl#getMinPercentage <em>Min Percentage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl#getAvgPercentage <em>Avg Percentage</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PercentageDistributionImpl#getMaxPercentage <em>Max Percentage</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PercentageDistributionImpl extends DistributionImpl implements PercentageDistribution {
+	/**
+	 * The default value of the '{@link #getMinPercentage() <em>Min Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MIN_PERCENTAGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMinPercentage() <em>Min Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMinPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected double minPercentage = MIN_PERCENTAGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getAvgPercentage() <em>Avg Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvgPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double AVG_PERCENTAGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getAvgPercentage() <em>Avg Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAvgPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected double avgPercentage = AVG_PERCENTAGE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getMaxPercentage() <em>Max Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MAX_PERCENTAGE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getMaxPercentage() <em>Max Percentage</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxPercentage()
+	 * @generated
+	 * @ordered
+	 */
+	protected double maxPercentage = MAX_PERCENTAGE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PercentageDistributionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.PERCENTAGE_DISTRIBUTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMinPercentage() {
+		return minPercentage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMinPercentage(double newMinPercentage) {
+		double oldMinPercentage = minPercentage;
+		minPercentage = newMinPercentage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE, oldMinPercentage, minPercentage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getAvgPercentage() {
+		return avgPercentage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setAvgPercentage(double newAvgPercentage) {
+		double oldAvgPercentage = avgPercentage;
+		avgPercentage = newAvgPercentage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE, oldAvgPercentage, avgPercentage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMaxPercentage() {
+		return maxPercentage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaxPercentage(double newMaxPercentage) {
+		double oldMaxPercentage = maxPercentage;
+		maxPercentage = newMaxPercentage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE, oldMaxPercentage, maxPercentage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE:
+				return getMinPercentage();
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE:
+				return getAvgPercentage();
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE:
+				return getMaxPercentage();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE:
+				setMinPercentage((Double)newValue);
+				return;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE:
+				setAvgPercentage((Double)newValue);
+				return;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE:
+				setMaxPercentage((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE:
+				setMinPercentage(MIN_PERCENTAGE_EDEFAULT);
+				return;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE:
+				setAvgPercentage(AVG_PERCENTAGE_EDEFAULT);
+				return;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE:
+				setMaxPercentage(MAX_PERCENTAGE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MIN_PERCENTAGE:
+				return minPercentage != MIN_PERCENTAGE_EDEFAULT;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__AVG_PERCENTAGE:
+				return avgPercentage != AVG_PERCENTAGE_EDEFAULT;
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION__MAX_PERCENTAGE:
+				return maxPercentage != MAX_PERCENTAGE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (minPercentage: ");
+		result.append(minPercentage);
+		result.append(", avgPercentage: ");
+		result.append(avgPercentage);
+		result.append(", maxPercentage: ");
+		result.append(maxPercentage);
+		result.append(')');
+		return result.toString();
+	}
+
+} //PercentageDistributionImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicActivationImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicActivationImpl.java
new file mode 100644
index 0000000..1a71445
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicActivationImpl.java
@@ -0,0 +1,252 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.Recurrence;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Periodic Activation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl#getRecurrence <em>Recurrence</em>}</li>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicActivationImpl#getOffset <em>Offset</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PeriodicActivationImpl extends ActivationImpl implements PeriodicActivation {
+	/**
+	 * The cached value of the '{@link #getRecurrence() <em>Recurrence</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRecurrence()
+	 * @generated
+	 * @ordered
+	 */
+	protected Recurrence recurrence;
+
+	/**
+	 * The cached value of the '{@link #getOffset() <em>Offset</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOffset()
+	 * @generated
+	 * @ordered
+	 */
+	protected IntegerTimeDistribution offset;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PeriodicActivationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.PERIODIC_ACTIVATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Recurrence getRecurrence() {
+		return recurrence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRecurrence(Recurrence newRecurrence, NotificationChain msgs) {
+		Recurrence oldRecurrence = recurrence;
+		recurrence = newRecurrence;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE, oldRecurrence, newRecurrence);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRecurrence(Recurrence newRecurrence) {
+		if (newRecurrence != recurrence) {
+			NotificationChain msgs = null;
+			if (recurrence != null)
+				msgs = ((InternalEObject)recurrence).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE, null, msgs);
+			if (newRecurrence != null)
+				msgs = ((InternalEObject)newRecurrence).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE, null, msgs);
+			msgs = basicSetRecurrence(newRecurrence, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE, newRecurrence, newRecurrence));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerTimeDistribution getOffset() {
+		return offset;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetOffset(IntegerTimeDistribution newOffset, NotificationChain msgs) {
+		IntegerTimeDistribution oldOffset = offset;
+		offset = newOffset;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_ACTIVATION__OFFSET, oldOffset, newOffset);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setOffset(IntegerTimeDistribution newOffset) {
+		if (newOffset != offset) {
+			NotificationChain msgs = null;
+			if (offset != null)
+				msgs = ((InternalEObject)offset).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_ACTIVATION__OFFSET, null, msgs);
+			if (newOffset != null)
+				msgs = ((InternalEObject)newOffset).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_ACTIVATION__OFFSET, null, msgs);
+			msgs = basicSetOffset(newOffset, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_ACTIVATION__OFFSET, newOffset, newOffset));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE:
+				return basicSetRecurrence(null, msgs);
+			case RTMGCPackage.PERIODIC_ACTIVATION__OFFSET:
+				return basicSetOffset(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE:
+				return getRecurrence();
+			case RTMGCPackage.PERIODIC_ACTIVATION__OFFSET:
+				return getOffset();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE:
+				setRecurrence((Recurrence)newValue);
+				return;
+			case RTMGCPackage.PERIODIC_ACTIVATION__OFFSET:
+				setOffset((IntegerTimeDistribution)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE:
+				setRecurrence((Recurrence)null);
+				return;
+			case RTMGCPackage.PERIODIC_ACTIVATION__OFFSET:
+				setOffset((IntegerTimeDistribution)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_ACTIVATION__RECURRENCE:
+				return recurrence != null;
+			case RTMGCPackage.PERIODIC_ACTIVATION__OFFSET:
+				return offset != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PeriodicActivationImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicTriangleShiftImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicTriangleShiftImpl.java
new file mode 100644
index 0000000..8adab1b
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/PeriodicTriangleShiftImpl.java
@@ -0,0 +1,185 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Periodic Triangle Shift</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.PeriodicTriangleShiftImpl#getClock <em>Clock</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PeriodicTriangleShiftImpl extends PeriodicActivationImpl implements PeriodicTriangleShift {
+	/**
+	 * The cached value of the '{@link #getClock() <em>Clock</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClock()
+	 * @generated
+	 * @ordered
+	 */
+	protected TriangleClock clock;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PeriodicTriangleShiftImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.PERIODIC_TRIANGLE_SHIFT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TriangleClock getClock() {
+		return clock;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetClock(TriangleClock newClock, NotificationChain msgs) {
+		TriangleClock oldClock = clock;
+		clock = newClock;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK, oldClock, newClock);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setClock(TriangleClock newClock) {
+		if (newClock != clock) {
+			NotificationChain msgs = null;
+			if (clock != null)
+				msgs = ((InternalEObject)clock).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK, null, msgs);
+			if (newClock != null)
+				msgs = ((InternalEObject)newClock).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK, null, msgs);
+			msgs = basicSetClock(newClock, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK, newClock, newClock));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK:
+				return basicSetClock(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK:
+				return getClock();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK:
+				setClock((TriangleClock)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK:
+				setClock((TriangleClock)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT__CLOCK:
+				return clock != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //PeriodicTriangleShiftImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCFactoryImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCFactoryImpl.java
new file mode 100644
index 0000000..42b40cb
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCFactoryImpl.java
@@ -0,0 +1,559 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTMGCFactoryImpl extends EFactoryImpl implements RTMGCFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static RTMGCFactory init() {
+		try {
+			RTMGCFactory theRTMGCFactory = (RTMGCFactory)EPackage.Registry.INSTANCE.getEFactory(RTMGCPackage.eNS_URI);
+			if (theRTMGCFactory != null) {
+				return theRTMGCFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RTMGCFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTMGCFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case RTMGCPackage.RTMGC: return createRTMGC();
+			case RTMGCPackage.GENERATION: return createGeneration();
+			case RTMGCPackage.ACTIVATION_PROPERTIES: return createActivationProperties();
+			case RTMGCPackage.PERIODIC_ACTIVATION: return createPeriodicActivation();
+			case RTMGCPackage.PERIODIC_TRIANGLE_SHIFT: return createPeriodicTriangleShift();
+			case RTMGCPackage.TRIANGLE_CLOCK: return createTriangleClock();
+			case RTMGCPackage.SPORADIC_ACTIVATION: return createSporadicActivation();
+			case RTMGCPackage.RECURRENCE: return createRecurrence();
+			case RTMGCPackage.LABEL_PROPERTIES: return createLabelProperties();
+			case RTMGCPackage.RUNNABLE_PROPERTIES: return createRunnableProperties();
+			case RTMGCPackage.SEMAPHORE_PROPERTIES: return createSemaphoreProperties();
+			case RTMGCPackage.SEMAPHORE_ACCESS_PROPERTIES: return createSemaphoreAccessProperties();
+			case RTMGCPackage.TASK_PROPERTIES: return createTaskProperties();
+			case RTMGCPackage.CALL_GRAPH_PROPERTIES: return createCallGraphProperties();
+			case RTMGCPackage.INTEGER_DISTRIBUTION: return createIntegerDistribution();
+			case RTMGCPackage.INTEGER_TIME_DISTRIBUTION: return createIntegerTimeDistribution();
+			case RTMGCPackage.PERCENTAGE_DISTRIBUTION: return createPercentageDistribution();
+			case RTMGCPackage.DOUBLE_DISTRIBUTION: return createDoubleDistribution();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case RTMGCPackage.RECURRENCE_TYPE:
+				return createRecurrenceTypeFromString(eDataType, initialValue);
+			case RTMGCPackage.RUNTIME_TYPE:
+				return createRuntimeTypeFromString(eDataType, initialValue);
+			case RTMGCPackage.SEMAPHORE_REQUEST_ORDER:
+				return createSemaphoreRequestOrderFromString(eDataType, initialValue);
+			case RTMGCPackage.SEMAPHORE_ACCESS_TYPE:
+				return createSemaphoreAccessTypeFromString(eDataType, initialValue);
+			case RTMGCPackage.SEMAPHORE_TYPE:
+				return createSemaphoreTypeFromString(eDataType, initialValue);
+			case RTMGCPackage.WAIT_MODES:
+				return createWaitModesFromString(eDataType, initialValue);
+			case RTMGCPackage.DISTRIBUTION_TYPE:
+				return createDistributionTypeFromString(eDataType, initialValue);
+			case RTMGCPackage.PROCESS_MAPPING_ALGORITHMS:
+				return createProcessMappingAlgorithmsFromString(eDataType, initialValue);
+			case RTMGCPackage.PRIORITY_DETERMINATION_ALGORITHM:
+				return createPriorityDeterminationAlgorithmFromString(eDataType, initialValue);
+			case RTMGCPackage.TIME_UNIT:
+				return createTimeUnitFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case RTMGCPackage.RECURRENCE_TYPE:
+				return convertRecurrenceTypeToString(eDataType, instanceValue);
+			case RTMGCPackage.RUNTIME_TYPE:
+				return convertRuntimeTypeToString(eDataType, instanceValue);
+			case RTMGCPackage.SEMAPHORE_REQUEST_ORDER:
+				return convertSemaphoreRequestOrderToString(eDataType, instanceValue);
+			case RTMGCPackage.SEMAPHORE_ACCESS_TYPE:
+				return convertSemaphoreAccessTypeToString(eDataType, instanceValue);
+			case RTMGCPackage.SEMAPHORE_TYPE:
+				return convertSemaphoreTypeToString(eDataType, instanceValue);
+			case RTMGCPackage.WAIT_MODES:
+				return convertWaitModesToString(eDataType, instanceValue);
+			case RTMGCPackage.DISTRIBUTION_TYPE:
+				return convertDistributionTypeToString(eDataType, instanceValue);
+			case RTMGCPackage.PROCESS_MAPPING_ALGORITHMS:
+				return convertProcessMappingAlgorithmsToString(eDataType, instanceValue);
+			case RTMGCPackage.PRIORITY_DETERMINATION_ALGORITHM:
+				return convertPriorityDeterminationAlgorithmToString(eDataType, instanceValue);
+			case RTMGCPackage.TIME_UNIT:
+				return convertTimeUnitToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTMGC createRTMGC() {
+		RTMGCImpl rtmgc = new RTMGCImpl();
+		return rtmgc;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Generation createGeneration() {
+		GenerationImpl generation = new GenerationImpl();
+		return generation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivationProperties createActivationProperties() {
+		ActivationPropertiesImpl activationProperties = new ActivationPropertiesImpl();
+		return activationProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PeriodicActivation createPeriodicActivation() {
+		PeriodicActivationImpl periodicActivation = new PeriodicActivationImpl();
+		return periodicActivation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PeriodicTriangleShift createPeriodicTriangleShift() {
+		PeriodicTriangleShiftImpl periodicTriangleShift = new PeriodicTriangleShiftImpl();
+		return periodicTriangleShift;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TriangleClock createTriangleClock() {
+		TriangleClockImpl triangleClock = new TriangleClockImpl();
+		return triangleClock;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SporadicActivation createSporadicActivation() {
+		SporadicActivationImpl sporadicActivation = new SporadicActivationImpl();
+		return sporadicActivation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Recurrence createRecurrence() {
+		RecurrenceImpl recurrence = new RecurrenceImpl();
+		return recurrence;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LabelProperties createLabelProperties() {
+		LabelPropertiesImpl labelProperties = new LabelPropertiesImpl();
+		return labelProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RunnableProperties createRunnableProperties() {
+		RunnablePropertiesImpl runnableProperties = new RunnablePropertiesImpl();
+		return runnableProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreProperties createSemaphoreProperties() {
+		SemaphorePropertiesImpl semaphoreProperties = new SemaphorePropertiesImpl();
+		return semaphoreProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreAccessProperties createSemaphoreAccessProperties() {
+		SemaphoreAccessPropertiesImpl semaphoreAccessProperties = new SemaphoreAccessPropertiesImpl();
+		return semaphoreAccessProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TaskProperties createTaskProperties() {
+		TaskPropertiesImpl taskProperties = new TaskPropertiesImpl();
+		return taskProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallGraphProperties createCallGraphProperties() {
+		CallGraphPropertiesImpl callGraphProperties = new CallGraphPropertiesImpl();
+		return callGraphProperties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerDistribution createIntegerDistribution() {
+		IntegerDistributionImpl integerDistribution = new IntegerDistributionImpl();
+		return integerDistribution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntegerTimeDistribution createIntegerTimeDistribution() {
+		IntegerTimeDistributionImpl integerTimeDistribution = new IntegerTimeDistributionImpl();
+		return integerTimeDistribution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PercentageDistribution createPercentageDistribution() {
+		PercentageDistributionImpl percentageDistribution = new PercentageDistributionImpl();
+		return percentageDistribution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleDistribution createDoubleDistribution() {
+		DoubleDistributionImpl doubleDistribution = new DoubleDistributionImpl();
+		return doubleDistribution;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RecurrenceType createRecurrenceTypeFromString(EDataType eDataType, String initialValue) {
+		RecurrenceType result = RecurrenceType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertRecurrenceTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RuntimeType createRuntimeTypeFromString(EDataType eDataType, String initialValue) {
+		RuntimeType result = RuntimeType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertRuntimeTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreRequestOrder createSemaphoreRequestOrderFromString(EDataType eDataType, String initialValue) {
+		SemaphoreRequestOrder result = SemaphoreRequestOrder.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertSemaphoreRequestOrderToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreAccessType createSemaphoreAccessTypeFromString(EDataType eDataType, String initialValue) {
+		SemaphoreAccessType result = SemaphoreAccessType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertSemaphoreAccessTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SemaphoreType createSemaphoreTypeFromString(EDataType eDataType, String initialValue) {
+		SemaphoreType result = SemaphoreType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertSemaphoreTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WaitModes createWaitModesFromString(EDataType eDataType, String initialValue) {
+		WaitModes result = WaitModes.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertWaitModesToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DistributionType createDistributionTypeFromString(EDataType eDataType, String initialValue) {
+		DistributionType result = DistributionType.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertDistributionTypeToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProcessMappingAlgorithms createProcessMappingAlgorithmsFromString(EDataType eDataType, String initialValue) {
+		ProcessMappingAlgorithms result = ProcessMappingAlgorithms.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertProcessMappingAlgorithmsToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PriorityDeterminationAlgorithm createPriorityDeterminationAlgorithmFromString(EDataType eDataType, String initialValue) {
+		PriorityDeterminationAlgorithm result = PriorityDeterminationAlgorithm.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertPriorityDeterminationAlgorithmToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TimeUnit createTimeUnitFromString(EDataType eDataType, String initialValue) {
+		TimeUnit result = TimeUnit.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertTimeUnitToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RTMGCPackage getRTMGCPackage() {
+		return (RTMGCPackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RTMGCPackage getPackage() {
+		return RTMGCPackage.eINSTANCE;
+	}
+
+} //RTMGCFactoryImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCImpl.java
new file mode 100644
index 0000000..67a70b9
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCImpl.java
@@ -0,0 +1,186 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.Generation;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGC;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RTMGC</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.app4mc.amalthea.generator.configuration.impl.RTMGCImpl#getGeneration <em>Generation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RTMGCImpl extends MinimalEObjectImpl.Container implements RTMGC {
+	/**
+	 * The cached value of the '{@link #getGeneration() <em>Generation</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGeneration()
+	 * @generated
+	 * @ordered
+	 */
+	protected Generation generation;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RTMGCImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RTMGCPackage.Literals.RTMGC;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Generation getGeneration() {
+		return generation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetGeneration(Generation newGeneration, NotificationChain msgs) {
+		Generation oldGeneration = generation;
+		generation = newGeneration;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, RTMGCPackage.RTMGC__GENERATION, oldGeneration, newGeneration);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setGeneration(Generation newGeneration) {
+		if (newGeneration != generation) {
+			NotificationChain msgs = null;
+			if (generation != null)
+				msgs = ((InternalEObject)generation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.RTMGC__GENERATION, null, msgs);
+			if (newGeneration != null)
+				msgs = ((InternalEObject)newGeneration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - RTMGCPackage.RTMGC__GENERATION, null, msgs);
+			msgs = basicSetGeneration(newGeneration, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, RTMGCPackage.RTMGC__GENERATION, newGeneration, newGeneration));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case RTMGCPackage.RTMGC__GENERATION:
+				return basicSetGeneration(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case RTMGCPackage.RTMGC__GENERATION:
+				return getGeneration();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case RTMGCPackage.RTMGC__GENERATION:
+				setGeneration((Generation)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.RTMGC__GENERATION:
+				setGeneration((Generation)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case RTMGCPackage.RTMGC__GENERATION:
+				return generation != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RTMGCImpl
diff --git a/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCPackageImpl.java b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCPackageImpl.java
new file mode 100644
index 0000000..262621f
--- /dev/null
+++ b/plugins/org.eclipse.app4mc.amalthea.generator.configuration/src-gen/org/eclipse/app4mc/amalthea/generator/configuration/impl/RTMGCPackageImpl.java
@@ -0,0 +1,1568 @@
+/**
+ * *******************************************************************************
+ *  Copyright (c) 2017 Timing-Architects Embedded Systems GmbH and others.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ * 
+ *     Generated using Eclipse EMF
+ * 
+ * *******************************************************************************
+ */
+package org.eclipse.app4mc.amalthea.generator.configuration.impl;
+
+import org.eclipse.app4mc.amalthea.generator.configuration.Activation;
+import org.eclipse.app4mc.amalthea.generator.configuration.ActivationProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.CallGraphProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.Distribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.DistributionType;
+import org.eclipse.app4mc.amalthea.generator.configuration.DoubleDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.Generation;
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.IntegerTimeDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.LabelProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.PercentageDistribution;
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicActivation;
+import org.eclipse.app4mc.amalthea.generator.configuration.PeriodicTriangleShift;
+import org.eclipse.app4mc.amalthea.generator.configuration.PriorityDeterminationAlgorithm;
+import org.eclipse.app4mc.amalthea.generator.configuration.ProcessMappingAlgorithms;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCFactory;
+import org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage;
+import org.eclipse.app4mc.amalthea.generator.configuration.Recurrence;
+import org.eclipse.app4mc.amalthea.generator.configuration.RecurrenceType;
+import org.eclipse.app4mc.amalthea.generator.configuration.RunnableProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.RuntimeType;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreAccessType;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreRequestOrder;
+import org.eclipse.app4mc.amalthea.generator.configuration.SemaphoreType;
+import org.eclipse.app4mc.amalthea.generator.configuration.SporadicActivation;
+import org.eclipse.app4mc.amalthea.generator.configuration.TaskProperties;
+import org.eclipse.app4mc.amalthea.generator.configuration.TimeUnit;
+import org.eclipse.app4mc.amalthea.generator.configuration.TriangleClock;
+import org.eclipse.app4mc.amalthea.generator.configuration.WaitModes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RTMGCPackageImpl extends EPackageImpl implements RTMGCPackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass rtmgcEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass generationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass activationPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass activationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass periodicActivationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass periodicTriangleShiftEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass triangleClockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass sporadicActivationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass recurrenceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass labelPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass runnablePropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass semaphorePropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass semaphoreAccessPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass taskPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass callGraphPropertiesEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass distributionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerDistributionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass integerTimeDistributionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass percentageDistributionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass doubleDistributionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum recurrenceTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum runtimeTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum semaphoreRequestOrderEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum semaphoreAccessTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum semaphoreTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum waitModesEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum distributionTypeEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum processMappingAlgorithmsEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum priorityDeterminationAlgorithmEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum timeUnitEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.app4mc.amalthea.generator.configuration.RTMGCPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RTMGCPackageImpl() {
+		super(eNS_URI, RTMGCFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link RTMGCPackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RTMGCPackage init() {
+		if (isInited) return (RTMGCPackage)EPackage.Registry.INSTANCE.getEPackage(RTMGCPackage.eNS_URI);
+
+		// Obtain or create and register package
+		RTMGCPackageImpl theRTMGCPackage = (RTMGCPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RTMGCPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RTMGCPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		XMLTypePackage.eINSTANCE.eClass();
+		EcorePackage.eINSTANCE.eClass();
+
+		// Create package meta-data objects
+		theRTMGCPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRTMGCPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRTMGCPackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RTMGCPackage.eNS_URI, theRTMGCPackage);
+		return theRTMGCPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRTMGC() {
+		return rtmgcEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRTMGC_Generation() {
+		return (EReference)rtmgcEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getGeneration() {
+		return generationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_Count() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_BaseModel() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_HwModels() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_OsModels() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_SwModel() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getGeneration_OutputFolder() {
+		return (EAttribute)generationEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getGeneration_Activations() {
+		return (EReference)generationEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getGeneration_Labels() {
+		return (EReference)generationEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getGeneration_Runnables() {
+		return (EReference)generationEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getGeneration_Semaphores() {
+		return (EReference)generationEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getGeneration_Tasks() {
+		return (EReference)generationEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getActivationProperties() {
+		return activationPropertiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivationProperties_PeriodicActivation() {
+		return (EReference)activationPropertiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivationProperties_PeriodicTriangleShift() {
+		return (EReference)activationPropertiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivationProperties_SporadicActivation() {
+		return (EReference)activationPropertiesEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getActivation() {
+		return activationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getActivation_AppearanceProbability() {
+		return (EAttribute)activationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPeriodicActivation() {
+		return periodicActivationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriodicActivation_Recurrence() {
+		return (EReference)periodicActivationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriodicActivation_Offset() {
+		return (EReference)periodicActivationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getPeriodicTriangleShift() {
+		return periodicTriangleShiftEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getPeriodicTriangleShift_Clock() {
+		return (EReference)periodicTriangleShiftEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getTriangleClock() {
+		return triangleClockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTriangleClock_Min_start() {
+		return (EReference)triangleClockEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTriangleClock_Max_end() {
+		return (EReference)triangleClockEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTriangleClock_Shift() {
+		return (EReference)triangleClockEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getTriangleClock_Period() {
+		return (EReference)triangleClockEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSporadicActivation() {
+		return sporadicActivationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSporadicActivation_MinValue() {
+		return (EReference)sporadicActivationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSporadicActivation_MaxValueDistance() {
+		return (EReference)sporadicActivationEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSporadicActivation_AvgValueDistance() {
+		return (EReference)sporadicActivationEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRecurrence() {
+		return recurrenceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRecurrence_RecurrenceType() {
+		return (EAttribute)recurrenceEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getLabelProperties() {
+		return labelPropertiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLabelProperties_Count() {
+		return (EReference)labelPropertiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLabelProperties_BitSize() {
+		return (EReference)labelPropertiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getLabelProperties_PerSWC() {
+		return (EReference)labelPropertiesEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getRunnableProperties() {
+		return runnablePropertiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getRunnableProperties_RuntimeType() {
+		return (EAttribute)runnablePropertiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunnableProperties_InstructionsPerRunnables() {
+		return (EReference)runnablePropertiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunnableProperties_RunnablesPerCallSequence() {
+		return (EReference)runnablePropertiesEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunnableProperties_RunnablesPerSWC() {
+		return (EReference)runnablePropertiesEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunnableProperties_MinStatisticsDistance() {
+		return (EReference)runnablePropertiesEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getRunnableProperties_MaxStatisticsDistance() {
+		return (EReference)runnablePropertiesEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getSemaphoreProperties() {
+		return semaphorePropertiesEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getSemaphoreProperties_Count() {
+		return (EReference)semaphorePropertiesEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSemaphoreProperties_PriorityCeilingProtocol() {
+		return (EAttribute)semaphorePropertiesEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getSemaphoreProperties_SemaphoreType() {
+		return (EAttribute)