diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.eal.dsl.ide/META-INF/MANIFEST.MF
deleted file mode 100644
index b0c58a1499fd48ffed27029d5f34b21db5f747bb..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Automatic-Module-Name: de.evoal.languages.model.eal.dsl.ide
-Bundle-ManifestVersion: 2
-Bundle-Name: de.evoal.languages.model.eal.dsl.ide
-Bundle-Vendor: EvoAl Project
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: de.evoal.languages.model.eal.dsl.ide; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: de.evoal.languages.model.eal.dsl,
- org.eclipse.xtext.ide,
- org.eclipse.xtext.xbase.ide,
- org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
- de.evoal.languages.model.el.dsl;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Export-Package: de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal,
- de.evoal.languages.model.eal.dsl.ide.contentassist.antlr
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
deleted file mode 100644
index f633d36b64e41487eb7767aa3e6dd5f90f05e97b..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
+++ /dev/null
@@ -1 +0,0 @@
-de.evoal.languages.model.eal.dsl.ide.EvolutionaryAlgorithmLanguageIdeSetup
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeModule.java b/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeModule.java
deleted file mode 100644
index 6caef4a5246bf6ea36af38fddde3375d4aa68390..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeModule.java
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- */
-package de.evoal.languages.model.eal.dsl.ide;
-
-
-/**
- * Use this class to register ide components.
- */
-public class EvolutionaryAlgorithmLanguageIdeModule extends AbstractEvolutionaryAlgorithmLanguageIdeModule {
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeSetup.java b/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeSetup.java
deleted file mode 100644
index 55ce74f8cdf9bc006f99288450e95ec5ea3917a0..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src/de/evoal/languages/model/eal/dsl/ide/EvolutionaryAlgorithmLanguageIdeSetup.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- */
-package de.evoal.languages.model.eal.dsl.ide;
-
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguageRuntimeModule;
-import de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguageStandaloneSetup;
-import org.eclipse.xtext.util.Modules2;
-
-/**
- * Initialization support for running Xtext languages as language servers.
- */
-public class EvolutionaryAlgorithmLanguageIdeSetup extends EvolutionaryAlgorithmLanguageStandaloneSetup {
-
-	@Override
-	public Injector createInjector() {
-		return Guice.createInjector(Modules2.mixin(new EvolutionaryAlgorithmLanguageRuntimeModule(), new EvolutionaryAlgorithmLanguageIdeModule()));
-	}
-	
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/.gitignore b/src/languages/de.evoal.languages.model.eal.dsl.ui/.gitignore
deleted file mode 100644
index b83d22266ac8aa2f8df2edef68082c789727841d..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.eal.dsl.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 084f08fe86ec9cbfaad8e3d08b5258d4d0b411c9..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Automatic-Module-Name: de.evoal.languages.model.eal.dsl.ui
-Bundle-ManifestVersion: 2
-Bundle-Name: de.evoal.languages.model.eal.dsl.ui
-Bundle-Vendor: EvoAl Project
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: de.evoal.languages.model.eal.dsl.ui; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: de.evoal.languages.model.eal.dsl,
- de.evoal.languages.model.eal.dsl.ide,
- org.eclipse.xtext.ui,
- org.eclipse.xtext.ui.shared,
- org.eclipse.xtext.ui.codetemplates.ui,
- org.eclipse.ui.editors;bundle-version="3.5.0",
- org.eclipse.ui.ide;bundle-version="3.5.0",
- org.eclipse.ui,
- org.eclipse.compare,
- org.eclipse.xtext.builder,
- de.evoal.languages.model.dl.dsl;bundle-version="1.0.0",
- de.evoal.languages.model.instance.dsl.ui;bundle-version="1.0.0"
-Import-Package: org.apache.log4j
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Export-Package: de.evoal.languages.model.eal.dsl.ui.contentassist,
- de.evoal.languages.model.eal.dsl.ui.quickfix,
- de.evoal.languages.model.eal.dsl.ui.internal
-Bundle-Activator: de.evoal.languages.model.eal.dsl.ui.internal.DslActivator
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/plugin.xml b/src/languages/de.evoal.languages.model.eal.dsl.ui/plugin.xml
deleted file mode 100644
index 33397c47702557e695d35ada5a03c92464e29c26..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/plugin.xml
+++ /dev/null
@@ -1,434 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-	<extension
-		point="org.eclipse.ui.editors">
-		<editor
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-			contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-			default="true"
-			extensions="eal"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			name="EvolutionaryAlgorithmLanguage Editor">
-		</editor>
-	</extension>
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-			commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-			<activeWhen>
-				<reference
-					definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-			commandId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.validate">
-			<activeWhen>
-				<reference
-					definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-		<!-- copy qualified name -->
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
-			commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
-			<activeWhen>
-				<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened" />
-			</activeWhen>
-		</handler>
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
-			commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
-			<activeWhen>
-				<and>
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.XtextEditor.opened" />
-					<iterate>
-						<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
-					</iterate>
-				</and>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension point="org.eclipse.core.expressions.definitions">
-		<definition id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-			<and>
-				<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-				<with variable="activeEditor">
-					<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
-						value="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-						forcePluginActivation="true"/>
-				</with>
-			</and>
-		</definition>
-		<definition id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.XtextEditor.opened">
-			<and>
-				<reference definitionId="isXtextEditorActive"/>
-				<with variable="activeEditor">
-					<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
-						value="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-						forcePluginActivation="true"/>
-				</with>
-			</and>
-		</definition>
-	</extension>
-	<extension
-			point="org.eclipse.ui.preferencePages">
-		<page
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			name="EvolutionaryAlgorithmLanguage">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.coloring"
-			name="Syntax Coloring">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.templates"
-			name="Templates">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-	</extension>
-	<extension
-			point="org.eclipse.ui.propertyPages">
-		<page
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			name="EvolutionaryAlgorithmLanguage">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-			<enabledWhen>
-				<adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-			<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-		</page>
-	</extension>
-	<extension
-		point="org.eclipse.ui.keywords">
-		<keyword
-			id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"
-			label="EvolutionaryAlgorithmLanguage"/>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Trigger expensive validation"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.validate"
-			name="Validate">
-		</command>
-		<!-- copy qualified name -->
-		<command
-			id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
-			categoryId="org.eclipse.ui.category.edit"
-			description="Copy the qualified name for the selected element"
-			name="Copy Qualified Name">
-		</command>
-		<command
-			id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
-			categoryId="org.eclipse.ui.category.edit"
-			description="Copy the qualified name for the selected element"
-			name="Copy Qualified Name">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.edit">
-			<command
-				commandId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.validate"
-				style="push"
-				tooltip="Trigger expensive validation">
-				<visibleWhen checkEnabled="false">
-					<reference
-						definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-					</reference>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-		<!-- copy qualified name -->
-		<menuContribution locationURI="popup:#TextEditorContext?after=copy">
-			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
-				style="push" tooltip="Copy Qualified Name">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened" />
-				</visibleWhen>
-			</command>
-		</menuContribution>
-		<menuContribution locationURI="menu:edit?after=copy">
-			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
-				style="push" tooltip="Copy Qualified Name">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened" />
-				</visibleWhen>
-			</command>
-		</menuContribution>
-		<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
-			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
-				style="push" tooltip="Copy Qualified Name">
-				<visibleWhen checkEnabled="false">
-					<and>
-						<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.XtextEditor.opened" />
-						<iterate>
-							<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
-						</iterate>
-					</and>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-					</reference>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-			commandId="org.eclipse.xtext.ui.editor.FindReferences">
-			<activeWhen>
-				<reference
-					definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension point="org.eclipse.core.contenttype.contentTypes">
-		<content-type
-			base-type="org.eclipse.core.runtime.text"
-			file-extensions="eal"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.contenttype"
-			name="EvolutionaryAlgorithmLanguage File"
-			priority="normal">
-		</content-type>
-	</extension>
-	<!-- adding resource factories -->
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="eal">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-		<resourceServiceProvider
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-			uriExtension="eal">
-		</resourceServiceProvider>
-	</extension>
-	<!-- marker definitions for de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage -->
-	<extension
-			id="evolutionaryalgorithmlanguage.check.fast"
-			name="EvolutionaryAlgorithmLanguage Problem"
-			point="org.eclipse.core.resources.markers">
-		<super type="org.eclipse.xtext.ui.check.fast"/>
-		<persistent value="true"/>
-	</extension>
-	<extension
-			id="evolutionaryalgorithmlanguage.check.normal"
-			name="EvolutionaryAlgorithmLanguage Problem"
-			point="org.eclipse.core.resources.markers">
-		<super type="org.eclipse.xtext.ui.check.normal"/>
-		<persistent value="true"/>
-	</extension>
-	<extension
-			id="evolutionaryalgorithmlanguage.check.expensive"
-			name="EvolutionaryAlgorithmLanguage Problem"
-			point="org.eclipse.core.resources.markers">
-		<super type="org.eclipse.xtext.ui.check.expensive"/>
-		<persistent value="true"/>
-	</extension>
-	<extension point="org.eclipse.ui.preferencePages">
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.validator.preferencePage"
-			name="Errors/Warnings">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-	</extension>
-	<extension point="org.eclipse.xtext.builder.participant">
-		<participant
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
-			fileExtensions="eal"/>
-	</extension>
-	<extension point="org.eclipse.ui.preferencePages">
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compiler.preferencePage"
-			name="Compiler">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-	</extension>
-	<extension point="org.eclipse.ui.propertyPages">
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compiler.propertyPage"
-			name="Compiler">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-			<enabledWhen>
-				<adapt type="org.eclipse.core.resources.IProject"/>
-			</enabledWhen>
-			<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
-		</page>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
-			<command
-				commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
-				id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.OpenGeneratedCode"
-				style="push">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened" />
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
-			commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
-			<activeWhen>
-				<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened" />
-			</activeWhen>
-		</handler>
-	</extension>
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<!-- quickfix marker resolution generator for de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage -->
-	<extension
-			point="org.eclipse.ui.ide.markerResolution">
-		<markerResolutionGenerator
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-			markerType="de.evoal.languages.model.eal.dsl.ui.evolutionaryalgorithmlanguage.check.fast">
-			<attribute
-				name="FIXABLE_KEY"
-				value="true">
-			</attribute>
-		</markerResolutionGenerator>
-		<markerResolutionGenerator
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-			markerType="de.evoal.languages.model.eal.dsl.ui.evolutionaryalgorithmlanguage.check.normal">
-			<attribute
-				name="FIXABLE_KEY"
-				value="true">
-			</attribute>
-		</markerResolutionGenerator>
-		<markerResolutionGenerator
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
-			markerType="de.evoal.languages.model.eal.dsl.ui.evolutionaryalgorithmlanguage.check.expensive">
-			<attribute
-				name="FIXABLE_KEY"
-				value="true">
-			</attribute>
-		</markerResolutionGenerator>
-	</extension>
-	<!-- Rename Refactoring -->
-	<extension point="org.eclipse.ui.handlers">
-		<handler
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
-			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
-			<activeWhen>
-				<reference
-					definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.edit">
-			<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
-				style="push">
-				<visibleWhen checkEnabled="false">
-					<reference
-						definitionId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.Editor.opened">
-					</reference>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.preferencePages">
-		<page
-			category="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
-			id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.refactoring"
-			name="Refactoring">
-			<keywordReference id="de.evoal.languages.model.eal.dsl.ui.keyword_EvolutionaryAlgorithmLanguage"/>
-		</page>
-	</extension>
-	<extension point="org.eclipse.compare.contentViewers">
-		<viewer id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compare.contentViewers"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-			extensions="eal">
-		</viewer>
-		<contentTypeBinding
-			contentTypeId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.contenttype"
-			contentViewerId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compare.contentViewers" />
-	</extension>
-	<extension point="org.eclipse.compare.contentMergeViewers">
-		<viewer id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compare.contentMergeViewers"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
-			extensions="eal" label="EvolutionaryAlgorithmLanguage Compare">
-		</viewer>
-		<contentTypeBinding
-			contentTypeId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.contenttype"
-			contentMergeViewerId="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.compare.contentMergeViewers" />
-	</extension>
-	<extension point="org.eclipse.ui.editors.documentProviders">
-		<provider id="de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.editors.documentProviders"
-			class="de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
-			extensions="eal">
-		</provider>
-	</extension>
-	<extension point="org.eclipse.team.core.fileTypes">
-		<fileTypes
-			extension="eal"
-			type="text">
-		</fileTypes>
-	</extension>
-</plugin>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageUiModule.java b/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageUiModule.java
deleted file mode 100644
index b90e6bd47d7b6edd25eb65c4889d8bc9e05dc839..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageUiModule.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- */
-package de.evoal.languages.model.eal.dsl.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Use this class to register components to be used within the Eclipse IDE.
- */
-public class EvolutionaryAlgorithmLanguageUiModule extends AbstractEvolutionaryAlgorithmLanguageUiModule {
-
-	public EvolutionaryAlgorithmLanguageUiModule(AbstractUIPlugin plugin) {
-		super(plugin);
-	}
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/.gitignore b/src/languages/de.evoal.languages.model.eal.dsl/.gitignore
deleted file mode 100644
index b83d22266ac8aa2f8df2edef68082c789727841d..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.eal.dsl/META-INF/MANIFEST.MF
deleted file mode 100644
index 351f5cf94a8b68edba0e5f099ae750d80009b1d3..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,33 +0,0 @@
-Manifest-Version: 1.0
-Automatic-Module-Name: de.evoal.languages.model.eal.dsl
-Bundle-ManifestVersion: 2
-Bundle-Name: de.evoal.languages.model.eal.dsl
-Bundle-Vendor: EvoAl Project
-Bundle-Version: 1.0.0.qualifier
-Bundle-SymbolicName: de.evoal.languages.model.eal.dsl; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext,
- org.eclipse.xtext.xbase,
- org.eclipse.equinox.common;bundle-version="3.5.0",
- de.evoal.languages.model.dl.dsl;bundle-version="1.0.0",
- de.evoal.languages.model.el.dsl;bundle-version="1.0.0";visibility:=reexport,
- de.evoal.languages.model.el;bundle-version="1.0.0";visibility:=reexport,
- org.eclipse.emf.ecore,
- org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
- org.eclipse.xtext.util,
- org.eclipse.emf.common,
- org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
- de.evoal.languages.model.dl;bundle-version="1.0.0",
- de.evoal.languages.model.ddl;bundle-version="1.0.0",
- de.evoal.languages.model.eal;bundle-version="1.0.0";visibility:=reexport,
- de.evoal.languages.model.instance.dsl;bundle-version="1.0.0";visibility:=reexport
-Bundle-RequiredExecutionEnvironment: JavaSE-17
-Export-Package: de.evoal.languages.model.eal.dsl.generator,
- de.evoal.languages.model.eal.dsl.services,
- de.evoal.languages.model.eal.dsl.validation,
- de.evoal.languages.model.eal.dsl,
- de.evoal.languages.model.eal.dsl.scoping,
- de.evoal.languages.model.eal.dsl.serializer,
- de.evoal.languages.model.eal.dsl.parser.antlr.internal,
- de.evoal.languages.model.eal.dsl.parser.antlr
-Import-Package: org.apache.log4j
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/plugin.properties b/src/languages/de.evoal.languages.model.eal.dsl/plugin.properties
deleted file mode 100644
index ed1ea766aaaf0875774854d94f69f4a23d34fa88..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = EvoAl's Evolutionary Algorithm Language
-providerName = EvoAl Project
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/plugin.xml_gen b/src/languages/de.evoal.languages.model.eal.dsl/plugin.xml_gen
deleted file mode 100644
index 3747409f19bb75f6c83ae3d22c2f8c392f307897..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/plugin.xml_gen
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-	<extension point="org.eclipse.emf.ecore.generated_package">
-		<package
-			uri = "https://www.evoal.de/languages/eal/1.0.0"
-			class = "de.evoal.languages.model.eal.dsl.model.ModelPackage"
-			genModel = "model/generated/EvolutionaryAlgorithmLanguage.genmodel" />
-	</extension>
-</plugin>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageParser.java b/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageParser.java
deleted file mode 100644
index 7446c4a5f984257feea95f93ad6ca44d8b088ddf..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageParser.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- * (c) EvoAl Project
- */
-package de.evoal.languages.model.eal.dsl.parser.antlr;
-
-import com.google.inject.Inject;
-import de.evoal.languages.model.eal.dsl.parser.antlr.internal.InternalEvolutionaryAlgorithmLanguageParser;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
-import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-
-public class EvolutionaryAlgorithmLanguageParser extends AbstractAntlrParser {
-
-	@Inject
-	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
-
-	@Override
-	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
-		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
-	}
-	
-
-	@Override
-	protected InternalEvolutionaryAlgorithmLanguageParser createParser(XtextTokenStream stream) {
-		return new InternalEvolutionaryAlgorithmLanguageParser(stream, getGrammarAccess());
-	}
-
-	@Override 
-	protected String getDefaultRuleName() {
-		return "EAModelRule";
-	}
-
-	public EvolutionaryAlgorithmLanguageGrammarAccess getGrammarAccess() {
-		return this.grammarAccess;
-	}
-
-	public void setGrammarAccess(EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
-		this.grammarAccess = grammarAccess;
-	}
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/scoping/AbstractEvolutionaryAlgorithmLanguageScopeProvider.java b/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/scoping/AbstractEvolutionaryAlgorithmLanguageScopeProvider.java
deleted file mode 100644
index c89ddc67be6acf6cd04aca9a51d95693525d5d21..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/scoping/AbstractEvolutionaryAlgorithmLanguageScopeProvider.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- * (c) EvoAl Project
- */
-package de.evoal.languages.model.eal.dsl.scoping;
-
-import de.evoal.languages.model.instance.dsl.scoping.InstanceLanguageScopeProvider;
-
-public abstract class AbstractEvolutionaryAlgorithmLanguageScopeProvider extends InstanceLanguageScopeProvider {
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtext b/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtext
deleted file mode 100644
index b35b5ffa7ca5bcafff67a0d9c53f683b6a84402c..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtext
+++ /dev/null
@@ -1,36 +0,0 @@
-grammar de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage with de.evoal.languages.model.instance.dsl.InstanceLanguage
-
-import "https://www.evoal.de/languages/eal/1.0.0" 
-
-import "https://www.evoal.de/languages/dl/1.0.0" as dl
-import "https://www.evoal.de/languages/ddl/1.0.0" as ddl
-import "https://www.evoal.de/languages/instance/1.0.0" as instance
-import "https://www.evoal.de/languages/el/1.0.0" as el
-
-EAModelRule returns EAModel:
-	(uses += UseRule)*
-	
-	instance = InstanceRule
-	
-	(constraints = ConstraintRule)?
-;
-
-UseRule returns Use:
-	'use' importURI = STRING ';'
-;
-
-ConstraintRule returns Constraint:
-	{Constraint}
-	"constraints" "{"
-		(statements += ConstraintStatementRule)*
-	"}";
-
-
-ConstraintStatementRule returns ConstraintStatement:
-	constraintExpression = CallRule ';'
-;
-
-@Override
-FunctionNameRule returns FunctionName:
-	definition = [dl::FunctionDefinition]
-;
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageRuntimeModule.java b/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageRuntimeModule.java
deleted file mode 100644
index ab38697bcf98f72b384c19d476f6d73d6aa42ff0..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageRuntimeModule.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- */
-package de.evoal.languages.model.eal.dsl;
-
-import org.eclipse.xtext.conversion.IValueConverterService;
-import org.eclipse.xtext.scoping.IGlobalScopeProvider;
-
-import de.evoal.languages.model.eal.dsl.converter.ValueConverterService;
-import de.evoal.languages.model.eal.dsl.utils.EALGlobalScopeProvider;
-
-/**
- * Use this class to register components to be used at runtime / without the Equinox extension registry.
- */
-public class EvolutionaryAlgorithmLanguageRuntimeModule extends AbstractEvolutionaryAlgorithmLanguageRuntimeModule {
-	@Override
-	public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return EALGlobalScopeProvider.class;
-	}
-	
-    @Override
-    public Class<? extends IValueConverterService> bindIValueConverterService() {
-            return ValueConverterService.class;
-    }
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetup.java b/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetup.java
deleted file mode 100644
index ff1b0f31eb26ed4933a17b36dee0e26bd31cc6cf..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * generated by Xtext 2.25.0
- */
-package de.evoal.languages.model.eal.dsl;
-
-/**
- * Initialization support for running Xtext languages without Equinox extension registry.
- */
-public class EvolutionaryAlgorithmLanguageStandaloneSetup extends EvolutionaryAlgorithmLanguageStandaloneSetupGenerated {
-
-	public static void doSetup() {
-		new EvolutionaryAlgorithmLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
-	}
-/*	
-	@Override
-	public Injector createInjectorAndDoEMFRegistration() {
-		InstanceDefinitionLanguageStandaloneSetup.doSetup();
-
-		Injector injector = super.createInjectorAndDoEMFRegistration();
-		new InstanceDefinitionLanguageStandaloneSetup().register(injector);
-
-		return injector;
-	}
-	*/
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/GenerateEvolutionaryAlgorithmLanguage.mwe2 b/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/GenerateEvolutionaryAlgorithmLanguage.mwe2
deleted file mode 100644
index fc3baab13d573b9157af6eed149ef9d5b34fbbdb..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/GenerateEvolutionaryAlgorithmLanguage.mwe2
+++ /dev/null
@@ -1,54 +0,0 @@
-module de.evoal.languages.model.eal.dsl.GenerateEvolutionaryAlgorithmLanguage
-
-import org.eclipse.xtext.xtext.generator.*
-import org.eclipse.xtext.xtext.generator.model.project.*
-
-var rootPath = ".."
-
-Workflow {
-	
-	component = XtextGenerator {
-		configuration = {
-			project = StandardProjectConfig {
-				baseName = "de.evoal.languages.model.eal.dsl"
-				rootPath = rootPath
-				eclipsePlugin = {
-					enabled = true
-				}
-				createEclipseMetaData = true
-			}
-			code = {
-				encoding = "UTF-8"
-				lineDelimiter = "\n"
-				fileHeader = "/*\n * generated by Xtext \${version}\n * (c) EvoAl Project\n */"
-				preferXtendStubs = false
-			}
-		}
-		language = StandardLanguage {
-			name = "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage"
-			fileExtensions = "eal"
-			referencedResource = "platform:/resource/de.evoal.languages.model.instance/model/model.genmodel"
-			referencedResource = "platform:/resource/de.evoal.languages.model.eal/model/model.genmodel"
-			referencedResource = "platform:/resource/de.evoal.languages.model.dl/model/model.genmodel"
-			referencedResource = "platform:/resource/de.evoal.languages.model.ddl/model/model.genmodel"
-			referencedResource = "platform:/resource/de.evoal.languages.model.el/model/model.genmodel"
-
-
-			serializer = {
-				generateStub = false
-			}
-			validator = {
-				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
-				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
-				generateDeprecationValidation = true
-				composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-			}
-			generator = {
-				generateXtendStub = true
-			}
-			junitSupport = {
-				junitVersion = "5"
-			}
-		}
-	}
-}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EALGlobalScopeProvider.java b/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EALGlobalScopeProvider.java
deleted file mode 100644
index f4eec5fc488629bf4aec9283410c5a24dd470abf..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EALGlobalScopeProvider.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.evoal.languages.model.eal.dsl.utils;
-
-public class EALGlobalScopeProvider extends ClasspathDefaultGlobalScopeProvider {
-	public EALGlobalScopeProvider() {
-		super(new EvoalReleaseBuiltinDSLProvider());
-		
-		getProvider().setBasePath("definitions/ea");
-		getProvider().setExtension(".dl");
-	}
-}
diff --git a/src/languages/de.evoal.languages.model.eal/.gitignore b/src/languages/de.evoal.languages.model.eal/.gitignore
deleted file mode 100644
index b83d22266ac8aa2f8df2edef68082c789727841d..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/src/languages/de.evoal.languages.model.eal/plugin.properties b/src/languages/de.evoal.languages.model.eal/plugin.properties
deleted file mode 100644
index c8d8d60518740ae79a8b9624d22ece09dddeaa44..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.eal/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = EvoAl's Data Description Language
-providerName = EvoAl Project
diff --git a/src/languages/de.evoal.languages.model.instance.dsl/plugin.xml_gen b/src/languages/de.evoal.languages.model.instance.dsl/plugin.xml_gen
deleted file mode 100644
index 3747409f19bb75f6c83ae3d22c2f8c392f307897..0000000000000000000000000000000000000000
--- a/src/languages/de.evoal.languages.model.instance.dsl/plugin.xml_gen
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-	<extension point="org.eclipse.emf.ecore.generated_package">
-		<package
-			uri = "https://www.evoal.de/languages/eal/1.0.0"
-			class = "de.evoal.languages.model.eal.dsl.model.ModelPackage"
-			genModel = "model/generated/EvolutionaryAlgorithmLanguage.genmodel" />
-	</extension>
-</plugin>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/.classpath b/src/languages/de.evoal.languages.model.ol.dsl.ide/.classpath
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/.classpath
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/.classpath
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/.project b/src/languages/de.evoal.languages.model.ol.dsl.ide/.project
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/.project
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/.project
index 1eb2ecd4c297adedc24fe2c8a41544f1aa4b717c..c224d897dd6a1d662fc2800795600f473e55ec36 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/.project
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>de.evoal.languages.model.eal.dsl.ui</name>
+	<name>de.evoal.languages.model.ol.dsl.ide</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.ol.dsl.ide/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..36f3036345888d92b348b90a44a7f4116058e1bc
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: de.evoal.languages.model.ol.dsl.ide
+Bundle-ManifestVersion: 2
+Bundle-Name: de.evoal.languages.model.ol.dsl.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: de.evoal.languages.model.ol.dsl.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: de.evoal.languages.model.ol.dsl,
+ de.evoal.languages.model.ol,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide,
+ org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
+ de.evoal.languages.model.instance.dsl.ide;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Export-Package: de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal,
+ de.evoal.languages.model.ol.dsl.ide.contentassist.antlr
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/build.properties b/src/languages/de.evoal.languages.model.ol.dsl.ide/build.properties
similarity index 83%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/build.properties
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/build.properties
index 726c2d93385ff5e2df114913f3a822041b075a9a..5c6bbf99f082bb19d8aa4ec89f7902c3e8936171 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/build.properties
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/build.properties
@@ -4,4 +4,3 @@ source.. = src/,\
 bin.includes = .,\
                META-INF/
 bin.excludes = **/*.xtend
-output.. = target/classes/
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/pom.xml b/src/languages/de.evoal.languages.model.ol.dsl.ide/pom.xml
similarity index 90%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/pom.xml
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/pom.xml
index ae85b3375ad85855e61644376648b8524c98798f..9bc53c85bc1befac85b0b7e92ed7b5408d789412 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/pom.xml
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/pom.xml
@@ -9,6 +9,6 @@
       <relativePath>../de.evoal.languages.releng.parent</relativePath>
   </parent>
 
-  <artifactId>de.evoal.languages.model.eal.dsl.ui</artifactId>
+  <artifactId>de.evoal.languages.model.ol.dsl.ide</artifactId>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
new file mode 100644
index 0000000000000000000000000000000000000000..38ba2fa9b2a6623cbe6657af11539c9bf20f9428
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup
@@ -0,0 +1 @@
+de.evoal.languages.model.ol.dsl.ide.OptimisationLanguageIdeSetup
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/AbstractEvolutionaryAlgorithmLanguageIdeModule.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/AbstractOptimisationLanguageIdeModule.java
similarity index 78%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/AbstractEvolutionaryAlgorithmLanguageIdeModule.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/AbstractOptimisationLanguageIdeModule.java
index b7a1c4c7115ade6bfa4870dd0e9aacd165241981..826547f3240be849b68e19d6e39c5d8eaa0b65e6 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/AbstractEvolutionaryAlgorithmLanguageIdeModule.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/AbstractOptimisationLanguageIdeModule.java
@@ -1,13 +1,13 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ide;
+package de.evoal.languages.model.ol.dsl.ide;
 
 import com.google.inject.Binder;
 import com.google.inject.name.Names;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.EvolutionaryAlgorithmLanguageParser;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal.InternalEvolutionaryAlgorithmLanguageLexer;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.OptimisationLanguageParser;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal.InternalOptimisationLanguageLexer;
 import org.eclipse.xtext.ide.DefaultIdeModule;
 import org.eclipse.xtext.ide.LexerIdeBindings;
 import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher;
@@ -21,21 +21,21 @@ import org.eclipse.xtext.ide.server.rename.IRenameService2;
 import org.eclipse.xtext.ide.server.rename.RenameService2;
 
 /**
- * Manual modifications go to {@link EvolutionaryAlgorithmLanguageIdeModule}.
+ * Manual modifications go to {@link OptimisationLanguageIdeModule}.
  */
 @SuppressWarnings("all")
-public abstract class AbstractEvolutionaryAlgorithmLanguageIdeModule extends DefaultIdeModule {
+public abstract class AbstractOptimisationLanguageIdeModule extends DefaultIdeModule {
 
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public void configureContentAssistLexer(Binder binder) {
 		binder.bind(Lexer.class)
 			.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
-			.to(InternalEvolutionaryAlgorithmLanguageLexer.class);
+			.to(InternalOptimisationLanguageLexer.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public Class<? extends IContentAssistParser> bindIContentAssistParser() {
-		return EvolutionaryAlgorithmLanguageParser.class;
+		return OptimisationLanguageParser.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/EvolutionaryAlgorithmLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/OptimisationLanguageParser.java
similarity index 90%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/EvolutionaryAlgorithmLanguageParser.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/OptimisationLanguageParser.java
index cdf8b76f0358b764f4b8cc14bc146cd7677a0b45..009100e84e77e7ddbe67fd1216b039db97d2eb03 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/EvolutionaryAlgorithmLanguageParser.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/OptimisationLanguageParser.java
@@ -1,19 +1,19 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal.InternalEvolutionaryAlgorithmLanguageParser;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal.InternalOptimisationLanguageParser;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 import java.util.Map;
 import org.eclipse.xtext.AbstractElement;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;
 
-public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistParser {
+public class OptimisationLanguageParser extends AbstractContentAssistParser {
 
 	@Singleton
 	public static final class NameMappings {
@@ -21,7 +21,7 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 		private final Map<AbstractElement, String> mappings;
 		
 		@Inject
-		public NameMappings(EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+		public NameMappings(OptimisationLanguageGrammarAccess grammarAccess) {
 			ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder();
 			init(builder, grammarAccess);
 			this.mappings = builder.build();
@@ -31,7 +31,7 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 			return mappings.get(element);
 		}
 		
-		private static void init(ImmutableMap.Builder<AbstractElement, String> builder, EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+		private static void init(ImmutableMap.Builder<AbstractElement, String> builder, OptimisationLanguageGrammarAccess grammarAccess) {
 			builder.put(grammarAccess.getNameOrMiscRuleAccess().getAlternatives(), "rule__NameOrMiscRule__Alternatives");
 			builder.put(grammarAccess.getValueRuleAccess().getAlternatives(), "rule__ValueRule__Alternatives");
 			builder.put(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives(), "rule__LiteralOrReferenceRule__Alternatives");
@@ -43,7 +43,7 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 			builder.put(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives(), "rule__AddOrSubtractOperatorRule__Alternatives");
 			builder.put(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives(), "rule__MultiplyDivideModuloOperatorRule__Alternatives");
 			builder.put(grammarAccess.getFactorRuleAccess().getAlternatives(), "rule__FactorRule__Alternatives");
-			builder.put(grammarAccess.getEAModelRuleAccess().getGroup(), "rule__EAModelRule__Group__0");
+			builder.put(grammarAccess.getOptimisationModelRuleAccess().getGroup(), "rule__OptimisationModelRule__Group__0");
 			builder.put(grammarAccess.getUseRuleAccess().getGroup(), "rule__UseRule__Group__0");
 			builder.put(grammarAccess.getConstraintRuleAccess().getGroup(), "rule__ConstraintRule__Group__0");
 			builder.put(grammarAccess.getConstraintStatementRuleAccess().getGroup(), "rule__ConstraintStatementRule__Group__0");
@@ -78,9 +78,9 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 			builder.put(grammarAccess.getDoubleLiteralRuleAccess().getGroup(), "rule__DoubleLiteralRule__Group__0");
 			builder.put(grammarAccess.getIntegerLiteralRuleAccess().getGroup(), "rule__IntegerLiteralRule__Group__0");
 			builder.put(grammarAccess.getBooleanLiteralRuleAccess().getGroup(), "rule__BooleanLiteralRule__Group__0");
-			builder.put(grammarAccess.getEAModelRuleAccess().getUsesAssignment_0(), "rule__EAModelRule__UsesAssignment_0");
-			builder.put(grammarAccess.getEAModelRuleAccess().getInstanceAssignment_1(), "rule__EAModelRule__InstanceAssignment_1");
-			builder.put(grammarAccess.getEAModelRuleAccess().getConstraintsAssignment_2(), "rule__EAModelRule__ConstraintsAssignment_2");
+			builder.put(grammarAccess.getOptimisationModelRuleAccess().getUsesAssignment_0(), "rule__OptimisationModelRule__UsesAssignment_0");
+			builder.put(grammarAccess.getOptimisationModelRuleAccess().getInstanceAssignment_1(), "rule__OptimisationModelRule__InstanceAssignment_1");
+			builder.put(grammarAccess.getOptimisationModelRuleAccess().getConstraintsAssignment_2(), "rule__OptimisationModelRule__ConstraintsAssignment_2");
 			builder.put(grammarAccess.getUseRuleAccess().getImportURIAssignment_1(), "rule__UseRule__ImportURIAssignment_1");
 			builder.put(grammarAccess.getConstraintRuleAccess().getStatementsAssignment_3(), "rule__ConstraintRule__StatementsAssignment_3");
 			builder.put(grammarAccess.getConstraintStatementRuleAccess().getConstraintExpressionAssignment_0(), "rule__ConstraintStatementRule__ConstraintExpressionAssignment_0");
@@ -134,11 +134,11 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 	private NameMappings nameMappings;
 
 	@Inject
-	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+	private OptimisationLanguageGrammarAccess grammarAccess;
 
 	@Override
-	protected InternalEvolutionaryAlgorithmLanguageParser createParser() {
-		InternalEvolutionaryAlgorithmLanguageParser result = new InternalEvolutionaryAlgorithmLanguageParser(null);
+	protected InternalOptimisationLanguageParser createParser() {
+		InternalOptimisationLanguageParser result = new InternalOptimisationLanguageParser(null);
 		result.setGrammarAccess(grammarAccess);
 		return result;
 	}
@@ -153,11 +153,11 @@ public class EvolutionaryAlgorithmLanguageParser extends AbstractContentAssistPa
 		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
 	}
 
-	public EvolutionaryAlgorithmLanguageGrammarAccess getGrammarAccess() {
+	public OptimisationLanguageGrammarAccess getGrammarAccess() {
 		return this.grammarAccess;
 	}
 
-	public void setGrammarAccess(EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+	public void setGrammarAccess(OptimisationLanguageGrammarAccess grammarAccess) {
 		this.grammarAccess = grammarAccess;
 	}
 	
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/PartialEvolutionaryAlgorithmLanguageContentAssistParser.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/PartialOptimisationLanguageContentAssistParser.java
similarity index 81%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/PartialEvolutionaryAlgorithmLanguageContentAssistParser.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/PartialOptimisationLanguageContentAssistParser.java
index ced4cde8c53f308286892525a5bd388bbad94566..dadf6420cfcd0860e3d1547843255d53e2d653ac 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/PartialEvolutionaryAlgorithmLanguageContentAssistParser.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/PartialOptimisationLanguageContentAssistParser.java
@@ -1,8 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -11,7 +11,7 @@ import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
 import org.eclipse.xtext.util.PolymorphicDispatcher;
 
-public class PartialEvolutionaryAlgorithmLanguageContentAssistParser extends EvolutionaryAlgorithmLanguageParser {
+public class PartialOptimisationLanguageContentAssistParser extends OptimisationLanguageParser {
 
 	private AbstractRule rule;
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g
similarity index 97%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g
index 6f1c3ebe5cc7895475a5208b6288cf734ae58cc9..e37f3b977e5c59b47c1795c9bb14d7e3854240c1 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.g
@@ -1,15 +1,15 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-grammar InternalEvolutionaryAlgorithmLanguage;
+grammar InternalOptimisationLanguage;
 
 options {
 	superClass=AbstractInternalContentAssistParser;
 }
 
 @lexer::header {
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
 // Currently there is no other way to specify the superclass for the lexer.
@@ -17,7 +17,7 @@ import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer;
 }
 
 @parser::header {
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal;
 
 import java.io.InputStream;
 import org.eclipse.xtext.*;
@@ -29,13 +29,13 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 
 }
 @parser::members {
-	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+	private OptimisationLanguageGrammarAccess grammarAccess;
 
-	public void setGrammarAccess(EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+	public void setGrammarAccess(OptimisationLanguageGrammarAccess grammarAccess) {
 		this.grammarAccess = grammarAccess;
 	}
 
@@ -50,25 +50,25 @@ import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGr
 	}
 }
 
-// Entry rule entryRuleEAModelRule
-entryRuleEAModelRule
+// Entry rule entryRuleOptimisationModelRule
+entryRuleOptimisationModelRule
 :
-{ before(grammarAccess.getEAModelRuleRule()); }
-	 ruleEAModelRule
-{ after(grammarAccess.getEAModelRuleRule()); } 
+{ before(grammarAccess.getOptimisationModelRuleRule()); }
+	 ruleOptimisationModelRule
+{ after(grammarAccess.getOptimisationModelRuleRule()); } 
 	 EOF 
 ;
 
-// Rule EAModelRule
-ruleEAModelRule 
+// Rule OptimisationModelRule
+ruleOptimisationModelRule 
 	@init {
 		int stackSize = keepStackSize();
 	}
 	:
 	(
-		{ before(grammarAccess.getEAModelRuleAccess().getGroup()); }
-		(rule__EAModelRule__Group__0)
-		{ after(grammarAccess.getEAModelRuleAccess().getGroup()); }
+		{ before(grammarAccess.getOptimisationModelRuleAccess().getGroup()); }
+		(rule__OptimisationModelRule__Group__0)
+		{ after(grammarAccess.getOptimisationModelRuleAccess().getGroup()); }
 	)
 ;
 finally {
@@ -1413,80 +1413,80 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__0
+rule__OptimisationModelRule__Group__0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__EAModelRule__Group__0__Impl
-	rule__EAModelRule__Group__1
+	rule__OptimisationModelRule__Group__0__Impl
+	rule__OptimisationModelRule__Group__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__0__Impl
+rule__OptimisationModelRule__Group__0__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getEAModelRuleAccess().getUsesAssignment_0()); }
-	(rule__EAModelRule__UsesAssignment_0)*
-	{ after(grammarAccess.getEAModelRuleAccess().getUsesAssignment_0()); }
+	{ before(grammarAccess.getOptimisationModelRuleAccess().getUsesAssignment_0()); }
+	(rule__OptimisationModelRule__UsesAssignment_0)*
+	{ after(grammarAccess.getOptimisationModelRuleAccess().getUsesAssignment_0()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__1
+rule__OptimisationModelRule__Group__1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__EAModelRule__Group__1__Impl
-	rule__EAModelRule__Group__2
+	rule__OptimisationModelRule__Group__1__Impl
+	rule__OptimisationModelRule__Group__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__1__Impl
+rule__OptimisationModelRule__Group__1__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getEAModelRuleAccess().getInstanceAssignment_1()); }
-	(rule__EAModelRule__InstanceAssignment_1)
-	{ after(grammarAccess.getEAModelRuleAccess().getInstanceAssignment_1()); }
+	{ before(grammarAccess.getOptimisationModelRuleAccess().getInstanceAssignment_1()); }
+	(rule__OptimisationModelRule__InstanceAssignment_1)
+	{ after(grammarAccess.getOptimisationModelRuleAccess().getInstanceAssignment_1()); }
 )
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__2
+rule__OptimisationModelRule__Group__2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
-	rule__EAModelRule__Group__2__Impl
+	rule__OptimisationModelRule__Group__2__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__Group__2__Impl
+rule__OptimisationModelRule__Group__2__Impl
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 (
-	{ before(grammarAccess.getEAModelRuleAccess().getConstraintsAssignment_2()); }
-	(rule__EAModelRule__ConstraintsAssignment_2)?
-	{ after(grammarAccess.getEAModelRuleAccess().getConstraintsAssignment_2()); }
+	{ before(grammarAccess.getOptimisationModelRuleAccess().getConstraintsAssignment_2()); }
+	(rule__OptimisationModelRule__ConstraintsAssignment_2)?
+	{ after(grammarAccess.getOptimisationModelRuleAccess().getConstraintsAssignment_2()); }
 )
 ;
 finally {
@@ -3681,45 +3681,45 @@ finally {
 }
 
 
-rule__EAModelRule__UsesAssignment_0
+rule__OptimisationModelRule__UsesAssignment_0
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); }
+		{ before(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); }
 		ruleUseRule
-		{ after(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); }
+		{ after(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__InstanceAssignment_1
+rule__OptimisationModelRule__InstanceAssignment_1
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); }
+		{ before(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); }
 		ruleInstanceRule
-		{ after(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); }
+		{ after(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); }
 	)
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__EAModelRule__ConstraintsAssignment_2
+rule__OptimisationModelRule__ConstraintsAssignment_2
 	@init {
 		int stackSize = keepStackSize();
 	}
 :
 	(
-		{ before(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); }
+		{ before(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); }
 		ruleConstraintRule
-		{ after(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); }
+		{ after(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); }
 	)
 ;
 finally {
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguage.tokens b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.tokens
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguage.tokens
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguage.tokens
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageLexer.java
similarity index 77%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageLexer.java
index b94beb9ff91f018f84f5cdbf3fec16d03a38d321..5d34deacc99b1e7b77633c7a27f5962db912cbd5 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageLexer.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
 // Currently there is no other way to specify the superclass for the lexer.
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 @SuppressWarnings("all")
-public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
+public class InternalOptimisationLanguageLexer extends Lexer {
     public static final int T__50=50;
     public static final int T__19=19;
     public static final int T__15=15;
@@ -79,23 +79,23 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // delegates
     // delegators
 
-    public InternalEvolutionaryAlgorithmLanguageLexer() {;} 
-    public InternalEvolutionaryAlgorithmLanguageLexer(CharStream input) {
+    public InternalOptimisationLanguageLexer() {;} 
+    public InternalOptimisationLanguageLexer(CharStream input) {
         this(input, new RecognizerSharedState());
     }
-    public InternalEvolutionaryAlgorithmLanguageLexer(CharStream input, RecognizerSharedState state) {
+    public InternalOptimisationLanguageLexer(CharStream input, RecognizerSharedState state) {
         super(input,state);
 
     }
-    public String getGrammarFileName() { return "InternalEvolutionaryAlgorithmLanguage.g"; }
+    public String getGrammarFileName() { return "InternalOptimisationLanguage.g"; }
 
     // $ANTLR start "T__15"
     public final void mT__15() throws RecognitionException {
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:11:7: ( 'false' )
-            // InternalEvolutionaryAlgorithmLanguage.g:11:9: 'false'
+            // InternalOptimisationLanguage.g:11:7: ( 'false' )
+            // InternalOptimisationLanguage.g:11:9: 'false'
             {
             match("false"); 
 
@@ -115,8 +115,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:12:7: ( '>=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:12:9: '>='
+            // InternalOptimisationLanguage.g:12:7: ( '>=' )
+            // InternalOptimisationLanguage.g:12:9: '>='
             {
             match(">="); 
 
@@ -136,8 +136,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:13:7: ( '>' )
-            // InternalEvolutionaryAlgorithmLanguage.g:13:9: '>'
+            // InternalOptimisationLanguage.g:13:7: ( '>' )
+            // InternalOptimisationLanguage.g:13:9: '>'
             {
             match('>'); 
 
@@ -156,8 +156,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:14:7: ( '=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:14:9: '='
+            // InternalOptimisationLanguage.g:14:7: ( '=' )
+            // InternalOptimisationLanguage.g:14:9: '='
             {
             match('='); 
 
@@ -176,8 +176,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:15:7: ( '!=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:15:9: '!='
+            // InternalOptimisationLanguage.g:15:7: ( '!=' )
+            // InternalOptimisationLanguage.g:15:9: '!='
             {
             match("!="); 
 
@@ -197,8 +197,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:16:7: ( '<' )
-            // InternalEvolutionaryAlgorithmLanguage.g:16:9: '<'
+            // InternalOptimisationLanguage.g:16:7: ( '<' )
+            // InternalOptimisationLanguage.g:16:9: '<'
             {
             match('<'); 
 
@@ -217,8 +217,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:17:7: ( '<=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:17:9: '<='
+            // InternalOptimisationLanguage.g:17:7: ( '<=' )
+            // InternalOptimisationLanguage.g:17:9: '<='
             {
             match("<="); 
 
@@ -238,8 +238,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:18:7: ( '+' )
-            // InternalEvolutionaryAlgorithmLanguage.g:18:9: '+'
+            // InternalOptimisationLanguage.g:18:7: ( '+' )
+            // InternalOptimisationLanguage.g:18:9: '+'
             {
             match('+'); 
 
@@ -258,8 +258,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:19:7: ( '-' )
-            // InternalEvolutionaryAlgorithmLanguage.g:19:9: '-'
+            // InternalOptimisationLanguage.g:19:7: ( '-' )
+            // InternalOptimisationLanguage.g:19:9: '-'
             {
             match('-'); 
 
@@ -278,8 +278,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:20:7: ( '*' )
-            // InternalEvolutionaryAlgorithmLanguage.g:20:9: '*'
+            // InternalOptimisationLanguage.g:20:7: ( '*' )
+            // InternalOptimisationLanguage.g:20:9: '*'
             {
             match('*'); 
 
@@ -298,8 +298,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:21:7: ( '/' )
-            // InternalEvolutionaryAlgorithmLanguage.g:21:9: '/'
+            // InternalOptimisationLanguage.g:21:7: ( '/' )
+            // InternalOptimisationLanguage.g:21:9: '/'
             {
             match('/'); 
 
@@ -318,8 +318,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:22:7: ( '%' )
-            // InternalEvolutionaryAlgorithmLanguage.g:22:9: '%'
+            // InternalOptimisationLanguage.g:22:7: ( '%' )
+            // InternalOptimisationLanguage.g:22:9: '%'
             {
             match('%'); 
 
@@ -338,8 +338,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:23:7: ( 'Y' )
-            // InternalEvolutionaryAlgorithmLanguage.g:23:9: 'Y'
+            // InternalOptimisationLanguage.g:23:7: ( 'Y' )
+            // InternalOptimisationLanguage.g:23:9: 'Y'
             {
             match('Y'); 
 
@@ -358,8 +358,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:24:7: ( 'Z' )
-            // InternalEvolutionaryAlgorithmLanguage.g:24:9: 'Z'
+            // InternalOptimisationLanguage.g:24:7: ( 'Z' )
+            // InternalOptimisationLanguage.g:24:9: 'Z'
             {
             match('Z'); 
 
@@ -378,8 +378,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:25:7: ( 'E' )
-            // InternalEvolutionaryAlgorithmLanguage.g:25:9: 'E'
+            // InternalOptimisationLanguage.g:25:7: ( 'E' )
+            // InternalOptimisationLanguage.g:25:9: 'E'
             {
             match('E'); 
 
@@ -398,8 +398,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:26:7: ( 'P' )
-            // InternalEvolutionaryAlgorithmLanguage.g:26:9: 'P'
+            // InternalOptimisationLanguage.g:26:7: ( 'P' )
+            // InternalOptimisationLanguage.g:26:9: 'P'
             {
             match('P'); 
 
@@ -418,8 +418,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:27:7: ( 'T' )
-            // InternalEvolutionaryAlgorithmLanguage.g:27:9: 'T'
+            // InternalOptimisationLanguage.g:27:7: ( 'T' )
+            // InternalOptimisationLanguage.g:27:9: 'T'
             {
             match('T'); 
 
@@ -438,8 +438,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:28:7: ( 'G' )
-            // InternalEvolutionaryAlgorithmLanguage.g:28:9: 'G'
+            // InternalOptimisationLanguage.g:28:7: ( 'G' )
+            // InternalOptimisationLanguage.g:28:9: 'G'
             {
             match('G'); 
 
@@ -458,8 +458,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:29:7: ( 'M' )
-            // InternalEvolutionaryAlgorithmLanguage.g:29:9: 'M'
+            // InternalOptimisationLanguage.g:29:7: ( 'M' )
+            // InternalOptimisationLanguage.g:29:9: 'M'
             {
             match('M'); 
 
@@ -478,8 +478,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:30:7: ( 'k' )
-            // InternalEvolutionaryAlgorithmLanguage.g:30:9: 'k'
+            // InternalOptimisationLanguage.g:30:7: ( 'k' )
+            // InternalOptimisationLanguage.g:30:9: 'k'
             {
             match('k'); 
 
@@ -498,8 +498,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:31:7: ( 'h' )
-            // InternalEvolutionaryAlgorithmLanguage.g:31:9: 'h'
+            // InternalOptimisationLanguage.g:31:7: ( 'h' )
+            // InternalOptimisationLanguage.g:31:9: 'h'
             {
             match('h'); 
 
@@ -518,8 +518,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:32:7: ( 'da' )
-            // InternalEvolutionaryAlgorithmLanguage.g:32:9: 'da'
+            // InternalOptimisationLanguage.g:32:7: ( 'da' )
+            // InternalOptimisationLanguage.g:32:9: 'da'
             {
             match("da"); 
 
@@ -539,8 +539,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:33:7: ( 'd' )
-            // InternalEvolutionaryAlgorithmLanguage.g:33:9: 'd'
+            // InternalOptimisationLanguage.g:33:7: ( 'd' )
+            // InternalOptimisationLanguage.g:33:9: 'd'
             {
             match('d'); 
 
@@ -559,8 +559,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:34:7: ( 'c' )
-            // InternalEvolutionaryAlgorithmLanguage.g:34:9: 'c'
+            // InternalOptimisationLanguage.g:34:7: ( 'c' )
+            // InternalOptimisationLanguage.g:34:9: 'c'
             {
             match('c'); 
 
@@ -579,8 +579,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:35:7: ( 'm' )
-            // InternalEvolutionaryAlgorithmLanguage.g:35:9: 'm'
+            // InternalOptimisationLanguage.g:35:7: ( 'm' )
+            // InternalOptimisationLanguage.g:35:9: 'm'
             {
             match('m'); 
 
@@ -599,8 +599,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:36:7: ( '\\u00B5' )
-            // InternalEvolutionaryAlgorithmLanguage.g:36:9: '\\u00B5'
+            // InternalOptimisationLanguage.g:36:7: ( '\\u00B5' )
+            // InternalOptimisationLanguage.g:36:9: '\\u00B5'
             {
             match('\u00B5'); 
 
@@ -619,8 +619,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:37:7: ( 'n' )
-            // InternalEvolutionaryAlgorithmLanguage.g:37:9: 'n'
+            // InternalOptimisationLanguage.g:37:7: ( 'n' )
+            // InternalOptimisationLanguage.g:37:9: 'n'
             {
             match('n'); 
 
@@ -639,8 +639,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:38:7: ( 'p' )
-            // InternalEvolutionaryAlgorithmLanguage.g:38:9: 'p'
+            // InternalOptimisationLanguage.g:38:7: ( 'p' )
+            // InternalOptimisationLanguage.g:38:9: 'p'
             {
             match('p'); 
 
@@ -659,8 +659,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:39:7: ( 'f' )
-            // InternalEvolutionaryAlgorithmLanguage.g:39:9: 'f'
+            // InternalOptimisationLanguage.g:39:7: ( 'f' )
+            // InternalOptimisationLanguage.g:39:9: 'f'
             {
             match('f'); 
 
@@ -679,8 +679,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:40:7: ( 'a' )
-            // InternalEvolutionaryAlgorithmLanguage.g:40:9: 'a'
+            // InternalOptimisationLanguage.g:40:7: ( 'a' )
+            // InternalOptimisationLanguage.g:40:9: 'a'
             {
             match('a'); 
 
@@ -699,8 +699,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:41:7: ( 'z' )
-            // InternalEvolutionaryAlgorithmLanguage.g:41:9: 'z'
+            // InternalOptimisationLanguage.g:41:7: ( 'z' )
+            // InternalOptimisationLanguage.g:41:9: 'z'
             {
             match('z'); 
 
@@ -719,8 +719,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:42:7: ( 'y' )
-            // InternalEvolutionaryAlgorithmLanguage.g:42:9: 'y'
+            // InternalOptimisationLanguage.g:42:7: ( 'y' )
+            // InternalOptimisationLanguage.g:42:9: 'y'
             {
             match('y'); 
 
@@ -739,8 +739,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:43:7: ( 'use' )
-            // InternalEvolutionaryAlgorithmLanguage.g:43:9: 'use'
+            // InternalOptimisationLanguage.g:43:7: ( 'use' )
+            // InternalOptimisationLanguage.g:43:9: 'use'
             {
             match("use"); 
 
@@ -760,8 +760,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:44:7: ( ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:44:9: ';'
+            // InternalOptimisationLanguage.g:44:7: ( ';' )
+            // InternalOptimisationLanguage.g:44:9: ';'
             {
             match(';'); 
 
@@ -780,8 +780,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:45:7: ( 'constraints' )
-            // InternalEvolutionaryAlgorithmLanguage.g:45:9: 'constraints'
+            // InternalOptimisationLanguage.g:45:7: ( 'constraints' )
+            // InternalOptimisationLanguage.g:45:9: 'constraints'
             {
             match("constraints"); 
 
@@ -801,8 +801,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:46:7: ( '{' )
-            // InternalEvolutionaryAlgorithmLanguage.g:46:9: '{'
+            // InternalOptimisationLanguage.g:46:7: ( '{' )
+            // InternalOptimisationLanguage.g:46:9: '{'
             {
             match('{'); 
 
@@ -821,8 +821,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:47:7: ( '}' )
-            // InternalEvolutionaryAlgorithmLanguage.g:47:9: '}'
+            // InternalOptimisationLanguage.g:47:7: ( '}' )
+            // InternalOptimisationLanguage.g:47:9: '}'
             {
             match('}'); 
 
@@ -841,8 +841,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:48:7: ( ':=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:48:9: ':='
+            // InternalOptimisationLanguage.g:48:7: ( ':=' )
+            // InternalOptimisationLanguage.g:48:9: ':='
             {
             match(":="); 
 
@@ -862,8 +862,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:49:7: ( '[' )
-            // InternalEvolutionaryAlgorithmLanguage.g:49:9: '['
+            // InternalOptimisationLanguage.g:49:7: ( '[' )
+            // InternalOptimisationLanguage.g:49:9: '['
             {
             match('['); 
 
@@ -882,8 +882,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:50:7: ( ']' )
-            // InternalEvolutionaryAlgorithmLanguage.g:50:9: ']'
+            // InternalOptimisationLanguage.g:50:7: ( ']' )
+            // InternalOptimisationLanguage.g:50:9: ']'
             {
             match(']'); 
 
@@ -902,8 +902,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:51:7: ( ',' )
-            // InternalEvolutionaryAlgorithmLanguage.g:51:9: ','
+            // InternalOptimisationLanguage.g:51:7: ( ',' )
+            // InternalOptimisationLanguage.g:51:9: ','
             {
             match(','); 
 
@@ -922,8 +922,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:52:7: ( 'data' )
-            // InternalEvolutionaryAlgorithmLanguage.g:52:9: 'data'
+            // InternalOptimisationLanguage.g:52:7: ( 'data' )
+            // InternalOptimisationLanguage.g:52:9: 'data'
             {
             match("data"); 
 
@@ -943,8 +943,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:53:7: ( 'OR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:53:9: 'OR'
+            // InternalOptimisationLanguage.g:53:7: ( 'OR' )
+            // InternalOptimisationLanguage.g:53:9: 'OR'
             {
             match("OR"); 
 
@@ -964,8 +964,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:54:7: ( 'XOR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:54:9: 'XOR'
+            // InternalOptimisationLanguage.g:54:7: ( 'XOR' )
+            // InternalOptimisationLanguage.g:54:9: 'XOR'
             {
             match("XOR"); 
 
@@ -985,8 +985,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:55:7: ( 'AND' )
-            // InternalEvolutionaryAlgorithmLanguage.g:55:9: 'AND'
+            // InternalOptimisationLanguage.g:55:7: ( 'AND' )
+            // InternalOptimisationLanguage.g:55:9: 'AND'
             {
             match("AND"); 
 
@@ -1006,8 +1006,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:56:7: ( '^' )
-            // InternalEvolutionaryAlgorithmLanguage.g:56:9: '^'
+            // InternalOptimisationLanguage.g:56:7: ( '^' )
+            // InternalOptimisationLanguage.g:56:9: '^'
             {
             match('^'); 
 
@@ -1026,8 +1026,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:57:7: ( '(' )
-            // InternalEvolutionaryAlgorithmLanguage.g:57:9: '('
+            // InternalOptimisationLanguage.g:57:7: ( '(' )
+            // InternalOptimisationLanguage.g:57:9: '('
             {
             match('('); 
 
@@ -1046,8 +1046,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:58:7: ( ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:58:9: ')'
+            // InternalOptimisationLanguage.g:58:7: ( ')' )
+            // InternalOptimisationLanguage.g:58:9: ')'
             {
             match(')'); 
 
@@ -1066,8 +1066,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:59:7: ( 'value' )
-            // InternalEvolutionaryAlgorithmLanguage.g:59:9: 'value'
+            // InternalOptimisationLanguage.g:59:7: ( 'value' )
+            // InternalOptimisationLanguage.g:59:9: 'value'
             {
             match("value"); 
 
@@ -1087,8 +1087,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:60:7: ( '!' )
-            // InternalEvolutionaryAlgorithmLanguage.g:60:9: '!'
+            // InternalOptimisationLanguage.g:60:7: ( '!' )
+            // InternalOptimisationLanguage.g:60:9: '!'
             {
             match('!'); 
 
@@ -1107,8 +1107,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:61:7: ( 'true' )
-            // InternalEvolutionaryAlgorithmLanguage.g:61:9: 'true'
+            // InternalOptimisationLanguage.g:61:7: ( 'true' )
+            // InternalOptimisationLanguage.g:61:9: 'true'
             {
             match("true"); 
 
@@ -1126,8 +1126,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR start "RULE_DIGIT"
     public final void mRULE_DIGIT() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4443:21: ( '0' .. '9' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4443:23: '0' .. '9'
+            // InternalOptimisationLanguage.g:4443:21: ( '0' .. '9' )
+            // InternalOptimisationLanguage.g:4443:23: '0' .. '9'
             {
             matchRange('0','9'); 
 
@@ -1142,11 +1142,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR start "RULE_EXPONENT"
     public final void mRULE_EXPONENT() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4445:24: ( 'e' ( '+' | '-' )? ( RULE_DIGIT )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:4445:26: 'e' ( '+' | '-' )? ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:4445:24: ( 'e' ( '+' | '-' )? ( RULE_DIGIT )+ )
+            // InternalOptimisationLanguage.g:4445:26: 'e' ( '+' | '-' )? ( RULE_DIGIT )+
             {
             match('e'); 
-            // InternalEvolutionaryAlgorithmLanguage.g:4445:30: ( '+' | '-' )?
+            // InternalOptimisationLanguage.g:4445:30: ( '+' | '-' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1155,7 +1155,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt1) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:
+                    // InternalOptimisationLanguage.g:
                     {
                     if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                         input.consume();
@@ -1172,7 +1172,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4445:41: ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:4445:41: ( RULE_DIGIT )+
             int cnt2=0;
             loop2:
             do {
@@ -1186,7 +1186,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt2) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4445:41: RULE_DIGIT
+            	    // InternalOptimisationLanguage.g:4445:41: RULE_DIGIT
             	    {
             	    mRULE_DIGIT(); 
 
@@ -1216,10 +1216,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4447:10: ( ( '-' )? ( RULE_DIGIT )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:4447:12: ( '-' )? ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:4447:10: ( ( '-' )? ( RULE_DIGIT )+ )
+            // InternalOptimisationLanguage.g:4447:12: ( '-' )? ( RULE_DIGIT )+
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4447:12: ( '-' )?
+            // InternalOptimisationLanguage.g:4447:12: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -1228,7 +1228,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt3) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:4447:12: '-'
+                    // InternalOptimisationLanguage.g:4447:12: '-'
                     {
                     match('-'); 
 
@@ -1237,7 +1237,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4447:17: ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:4447:17: ( RULE_DIGIT )+
             int cnt4=0;
             loop4:
             do {
@@ -1251,7 +1251,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt4) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4447:17: RULE_DIGIT
+            	    // InternalOptimisationLanguage.g:4447:17: RULE_DIGIT
             	    {
             	    mRULE_DIGIT(); 
 
@@ -1283,15 +1283,15 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_DOUBLE;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4449:13: ( ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4449:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
+            // InternalOptimisationLanguage.g:4449:13: ( ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? ) )
+            // InternalOptimisationLanguage.g:4449:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4449:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
+            // InternalOptimisationLanguage.g:4449:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
             int alt7=2;
             alt7 = dfa7.predict(input);
             switch (alt7) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:4449:16: RULE_INT RULE_EXPONENT
+                    // InternalOptimisationLanguage.g:4449:16: RULE_INT RULE_EXPONENT
                     {
                     mRULE_INT(); 
                     mRULE_EXPONENT(); 
@@ -1299,11 +1299,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:4449:39: RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )?
+                    // InternalOptimisationLanguage.g:4449:39: RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )?
                     {
                     mRULE_INT(); 
                     match('.'); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:4449:52: ( RULE_DIGIT )*
+                    // InternalOptimisationLanguage.g:4449:52: ( RULE_DIGIT )*
                     loop5:
                     do {
                         int alt5=2;
@@ -1316,7 +1316,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                         switch (alt5) {
                     	case 1 :
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:4449:52: RULE_DIGIT
+                    	    // InternalOptimisationLanguage.g:4449:52: RULE_DIGIT
                     	    {
                     	    mRULE_DIGIT(); 
 
@@ -1328,7 +1328,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                         }
                     } while (true);
 
-                    // InternalEvolutionaryAlgorithmLanguage.g:4449:64: ( RULE_EXPONENT )?
+                    // InternalOptimisationLanguage.g:4449:64: ( RULE_EXPONENT )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -1337,7 +1337,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     switch (alt6) {
                         case 1 :
-                            // InternalEvolutionaryAlgorithmLanguage.g:4449:64: RULE_EXPONENT
+                            // InternalOptimisationLanguage.g:4449:64: RULE_EXPONENT
                             {
                             mRULE_EXPONENT(); 
 
@@ -1368,11 +1368,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4451:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4451:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+            // InternalOptimisationLanguage.g:4451:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+            // InternalOptimisationLanguage.g:4451:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
             {
             match('\"'); 
-            // InternalEvolutionaryAlgorithmLanguage.g:4451:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+            // InternalOptimisationLanguage.g:4451:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
             loop8:
             do {
                 int alt8=3;
@@ -1388,7 +1388,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt8) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4451:20: '\\\\' .
+            	    // InternalOptimisationLanguage.g:4451:20: '\\\\' .
             	    {
             	    match('\\'); 
             	    matchAny(); 
@@ -1396,7 +1396,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             	    }
             	    break;
             	case 2 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4451:27: ~ ( ( '\\\\' | '\"' ) )
+            	    // InternalOptimisationLanguage.g:4451:27: ~ ( ( '\\\\' | '\"' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1433,11 +1433,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_QUOTED_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4453:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4453:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+            // InternalOptimisationLanguage.g:4453:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // InternalOptimisationLanguage.g:4453:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
             {
             match('\''); 
-            // InternalEvolutionaryAlgorithmLanguage.g:4453:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+            // InternalOptimisationLanguage.g:4453:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
             loop9:
             do {
                 int alt9=3;
@@ -1453,7 +1453,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt9) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4453:24: '\\\\' .
+            	    // InternalOptimisationLanguage.g:4453:24: '\\\\' .
             	    {
             	    match('\\'); 
             	    matchAny(); 
@@ -1461,7 +1461,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             	    }
             	    break;
             	case 2 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4453:31: ~ ( ( '\\\\' | '\\'' ) )
+            	    // InternalOptimisationLanguage.g:4453:31: ~ ( ( '\\\\' | '\\'' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1498,10 +1498,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4455:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:4455:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // InternalOptimisationLanguage.g:4455:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // InternalOptimisationLanguage.g:4455:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4455:11: ( '^' )?
+            // InternalOptimisationLanguage.g:4455:11: ( '^' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1510,7 +1510,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt10) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:4455:11: '^'
+                    // InternalOptimisationLanguage.g:4455:11: '^'
                     {
                     match('^'); 
 
@@ -1528,7 +1528,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                 recover(mse);
                 throw mse;}
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4455:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // InternalOptimisationLanguage.g:4455:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop11:
             do {
                 int alt11=2;
@@ -1541,7 +1541,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt11) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:
+            	    // InternalOptimisationLanguage.g:
             	    {
             	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
             	        input.consume();
@@ -1577,12 +1577,12 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4457:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4457:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalOptimisationLanguage.g:4457:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalOptimisationLanguage.g:4457:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4457:24: ( options {greedy=false; } : . )*
+            // InternalOptimisationLanguage.g:4457:24: ( options {greedy=false; } : . )*
             loop12:
             do {
                 int alt12=2;
@@ -1607,7 +1607,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt12) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4457:52: .
+            	    // InternalOptimisationLanguage.g:4457:52: .
             	    {
             	    matchAny(); 
 
@@ -1637,12 +1637,12 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4459:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:4459:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalOptimisationLanguage.g:4459:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalOptimisationLanguage.g:4459:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4459:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalOptimisationLanguage.g:4459:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop13:
             do {
                 int alt13=2;
@@ -1655,7 +1655,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt13) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:4459:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalOptimisationLanguage.g:4459:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1675,7 +1675,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                 }
             } while (true);
 
-            // InternalEvolutionaryAlgorithmLanguage.g:4459:40: ( ( '\\r' )? '\\n' )?
+            // InternalOptimisationLanguage.g:4459:40: ( ( '\\r' )? '\\n' )?
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -1684,9 +1684,9 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt15) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:4459:41: ( '\\r' )? '\\n'
+                    // InternalOptimisationLanguage.g:4459:41: ( '\\r' )? '\\n'
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:4459:41: ( '\\r' )?
+                    // InternalOptimisationLanguage.g:4459:41: ( '\\r' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -1695,7 +1695,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalEvolutionaryAlgorithmLanguage.g:4459:41: '\\r'
+                            // InternalOptimisationLanguage.g:4459:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1727,10 +1727,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4461:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:4461:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalOptimisationLanguage.g:4461:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalOptimisationLanguage.g:4461:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4461:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalOptimisationLanguage.g:4461:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt16=0;
             loop16:
             do {
@@ -1744,7 +1744,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:
+            	    // InternalOptimisationLanguage.g:
             	    {
             	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
             	        input.consume();
@@ -1784,8 +1784,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:4463:16: ( . )
-            // InternalEvolutionaryAlgorithmLanguage.g:4463:18: .
+            // InternalOptimisationLanguage.g:4463:16: ( . )
+            // InternalOptimisationLanguage.g:4463:18: .
             {
             matchAny(); 
 
@@ -1800,425 +1800,425 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalEvolutionaryAlgorithmLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_INT | RULE_DOUBLE | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        // InternalOptimisationLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_INT | RULE_DOUBLE | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
         int alt17=60;
         alt17 = dfa17.predict(input);
         switch (alt17) {
             case 1 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:10: T__15
+                // InternalOptimisationLanguage.g:1:10: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
             case 2 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:16: T__16
+                // InternalOptimisationLanguage.g:1:16: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
             case 3 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:22: T__17
+                // InternalOptimisationLanguage.g:1:22: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
             case 4 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:28: T__18
+                // InternalOptimisationLanguage.g:1:28: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
             case 5 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:34: T__19
+                // InternalOptimisationLanguage.g:1:34: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
             case 6 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:40: T__20
+                // InternalOptimisationLanguage.g:1:40: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
             case 7 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:46: T__21
+                // InternalOptimisationLanguage.g:1:46: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
             case 8 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:52: T__22
+                // InternalOptimisationLanguage.g:1:52: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
             case 9 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:58: T__23
+                // InternalOptimisationLanguage.g:1:58: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
             case 10 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:64: T__24
+                // InternalOptimisationLanguage.g:1:64: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
             case 11 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:70: T__25
+                // InternalOptimisationLanguage.g:1:70: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
             case 12 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:76: T__26
+                // InternalOptimisationLanguage.g:1:76: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
             case 13 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:82: T__27
+                // InternalOptimisationLanguage.g:1:82: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
             case 14 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:88: T__28
+                // InternalOptimisationLanguage.g:1:88: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
             case 15 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:94: T__29
+                // InternalOptimisationLanguage.g:1:94: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
             case 16 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:100: T__30
+                // InternalOptimisationLanguage.g:1:100: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
             case 17 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:106: T__31
+                // InternalOptimisationLanguage.g:1:106: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
             case 18 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:112: T__32
+                // InternalOptimisationLanguage.g:1:112: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
             case 19 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:118: T__33
+                // InternalOptimisationLanguage.g:1:118: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
             case 20 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:124: T__34
+                // InternalOptimisationLanguage.g:1:124: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
             case 21 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:130: T__35
+                // InternalOptimisationLanguage.g:1:130: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
             case 22 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:136: T__36
+                // InternalOptimisationLanguage.g:1:136: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
             case 23 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:142: T__37
+                // InternalOptimisationLanguage.g:1:142: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
             case 24 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:148: T__38
+                // InternalOptimisationLanguage.g:1:148: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
             case 25 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:154: T__39
+                // InternalOptimisationLanguage.g:1:154: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
             case 26 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:160: T__40
+                // InternalOptimisationLanguage.g:1:160: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
             case 27 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:166: T__41
+                // InternalOptimisationLanguage.g:1:166: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
             case 28 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:172: T__42
+                // InternalOptimisationLanguage.g:1:172: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
             case 29 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:178: T__43
+                // InternalOptimisationLanguage.g:1:178: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
             case 30 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:184: T__44
+                // InternalOptimisationLanguage.g:1:184: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
             case 31 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:190: T__45
+                // InternalOptimisationLanguage.g:1:190: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
             case 32 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:196: T__46
+                // InternalOptimisationLanguage.g:1:196: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
             case 33 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:202: T__47
+                // InternalOptimisationLanguage.g:1:202: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
             case 34 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:208: T__48
+                // InternalOptimisationLanguage.g:1:208: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
             case 35 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:214: T__49
+                // InternalOptimisationLanguage.g:1:214: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
             case 36 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:220: T__50
+                // InternalOptimisationLanguage.g:1:220: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
             case 37 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:226: T__51
+                // InternalOptimisationLanguage.g:1:226: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
             case 38 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:232: T__52
+                // InternalOptimisationLanguage.g:1:232: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
             case 39 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:238: T__53
+                // InternalOptimisationLanguage.g:1:238: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
             case 40 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:244: T__54
+                // InternalOptimisationLanguage.g:1:244: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
             case 41 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:250: T__55
+                // InternalOptimisationLanguage.g:1:250: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
             case 42 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:256: T__56
+                // InternalOptimisationLanguage.g:1:256: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
             case 43 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:262: T__57
+                // InternalOptimisationLanguage.g:1:262: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
             case 44 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:268: T__58
+                // InternalOptimisationLanguage.g:1:268: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
             case 45 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:274: T__59
+                // InternalOptimisationLanguage.g:1:274: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
             case 46 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:280: T__60
+                // InternalOptimisationLanguage.g:1:280: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
             case 47 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:286: T__61
+                // InternalOptimisationLanguage.g:1:286: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
             case 48 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:292: T__62
+                // InternalOptimisationLanguage.g:1:292: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
             case 49 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:298: T__63
+                // InternalOptimisationLanguage.g:1:298: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
             case 50 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:304: T__64
+                // InternalOptimisationLanguage.g:1:304: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
             case 51 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:310: T__65
+                // InternalOptimisationLanguage.g:1:310: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
             case 52 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:316: RULE_INT
+                // InternalOptimisationLanguage.g:1:316: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
             case 53 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:325: RULE_DOUBLE
+                // InternalOptimisationLanguage.g:1:325: RULE_DOUBLE
                 {
                 mRULE_DOUBLE(); 
 
                 }
                 break;
             case 54 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:337: RULE_STRING
+                // InternalOptimisationLanguage.g:1:337: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
             case 55 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:349: RULE_QUOTED_ID
+                // InternalOptimisationLanguage.g:1:349: RULE_QUOTED_ID
                 {
                 mRULE_QUOTED_ID(); 
 
                 }
                 break;
             case 56 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:364: RULE_ID
+                // InternalOptimisationLanguage.g:1:364: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
             case 57 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:372: RULE_ML_COMMENT
+                // InternalOptimisationLanguage.g:1:372: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
             case 58 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:388: RULE_SL_COMMENT
+                // InternalOptimisationLanguage.g:1:388: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
             case 59 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:404: RULE_WS
+                // InternalOptimisationLanguage.g:1:404: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
             case 60 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:412: RULE_ANY_OTHER
+                // InternalOptimisationLanguage.g:1:412: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java
similarity index 61%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java
index 6de7690ed82de2ffbb4acdd708224ba5230aa84d..55eb20f87ba11f490af02bda53d92c7c3d758064 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/src-gen/de/evoal/languages/model/eal/dsl/ide/contentassist/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src-gen/de/evoal/languages/model/ol/dsl/ide/contentassist/antlr/internal/InternalOptimisationLanguageParser.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal;
+package de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal;
 
 import java.io.InputStream;
 import org.eclipse.xtext.*;
@@ -10,7 +10,7 @@ import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
 import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 
 
 
@@ -20,7 +20,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 @SuppressWarnings("all")
-public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInternalContentAssistParser {
+public class InternalOptimisationLanguageParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
         "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_QUOTED_ID", "RULE_ID", "RULE_STRING", "RULE_DOUBLE", "RULE_INT", "RULE_DIGIT", "RULE_EXPONENT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'false'", "'>='", "'>'", "'='", "'!='", "'<'", "'<='", "'+'", "'-'", "'*'", "'/'", "'%'", "'Y'", "'Z'", "'E'", "'P'", "'T'", "'G'", "'M'", "'k'", "'h'", "'da'", "'d'", "'c'", "'m'", "'\\u00B5'", "'n'", "'p'", "'f'", "'a'", "'z'", "'y'", "'use'", "';'", "'constraints'", "'{'", "'}'", "':='", "'['", "']'", "','", "'data'", "'OR'", "'XOR'", "'AND'", "'^'", "'('", "')'", "'value'", "'!'", "'true'"
     };
@@ -92,22 +92,22 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
     // delegators
 
 
-        public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input) {
+        public InternalOptimisationLanguageParser(TokenStream input) {
             this(input, new RecognizerSharedState());
         }
-        public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input, RecognizerSharedState state) {
+        public InternalOptimisationLanguageParser(TokenStream input, RecognizerSharedState state) {
             super(input, state);
              
         }
         
 
-    public String[] getTokenNames() { return InternalEvolutionaryAlgorithmLanguageParser.tokenNames; }
-    public String getGrammarFileName() { return "InternalEvolutionaryAlgorithmLanguage.g"; }
+    public String[] getTokenNames() { return InternalOptimisationLanguageParser.tokenNames; }
+    public String getGrammarFileName() { return "InternalOptimisationLanguage.g"; }
 
 
-    	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+    	private OptimisationLanguageGrammarAccess grammarAccess;
 
-    	public void setGrammarAccess(EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+    	public void setGrammarAccess(OptimisationLanguageGrammarAccess grammarAccess) {
     		this.grammarAccess = grammarAccess;
     	}
 
@@ -123,20 +123,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
 
-    // $ANTLR start "entryRuleEAModelRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:54:1: entryRuleEAModelRule : ruleEAModelRule EOF ;
-    public final void entryRuleEAModelRule() throws RecognitionException {
+    // $ANTLR start "entryRuleOptimisationModelRule"
+    // InternalOptimisationLanguage.g:54:1: entryRuleOptimisationModelRule : ruleOptimisationModelRule EOF ;
+    public final void entryRuleOptimisationModelRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:55:1: ( ruleEAModelRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:56:1: ruleEAModelRule EOF
+            // InternalOptimisationLanguage.g:55:1: ( ruleOptimisationModelRule EOF )
+            // InternalOptimisationLanguage.g:56:1: ruleOptimisationModelRule EOF
             {
-             before(grammarAccess.getEAModelRuleRule()); 
+             before(grammarAccess.getOptimisationModelRuleRule()); 
             pushFollow(FOLLOW_1);
-            ruleEAModelRule();
+            ruleOptimisationModelRule();
 
             state._fsp--;
 
-             after(grammarAccess.getEAModelRuleRule()); 
+             after(grammarAccess.getOptimisationModelRuleRule()); 
             match(input,EOF,FOLLOW_2); 
 
             }
@@ -150,35 +150,35 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "entryRuleEAModelRule"
+    // $ANTLR end "entryRuleOptimisationModelRule"
 
 
-    // $ANTLR start "ruleEAModelRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:63:1: ruleEAModelRule : ( ( rule__EAModelRule__Group__0 ) ) ;
-    public final void ruleEAModelRule() throws RecognitionException {
+    // $ANTLR start "ruleOptimisationModelRule"
+    // InternalOptimisationLanguage.g:63:1: ruleOptimisationModelRule : ( ( rule__OptimisationModelRule__Group__0 ) ) ;
+    public final void ruleOptimisationModelRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:67:2: ( ( ( rule__EAModelRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:68:2: ( ( rule__EAModelRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:67:2: ( ( ( rule__OptimisationModelRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:68:2: ( ( rule__OptimisationModelRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:68:2: ( ( rule__EAModelRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:69:3: ( rule__EAModelRule__Group__0 )
+            // InternalOptimisationLanguage.g:68:2: ( ( rule__OptimisationModelRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:69:3: ( rule__OptimisationModelRule__Group__0 )
             {
-             before(grammarAccess.getEAModelRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:70:3: ( rule__EAModelRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:70:4: rule__EAModelRule__Group__0
+             before(grammarAccess.getOptimisationModelRuleAccess().getGroup()); 
+            // InternalOptimisationLanguage.g:70:3: ( rule__OptimisationModelRule__Group__0 )
+            // InternalOptimisationLanguage.g:70:4: rule__OptimisationModelRule__Group__0
             {
             pushFollow(FOLLOW_2);
-            rule__EAModelRule__Group__0();
+            rule__OptimisationModelRule__Group__0();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getEAModelRuleAccess().getGroup()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getGroup()); 
 
             }
 
@@ -197,15 +197,15 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "ruleEAModelRule"
+    // $ANTLR end "ruleOptimisationModelRule"
 
 
     // $ANTLR start "entryRuleUseRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:79:1: entryRuleUseRule : ruleUseRule EOF ;
+    // InternalOptimisationLanguage.g:79:1: entryRuleUseRule : ruleUseRule EOF ;
     public final void entryRuleUseRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:80:1: ( ruleUseRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:81:1: ruleUseRule EOF
+            // InternalOptimisationLanguage.g:80:1: ( ruleUseRule EOF )
+            // InternalOptimisationLanguage.g:81:1: ruleUseRule EOF
             {
              before(grammarAccess.getUseRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -231,21 +231,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleUseRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:88:1: ruleUseRule : ( ( rule__UseRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:88:1: ruleUseRule : ( ( rule__UseRule__Group__0 ) ) ;
     public final void ruleUseRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:92:2: ( ( ( rule__UseRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:93:2: ( ( rule__UseRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:92:2: ( ( ( rule__UseRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:93:2: ( ( rule__UseRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:93:2: ( ( rule__UseRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:94:3: ( rule__UseRule__Group__0 )
+            // InternalOptimisationLanguage.g:93:2: ( ( rule__UseRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:94:3: ( rule__UseRule__Group__0 )
             {
              before(grammarAccess.getUseRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:95:3: ( rule__UseRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:95:4: rule__UseRule__Group__0
+            // InternalOptimisationLanguage.g:95:3: ( rule__UseRule__Group__0 )
+            // InternalOptimisationLanguage.g:95:4: rule__UseRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__UseRule__Group__0();
@@ -278,11 +278,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleConstraintRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:104:1: entryRuleConstraintRule : ruleConstraintRule EOF ;
+    // InternalOptimisationLanguage.g:104:1: entryRuleConstraintRule : ruleConstraintRule EOF ;
     public final void entryRuleConstraintRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:105:1: ( ruleConstraintRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:106:1: ruleConstraintRule EOF
+            // InternalOptimisationLanguage.g:105:1: ( ruleConstraintRule EOF )
+            // InternalOptimisationLanguage.g:106:1: ruleConstraintRule EOF
             {
              before(grammarAccess.getConstraintRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -308,21 +308,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleConstraintRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:113:1: ruleConstraintRule : ( ( rule__ConstraintRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:113:1: ruleConstraintRule : ( ( rule__ConstraintRule__Group__0 ) ) ;
     public final void ruleConstraintRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:117:2: ( ( ( rule__ConstraintRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:118:2: ( ( rule__ConstraintRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:117:2: ( ( ( rule__ConstraintRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:118:2: ( ( rule__ConstraintRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:118:2: ( ( rule__ConstraintRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:119:3: ( rule__ConstraintRule__Group__0 )
+            // InternalOptimisationLanguage.g:118:2: ( ( rule__ConstraintRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:119:3: ( rule__ConstraintRule__Group__0 )
             {
              before(grammarAccess.getConstraintRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:120:3: ( rule__ConstraintRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:120:4: rule__ConstraintRule__Group__0
+            // InternalOptimisationLanguage.g:120:3: ( rule__ConstraintRule__Group__0 )
+            // InternalOptimisationLanguage.g:120:4: rule__ConstraintRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ConstraintRule__Group__0();
@@ -355,11 +355,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleConstraintStatementRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:129:1: entryRuleConstraintStatementRule : ruleConstraintStatementRule EOF ;
+    // InternalOptimisationLanguage.g:129:1: entryRuleConstraintStatementRule : ruleConstraintStatementRule EOF ;
     public final void entryRuleConstraintStatementRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:130:1: ( ruleConstraintStatementRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:131:1: ruleConstraintStatementRule EOF
+            // InternalOptimisationLanguage.g:130:1: ( ruleConstraintStatementRule EOF )
+            // InternalOptimisationLanguage.g:131:1: ruleConstraintStatementRule EOF
             {
              before(grammarAccess.getConstraintStatementRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -385,21 +385,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleConstraintStatementRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:138:1: ruleConstraintStatementRule : ( ( rule__ConstraintStatementRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:138:1: ruleConstraintStatementRule : ( ( rule__ConstraintStatementRule__Group__0 ) ) ;
     public final void ruleConstraintStatementRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:142:2: ( ( ( rule__ConstraintStatementRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:143:2: ( ( rule__ConstraintStatementRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:142:2: ( ( ( rule__ConstraintStatementRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:143:2: ( ( rule__ConstraintStatementRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:143:2: ( ( rule__ConstraintStatementRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:144:3: ( rule__ConstraintStatementRule__Group__0 )
+            // InternalOptimisationLanguage.g:143:2: ( ( rule__ConstraintStatementRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:144:3: ( rule__ConstraintStatementRule__Group__0 )
             {
              before(grammarAccess.getConstraintStatementRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:145:3: ( rule__ConstraintStatementRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:145:4: rule__ConstraintStatementRule__Group__0
+            // InternalOptimisationLanguage.g:145:3: ( rule__ConstraintStatementRule__Group__0 )
+            // InternalOptimisationLanguage.g:145:4: rule__ConstraintStatementRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ConstraintStatementRule__Group__0();
@@ -432,11 +432,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleFunctionNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:154:1: entryRuleFunctionNameRule : ruleFunctionNameRule EOF ;
+    // InternalOptimisationLanguage.g:154:1: entryRuleFunctionNameRule : ruleFunctionNameRule EOF ;
     public final void entryRuleFunctionNameRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:155:1: ( ruleFunctionNameRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:156:1: ruleFunctionNameRule EOF
+            // InternalOptimisationLanguage.g:155:1: ( ruleFunctionNameRule EOF )
+            // InternalOptimisationLanguage.g:156:1: ruleFunctionNameRule EOF
             {
              before(grammarAccess.getFunctionNameRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -462,21 +462,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleFunctionNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:163:1: ruleFunctionNameRule : ( ( rule__FunctionNameRule__DefinitionAssignment ) ) ;
+    // InternalOptimisationLanguage.g:163:1: ruleFunctionNameRule : ( ( rule__FunctionNameRule__DefinitionAssignment ) ) ;
     public final void ruleFunctionNameRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:167:2: ( ( ( rule__FunctionNameRule__DefinitionAssignment ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:168:2: ( ( rule__FunctionNameRule__DefinitionAssignment ) )
+            // InternalOptimisationLanguage.g:167:2: ( ( ( rule__FunctionNameRule__DefinitionAssignment ) ) )
+            // InternalOptimisationLanguage.g:168:2: ( ( rule__FunctionNameRule__DefinitionAssignment ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:168:2: ( ( rule__FunctionNameRule__DefinitionAssignment ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:169:3: ( rule__FunctionNameRule__DefinitionAssignment )
+            // InternalOptimisationLanguage.g:168:2: ( ( rule__FunctionNameRule__DefinitionAssignment ) )
+            // InternalOptimisationLanguage.g:169:3: ( rule__FunctionNameRule__DefinitionAssignment )
             {
              before(grammarAccess.getFunctionNameRuleAccess().getDefinitionAssignment()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:170:3: ( rule__FunctionNameRule__DefinitionAssignment )
-            // InternalEvolutionaryAlgorithmLanguage.g:170:4: rule__FunctionNameRule__DefinitionAssignment
+            // InternalOptimisationLanguage.g:170:3: ( rule__FunctionNameRule__DefinitionAssignment )
+            // InternalOptimisationLanguage.g:170:4: rule__FunctionNameRule__DefinitionAssignment
             {
             pushFollow(FOLLOW_2);
             rule__FunctionNameRule__DefinitionAssignment();
@@ -509,11 +509,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleInstanceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:179:1: entryRuleInstanceRule : ruleInstanceRule EOF ;
+    // InternalOptimisationLanguage.g:179:1: entryRuleInstanceRule : ruleInstanceRule EOF ;
     public final void entryRuleInstanceRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:180:1: ( ruleInstanceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:181:1: ruleInstanceRule EOF
+            // InternalOptimisationLanguage.g:180:1: ( ruleInstanceRule EOF )
+            // InternalOptimisationLanguage.g:181:1: ruleInstanceRule EOF
             {
              before(grammarAccess.getInstanceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -539,21 +539,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleInstanceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:188:1: ruleInstanceRule : ( ( rule__InstanceRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:188:1: ruleInstanceRule : ( ( rule__InstanceRule__Group__0 ) ) ;
     public final void ruleInstanceRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:192:2: ( ( ( rule__InstanceRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:193:2: ( ( rule__InstanceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:192:2: ( ( ( rule__InstanceRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:193:2: ( ( rule__InstanceRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:193:2: ( ( rule__InstanceRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:194:3: ( rule__InstanceRule__Group__0 )
+            // InternalOptimisationLanguage.g:193:2: ( ( rule__InstanceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:194:3: ( rule__InstanceRule__Group__0 )
             {
              before(grammarAccess.getInstanceRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:195:3: ( rule__InstanceRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:195:4: rule__InstanceRule__Group__0
+            // InternalOptimisationLanguage.g:195:3: ( rule__InstanceRule__Group__0 )
+            // InternalOptimisationLanguage.g:195:4: rule__InstanceRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__InstanceRule__Group__0();
@@ -586,11 +586,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAttributeRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:204:1: entryRuleAttributeRule : ruleAttributeRule EOF ;
+    // InternalOptimisationLanguage.g:204:1: entryRuleAttributeRule : ruleAttributeRule EOF ;
     public final void entryRuleAttributeRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:205:1: ( ruleAttributeRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:206:1: ruleAttributeRule EOF
+            // InternalOptimisationLanguage.g:205:1: ( ruleAttributeRule EOF )
+            // InternalOptimisationLanguage.g:206:1: ruleAttributeRule EOF
             {
              before(grammarAccess.getAttributeRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -616,21 +616,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAttributeRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:213:1: ruleAttributeRule : ( ( rule__AttributeRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:213:1: ruleAttributeRule : ( ( rule__AttributeRule__Group__0 ) ) ;
     public final void ruleAttributeRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:217:2: ( ( ( rule__AttributeRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:218:2: ( ( rule__AttributeRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:217:2: ( ( ( rule__AttributeRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:218:2: ( ( rule__AttributeRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:218:2: ( ( rule__AttributeRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:219:3: ( rule__AttributeRule__Group__0 )
+            // InternalOptimisationLanguage.g:218:2: ( ( rule__AttributeRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:219:3: ( rule__AttributeRule__Group__0 )
             {
              before(grammarAccess.getAttributeRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:220:3: ( rule__AttributeRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:220:4: rule__AttributeRule__Group__0
+            // InternalOptimisationLanguage.g:220:3: ( rule__AttributeRule__Group__0 )
+            // InternalOptimisationLanguage.g:220:4: rule__AttributeRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__AttributeRule__Group__0();
@@ -663,11 +663,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNameOrMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:229:1: entryRuleNameOrMiscRule : ruleNameOrMiscRule EOF ;
+    // InternalOptimisationLanguage.g:229:1: entryRuleNameOrMiscRule : ruleNameOrMiscRule EOF ;
     public final void entryRuleNameOrMiscRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:230:1: ( ruleNameOrMiscRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:231:1: ruleNameOrMiscRule EOF
+            // InternalOptimisationLanguage.g:230:1: ( ruleNameOrMiscRule EOF )
+            // InternalOptimisationLanguage.g:231:1: ruleNameOrMiscRule EOF
             {
              before(grammarAccess.getNameOrMiscRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -693,21 +693,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNameOrMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:238:1: ruleNameOrMiscRule : ( ( rule__NameOrMiscRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:238:1: ruleNameOrMiscRule : ( ( rule__NameOrMiscRule__Alternatives ) ) ;
     public final void ruleNameOrMiscRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:242:2: ( ( ( rule__NameOrMiscRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:243:2: ( ( rule__NameOrMiscRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:242:2: ( ( ( rule__NameOrMiscRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:243:2: ( ( rule__NameOrMiscRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:243:2: ( ( rule__NameOrMiscRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:244:3: ( rule__NameOrMiscRule__Alternatives )
+            // InternalOptimisationLanguage.g:243:2: ( ( rule__NameOrMiscRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:244:3: ( rule__NameOrMiscRule__Alternatives )
             {
              before(grammarAccess.getNameOrMiscRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:245:3: ( rule__NameOrMiscRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:245:4: rule__NameOrMiscRule__Alternatives
+            // InternalOptimisationLanguage.g:245:3: ( rule__NameOrMiscRule__Alternatives )
+            // InternalOptimisationLanguage.g:245:4: rule__NameOrMiscRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__NameOrMiscRule__Alternatives();
@@ -740,11 +740,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:254:1: entryRuleNameRule : ruleNameRule EOF ;
+    // InternalOptimisationLanguage.g:254:1: entryRuleNameRule : ruleNameRule EOF ;
     public final void entryRuleNameRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:255:1: ( ruleNameRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:256:1: ruleNameRule EOF
+            // InternalOptimisationLanguage.g:255:1: ( ruleNameRule EOF )
+            // InternalOptimisationLanguage.g:256:1: ruleNameRule EOF
             {
              before(grammarAccess.getNameRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -770,21 +770,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:263:1: ruleNameRule : ( ( rule__NameRule__NameAssignment ) ) ;
+    // InternalOptimisationLanguage.g:263:1: ruleNameRule : ( ( rule__NameRule__NameAssignment ) ) ;
     public final void ruleNameRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:267:2: ( ( ( rule__NameRule__NameAssignment ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:268:2: ( ( rule__NameRule__NameAssignment ) )
+            // InternalOptimisationLanguage.g:267:2: ( ( ( rule__NameRule__NameAssignment ) ) )
+            // InternalOptimisationLanguage.g:268:2: ( ( rule__NameRule__NameAssignment ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:268:2: ( ( rule__NameRule__NameAssignment ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:269:3: ( rule__NameRule__NameAssignment )
+            // InternalOptimisationLanguage.g:268:2: ( ( rule__NameRule__NameAssignment ) )
+            // InternalOptimisationLanguage.g:269:3: ( rule__NameRule__NameAssignment )
             {
              before(grammarAccess.getNameRuleAccess().getNameAssignment()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:270:3: ( rule__NameRule__NameAssignment )
-            // InternalEvolutionaryAlgorithmLanguage.g:270:4: rule__NameRule__NameAssignment
+            // InternalOptimisationLanguage.g:270:3: ( rule__NameRule__NameAssignment )
+            // InternalOptimisationLanguage.g:270:4: rule__NameRule__NameAssignment
             {
             pushFollow(FOLLOW_2);
             rule__NameRule__NameAssignment();
@@ -817,11 +817,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:279:1: entryRuleMiscRule : ruleMiscRule EOF ;
+    // InternalOptimisationLanguage.g:279:1: entryRuleMiscRule : ruleMiscRule EOF ;
     public final void entryRuleMiscRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:280:1: ( ruleMiscRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:281:1: ruleMiscRule EOF
+            // InternalOptimisationLanguage.g:280:1: ( ruleMiscRule EOF )
+            // InternalOptimisationLanguage.g:281:1: ruleMiscRule EOF
             {
              before(grammarAccess.getMiscRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -847,21 +847,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:288:1: ruleMiscRule : ( ( rule__MiscRule__NameAssignment ) ) ;
+    // InternalOptimisationLanguage.g:288:1: ruleMiscRule : ( ( rule__MiscRule__NameAssignment ) ) ;
     public final void ruleMiscRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:292:2: ( ( ( rule__MiscRule__NameAssignment ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:293:2: ( ( rule__MiscRule__NameAssignment ) )
+            // InternalOptimisationLanguage.g:292:2: ( ( ( rule__MiscRule__NameAssignment ) ) )
+            // InternalOptimisationLanguage.g:293:2: ( ( rule__MiscRule__NameAssignment ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:293:2: ( ( rule__MiscRule__NameAssignment ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:294:3: ( rule__MiscRule__NameAssignment )
+            // InternalOptimisationLanguage.g:293:2: ( ( rule__MiscRule__NameAssignment ) )
+            // InternalOptimisationLanguage.g:294:3: ( rule__MiscRule__NameAssignment )
             {
              before(grammarAccess.getMiscRuleAccess().getNameAssignment()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:295:3: ( rule__MiscRule__NameAssignment )
-            // InternalEvolutionaryAlgorithmLanguage.g:295:4: rule__MiscRule__NameAssignment
+            // InternalOptimisationLanguage.g:295:3: ( rule__MiscRule__NameAssignment )
+            // InternalOptimisationLanguage.g:295:4: rule__MiscRule__NameAssignment
             {
             pushFollow(FOLLOW_2);
             rule__MiscRule__NameAssignment();
@@ -894,11 +894,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:304:1: entryRuleValueRule : ruleValueRule EOF ;
+    // InternalOptimisationLanguage.g:304:1: entryRuleValueRule : ruleValueRule EOF ;
     public final void entryRuleValueRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:305:1: ( ruleValueRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:306:1: ruleValueRule EOF
+            // InternalOptimisationLanguage.g:305:1: ( ruleValueRule EOF )
+            // InternalOptimisationLanguage.g:306:1: ruleValueRule EOF
             {
              before(grammarAccess.getValueRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -924,21 +924,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:313:1: ruleValueRule : ( ( rule__ValueRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:313:1: ruleValueRule : ( ( rule__ValueRule__Alternatives ) ) ;
     public final void ruleValueRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:317:2: ( ( ( rule__ValueRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:318:2: ( ( rule__ValueRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:317:2: ( ( ( rule__ValueRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:318:2: ( ( rule__ValueRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:318:2: ( ( rule__ValueRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:319:3: ( rule__ValueRule__Alternatives )
+            // InternalOptimisationLanguage.g:318:2: ( ( rule__ValueRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:319:3: ( rule__ValueRule__Alternatives )
             {
              before(grammarAccess.getValueRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:320:3: ( rule__ValueRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:320:4: rule__ValueRule__Alternatives
+            // InternalOptimisationLanguage.g:320:3: ( rule__ValueRule__Alternatives )
+            // InternalOptimisationLanguage.g:320:4: rule__ValueRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__ValueRule__Alternatives();
@@ -971,11 +971,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleArrayRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:329:1: entryRuleArrayRule : ruleArrayRule EOF ;
+    // InternalOptimisationLanguage.g:329:1: entryRuleArrayRule : ruleArrayRule EOF ;
     public final void entryRuleArrayRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:330:1: ( ruleArrayRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:331:1: ruleArrayRule EOF
+            // InternalOptimisationLanguage.g:330:1: ( ruleArrayRule EOF )
+            // InternalOptimisationLanguage.g:331:1: ruleArrayRule EOF
             {
              before(grammarAccess.getArrayRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1001,21 +1001,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleArrayRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:338:1: ruleArrayRule : ( ( rule__ArrayRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:338:1: ruleArrayRule : ( ( rule__ArrayRule__Group__0 ) ) ;
     public final void ruleArrayRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:342:2: ( ( ( rule__ArrayRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:343:2: ( ( rule__ArrayRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:342:2: ( ( ( rule__ArrayRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:343:2: ( ( rule__ArrayRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:343:2: ( ( rule__ArrayRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:344:3: ( rule__ArrayRule__Group__0 )
+            // InternalOptimisationLanguage.g:343:2: ( ( rule__ArrayRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:344:3: ( rule__ArrayRule__Group__0 )
             {
              before(grammarAccess.getArrayRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:345:3: ( rule__ArrayRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:345:4: rule__ArrayRule__Group__0
+            // InternalOptimisationLanguage.g:345:3: ( rule__ArrayRule__Group__0 )
+            // InternalOptimisationLanguage.g:345:4: rule__ArrayRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__Group__0();
@@ -1048,11 +1048,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:354:1: entryRuleLiteralValueRule : ruleLiteralValueRule EOF ;
+    // InternalOptimisationLanguage.g:354:1: entryRuleLiteralValueRule : ruleLiteralValueRule EOF ;
     public final void entryRuleLiteralValueRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:355:1: ( ruleLiteralValueRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:356:1: ruleLiteralValueRule EOF
+            // InternalOptimisationLanguage.g:355:1: ( ruleLiteralValueRule EOF )
+            // InternalOptimisationLanguage.g:356:1: ruleLiteralValueRule EOF
             {
              before(grammarAccess.getLiteralValueRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1078,21 +1078,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:363:1: ruleLiteralValueRule : ( ( rule__LiteralValueRule__LiteralAssignment ) ) ;
+    // InternalOptimisationLanguage.g:363:1: ruleLiteralValueRule : ( ( rule__LiteralValueRule__LiteralAssignment ) ) ;
     public final void ruleLiteralValueRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:367:2: ( ( ( rule__LiteralValueRule__LiteralAssignment ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:368:2: ( ( rule__LiteralValueRule__LiteralAssignment ) )
+            // InternalOptimisationLanguage.g:367:2: ( ( ( rule__LiteralValueRule__LiteralAssignment ) ) )
+            // InternalOptimisationLanguage.g:368:2: ( ( rule__LiteralValueRule__LiteralAssignment ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:368:2: ( ( rule__LiteralValueRule__LiteralAssignment ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:369:3: ( rule__LiteralValueRule__LiteralAssignment )
+            // InternalOptimisationLanguage.g:368:2: ( ( rule__LiteralValueRule__LiteralAssignment ) )
+            // InternalOptimisationLanguage.g:369:3: ( rule__LiteralValueRule__LiteralAssignment )
             {
              before(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:370:3: ( rule__LiteralValueRule__LiteralAssignment )
-            // InternalEvolutionaryAlgorithmLanguage.g:370:4: rule__LiteralValueRule__LiteralAssignment
+            // InternalOptimisationLanguage.g:370:3: ( rule__LiteralValueRule__LiteralAssignment )
+            // InternalOptimisationLanguage.g:370:4: rule__LiteralValueRule__LiteralAssignment
             {
             pushFollow(FOLLOW_2);
             rule__LiteralValueRule__LiteralAssignment();
@@ -1125,11 +1125,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleDataReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:379:1: entryRuleDataReferenceRule : ruleDataReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:379:1: entryRuleDataReferenceRule : ruleDataReferenceRule EOF ;
     public final void entryRuleDataReferenceRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:380:1: ( ruleDataReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:381:1: ruleDataReferenceRule EOF
+            // InternalOptimisationLanguage.g:380:1: ( ruleDataReferenceRule EOF )
+            // InternalOptimisationLanguage.g:381:1: ruleDataReferenceRule EOF
             {
              before(grammarAccess.getDataReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1155,21 +1155,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleDataReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:388:1: ruleDataReferenceRule : ( ( rule__DataReferenceRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:388:1: ruleDataReferenceRule : ( ( rule__DataReferenceRule__Group__0 ) ) ;
     public final void ruleDataReferenceRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:392:2: ( ( ( rule__DataReferenceRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:393:2: ( ( rule__DataReferenceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:392:2: ( ( ( rule__DataReferenceRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:393:2: ( ( rule__DataReferenceRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:393:2: ( ( rule__DataReferenceRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:394:3: ( rule__DataReferenceRule__Group__0 )
+            // InternalOptimisationLanguage.g:393:2: ( ( rule__DataReferenceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:394:3: ( rule__DataReferenceRule__Group__0 )
             {
              before(grammarAccess.getDataReferenceRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:395:3: ( rule__DataReferenceRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:395:4: rule__DataReferenceRule__Group__0
+            // InternalOptimisationLanguage.g:395:3: ( rule__DataReferenceRule__Group__0 )
+            // InternalOptimisationLanguage.g:395:4: rule__DataReferenceRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__DataReferenceRule__Group__0();
@@ -1202,11 +1202,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:404:1: entryRuleExpressionRule : ruleExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:404:1: entryRuleExpressionRule : ruleExpressionRule EOF ;
     public final void entryRuleExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:405:1: ( ruleExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:406:1: ruleExpressionRule EOF
+            // InternalOptimisationLanguage.g:405:1: ( ruleExpressionRule EOF )
+            // InternalOptimisationLanguage.g:406:1: ruleExpressionRule EOF
             {
              before(grammarAccess.getExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1232,17 +1232,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:413:1: ruleExpressionRule : ( ruleOrExpressionRule ) ;
+    // InternalOptimisationLanguage.g:413:1: ruleExpressionRule : ( ruleOrExpressionRule ) ;
     public final void ruleExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:417:2: ( ( ruleOrExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:418:2: ( ruleOrExpressionRule )
+            // InternalOptimisationLanguage.g:417:2: ( ( ruleOrExpressionRule ) )
+            // InternalOptimisationLanguage.g:418:2: ( ruleOrExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:418:2: ( ruleOrExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:419:3: ruleOrExpressionRule
+            // InternalOptimisationLanguage.g:418:2: ( ruleOrExpressionRule )
+            // InternalOptimisationLanguage.g:419:3: ruleOrExpressionRule
             {
              before(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); 
             pushFollow(FOLLOW_2);
@@ -1273,11 +1273,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleOrExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:429:1: entryRuleOrExpressionRule : ruleOrExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:429:1: entryRuleOrExpressionRule : ruleOrExpressionRule EOF ;
     public final void entryRuleOrExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:430:1: ( ruleOrExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:431:1: ruleOrExpressionRule EOF
+            // InternalOptimisationLanguage.g:430:1: ( ruleOrExpressionRule EOF )
+            // InternalOptimisationLanguage.g:431:1: ruleOrExpressionRule EOF
             {
              before(grammarAccess.getOrExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1303,21 +1303,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleOrExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:438:1: ruleOrExpressionRule : ( ( rule__OrExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:438:1: ruleOrExpressionRule : ( ( rule__OrExpressionRule__Group__0 ) ) ;
     public final void ruleOrExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:442:2: ( ( ( rule__OrExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:443:2: ( ( rule__OrExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:442:2: ( ( ( rule__OrExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:443:2: ( ( rule__OrExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:443:2: ( ( rule__OrExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:444:3: ( rule__OrExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:443:2: ( ( rule__OrExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:444:3: ( rule__OrExpressionRule__Group__0 )
             {
              before(grammarAccess.getOrExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:445:3: ( rule__OrExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:445:4: rule__OrExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:445:3: ( rule__OrExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:445:4: rule__OrExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__OrExpressionRule__Group__0();
@@ -1350,11 +1350,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleXorExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:454:1: entryRuleXorExpressionRule : ruleXorExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:454:1: entryRuleXorExpressionRule : ruleXorExpressionRule EOF ;
     public final void entryRuleXorExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:455:1: ( ruleXorExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:456:1: ruleXorExpressionRule EOF
+            // InternalOptimisationLanguage.g:455:1: ( ruleXorExpressionRule EOF )
+            // InternalOptimisationLanguage.g:456:1: ruleXorExpressionRule EOF
             {
              before(grammarAccess.getXorExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1380,21 +1380,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleXorExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:463:1: ruleXorExpressionRule : ( ( rule__XorExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:463:1: ruleXorExpressionRule : ( ( rule__XorExpressionRule__Group__0 ) ) ;
     public final void ruleXorExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:467:2: ( ( ( rule__XorExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:468:2: ( ( rule__XorExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:467:2: ( ( ( rule__XorExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:468:2: ( ( rule__XorExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:468:2: ( ( rule__XorExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:469:3: ( rule__XorExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:468:2: ( ( rule__XorExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:469:3: ( rule__XorExpressionRule__Group__0 )
             {
              before(grammarAccess.getXorExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:470:3: ( rule__XorExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:470:4: rule__XorExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:470:3: ( rule__XorExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:470:4: rule__XorExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__XorExpressionRule__Group__0();
@@ -1427,11 +1427,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAndExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:479:1: entryRuleAndExpressionRule : ruleAndExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:479:1: entryRuleAndExpressionRule : ruleAndExpressionRule EOF ;
     public final void entryRuleAndExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:480:1: ( ruleAndExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:481:1: ruleAndExpressionRule EOF
+            // InternalOptimisationLanguage.g:480:1: ( ruleAndExpressionRule EOF )
+            // InternalOptimisationLanguage.g:481:1: ruleAndExpressionRule EOF
             {
              before(grammarAccess.getAndExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1457,21 +1457,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAndExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:488:1: ruleAndExpressionRule : ( ( rule__AndExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:488:1: ruleAndExpressionRule : ( ( rule__AndExpressionRule__Group__0 ) ) ;
     public final void ruleAndExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:492:2: ( ( ( rule__AndExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:493:2: ( ( rule__AndExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:492:2: ( ( ( rule__AndExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:493:2: ( ( rule__AndExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:493:2: ( ( rule__AndExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:494:3: ( rule__AndExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:493:2: ( ( rule__AndExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:494:3: ( rule__AndExpressionRule__Group__0 )
             {
              before(grammarAccess.getAndExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:495:3: ( rule__AndExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:495:4: rule__AndExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:495:3: ( rule__AndExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:495:4: rule__AndExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__AndExpressionRule__Group__0();
@@ -1504,11 +1504,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNotExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:504:1: entryRuleNotExpressionRule : ruleNotExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:504:1: entryRuleNotExpressionRule : ruleNotExpressionRule EOF ;
     public final void entryRuleNotExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:505:1: ( ruleNotExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:506:1: ruleNotExpressionRule EOF
+            // InternalOptimisationLanguage.g:505:1: ( ruleNotExpressionRule EOF )
+            // InternalOptimisationLanguage.g:506:1: ruleNotExpressionRule EOF
             {
              before(grammarAccess.getNotExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1534,21 +1534,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNotExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:513:1: ruleNotExpressionRule : ( ( rule__NotExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:513:1: ruleNotExpressionRule : ( ( rule__NotExpressionRule__Group__0 ) ) ;
     public final void ruleNotExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:517:2: ( ( ( rule__NotExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:518:2: ( ( rule__NotExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:517:2: ( ( ( rule__NotExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:518:2: ( ( rule__NotExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:518:2: ( ( rule__NotExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:519:3: ( rule__NotExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:518:2: ( ( rule__NotExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:519:3: ( rule__NotExpressionRule__Group__0 )
             {
              before(grammarAccess.getNotExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:520:3: ( rule__NotExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:520:4: rule__NotExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:520:3: ( rule__NotExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:520:4: rule__NotExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__NotExpressionRule__Group__0();
@@ -1581,11 +1581,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:529:1: entryRuleComparisonExpressionRule : ruleComparisonExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:529:1: entryRuleComparisonExpressionRule : ruleComparisonExpressionRule EOF ;
     public final void entryRuleComparisonExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:530:1: ( ruleComparisonExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:531:1: ruleComparisonExpressionRule EOF
+            // InternalOptimisationLanguage.g:530:1: ( ruleComparisonExpressionRule EOF )
+            // InternalOptimisationLanguage.g:531:1: ruleComparisonExpressionRule EOF
             {
              before(grammarAccess.getComparisonExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1611,21 +1611,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:538:1: ruleComparisonExpressionRule : ( ( rule__ComparisonExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:538:1: ruleComparisonExpressionRule : ( ( rule__ComparisonExpressionRule__Group__0 ) ) ;
     public final void ruleComparisonExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:542:2: ( ( ( rule__ComparisonExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:543:2: ( ( rule__ComparisonExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:542:2: ( ( ( rule__ComparisonExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:543:2: ( ( rule__ComparisonExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:543:2: ( ( rule__ComparisonExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:544:3: ( rule__ComparisonExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:543:2: ( ( rule__ComparisonExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:544:3: ( rule__ComparisonExpressionRule__Group__0 )
             {
              before(grammarAccess.getComparisonExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:545:3: ( rule__ComparisonExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:545:4: rule__ComparisonExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:545:3: ( rule__ComparisonExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:545:4: rule__ComparisonExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ComparisonExpressionRule__Group__0();
@@ -1658,11 +1658,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRulePartialComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:554:1: entryRulePartialComparisonExpressionRule : rulePartialComparisonExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:554:1: entryRulePartialComparisonExpressionRule : rulePartialComparisonExpressionRule EOF ;
     public final void entryRulePartialComparisonExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:555:1: ( rulePartialComparisonExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:556:1: rulePartialComparisonExpressionRule EOF
+            // InternalOptimisationLanguage.g:555:1: ( rulePartialComparisonExpressionRule EOF )
+            // InternalOptimisationLanguage.g:556:1: rulePartialComparisonExpressionRule EOF
             {
              before(grammarAccess.getPartialComparisonExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1688,21 +1688,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rulePartialComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:563:1: rulePartialComparisonExpressionRule : ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:563:1: rulePartialComparisonExpressionRule : ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) ;
     public final void rulePartialComparisonExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:567:2: ( ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:568:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:567:2: ( ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:568:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:568:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:569:3: ( rule__PartialComparisonExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:568:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:569:3: ( rule__PartialComparisonExpressionRule__Group__0 )
             {
              before(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:570:3: ( rule__PartialComparisonExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:570:4: rule__PartialComparisonExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:570:3: ( rule__PartialComparisonExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:570:4: rule__PartialComparisonExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__PartialComparisonExpressionRule__Group__0();
@@ -1735,11 +1735,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:579:1: entryRuleAddOrSubtractExpressionRule : ruleAddOrSubtractExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:579:1: entryRuleAddOrSubtractExpressionRule : ruleAddOrSubtractExpressionRule EOF ;
     public final void entryRuleAddOrSubtractExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:580:1: ( ruleAddOrSubtractExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:581:1: ruleAddOrSubtractExpressionRule EOF
+            // InternalOptimisationLanguage.g:580:1: ( ruleAddOrSubtractExpressionRule EOF )
+            // InternalOptimisationLanguage.g:581:1: ruleAddOrSubtractExpressionRule EOF
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1765,21 +1765,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:588:1: ruleAddOrSubtractExpressionRule : ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:588:1: ruleAddOrSubtractExpressionRule : ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) ;
     public final void ruleAddOrSubtractExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:592:2: ( ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:593:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:592:2: ( ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:593:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:593:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:594:3: ( rule__AddOrSubtractExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:593:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:594:3: ( rule__AddOrSubtractExpressionRule__Group__0 )
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:595:3: ( rule__AddOrSubtractExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:595:4: rule__AddOrSubtractExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:595:3: ( rule__AddOrSubtractExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:595:4: rule__AddOrSubtractExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__Group__0();
@@ -1812,11 +1812,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleMultiplyDivideModuloExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:604:1: entryRuleMultiplyDivideModuloExpressionRule : ruleMultiplyDivideModuloExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:604:1: entryRuleMultiplyDivideModuloExpressionRule : ruleMultiplyDivideModuloExpressionRule EOF ;
     public final void entryRuleMultiplyDivideModuloExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:605:1: ( ruleMultiplyDivideModuloExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:606:1: ruleMultiplyDivideModuloExpressionRule EOF
+            // InternalOptimisationLanguage.g:605:1: ( ruleMultiplyDivideModuloExpressionRule EOF )
+            // InternalOptimisationLanguage.g:606:1: ruleMultiplyDivideModuloExpressionRule EOF
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1842,21 +1842,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMultiplyDivideModuloExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:613:1: ruleMultiplyDivideModuloExpressionRule : ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:613:1: ruleMultiplyDivideModuloExpressionRule : ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) ;
     public final void ruleMultiplyDivideModuloExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:617:2: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:618:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:617:2: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:618:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:618:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:619:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:618:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:619:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 )
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:620:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:620:4: rule__MultiplyDivideModuloExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:620:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:620:4: rule__MultiplyDivideModuloExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__Group__0();
@@ -1889,11 +1889,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRulePowerOfExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:629:1: entryRulePowerOfExpressionRule : rulePowerOfExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:629:1: entryRulePowerOfExpressionRule : rulePowerOfExpressionRule EOF ;
     public final void entryRulePowerOfExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:630:1: ( rulePowerOfExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:631:1: rulePowerOfExpressionRule EOF
+            // InternalOptimisationLanguage.g:630:1: ( rulePowerOfExpressionRule EOF )
+            // InternalOptimisationLanguage.g:631:1: rulePowerOfExpressionRule EOF
             {
              before(grammarAccess.getPowerOfExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1919,21 +1919,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rulePowerOfExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:638:1: rulePowerOfExpressionRule : ( ( rule__PowerOfExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:638:1: rulePowerOfExpressionRule : ( ( rule__PowerOfExpressionRule__Group__0 ) ) ;
     public final void rulePowerOfExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:642:2: ( ( ( rule__PowerOfExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:643:2: ( ( rule__PowerOfExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:642:2: ( ( ( rule__PowerOfExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:643:2: ( ( rule__PowerOfExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:643:2: ( ( rule__PowerOfExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:644:3: ( rule__PowerOfExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:643:2: ( ( rule__PowerOfExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:644:3: ( rule__PowerOfExpressionRule__Group__0 )
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:645:3: ( rule__PowerOfExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:645:4: rule__PowerOfExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:645:3: ( rule__PowerOfExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:645:4: rule__PowerOfExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__PowerOfExpressionRule__Group__0();
@@ -1966,11 +1966,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleUnaryAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:654:1: entryRuleUnaryAddOrSubtractExpressionRule : ruleUnaryAddOrSubtractExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:654:1: entryRuleUnaryAddOrSubtractExpressionRule : ruleUnaryAddOrSubtractExpressionRule EOF ;
     public final void entryRuleUnaryAddOrSubtractExpressionRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:655:1: ( ruleUnaryAddOrSubtractExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:656:1: ruleUnaryAddOrSubtractExpressionRule EOF
+            // InternalOptimisationLanguage.g:655:1: ( ruleUnaryAddOrSubtractExpressionRule EOF )
+            // InternalOptimisationLanguage.g:656:1: ruleUnaryAddOrSubtractExpressionRule EOF
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1996,21 +1996,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleUnaryAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:663:1: ruleUnaryAddOrSubtractExpressionRule : ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:663:1: ruleUnaryAddOrSubtractExpressionRule : ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) ;
     public final void ruleUnaryAddOrSubtractExpressionRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:667:2: ( ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:668:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:667:2: ( ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:668:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:668:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:669:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:668:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:669:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 )
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:670:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:670:4: rule__UnaryAddOrSubtractExpressionRule__Group__0
+            // InternalOptimisationLanguage.g:670:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 )
+            // InternalOptimisationLanguage.g:670:4: rule__UnaryAddOrSubtractExpressionRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__UnaryAddOrSubtractExpressionRule__Group__0();
@@ -2043,11 +2043,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralOrReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:679:1: entryRuleLiteralOrReferenceRule : ruleLiteralOrReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:679:1: entryRuleLiteralOrReferenceRule : ruleLiteralOrReferenceRule EOF ;
     public final void entryRuleLiteralOrReferenceRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:680:1: ( ruleLiteralOrReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:681:1: ruleLiteralOrReferenceRule EOF
+            // InternalOptimisationLanguage.g:680:1: ( ruleLiteralOrReferenceRule EOF )
+            // InternalOptimisationLanguage.g:681:1: ruleLiteralOrReferenceRule EOF
             {
              before(grammarAccess.getLiteralOrReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2073,21 +2073,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralOrReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:688:1: ruleLiteralOrReferenceRule : ( ( rule__LiteralOrReferenceRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:688:1: ruleLiteralOrReferenceRule : ( ( rule__LiteralOrReferenceRule__Alternatives ) ) ;
     public final void ruleLiteralOrReferenceRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:692:2: ( ( ( rule__LiteralOrReferenceRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:693:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:692:2: ( ( ( rule__LiteralOrReferenceRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:693:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:693:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:694:3: ( rule__LiteralOrReferenceRule__Alternatives )
+            // InternalOptimisationLanguage.g:693:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:694:3: ( rule__LiteralOrReferenceRule__Alternatives )
             {
              before(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:695:3: ( rule__LiteralOrReferenceRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:695:4: rule__LiteralOrReferenceRule__Alternatives
+            // InternalOptimisationLanguage.g:695:3: ( rule__LiteralOrReferenceRule__Alternatives )
+            // InternalOptimisationLanguage.g:695:4: rule__LiteralOrReferenceRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__LiteralOrReferenceRule__Alternatives();
@@ -2120,11 +2120,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleParanthesesRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:704:1: entryRuleParanthesesRule : ruleParanthesesRule EOF ;
+    // InternalOptimisationLanguage.g:704:1: entryRuleParanthesesRule : ruleParanthesesRule EOF ;
     public final void entryRuleParanthesesRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:705:1: ( ruleParanthesesRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:706:1: ruleParanthesesRule EOF
+            // InternalOptimisationLanguage.g:705:1: ( ruleParanthesesRule EOF )
+            // InternalOptimisationLanguage.g:706:1: ruleParanthesesRule EOF
             {
              before(grammarAccess.getParanthesesRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2150,21 +2150,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleParanthesesRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:713:1: ruleParanthesesRule : ( ( rule__ParanthesesRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:713:1: ruleParanthesesRule : ( ( rule__ParanthesesRule__Group__0 ) ) ;
     public final void ruleParanthesesRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:717:2: ( ( ( rule__ParanthesesRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:718:2: ( ( rule__ParanthesesRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:717:2: ( ( ( rule__ParanthesesRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:718:2: ( ( rule__ParanthesesRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:718:2: ( ( rule__ParanthesesRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:719:3: ( rule__ParanthesesRule__Group__0 )
+            // InternalOptimisationLanguage.g:718:2: ( ( rule__ParanthesesRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:719:3: ( rule__ParanthesesRule__Group__0 )
             {
              before(grammarAccess.getParanthesesRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:720:3: ( rule__ParanthesesRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:720:4: rule__ParanthesesRule__Group__0
+            // InternalOptimisationLanguage.g:720:3: ( rule__ParanthesesRule__Group__0 )
+            // InternalOptimisationLanguage.g:720:4: rule__ParanthesesRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ParanthesesRule__Group__0();
@@ -2197,11 +2197,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleCallRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:729:1: entryRuleCallRule : ruleCallRule EOF ;
+    // InternalOptimisationLanguage.g:729:1: entryRuleCallRule : ruleCallRule EOF ;
     public final void entryRuleCallRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:730:1: ( ruleCallRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:731:1: ruleCallRule EOF
+            // InternalOptimisationLanguage.g:730:1: ( ruleCallRule EOF )
+            // InternalOptimisationLanguage.g:731:1: ruleCallRule EOF
             {
              before(grammarAccess.getCallRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2227,21 +2227,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleCallRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:738:1: ruleCallRule : ( ( rule__CallRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:738:1: ruleCallRule : ( ( rule__CallRule__Group__0 ) ) ;
     public final void ruleCallRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:742:2: ( ( ( rule__CallRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:743:2: ( ( rule__CallRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:742:2: ( ( ( rule__CallRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:743:2: ( ( rule__CallRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:743:2: ( ( rule__CallRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:744:3: ( rule__CallRule__Group__0 )
+            // InternalOptimisationLanguage.g:743:2: ( ( rule__CallRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:744:3: ( rule__CallRule__Group__0 )
             {
              before(grammarAccess.getCallRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:745:3: ( rule__CallRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:745:4: rule__CallRule__Group__0
+            // InternalOptimisationLanguage.g:745:3: ( rule__CallRule__Group__0 )
+            // InternalOptimisationLanguage.g:745:4: rule__CallRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__Group__0();
@@ -2274,11 +2274,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleValueReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:754:1: entryRuleValueReferenceRule : ruleValueReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:754:1: entryRuleValueReferenceRule : ruleValueReferenceRule EOF ;
     public final void entryRuleValueReferenceRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:755:1: ( ruleValueReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:756:1: ruleValueReferenceRule EOF
+            // InternalOptimisationLanguage.g:755:1: ( ruleValueReferenceRule EOF )
+            // InternalOptimisationLanguage.g:756:1: ruleValueReferenceRule EOF
             {
              before(grammarAccess.getValueReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2304,21 +2304,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleValueReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:763:1: ruleValueReferenceRule : ( ( rule__ValueReferenceRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:763:1: ruleValueReferenceRule : ( ( rule__ValueReferenceRule__Group__0 ) ) ;
     public final void ruleValueReferenceRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:767:2: ( ( ( rule__ValueReferenceRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:768:2: ( ( rule__ValueReferenceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:767:2: ( ( ( rule__ValueReferenceRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:768:2: ( ( rule__ValueReferenceRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:768:2: ( ( rule__ValueReferenceRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:769:3: ( rule__ValueReferenceRule__Group__0 )
+            // InternalOptimisationLanguage.g:768:2: ( ( rule__ValueReferenceRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:769:3: ( rule__ValueReferenceRule__Group__0 )
             {
              before(grammarAccess.getValueReferenceRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:770:3: ( rule__ValueReferenceRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:770:4: rule__ValueReferenceRule__Group__0
+            // InternalOptimisationLanguage.g:770:3: ( rule__ValueReferenceRule__Group__0 )
+            // InternalOptimisationLanguage.g:770:4: rule__ValueReferenceRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__ValueReferenceRule__Group__0();
@@ -2351,11 +2351,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:779:1: entryRuleLiteralRule : ruleLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:779:1: entryRuleLiteralRule : ruleLiteralRule EOF ;
     public final void entryRuleLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:780:1: ( ruleLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:781:1: ruleLiteralRule EOF
+            // InternalOptimisationLanguage.g:780:1: ( ruleLiteralRule EOF )
+            // InternalOptimisationLanguage.g:781:1: ruleLiteralRule EOF
             {
              before(grammarAccess.getLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2381,21 +2381,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:788:1: ruleLiteralRule : ( ( rule__LiteralRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:788:1: ruleLiteralRule : ( ( rule__LiteralRule__Alternatives ) ) ;
     public final void ruleLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:792:2: ( ( ( rule__LiteralRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:793:2: ( ( rule__LiteralRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:792:2: ( ( ( rule__LiteralRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:793:2: ( ( rule__LiteralRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:793:2: ( ( rule__LiteralRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:794:3: ( rule__LiteralRule__Alternatives )
+            // InternalOptimisationLanguage.g:793:2: ( ( rule__LiteralRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:794:3: ( rule__LiteralRule__Alternatives )
             {
              before(grammarAccess.getLiteralRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:795:3: ( rule__LiteralRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:795:4: rule__LiteralRule__Alternatives
+            // InternalOptimisationLanguage.g:795:3: ( rule__LiteralRule__Alternatives )
+            // InternalOptimisationLanguage.g:795:4: rule__LiteralRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__LiteralRule__Alternatives();
@@ -2428,11 +2428,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNumberLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:804:1: entryRuleNumberLiteralRule : ruleNumberLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:804:1: entryRuleNumberLiteralRule : ruleNumberLiteralRule EOF ;
     public final void entryRuleNumberLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:805:1: ( ruleNumberLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:806:1: ruleNumberLiteralRule EOF
+            // InternalOptimisationLanguage.g:805:1: ( ruleNumberLiteralRule EOF )
+            // InternalOptimisationLanguage.g:806:1: ruleNumberLiteralRule EOF
             {
              before(grammarAccess.getNumberLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2458,21 +2458,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNumberLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:813:1: ruleNumberLiteralRule : ( ( rule__NumberLiteralRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:813:1: ruleNumberLiteralRule : ( ( rule__NumberLiteralRule__Alternatives ) ) ;
     public final void ruleNumberLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:817:2: ( ( ( rule__NumberLiteralRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:818:2: ( ( rule__NumberLiteralRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:817:2: ( ( ( rule__NumberLiteralRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:818:2: ( ( rule__NumberLiteralRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:818:2: ( ( rule__NumberLiteralRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:819:3: ( rule__NumberLiteralRule__Alternatives )
+            // InternalOptimisationLanguage.g:818:2: ( ( rule__NumberLiteralRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:819:3: ( rule__NumberLiteralRule__Alternatives )
             {
              before(grammarAccess.getNumberLiteralRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:820:3: ( rule__NumberLiteralRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:820:4: rule__NumberLiteralRule__Alternatives
+            // InternalOptimisationLanguage.g:820:3: ( rule__NumberLiteralRule__Alternatives )
+            // InternalOptimisationLanguage.g:820:4: rule__NumberLiteralRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__NumberLiteralRule__Alternatives();
@@ -2505,11 +2505,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleDoubleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:829:1: entryRuleDoubleLiteralRule : ruleDoubleLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:829:1: entryRuleDoubleLiteralRule : ruleDoubleLiteralRule EOF ;
     public final void entryRuleDoubleLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:830:1: ( ruleDoubleLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:831:1: ruleDoubleLiteralRule EOF
+            // InternalOptimisationLanguage.g:830:1: ( ruleDoubleLiteralRule EOF )
+            // InternalOptimisationLanguage.g:831:1: ruleDoubleLiteralRule EOF
             {
              before(grammarAccess.getDoubleLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2535,21 +2535,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleDoubleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:838:1: ruleDoubleLiteralRule : ( ( rule__DoubleLiteralRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:838:1: ruleDoubleLiteralRule : ( ( rule__DoubleLiteralRule__Group__0 ) ) ;
     public final void ruleDoubleLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:842:2: ( ( ( rule__DoubleLiteralRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:843:2: ( ( rule__DoubleLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:842:2: ( ( ( rule__DoubleLiteralRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:843:2: ( ( rule__DoubleLiteralRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:843:2: ( ( rule__DoubleLiteralRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:844:3: ( rule__DoubleLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:843:2: ( ( rule__DoubleLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:844:3: ( rule__DoubleLiteralRule__Group__0 )
             {
              before(grammarAccess.getDoubleLiteralRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:845:3: ( rule__DoubleLiteralRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:845:4: rule__DoubleLiteralRule__Group__0
+            // InternalOptimisationLanguage.g:845:3: ( rule__DoubleLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:845:4: rule__DoubleLiteralRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__DoubleLiteralRule__Group__0();
@@ -2582,11 +2582,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleIntegerLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:854:1: entryRuleIntegerLiteralRule : ruleIntegerLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:854:1: entryRuleIntegerLiteralRule : ruleIntegerLiteralRule EOF ;
     public final void entryRuleIntegerLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:855:1: ( ruleIntegerLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:856:1: ruleIntegerLiteralRule EOF
+            // InternalOptimisationLanguage.g:855:1: ( ruleIntegerLiteralRule EOF )
+            // InternalOptimisationLanguage.g:856:1: ruleIntegerLiteralRule EOF
             {
              before(grammarAccess.getIntegerLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2612,21 +2612,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleIntegerLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:863:1: ruleIntegerLiteralRule : ( ( rule__IntegerLiteralRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:863:1: ruleIntegerLiteralRule : ( ( rule__IntegerLiteralRule__Group__0 ) ) ;
     public final void ruleIntegerLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:867:2: ( ( ( rule__IntegerLiteralRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:868:2: ( ( rule__IntegerLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:867:2: ( ( ( rule__IntegerLiteralRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:868:2: ( ( rule__IntegerLiteralRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:868:2: ( ( rule__IntegerLiteralRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:869:3: ( rule__IntegerLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:868:2: ( ( rule__IntegerLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:869:3: ( rule__IntegerLiteralRule__Group__0 )
             {
              before(grammarAccess.getIntegerLiteralRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:870:3: ( rule__IntegerLiteralRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:870:4: rule__IntegerLiteralRule__Group__0
+            // InternalOptimisationLanguage.g:870:3: ( rule__IntegerLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:870:4: rule__IntegerLiteralRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__IntegerLiteralRule__Group__0();
@@ -2659,11 +2659,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleStringLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:879:1: entryRuleStringLiteralRule : ruleStringLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:879:1: entryRuleStringLiteralRule : ruleStringLiteralRule EOF ;
     public final void entryRuleStringLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:880:1: ( ruleStringLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:881:1: ruleStringLiteralRule EOF
+            // InternalOptimisationLanguage.g:880:1: ( ruleStringLiteralRule EOF )
+            // InternalOptimisationLanguage.g:881:1: ruleStringLiteralRule EOF
             {
              before(grammarAccess.getStringLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2689,21 +2689,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleStringLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:888:1: ruleStringLiteralRule : ( ( rule__StringLiteralRule__ValueAssignment ) ) ;
+    // InternalOptimisationLanguage.g:888:1: ruleStringLiteralRule : ( ( rule__StringLiteralRule__ValueAssignment ) ) ;
     public final void ruleStringLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:892:2: ( ( ( rule__StringLiteralRule__ValueAssignment ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:893:2: ( ( rule__StringLiteralRule__ValueAssignment ) )
+            // InternalOptimisationLanguage.g:892:2: ( ( ( rule__StringLiteralRule__ValueAssignment ) ) )
+            // InternalOptimisationLanguage.g:893:2: ( ( rule__StringLiteralRule__ValueAssignment ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:893:2: ( ( rule__StringLiteralRule__ValueAssignment ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:894:3: ( rule__StringLiteralRule__ValueAssignment )
+            // InternalOptimisationLanguage.g:893:2: ( ( rule__StringLiteralRule__ValueAssignment ) )
+            // InternalOptimisationLanguage.g:894:3: ( rule__StringLiteralRule__ValueAssignment )
             {
              before(grammarAccess.getStringLiteralRuleAccess().getValueAssignment()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:895:3: ( rule__StringLiteralRule__ValueAssignment )
-            // InternalEvolutionaryAlgorithmLanguage.g:895:4: rule__StringLiteralRule__ValueAssignment
+            // InternalOptimisationLanguage.g:895:3: ( rule__StringLiteralRule__ValueAssignment )
+            // InternalOptimisationLanguage.g:895:4: rule__StringLiteralRule__ValueAssignment
             {
             pushFollow(FOLLOW_2);
             rule__StringLiteralRule__ValueAssignment();
@@ -2736,11 +2736,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleBooleanLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:904:1: entryRuleBooleanLiteralRule : ruleBooleanLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:904:1: entryRuleBooleanLiteralRule : ruleBooleanLiteralRule EOF ;
     public final void entryRuleBooleanLiteralRule() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:905:1: ( ruleBooleanLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:906:1: ruleBooleanLiteralRule EOF
+            // InternalOptimisationLanguage.g:905:1: ( ruleBooleanLiteralRule EOF )
+            // InternalOptimisationLanguage.g:906:1: ruleBooleanLiteralRule EOF
             {
              before(grammarAccess.getBooleanLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2766,21 +2766,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleBooleanLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:913:1: ruleBooleanLiteralRule : ( ( rule__BooleanLiteralRule__Group__0 ) ) ;
+    // InternalOptimisationLanguage.g:913:1: ruleBooleanLiteralRule : ( ( rule__BooleanLiteralRule__Group__0 ) ) ;
     public final void ruleBooleanLiteralRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:917:2: ( ( ( rule__BooleanLiteralRule__Group__0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:918:2: ( ( rule__BooleanLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:917:2: ( ( ( rule__BooleanLiteralRule__Group__0 ) ) )
+            // InternalOptimisationLanguage.g:918:2: ( ( rule__BooleanLiteralRule__Group__0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:918:2: ( ( rule__BooleanLiteralRule__Group__0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:919:3: ( rule__BooleanLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:918:2: ( ( rule__BooleanLiteralRule__Group__0 ) )
+            // InternalOptimisationLanguage.g:919:3: ( rule__BooleanLiteralRule__Group__0 )
             {
              before(grammarAccess.getBooleanLiteralRuleAccess().getGroup()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:920:3: ( rule__BooleanLiteralRule__Group__0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:920:4: rule__BooleanLiteralRule__Group__0
+            // InternalOptimisationLanguage.g:920:3: ( rule__BooleanLiteralRule__Group__0 )
+            // InternalOptimisationLanguage.g:920:4: rule__BooleanLiteralRule__Group__0
             {
             pushFollow(FOLLOW_2);
             rule__BooleanLiteralRule__Group__0();
@@ -2813,11 +2813,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleStringOrId"
-    // InternalEvolutionaryAlgorithmLanguage.g:929:1: entryRuleStringOrId : ruleStringOrId EOF ;
+    // InternalOptimisationLanguage.g:929:1: entryRuleStringOrId : ruleStringOrId EOF ;
     public final void entryRuleStringOrId() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:930:1: ( ruleStringOrId EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:931:1: ruleStringOrId EOF
+            // InternalOptimisationLanguage.g:930:1: ( ruleStringOrId EOF )
+            // InternalOptimisationLanguage.g:931:1: ruleStringOrId EOF
             {
              before(grammarAccess.getStringOrIdRule()); 
             pushFollow(FOLLOW_1);
@@ -2843,21 +2843,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleStringOrId"
-    // InternalEvolutionaryAlgorithmLanguage.g:938:1: ruleStringOrId : ( ( rule__StringOrId__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:938:1: ruleStringOrId : ( ( rule__StringOrId__Alternatives ) ) ;
     public final void ruleStringOrId() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:942:2: ( ( ( rule__StringOrId__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:943:2: ( ( rule__StringOrId__Alternatives ) )
+            // InternalOptimisationLanguage.g:942:2: ( ( ( rule__StringOrId__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:943:2: ( ( rule__StringOrId__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:943:2: ( ( rule__StringOrId__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:944:3: ( rule__StringOrId__Alternatives )
+            // InternalOptimisationLanguage.g:943:2: ( ( rule__StringOrId__Alternatives ) )
+            // InternalOptimisationLanguage.g:944:3: ( rule__StringOrId__Alternatives )
             {
              before(grammarAccess.getStringOrIdAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:945:3: ( rule__StringOrId__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:945:4: rule__StringOrId__Alternatives
+            // InternalOptimisationLanguage.g:945:3: ( rule__StringOrId__Alternatives )
+            // InternalOptimisationLanguage.g:945:4: rule__StringOrId__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__StringOrId__Alternatives();
@@ -2890,21 +2890,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleComparisonOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:954:1: ruleComparisonOperatorRule : ( ( rule__ComparisonOperatorRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:954:1: ruleComparisonOperatorRule : ( ( rule__ComparisonOperatorRule__Alternatives ) ) ;
     public final void ruleComparisonOperatorRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:958:1: ( ( ( rule__ComparisonOperatorRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:959:2: ( ( rule__ComparisonOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:958:1: ( ( ( rule__ComparisonOperatorRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:959:2: ( ( rule__ComparisonOperatorRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:959:2: ( ( rule__ComparisonOperatorRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:960:3: ( rule__ComparisonOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:959:2: ( ( rule__ComparisonOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:960:3: ( rule__ComparisonOperatorRule__Alternatives )
             {
              before(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:961:3: ( rule__ComparisonOperatorRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:961:4: rule__ComparisonOperatorRule__Alternatives
+            // InternalOptimisationLanguage.g:961:3: ( rule__ComparisonOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:961:4: rule__ComparisonOperatorRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__ComparisonOperatorRule__Alternatives();
@@ -2937,21 +2937,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAddOrSubtractOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:970:1: ruleAddOrSubtractOperatorRule : ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:970:1: ruleAddOrSubtractOperatorRule : ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) ;
     public final void ruleAddOrSubtractOperatorRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:974:1: ( ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:975:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:974:1: ( ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:975:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:975:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:976:3: ( rule__AddOrSubtractOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:975:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:976:3: ( rule__AddOrSubtractOperatorRule__Alternatives )
             {
              before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:977:3: ( rule__AddOrSubtractOperatorRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:977:4: rule__AddOrSubtractOperatorRule__Alternatives
+            // InternalOptimisationLanguage.g:977:3: ( rule__AddOrSubtractOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:977:4: rule__AddOrSubtractOperatorRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractOperatorRule__Alternatives();
@@ -2984,21 +2984,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMultiplyDivideModuloOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:986:1: ruleMultiplyDivideModuloOperatorRule : ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:986:1: ruleMultiplyDivideModuloOperatorRule : ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) ;
     public final void ruleMultiplyDivideModuloOperatorRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:990:1: ( ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:991:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:990:1: ( ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:991:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:991:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:992:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:991:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:992:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives )
             {
              before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:993:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:993:4: rule__MultiplyDivideModuloOperatorRule__Alternatives
+            // InternalOptimisationLanguage.g:993:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives )
+            // InternalOptimisationLanguage.g:993:4: rule__MultiplyDivideModuloOperatorRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloOperatorRule__Alternatives();
@@ -3031,21 +3031,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleFactorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1002:1: ruleFactorRule : ( ( rule__FactorRule__Alternatives ) ) ;
+    // InternalOptimisationLanguage.g:1002:1: ruleFactorRule : ( ( rule__FactorRule__Alternatives ) ) ;
     public final void ruleFactorRule() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1006:1: ( ( ( rule__FactorRule__Alternatives ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1007:2: ( ( rule__FactorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:1006:1: ( ( ( rule__FactorRule__Alternatives ) ) )
+            // InternalOptimisationLanguage.g:1007:2: ( ( rule__FactorRule__Alternatives ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1007:2: ( ( rule__FactorRule__Alternatives ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1008:3: ( rule__FactorRule__Alternatives )
+            // InternalOptimisationLanguage.g:1007:2: ( ( rule__FactorRule__Alternatives ) )
+            // InternalOptimisationLanguage.g:1008:3: ( rule__FactorRule__Alternatives )
             {
              before(grammarAccess.getFactorRuleAccess().getAlternatives()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1009:3: ( rule__FactorRule__Alternatives )
-            // InternalEvolutionaryAlgorithmLanguage.g:1009:4: rule__FactorRule__Alternatives
+            // InternalOptimisationLanguage.g:1009:3: ( rule__FactorRule__Alternatives )
+            // InternalOptimisationLanguage.g:1009:4: rule__FactorRule__Alternatives
             {
             pushFollow(FOLLOW_2);
             rule__FactorRule__Alternatives();
@@ -3078,13 +3078,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NameOrMiscRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1017:1: rule__NameOrMiscRule__Alternatives : ( ( ruleNameRule ) | ( ruleMiscRule ) );
+    // InternalOptimisationLanguage.g:1017:1: rule__NameOrMiscRule__Alternatives : ( ( ruleNameRule ) | ( ruleMiscRule ) );
     public final void rule__NameOrMiscRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1021:1: ( ( ruleNameRule ) | ( ruleMiscRule ) )
+            // InternalOptimisationLanguage.g:1021:1: ( ( ruleNameRule ) | ( ruleMiscRule ) )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -3102,10 +3102,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt1) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1022:2: ( ruleNameRule )
+                    // InternalOptimisationLanguage.g:1022:2: ( ruleNameRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1022:2: ( ruleNameRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1023:3: ruleNameRule
+                    // InternalOptimisationLanguage.g:1022:2: ( ruleNameRule )
+                    // InternalOptimisationLanguage.g:1023:3: ruleNameRule
                     {
                      before(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); 
                     pushFollow(FOLLOW_2);
@@ -3121,10 +3121,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1028:2: ( ruleMiscRule )
+                    // InternalOptimisationLanguage.g:1028:2: ( ruleMiscRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1028:2: ( ruleMiscRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1029:3: ruleMiscRule
+                    // InternalOptimisationLanguage.g:1028:2: ( ruleMiscRule )
+                    // InternalOptimisationLanguage.g:1029:3: ruleMiscRule
                     {
                      before(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); 
                     pushFollow(FOLLOW_2);
@@ -3157,13 +3157,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ValueRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1038:1: rule__ValueRule__Alternatives : ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) );
+    // InternalOptimisationLanguage.g:1038:1: rule__ValueRule__Alternatives : ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) );
     public final void rule__ValueRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1042:1: ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) )
+            // InternalOptimisationLanguage.g:1042:1: ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) )
             int alt2=4;
             switch ( input.LA(1) ) {
             case 53:
@@ -3200,10 +3200,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt2) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1043:2: ( ruleArrayRule )
+                    // InternalOptimisationLanguage.g:1043:2: ( ruleArrayRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1043:2: ( ruleArrayRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1044:3: ruleArrayRule
+                    // InternalOptimisationLanguage.g:1043:2: ( ruleArrayRule )
+                    // InternalOptimisationLanguage.g:1044:3: ruleArrayRule
                     {
                      before(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); 
                     pushFollow(FOLLOW_2);
@@ -3219,10 +3219,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1049:2: ( ruleDataReferenceRule )
+                    // InternalOptimisationLanguage.g:1049:2: ( ruleDataReferenceRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1049:2: ( ruleDataReferenceRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1050:3: ruleDataReferenceRule
+                    // InternalOptimisationLanguage.g:1049:2: ( ruleDataReferenceRule )
+                    // InternalOptimisationLanguage.g:1050:3: ruleDataReferenceRule
                     {
                      before(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); 
                     pushFollow(FOLLOW_2);
@@ -3238,10 +3238,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1055:2: ( ruleInstanceRule )
+                    // InternalOptimisationLanguage.g:1055:2: ( ruleInstanceRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1055:2: ( ruleInstanceRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1056:3: ruleInstanceRule
+                    // InternalOptimisationLanguage.g:1055:2: ( ruleInstanceRule )
+                    // InternalOptimisationLanguage.g:1056:3: ruleInstanceRule
                     {
                      before(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); 
                     pushFollow(FOLLOW_2);
@@ -3257,10 +3257,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1061:2: ( ruleLiteralValueRule )
+                    // InternalOptimisationLanguage.g:1061:2: ( ruleLiteralValueRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1061:2: ( ruleLiteralValueRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1062:3: ruleLiteralValueRule
+                    // InternalOptimisationLanguage.g:1061:2: ( ruleLiteralValueRule )
+                    // InternalOptimisationLanguage.g:1062:3: ruleLiteralValueRule
                     {
                      before(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); 
                     pushFollow(FOLLOW_2);
@@ -3293,13 +3293,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__LiteralOrReferenceRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1071:1: rule__LiteralOrReferenceRule__Alternatives : ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) );
+    // InternalOptimisationLanguage.g:1071:1: rule__LiteralOrReferenceRule__Alternatives : ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) );
     public final void rule__LiteralOrReferenceRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1075:1: ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) )
+            // InternalOptimisationLanguage.g:1075:1: ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) )
             int alt3=4;
             switch ( input.LA(1) ) {
             case RULE_ID:
@@ -3335,10 +3335,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt3) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1076:2: ( ruleCallRule )
+                    // InternalOptimisationLanguage.g:1076:2: ( ruleCallRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1076:2: ( ruleCallRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1077:3: ruleCallRule
+                    // InternalOptimisationLanguage.g:1076:2: ( ruleCallRule )
+                    // InternalOptimisationLanguage.g:1077:3: ruleCallRule
                     {
                      before(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); 
                     pushFollow(FOLLOW_2);
@@ -3354,10 +3354,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1082:2: ( ruleLiteralRule )
+                    // InternalOptimisationLanguage.g:1082:2: ( ruleLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1082:2: ( ruleLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1083:3: ruleLiteralRule
+                    // InternalOptimisationLanguage.g:1082:2: ( ruleLiteralRule )
+                    // InternalOptimisationLanguage.g:1083:3: ruleLiteralRule
                     {
                      before(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); 
                     pushFollow(FOLLOW_2);
@@ -3373,10 +3373,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1088:2: ( ruleParanthesesRule )
+                    // InternalOptimisationLanguage.g:1088:2: ( ruleParanthesesRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1088:2: ( ruleParanthesesRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1089:3: ruleParanthesesRule
+                    // InternalOptimisationLanguage.g:1088:2: ( ruleParanthesesRule )
+                    // InternalOptimisationLanguage.g:1089:3: ruleParanthesesRule
                     {
                      before(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); 
                     pushFollow(FOLLOW_2);
@@ -3392,10 +3392,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1094:2: ( ruleValueReferenceRule )
+                    // InternalOptimisationLanguage.g:1094:2: ( ruleValueReferenceRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1094:2: ( ruleValueReferenceRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1095:3: ruleValueReferenceRule
+                    // InternalOptimisationLanguage.g:1094:2: ( ruleValueReferenceRule )
+                    // InternalOptimisationLanguage.g:1095:3: ruleValueReferenceRule
                     {
                      before(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); 
                     pushFollow(FOLLOW_2);
@@ -3428,13 +3428,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__LiteralRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1104:1: rule__LiteralRule__Alternatives : ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) );
+    // InternalOptimisationLanguage.g:1104:1: rule__LiteralRule__Alternatives : ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) );
     public final void rule__LiteralRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1108:1: ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) )
+            // InternalOptimisationLanguage.g:1108:1: ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) )
             int alt4=3;
             switch ( input.LA(1) ) {
             case RULE_DOUBLE:
@@ -3463,10 +3463,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt4) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1109:2: ( ruleNumberLiteralRule )
+                    // InternalOptimisationLanguage.g:1109:2: ( ruleNumberLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1109:2: ( ruleNumberLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1110:3: ruleNumberLiteralRule
+                    // InternalOptimisationLanguage.g:1109:2: ( ruleNumberLiteralRule )
+                    // InternalOptimisationLanguage.g:1110:3: ruleNumberLiteralRule
                     {
                      before(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); 
                     pushFollow(FOLLOW_2);
@@ -3482,10 +3482,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1115:2: ( ruleStringLiteralRule )
+                    // InternalOptimisationLanguage.g:1115:2: ( ruleStringLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1115:2: ( ruleStringLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1116:3: ruleStringLiteralRule
+                    // InternalOptimisationLanguage.g:1115:2: ( ruleStringLiteralRule )
+                    // InternalOptimisationLanguage.g:1116:3: ruleStringLiteralRule
                     {
                      before(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); 
                     pushFollow(FOLLOW_2);
@@ -3501,10 +3501,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1121:2: ( ruleBooleanLiteralRule )
+                    // InternalOptimisationLanguage.g:1121:2: ( ruleBooleanLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1121:2: ( ruleBooleanLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1122:3: ruleBooleanLiteralRule
+                    // InternalOptimisationLanguage.g:1121:2: ( ruleBooleanLiteralRule )
+                    // InternalOptimisationLanguage.g:1122:3: ruleBooleanLiteralRule
                     {
                      before(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); 
                     pushFollow(FOLLOW_2);
@@ -3537,13 +3537,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NumberLiteralRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1131:1: rule__NumberLiteralRule__Alternatives : ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) );
+    // InternalOptimisationLanguage.g:1131:1: rule__NumberLiteralRule__Alternatives : ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) );
     public final void rule__NumberLiteralRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1135:1: ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) )
+            // InternalOptimisationLanguage.g:1135:1: ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -3561,10 +3561,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt5) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1136:2: ( ruleDoubleLiteralRule )
+                    // InternalOptimisationLanguage.g:1136:2: ( ruleDoubleLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1136:2: ( ruleDoubleLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1137:3: ruleDoubleLiteralRule
+                    // InternalOptimisationLanguage.g:1136:2: ( ruleDoubleLiteralRule )
+                    // InternalOptimisationLanguage.g:1137:3: ruleDoubleLiteralRule
                     {
                      before(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); 
                     pushFollow(FOLLOW_2);
@@ -3580,10 +3580,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1142:2: ( ruleIntegerLiteralRule )
+                    // InternalOptimisationLanguage.g:1142:2: ( ruleIntegerLiteralRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1142:2: ( ruleIntegerLiteralRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1143:3: ruleIntegerLiteralRule
+                    // InternalOptimisationLanguage.g:1142:2: ( ruleIntegerLiteralRule )
+                    // InternalOptimisationLanguage.g:1143:3: ruleIntegerLiteralRule
                     {
                      before(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); 
                     pushFollow(FOLLOW_2);
@@ -3616,13 +3616,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__Alternatives_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1152:1: rule__BooleanLiteralRule__Alternatives_1 : ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) );
+    // InternalOptimisationLanguage.g:1152:1: rule__BooleanLiteralRule__Alternatives_1 : ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) );
     public final void rule__BooleanLiteralRule__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1156:1: ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) )
+            // InternalOptimisationLanguage.g:1156:1: ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -3640,14 +3640,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt6) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1157:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) )
+                    // InternalOptimisationLanguage.g:1157:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1157:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1158:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 )
+                    // InternalOptimisationLanguage.g:1157:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) )
+                    // InternalOptimisationLanguage.g:1158:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 )
                     {
                      before(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1159:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1159:4: rule__BooleanLiteralRule__ValueAssignment_1_0
+                    // InternalOptimisationLanguage.g:1159:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 )
+                    // InternalOptimisationLanguage.g:1159:4: rule__BooleanLiteralRule__ValueAssignment_1_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__BooleanLiteralRule__ValueAssignment_1_0();
@@ -3665,10 +3665,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1163:2: ( 'false' )
+                    // InternalOptimisationLanguage.g:1163:2: ( 'false' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1163:2: ( 'false' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1164:3: 'false'
+                    // InternalOptimisationLanguage.g:1163:2: ( 'false' )
+                    // InternalOptimisationLanguage.g:1164:3: 'false'
                     {
                      before(grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); 
                     match(input,15,FOLLOW_2); 
@@ -3697,13 +3697,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__StringOrId__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1173:1: rule__StringOrId__Alternatives : ( ( RULE_QUOTED_ID ) | ( RULE_ID ) );
+    // InternalOptimisationLanguage.g:1173:1: rule__StringOrId__Alternatives : ( ( RULE_QUOTED_ID ) | ( RULE_ID ) );
     public final void rule__StringOrId__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1177:1: ( ( RULE_QUOTED_ID ) | ( RULE_ID ) )
+            // InternalOptimisationLanguage.g:1177:1: ( ( RULE_QUOTED_ID ) | ( RULE_ID ) )
             int alt7=2;
             int LA7_0 = input.LA(1);
 
@@ -3721,10 +3721,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt7) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1178:2: ( RULE_QUOTED_ID )
+                    // InternalOptimisationLanguage.g:1178:2: ( RULE_QUOTED_ID )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1178:2: ( RULE_QUOTED_ID )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1179:3: RULE_QUOTED_ID
+                    // InternalOptimisationLanguage.g:1178:2: ( RULE_QUOTED_ID )
+                    // InternalOptimisationLanguage.g:1179:3: RULE_QUOTED_ID
                     {
                      before(grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); 
                     match(input,RULE_QUOTED_ID,FOLLOW_2); 
@@ -3736,10 +3736,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1184:2: ( RULE_ID )
+                    // InternalOptimisationLanguage.g:1184:2: ( RULE_ID )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1184:2: ( RULE_ID )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1185:3: RULE_ID
+                    // InternalOptimisationLanguage.g:1184:2: ( RULE_ID )
+                    // InternalOptimisationLanguage.g:1185:3: RULE_ID
                     {
                      before(grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); 
                     match(input,RULE_ID,FOLLOW_2); 
@@ -3768,13 +3768,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonOperatorRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1194:1: rule__ComparisonOperatorRule__Alternatives : ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) );
+    // InternalOptimisationLanguage.g:1194:1: rule__ComparisonOperatorRule__Alternatives : ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) );
     public final void rule__ComparisonOperatorRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1198:1: ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) )
+            // InternalOptimisationLanguage.g:1198:1: ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) )
             int alt8=6;
             switch ( input.LA(1) ) {
             case 16:
@@ -3816,14 +3816,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt8) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1199:2: ( ( '>=' ) )
+                    // InternalOptimisationLanguage.g:1199:2: ( ( '>=' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1199:2: ( ( '>=' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1200:3: ( '>=' )
+                    // InternalOptimisationLanguage.g:1199:2: ( ( '>=' ) )
+                    // InternalOptimisationLanguage.g:1200:3: ( '>=' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1201:3: ( '>=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1201:4: '>='
+                    // InternalOptimisationLanguage.g:1201:3: ( '>=' )
+                    // InternalOptimisationLanguage.g:1201:4: '>='
                     {
                     match(input,16,FOLLOW_2); 
 
@@ -3837,14 +3837,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1205:2: ( ( '>' ) )
+                    // InternalOptimisationLanguage.g:1205:2: ( ( '>' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1205:2: ( ( '>' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1206:3: ( '>' )
+                    // InternalOptimisationLanguage.g:1205:2: ( ( '>' ) )
+                    // InternalOptimisationLanguage.g:1206:3: ( '>' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1207:3: ( '>' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1207:4: '>'
+                    // InternalOptimisationLanguage.g:1207:3: ( '>' )
+                    // InternalOptimisationLanguage.g:1207:4: '>'
                     {
                     match(input,17,FOLLOW_2); 
 
@@ -3858,14 +3858,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1211:2: ( ( '=' ) )
+                    // InternalOptimisationLanguage.g:1211:2: ( ( '=' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1211:2: ( ( '=' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1212:3: ( '=' )
+                    // InternalOptimisationLanguage.g:1211:2: ( ( '=' ) )
+                    // InternalOptimisationLanguage.g:1212:3: ( '=' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1213:3: ( '=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1213:4: '='
+                    // InternalOptimisationLanguage.g:1213:3: ( '=' )
+                    // InternalOptimisationLanguage.g:1213:4: '='
                     {
                     match(input,18,FOLLOW_2); 
 
@@ -3879,14 +3879,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1217:2: ( ( '!=' ) )
+                    // InternalOptimisationLanguage.g:1217:2: ( ( '!=' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1217:2: ( ( '!=' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1218:3: ( '!=' )
+                    // InternalOptimisationLanguage.g:1217:2: ( ( '!=' ) )
+                    // InternalOptimisationLanguage.g:1218:3: ( '!=' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1219:3: ( '!=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1219:4: '!='
+                    // InternalOptimisationLanguage.g:1219:3: ( '!=' )
+                    // InternalOptimisationLanguage.g:1219:4: '!='
                     {
                     match(input,19,FOLLOW_2); 
 
@@ -3900,14 +3900,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 5 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1223:2: ( ( '<' ) )
+                    // InternalOptimisationLanguage.g:1223:2: ( ( '<' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1223:2: ( ( '<' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1224:3: ( '<' )
+                    // InternalOptimisationLanguage.g:1223:2: ( ( '<' ) )
+                    // InternalOptimisationLanguage.g:1224:3: ( '<' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1225:3: ( '<' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1225:4: '<'
+                    // InternalOptimisationLanguage.g:1225:3: ( '<' )
+                    // InternalOptimisationLanguage.g:1225:4: '<'
                     {
                     match(input,20,FOLLOW_2); 
 
@@ -3921,14 +3921,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 6 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1229:2: ( ( '<=' ) )
+                    // InternalOptimisationLanguage.g:1229:2: ( ( '<=' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1229:2: ( ( '<=' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1230:3: ( '<=' )
+                    // InternalOptimisationLanguage.g:1229:2: ( ( '<=' ) )
+                    // InternalOptimisationLanguage.g:1230:3: ( '<=' )
                     {
                      before(grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1231:3: ( '<=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1231:4: '<='
+                    // InternalOptimisationLanguage.g:1231:3: ( '<=' )
+                    // InternalOptimisationLanguage.g:1231:4: '<='
                     {
                     match(input,21,FOLLOW_2); 
 
@@ -3959,13 +3959,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractOperatorRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1239:1: rule__AddOrSubtractOperatorRule__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
+    // InternalOptimisationLanguage.g:1239:1: rule__AddOrSubtractOperatorRule__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) );
     public final void rule__AddOrSubtractOperatorRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1243:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
+            // InternalOptimisationLanguage.g:1243:1: ( ( ( '+' ) ) | ( ( '-' ) ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -3983,14 +3983,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt9) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1244:2: ( ( '+' ) )
+                    // InternalOptimisationLanguage.g:1244:2: ( ( '+' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1244:2: ( ( '+' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1245:3: ( '+' )
+                    // InternalOptimisationLanguage.g:1244:2: ( ( '+' ) )
+                    // InternalOptimisationLanguage.g:1245:3: ( '+' )
                     {
                      before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1246:3: ( '+' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1246:4: '+'
+                    // InternalOptimisationLanguage.g:1246:3: ( '+' )
+                    // InternalOptimisationLanguage.g:1246:4: '+'
                     {
                     match(input,22,FOLLOW_2); 
 
@@ -4004,14 +4004,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1250:2: ( ( '-' ) )
+                    // InternalOptimisationLanguage.g:1250:2: ( ( '-' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1250:2: ( ( '-' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1251:3: ( '-' )
+                    // InternalOptimisationLanguage.g:1250:2: ( ( '-' ) )
+                    // InternalOptimisationLanguage.g:1251:3: ( '-' )
                     {
                      before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1252:3: ( '-' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1252:4: '-'
+                    // InternalOptimisationLanguage.g:1252:3: ( '-' )
+                    // InternalOptimisationLanguage.g:1252:4: '-'
                     {
                     match(input,23,FOLLOW_2); 
 
@@ -4042,13 +4042,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloOperatorRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1260:1: rule__MultiplyDivideModuloOperatorRule__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) );
+    // InternalOptimisationLanguage.g:1260:1: rule__MultiplyDivideModuloOperatorRule__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) );
     public final void rule__MultiplyDivideModuloOperatorRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1264:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) )
+            // InternalOptimisationLanguage.g:1264:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) )
             int alt10=3;
             switch ( input.LA(1) ) {
             case 24:
@@ -4075,14 +4075,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt10) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1265:2: ( ( '*' ) )
+                    // InternalOptimisationLanguage.g:1265:2: ( ( '*' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1265:2: ( ( '*' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1266:3: ( '*' )
+                    // InternalOptimisationLanguage.g:1265:2: ( ( '*' ) )
+                    // InternalOptimisationLanguage.g:1266:3: ( '*' )
                     {
                      before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1267:3: ( '*' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1267:4: '*'
+                    // InternalOptimisationLanguage.g:1267:3: ( '*' )
+                    // InternalOptimisationLanguage.g:1267:4: '*'
                     {
                     match(input,24,FOLLOW_2); 
 
@@ -4096,14 +4096,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1271:2: ( ( '/' ) )
+                    // InternalOptimisationLanguage.g:1271:2: ( ( '/' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1271:2: ( ( '/' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1272:3: ( '/' )
+                    // InternalOptimisationLanguage.g:1271:2: ( ( '/' ) )
+                    // InternalOptimisationLanguage.g:1272:3: ( '/' )
                     {
                      before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1273:3: ( '/' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1273:4: '/'
+                    // InternalOptimisationLanguage.g:1273:3: ( '/' )
+                    // InternalOptimisationLanguage.g:1273:4: '/'
                     {
                     match(input,25,FOLLOW_2); 
 
@@ -4117,14 +4117,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1277:2: ( ( '%' ) )
+                    // InternalOptimisationLanguage.g:1277:2: ( ( '%' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1277:2: ( ( '%' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1278:3: ( '%' )
+                    // InternalOptimisationLanguage.g:1277:2: ( ( '%' ) )
+                    // InternalOptimisationLanguage.g:1278:3: ( '%' )
                     {
                      before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1279:3: ( '%' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1279:4: '%'
+                    // InternalOptimisationLanguage.g:1279:3: ( '%' )
+                    // InternalOptimisationLanguage.g:1279:4: '%'
                     {
                     match(input,26,FOLLOW_2); 
 
@@ -4155,13 +4155,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__FactorRule__Alternatives"
-    // InternalEvolutionaryAlgorithmLanguage.g:1287:1: rule__FactorRule__Alternatives : ( ( ( 'Y' ) ) | ( ( 'Z' ) ) | ( ( 'E' ) ) | ( ( 'P' ) ) | ( ( 'T' ) ) | ( ( 'G' ) ) | ( ( 'M' ) ) | ( ( 'k' ) ) | ( ( 'h' ) ) | ( ( 'da' ) ) | ( ( 'd' ) ) | ( ( 'c' ) ) | ( ( 'm' ) ) | ( ( '\\u00B5' ) ) | ( ( 'n' ) ) | ( ( 'p' ) ) | ( ( 'f' ) ) | ( ( 'a' ) ) | ( ( 'z' ) ) | ( ( 'y' ) ) );
+    // InternalOptimisationLanguage.g:1287:1: rule__FactorRule__Alternatives : ( ( ( 'Y' ) ) | ( ( 'Z' ) ) | ( ( 'E' ) ) | ( ( 'P' ) ) | ( ( 'T' ) ) | ( ( 'G' ) ) | ( ( 'M' ) ) | ( ( 'k' ) ) | ( ( 'h' ) ) | ( ( 'da' ) ) | ( ( 'd' ) ) | ( ( 'c' ) ) | ( ( 'm' ) ) | ( ( '\\u00B5' ) ) | ( ( 'n' ) ) | ( ( 'p' ) ) | ( ( 'f' ) ) | ( ( 'a' ) ) | ( ( 'z' ) ) | ( ( 'y' ) ) );
     public final void rule__FactorRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1291:1: ( ( ( 'Y' ) ) | ( ( 'Z' ) ) | ( ( 'E' ) ) | ( ( 'P' ) ) | ( ( 'T' ) ) | ( ( 'G' ) ) | ( ( 'M' ) ) | ( ( 'k' ) ) | ( ( 'h' ) ) | ( ( 'da' ) ) | ( ( 'd' ) ) | ( ( 'c' ) ) | ( ( 'm' ) ) | ( ( '\\u00B5' ) ) | ( ( 'n' ) ) | ( ( 'p' ) ) | ( ( 'f' ) ) | ( ( 'a' ) ) | ( ( 'z' ) ) | ( ( 'y' ) ) )
+            // InternalOptimisationLanguage.g:1291:1: ( ( ( 'Y' ) ) | ( ( 'Z' ) ) | ( ( 'E' ) ) | ( ( 'P' ) ) | ( ( 'T' ) ) | ( ( 'G' ) ) | ( ( 'M' ) ) | ( ( 'k' ) ) | ( ( 'h' ) ) | ( ( 'da' ) ) | ( ( 'd' ) ) | ( ( 'c' ) ) | ( ( 'm' ) ) | ( ( '\\u00B5' ) ) | ( ( 'n' ) ) | ( ( 'p' ) ) | ( ( 'f' ) ) | ( ( 'a' ) ) | ( ( 'z' ) ) | ( ( 'y' ) ) )
             int alt11=20;
             switch ( input.LA(1) ) {
             case 27:
@@ -4273,14 +4273,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt11) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1292:2: ( ( 'Y' ) )
+                    // InternalOptimisationLanguage.g:1292:2: ( ( 'Y' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1292:2: ( ( 'Y' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1293:3: ( 'Y' )
+                    // InternalOptimisationLanguage.g:1292:2: ( ( 'Y' ) )
+                    // InternalOptimisationLanguage.g:1293:3: ( 'Y' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getYottaEnumLiteralDeclaration_0()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1294:3: ( 'Y' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1294:4: 'Y'
+                    // InternalOptimisationLanguage.g:1294:3: ( 'Y' )
+                    // InternalOptimisationLanguage.g:1294:4: 'Y'
                     {
                     match(input,27,FOLLOW_2); 
 
@@ -4294,14 +4294,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1298:2: ( ( 'Z' ) )
+                    // InternalOptimisationLanguage.g:1298:2: ( ( 'Z' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1298:2: ( ( 'Z' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1299:3: ( 'Z' )
+                    // InternalOptimisationLanguage.g:1298:2: ( ( 'Z' ) )
+                    // InternalOptimisationLanguage.g:1299:3: ( 'Z' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getZettaEnumLiteralDeclaration_1()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1300:3: ( 'Z' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1300:4: 'Z'
+                    // InternalOptimisationLanguage.g:1300:3: ( 'Z' )
+                    // InternalOptimisationLanguage.g:1300:4: 'Z'
                     {
                     match(input,28,FOLLOW_2); 
 
@@ -4315,14 +4315,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1304:2: ( ( 'E' ) )
+                    // InternalOptimisationLanguage.g:1304:2: ( ( 'E' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1304:2: ( ( 'E' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1305:3: ( 'E' )
+                    // InternalOptimisationLanguage.g:1304:2: ( ( 'E' ) )
+                    // InternalOptimisationLanguage.g:1305:3: ( 'E' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getExaEnumLiteralDeclaration_2()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1306:3: ( 'E' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1306:4: 'E'
+                    // InternalOptimisationLanguage.g:1306:3: ( 'E' )
+                    // InternalOptimisationLanguage.g:1306:4: 'E'
                     {
                     match(input,29,FOLLOW_2); 
 
@@ -4336,14 +4336,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1310:2: ( ( 'P' ) )
+                    // InternalOptimisationLanguage.g:1310:2: ( ( 'P' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1310:2: ( ( 'P' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1311:3: ( 'P' )
+                    // InternalOptimisationLanguage.g:1310:2: ( ( 'P' ) )
+                    // InternalOptimisationLanguage.g:1311:3: ( 'P' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getPetaEnumLiteralDeclaration_3()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1312:3: ( 'P' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1312:4: 'P'
+                    // InternalOptimisationLanguage.g:1312:3: ( 'P' )
+                    // InternalOptimisationLanguage.g:1312:4: 'P'
                     {
                     match(input,30,FOLLOW_2); 
 
@@ -4357,14 +4357,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 5 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1316:2: ( ( 'T' ) )
+                    // InternalOptimisationLanguage.g:1316:2: ( ( 'T' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1316:2: ( ( 'T' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1317:3: ( 'T' )
+                    // InternalOptimisationLanguage.g:1316:2: ( ( 'T' ) )
+                    // InternalOptimisationLanguage.g:1317:3: ( 'T' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getTeraEnumLiteralDeclaration_4()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1318:3: ( 'T' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1318:4: 'T'
+                    // InternalOptimisationLanguage.g:1318:3: ( 'T' )
+                    // InternalOptimisationLanguage.g:1318:4: 'T'
                     {
                     match(input,31,FOLLOW_2); 
 
@@ -4378,14 +4378,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 6 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1322:2: ( ( 'G' ) )
+                    // InternalOptimisationLanguage.g:1322:2: ( ( 'G' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1322:2: ( ( 'G' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1323:3: ( 'G' )
+                    // InternalOptimisationLanguage.g:1322:2: ( ( 'G' ) )
+                    // InternalOptimisationLanguage.g:1323:3: ( 'G' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getGigaEnumLiteralDeclaration_5()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1324:3: ( 'G' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1324:4: 'G'
+                    // InternalOptimisationLanguage.g:1324:3: ( 'G' )
+                    // InternalOptimisationLanguage.g:1324:4: 'G'
                     {
                     match(input,32,FOLLOW_2); 
 
@@ -4399,14 +4399,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 7 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1328:2: ( ( 'M' ) )
+                    // InternalOptimisationLanguage.g:1328:2: ( ( 'M' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1328:2: ( ( 'M' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1329:3: ( 'M' )
+                    // InternalOptimisationLanguage.g:1328:2: ( ( 'M' ) )
+                    // InternalOptimisationLanguage.g:1329:3: ( 'M' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getMegaEnumLiteralDeclaration_6()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1330:3: ( 'M' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1330:4: 'M'
+                    // InternalOptimisationLanguage.g:1330:3: ( 'M' )
+                    // InternalOptimisationLanguage.g:1330:4: 'M'
                     {
                     match(input,33,FOLLOW_2); 
 
@@ -4420,14 +4420,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 8 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1334:2: ( ( 'k' ) )
+                    // InternalOptimisationLanguage.g:1334:2: ( ( 'k' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1334:2: ( ( 'k' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1335:3: ( 'k' )
+                    // InternalOptimisationLanguage.g:1334:2: ( ( 'k' ) )
+                    // InternalOptimisationLanguage.g:1335:3: ( 'k' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getKiloEnumLiteralDeclaration_7()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1336:3: ( 'k' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1336:4: 'k'
+                    // InternalOptimisationLanguage.g:1336:3: ( 'k' )
+                    // InternalOptimisationLanguage.g:1336:4: 'k'
                     {
                     match(input,34,FOLLOW_2); 
 
@@ -4441,14 +4441,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 9 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1340:2: ( ( 'h' ) )
+                    // InternalOptimisationLanguage.g:1340:2: ( ( 'h' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1340:2: ( ( 'h' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1341:3: ( 'h' )
+                    // InternalOptimisationLanguage.g:1340:2: ( ( 'h' ) )
+                    // InternalOptimisationLanguage.g:1341:3: ( 'h' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getHectoEnumLiteralDeclaration_8()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1342:3: ( 'h' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1342:4: 'h'
+                    // InternalOptimisationLanguage.g:1342:3: ( 'h' )
+                    // InternalOptimisationLanguage.g:1342:4: 'h'
                     {
                     match(input,35,FOLLOW_2); 
 
@@ -4462,14 +4462,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 10 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1346:2: ( ( 'da' ) )
+                    // InternalOptimisationLanguage.g:1346:2: ( ( 'da' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1346:2: ( ( 'da' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1347:3: ( 'da' )
+                    // InternalOptimisationLanguage.g:1346:2: ( ( 'da' ) )
+                    // InternalOptimisationLanguage.g:1347:3: ( 'da' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getDekaEnumLiteralDeclaration_9()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1348:3: ( 'da' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1348:4: 'da'
+                    // InternalOptimisationLanguage.g:1348:3: ( 'da' )
+                    // InternalOptimisationLanguage.g:1348:4: 'da'
                     {
                     match(input,36,FOLLOW_2); 
 
@@ -4483,14 +4483,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 11 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1352:2: ( ( 'd' ) )
+                    // InternalOptimisationLanguage.g:1352:2: ( ( 'd' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1352:2: ( ( 'd' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1353:3: ( 'd' )
+                    // InternalOptimisationLanguage.g:1352:2: ( ( 'd' ) )
+                    // InternalOptimisationLanguage.g:1353:3: ( 'd' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getDeciEnumLiteralDeclaration_10()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1354:3: ( 'd' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1354:4: 'd'
+                    // InternalOptimisationLanguage.g:1354:3: ( 'd' )
+                    // InternalOptimisationLanguage.g:1354:4: 'd'
                     {
                     match(input,37,FOLLOW_2); 
 
@@ -4504,14 +4504,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 12 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1358:2: ( ( 'c' ) )
+                    // InternalOptimisationLanguage.g:1358:2: ( ( 'c' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1358:2: ( ( 'c' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1359:3: ( 'c' )
+                    // InternalOptimisationLanguage.g:1358:2: ( ( 'c' ) )
+                    // InternalOptimisationLanguage.g:1359:3: ( 'c' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getCentiEnumLiteralDeclaration_11()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1360:3: ( 'c' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1360:4: 'c'
+                    // InternalOptimisationLanguage.g:1360:3: ( 'c' )
+                    // InternalOptimisationLanguage.g:1360:4: 'c'
                     {
                     match(input,38,FOLLOW_2); 
 
@@ -4525,14 +4525,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 13 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1364:2: ( ( 'm' ) )
+                    // InternalOptimisationLanguage.g:1364:2: ( ( 'm' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1364:2: ( ( 'm' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1365:3: ( 'm' )
+                    // InternalOptimisationLanguage.g:1364:2: ( ( 'm' ) )
+                    // InternalOptimisationLanguage.g:1365:3: ( 'm' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getMilliEnumLiteralDeclaration_12()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1366:3: ( 'm' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1366:4: 'm'
+                    // InternalOptimisationLanguage.g:1366:3: ( 'm' )
+                    // InternalOptimisationLanguage.g:1366:4: 'm'
                     {
                     match(input,39,FOLLOW_2); 
 
@@ -4546,14 +4546,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 14 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1370:2: ( ( '\\u00B5' ) )
+                    // InternalOptimisationLanguage.g:1370:2: ( ( '\\u00B5' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1370:2: ( ( '\\u00B5' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1371:3: ( '\\u00B5' )
+                    // InternalOptimisationLanguage.g:1370:2: ( ( '\\u00B5' ) )
+                    // InternalOptimisationLanguage.g:1371:3: ( '\\u00B5' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getMicroEnumLiteralDeclaration_13()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1372:3: ( '\\u00B5' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1372:4: '\\u00B5'
+                    // InternalOptimisationLanguage.g:1372:3: ( '\\u00B5' )
+                    // InternalOptimisationLanguage.g:1372:4: '\\u00B5'
                     {
                     match(input,40,FOLLOW_2); 
 
@@ -4567,14 +4567,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 15 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1376:2: ( ( 'n' ) )
+                    // InternalOptimisationLanguage.g:1376:2: ( ( 'n' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1376:2: ( ( 'n' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1377:3: ( 'n' )
+                    // InternalOptimisationLanguage.g:1376:2: ( ( 'n' ) )
+                    // InternalOptimisationLanguage.g:1377:3: ( 'n' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getNanoEnumLiteralDeclaration_14()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1378:3: ( 'n' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1378:4: 'n'
+                    // InternalOptimisationLanguage.g:1378:3: ( 'n' )
+                    // InternalOptimisationLanguage.g:1378:4: 'n'
                     {
                     match(input,41,FOLLOW_2); 
 
@@ -4588,14 +4588,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 16 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1382:2: ( ( 'p' ) )
+                    // InternalOptimisationLanguage.g:1382:2: ( ( 'p' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1382:2: ( ( 'p' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1383:3: ( 'p' )
+                    // InternalOptimisationLanguage.g:1382:2: ( ( 'p' ) )
+                    // InternalOptimisationLanguage.g:1383:3: ( 'p' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getPikoEnumLiteralDeclaration_15()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1384:3: ( 'p' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1384:4: 'p'
+                    // InternalOptimisationLanguage.g:1384:3: ( 'p' )
+                    // InternalOptimisationLanguage.g:1384:4: 'p'
                     {
                     match(input,42,FOLLOW_2); 
 
@@ -4609,14 +4609,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 17 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1388:2: ( ( 'f' ) )
+                    // InternalOptimisationLanguage.g:1388:2: ( ( 'f' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1388:2: ( ( 'f' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1389:3: ( 'f' )
+                    // InternalOptimisationLanguage.g:1388:2: ( ( 'f' ) )
+                    // InternalOptimisationLanguage.g:1389:3: ( 'f' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getFemtoEnumLiteralDeclaration_16()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1390:3: ( 'f' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1390:4: 'f'
+                    // InternalOptimisationLanguage.g:1390:3: ( 'f' )
+                    // InternalOptimisationLanguage.g:1390:4: 'f'
                     {
                     match(input,43,FOLLOW_2); 
 
@@ -4630,14 +4630,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 18 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1394:2: ( ( 'a' ) )
+                    // InternalOptimisationLanguage.g:1394:2: ( ( 'a' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1394:2: ( ( 'a' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1395:3: ( 'a' )
+                    // InternalOptimisationLanguage.g:1394:2: ( ( 'a' ) )
+                    // InternalOptimisationLanguage.g:1395:3: ( 'a' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getAttoEnumLiteralDeclaration_17()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1396:3: ( 'a' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1396:4: 'a'
+                    // InternalOptimisationLanguage.g:1396:3: ( 'a' )
+                    // InternalOptimisationLanguage.g:1396:4: 'a'
                     {
                     match(input,44,FOLLOW_2); 
 
@@ -4651,14 +4651,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 19 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1400:2: ( ( 'z' ) )
+                    // InternalOptimisationLanguage.g:1400:2: ( ( 'z' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1400:2: ( ( 'z' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1401:3: ( 'z' )
+                    // InternalOptimisationLanguage.g:1400:2: ( ( 'z' ) )
+                    // InternalOptimisationLanguage.g:1401:3: ( 'z' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getZeptoEnumLiteralDeclaration_18()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1402:3: ( 'z' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1402:4: 'z'
+                    // InternalOptimisationLanguage.g:1402:3: ( 'z' )
+                    // InternalOptimisationLanguage.g:1402:4: 'z'
                     {
                     match(input,45,FOLLOW_2); 
 
@@ -4672,14 +4672,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 20 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1406:2: ( ( 'y' ) )
+                    // InternalOptimisationLanguage.g:1406:2: ( ( 'y' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1406:2: ( ( 'y' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1407:3: ( 'y' )
+                    // InternalOptimisationLanguage.g:1406:2: ( ( 'y' ) )
+                    // InternalOptimisationLanguage.g:1407:3: ( 'y' )
                     {
                      before(grammarAccess.getFactorRuleAccess().getYoctoEnumLiteralDeclaration_19()); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1408:3: ( 'y' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1408:4: 'y'
+                    // InternalOptimisationLanguage.g:1408:3: ( 'y' )
+                    // InternalOptimisationLanguage.g:1408:4: 'y'
                     {
                     match(input,46,FOLLOW_2); 
 
@@ -4709,23 +4709,23 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
     // $ANTLR end "rule__FactorRule__Alternatives"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1416:1: rule__EAModelRule__Group__0 : rule__EAModelRule__Group__0__Impl rule__EAModelRule__Group__1 ;
-    public final void rule__EAModelRule__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__0"
+    // InternalOptimisationLanguage.g:1416:1: rule__OptimisationModelRule__Group__0 : rule__OptimisationModelRule__Group__0__Impl rule__OptimisationModelRule__Group__1 ;
+    public final void rule__OptimisationModelRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1420:1: ( rule__EAModelRule__Group__0__Impl rule__EAModelRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1421:2: rule__EAModelRule__Group__0__Impl rule__EAModelRule__Group__1
+            // InternalOptimisationLanguage.g:1420:1: ( rule__OptimisationModelRule__Group__0__Impl rule__OptimisationModelRule__Group__1 )
+            // InternalOptimisationLanguage.g:1421:2: rule__OptimisationModelRule__Group__0__Impl rule__OptimisationModelRule__Group__1
             {
             pushFollow(FOLLOW_3);
-            rule__EAModelRule__Group__0__Impl();
+            rule__OptimisationModelRule__Group__0__Impl();
 
             state._fsp--;
 
             pushFollow(FOLLOW_2);
-            rule__EAModelRule__Group__1();
+            rule__OptimisationModelRule__Group__1();
 
             state._fsp--;
 
@@ -4744,24 +4744,24 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__0"
+    // $ANTLR end "rule__OptimisationModelRule__Group__0"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1428:1: rule__EAModelRule__Group__0__Impl : ( ( rule__EAModelRule__UsesAssignment_0 )* ) ;
-    public final void rule__EAModelRule__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__0__Impl"
+    // InternalOptimisationLanguage.g:1428:1: rule__OptimisationModelRule__Group__0__Impl : ( ( rule__OptimisationModelRule__UsesAssignment_0 )* ) ;
+    public final void rule__OptimisationModelRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1432:1: ( ( ( rule__EAModelRule__UsesAssignment_0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1433:1: ( ( rule__EAModelRule__UsesAssignment_0 )* )
+            // InternalOptimisationLanguage.g:1432:1: ( ( ( rule__OptimisationModelRule__UsesAssignment_0 )* ) )
+            // InternalOptimisationLanguage.g:1433:1: ( ( rule__OptimisationModelRule__UsesAssignment_0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1433:1: ( ( rule__EAModelRule__UsesAssignment_0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1434:2: ( rule__EAModelRule__UsesAssignment_0 )*
+            // InternalOptimisationLanguage.g:1433:1: ( ( rule__OptimisationModelRule__UsesAssignment_0 )* )
+            // InternalOptimisationLanguage.g:1434:2: ( rule__OptimisationModelRule__UsesAssignment_0 )*
             {
-             before(grammarAccess.getEAModelRuleAccess().getUsesAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1435:2: ( rule__EAModelRule__UsesAssignment_0 )*
+             before(grammarAccess.getOptimisationModelRuleAccess().getUsesAssignment_0()); 
+            // InternalOptimisationLanguage.g:1435:2: ( rule__OptimisationModelRule__UsesAssignment_0 )*
             loop12:
             do {
                 int alt12=2;
@@ -4774,10 +4774,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt12) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1435:3: rule__EAModelRule__UsesAssignment_0
+            	    // InternalOptimisationLanguage.g:1435:3: rule__OptimisationModelRule__UsesAssignment_0
             	    {
             	    pushFollow(FOLLOW_4);
-            	    rule__EAModelRule__UsesAssignment_0();
+            	    rule__OptimisationModelRule__UsesAssignment_0();
 
             	    state._fsp--;
 
@@ -4790,7 +4790,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                 }
             } while (true);
 
-             after(grammarAccess.getEAModelRuleAccess().getUsesAssignment_0()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getUsesAssignment_0()); 
 
             }
 
@@ -4809,26 +4809,26 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__0__Impl"
+    // $ANTLR end "rule__OptimisationModelRule__Group__0__Impl"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1443:1: rule__EAModelRule__Group__1 : rule__EAModelRule__Group__1__Impl rule__EAModelRule__Group__2 ;
-    public final void rule__EAModelRule__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__1"
+    // InternalOptimisationLanguage.g:1443:1: rule__OptimisationModelRule__Group__1 : rule__OptimisationModelRule__Group__1__Impl rule__OptimisationModelRule__Group__2 ;
+    public final void rule__OptimisationModelRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1447:1: ( rule__EAModelRule__Group__1__Impl rule__EAModelRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1448:2: rule__EAModelRule__Group__1__Impl rule__EAModelRule__Group__2
+            // InternalOptimisationLanguage.g:1447:1: ( rule__OptimisationModelRule__Group__1__Impl rule__OptimisationModelRule__Group__2 )
+            // InternalOptimisationLanguage.g:1448:2: rule__OptimisationModelRule__Group__1__Impl rule__OptimisationModelRule__Group__2
             {
             pushFollow(FOLLOW_5);
-            rule__EAModelRule__Group__1__Impl();
+            rule__OptimisationModelRule__Group__1__Impl();
 
             state._fsp--;
 
             pushFollow(FOLLOW_2);
-            rule__EAModelRule__Group__2();
+            rule__OptimisationModelRule__Group__2();
 
             state._fsp--;
 
@@ -4847,35 +4847,35 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__1"
+    // $ANTLR end "rule__OptimisationModelRule__Group__1"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1455:1: rule__EAModelRule__Group__1__Impl : ( ( rule__EAModelRule__InstanceAssignment_1 ) ) ;
-    public final void rule__EAModelRule__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__1__Impl"
+    // InternalOptimisationLanguage.g:1455:1: rule__OptimisationModelRule__Group__1__Impl : ( ( rule__OptimisationModelRule__InstanceAssignment_1 ) ) ;
+    public final void rule__OptimisationModelRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1459:1: ( ( ( rule__EAModelRule__InstanceAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1460:1: ( ( rule__EAModelRule__InstanceAssignment_1 ) )
+            // InternalOptimisationLanguage.g:1459:1: ( ( ( rule__OptimisationModelRule__InstanceAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:1460:1: ( ( rule__OptimisationModelRule__InstanceAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1460:1: ( ( rule__EAModelRule__InstanceAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1461:2: ( rule__EAModelRule__InstanceAssignment_1 )
+            // InternalOptimisationLanguage.g:1460:1: ( ( rule__OptimisationModelRule__InstanceAssignment_1 ) )
+            // InternalOptimisationLanguage.g:1461:2: ( rule__OptimisationModelRule__InstanceAssignment_1 )
             {
-             before(grammarAccess.getEAModelRuleAccess().getInstanceAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1462:2: ( rule__EAModelRule__InstanceAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1462:3: rule__EAModelRule__InstanceAssignment_1
+             before(grammarAccess.getOptimisationModelRuleAccess().getInstanceAssignment_1()); 
+            // InternalOptimisationLanguage.g:1462:2: ( rule__OptimisationModelRule__InstanceAssignment_1 )
+            // InternalOptimisationLanguage.g:1462:3: rule__OptimisationModelRule__InstanceAssignment_1
             {
             pushFollow(FOLLOW_2);
-            rule__EAModelRule__InstanceAssignment_1();
+            rule__OptimisationModelRule__InstanceAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getEAModelRuleAccess().getInstanceAssignment_1()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getInstanceAssignment_1()); 
 
             }
 
@@ -4894,21 +4894,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__1__Impl"
+    // $ANTLR end "rule__OptimisationModelRule__Group__1__Impl"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:1470:1: rule__EAModelRule__Group__2 : rule__EAModelRule__Group__2__Impl ;
-    public final void rule__EAModelRule__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__2"
+    // InternalOptimisationLanguage.g:1470:1: rule__OptimisationModelRule__Group__2 : rule__OptimisationModelRule__Group__2__Impl ;
+    public final void rule__OptimisationModelRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1474:1: ( rule__EAModelRule__Group__2__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1475:2: rule__EAModelRule__Group__2__Impl
+            // InternalOptimisationLanguage.g:1474:1: ( rule__OptimisationModelRule__Group__2__Impl )
+            // InternalOptimisationLanguage.g:1475:2: rule__OptimisationModelRule__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
-            rule__EAModelRule__Group__2__Impl();
+            rule__OptimisationModelRule__Group__2__Impl();
 
             state._fsp--;
 
@@ -4927,24 +4927,24 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__2"
+    // $ANTLR end "rule__OptimisationModelRule__Group__2"
 
 
-    // $ANTLR start "rule__EAModelRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1481:1: rule__EAModelRule__Group__2__Impl : ( ( rule__EAModelRule__ConstraintsAssignment_2 )? ) ;
-    public final void rule__EAModelRule__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__Group__2__Impl"
+    // InternalOptimisationLanguage.g:1481:1: rule__OptimisationModelRule__Group__2__Impl : ( ( rule__OptimisationModelRule__ConstraintsAssignment_2 )? ) ;
+    public final void rule__OptimisationModelRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1485:1: ( ( ( rule__EAModelRule__ConstraintsAssignment_2 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1486:1: ( ( rule__EAModelRule__ConstraintsAssignment_2 )? )
+            // InternalOptimisationLanguage.g:1485:1: ( ( ( rule__OptimisationModelRule__ConstraintsAssignment_2 )? ) )
+            // InternalOptimisationLanguage.g:1486:1: ( ( rule__OptimisationModelRule__ConstraintsAssignment_2 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1486:1: ( ( rule__EAModelRule__ConstraintsAssignment_2 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:1487:2: ( rule__EAModelRule__ConstraintsAssignment_2 )?
+            // InternalOptimisationLanguage.g:1486:1: ( ( rule__OptimisationModelRule__ConstraintsAssignment_2 )? )
+            // InternalOptimisationLanguage.g:1487:2: ( rule__OptimisationModelRule__ConstraintsAssignment_2 )?
             {
-             before(grammarAccess.getEAModelRuleAccess().getConstraintsAssignment_2()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1488:2: ( rule__EAModelRule__ConstraintsAssignment_2 )?
+             before(grammarAccess.getOptimisationModelRuleAccess().getConstraintsAssignment_2()); 
+            // InternalOptimisationLanguage.g:1488:2: ( rule__OptimisationModelRule__ConstraintsAssignment_2 )?
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -4953,10 +4953,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt13) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1488:3: rule__EAModelRule__ConstraintsAssignment_2
+                    // InternalOptimisationLanguage.g:1488:3: rule__OptimisationModelRule__ConstraintsAssignment_2
                     {
                     pushFollow(FOLLOW_2);
-                    rule__EAModelRule__ConstraintsAssignment_2();
+                    rule__OptimisationModelRule__ConstraintsAssignment_2();
 
                     state._fsp--;
 
@@ -4966,7 +4966,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-             after(grammarAccess.getEAModelRuleAccess().getConstraintsAssignment_2()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getConstraintsAssignment_2()); 
 
             }
 
@@ -4985,18 +4985,18 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__Group__2__Impl"
+    // $ANTLR end "rule__OptimisationModelRule__Group__2__Impl"
 
 
     // $ANTLR start "rule__UseRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1497:1: rule__UseRule__Group__0 : rule__UseRule__Group__0__Impl rule__UseRule__Group__1 ;
+    // InternalOptimisationLanguage.g:1497:1: rule__UseRule__Group__0 : rule__UseRule__Group__0__Impl rule__UseRule__Group__1 ;
     public final void rule__UseRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1501:1: ( rule__UseRule__Group__0__Impl rule__UseRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1502:2: rule__UseRule__Group__0__Impl rule__UseRule__Group__1
+            // InternalOptimisationLanguage.g:1501:1: ( rule__UseRule__Group__0__Impl rule__UseRule__Group__1 )
+            // InternalOptimisationLanguage.g:1502:2: rule__UseRule__Group__0__Impl rule__UseRule__Group__1
             {
             pushFollow(FOLLOW_6);
             rule__UseRule__Group__0__Impl();
@@ -5027,17 +5027,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UseRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1509:1: rule__UseRule__Group__0__Impl : ( 'use' ) ;
+    // InternalOptimisationLanguage.g:1509:1: rule__UseRule__Group__0__Impl : ( 'use' ) ;
     public final void rule__UseRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1513:1: ( ( 'use' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1514:1: ( 'use' )
+            // InternalOptimisationLanguage.g:1513:1: ( ( 'use' ) )
+            // InternalOptimisationLanguage.g:1514:1: ( 'use' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1514:1: ( 'use' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1515:2: 'use'
+            // InternalOptimisationLanguage.g:1514:1: ( 'use' )
+            // InternalOptimisationLanguage.g:1515:2: 'use'
             {
              before(grammarAccess.getUseRuleAccess().getUseKeyword_0()); 
             match(input,47,FOLLOW_2); 
@@ -5064,14 +5064,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UseRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1524:1: rule__UseRule__Group__1 : rule__UseRule__Group__1__Impl rule__UseRule__Group__2 ;
+    // InternalOptimisationLanguage.g:1524:1: rule__UseRule__Group__1 : rule__UseRule__Group__1__Impl rule__UseRule__Group__2 ;
     public final void rule__UseRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1528:1: ( rule__UseRule__Group__1__Impl rule__UseRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1529:2: rule__UseRule__Group__1__Impl rule__UseRule__Group__2
+            // InternalOptimisationLanguage.g:1528:1: ( rule__UseRule__Group__1__Impl rule__UseRule__Group__2 )
+            // InternalOptimisationLanguage.g:1529:2: rule__UseRule__Group__1__Impl rule__UseRule__Group__2
             {
             pushFollow(FOLLOW_7);
             rule__UseRule__Group__1__Impl();
@@ -5102,21 +5102,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UseRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1536:1: rule__UseRule__Group__1__Impl : ( ( rule__UseRule__ImportURIAssignment_1 ) ) ;
+    // InternalOptimisationLanguage.g:1536:1: rule__UseRule__Group__1__Impl : ( ( rule__UseRule__ImportURIAssignment_1 ) ) ;
     public final void rule__UseRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1540:1: ( ( ( rule__UseRule__ImportURIAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1541:1: ( ( rule__UseRule__ImportURIAssignment_1 ) )
+            // InternalOptimisationLanguage.g:1540:1: ( ( ( rule__UseRule__ImportURIAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:1541:1: ( ( rule__UseRule__ImportURIAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1541:1: ( ( rule__UseRule__ImportURIAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1542:2: ( rule__UseRule__ImportURIAssignment_1 )
+            // InternalOptimisationLanguage.g:1541:1: ( ( rule__UseRule__ImportURIAssignment_1 ) )
+            // InternalOptimisationLanguage.g:1542:2: ( rule__UseRule__ImportURIAssignment_1 )
             {
              before(grammarAccess.getUseRuleAccess().getImportURIAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1543:2: ( rule__UseRule__ImportURIAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1543:3: rule__UseRule__ImportURIAssignment_1
+            // InternalOptimisationLanguage.g:1543:2: ( rule__UseRule__ImportURIAssignment_1 )
+            // InternalOptimisationLanguage.g:1543:3: rule__UseRule__ImportURIAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__UseRule__ImportURIAssignment_1();
@@ -5149,14 +5149,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UseRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:1551:1: rule__UseRule__Group__2 : rule__UseRule__Group__2__Impl ;
+    // InternalOptimisationLanguage.g:1551:1: rule__UseRule__Group__2 : rule__UseRule__Group__2__Impl ;
     public final void rule__UseRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1555:1: ( rule__UseRule__Group__2__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1556:2: rule__UseRule__Group__2__Impl
+            // InternalOptimisationLanguage.g:1555:1: ( rule__UseRule__Group__2__Impl )
+            // InternalOptimisationLanguage.g:1556:2: rule__UseRule__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__UseRule__Group__2__Impl();
@@ -5182,17 +5182,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UseRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1562:1: rule__UseRule__Group__2__Impl : ( ';' ) ;
+    // InternalOptimisationLanguage.g:1562:1: rule__UseRule__Group__2__Impl : ( ';' ) ;
     public final void rule__UseRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1566:1: ( ( ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1567:1: ( ';' )
+            // InternalOptimisationLanguage.g:1566:1: ( ( ';' ) )
+            // InternalOptimisationLanguage.g:1567:1: ( ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1567:1: ( ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1568:2: ';'
+            // InternalOptimisationLanguage.g:1567:1: ( ';' )
+            // InternalOptimisationLanguage.g:1568:2: ';'
             {
              before(grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); 
             match(input,48,FOLLOW_2); 
@@ -5219,14 +5219,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1578:1: rule__ConstraintRule__Group__0 : rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1 ;
+    // InternalOptimisationLanguage.g:1578:1: rule__ConstraintRule__Group__0 : rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1 ;
     public final void rule__ConstraintRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1582:1: ( rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1583:2: rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1
+            // InternalOptimisationLanguage.g:1582:1: ( rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1 )
+            // InternalOptimisationLanguage.g:1583:2: rule__ConstraintRule__Group__0__Impl rule__ConstraintRule__Group__1
             {
             pushFollow(FOLLOW_5);
             rule__ConstraintRule__Group__0__Impl();
@@ -5257,21 +5257,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1590:1: rule__ConstraintRule__Group__0__Impl : ( () ) ;
+    // InternalOptimisationLanguage.g:1590:1: rule__ConstraintRule__Group__0__Impl : ( () ) ;
     public final void rule__ConstraintRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1594:1: ( ( () ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1595:1: ( () )
+            // InternalOptimisationLanguage.g:1594:1: ( ( () ) )
+            // InternalOptimisationLanguage.g:1595:1: ( () )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1595:1: ( () )
-            // InternalEvolutionaryAlgorithmLanguage.g:1596:2: ()
+            // InternalOptimisationLanguage.g:1595:1: ( () )
+            // InternalOptimisationLanguage.g:1596:2: ()
             {
              before(grammarAccess.getConstraintRuleAccess().getConstraintAction_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1597:2: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:1597:3: 
+            // InternalOptimisationLanguage.g:1597:2: ()
+            // InternalOptimisationLanguage.g:1597:3: 
             {
             }
 
@@ -5294,14 +5294,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1605:1: rule__ConstraintRule__Group__1 : rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2 ;
+    // InternalOptimisationLanguage.g:1605:1: rule__ConstraintRule__Group__1 : rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2 ;
     public final void rule__ConstraintRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1609:1: ( rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1610:2: rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2
+            // InternalOptimisationLanguage.g:1609:1: ( rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2 )
+            // InternalOptimisationLanguage.g:1610:2: rule__ConstraintRule__Group__1__Impl rule__ConstraintRule__Group__2
             {
             pushFollow(FOLLOW_8);
             rule__ConstraintRule__Group__1__Impl();
@@ -5332,17 +5332,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1617:1: rule__ConstraintRule__Group__1__Impl : ( 'constraints' ) ;
+    // InternalOptimisationLanguage.g:1617:1: rule__ConstraintRule__Group__1__Impl : ( 'constraints' ) ;
     public final void rule__ConstraintRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1621:1: ( ( 'constraints' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1622:1: ( 'constraints' )
+            // InternalOptimisationLanguage.g:1621:1: ( ( 'constraints' ) )
+            // InternalOptimisationLanguage.g:1622:1: ( 'constraints' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1622:1: ( 'constraints' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1623:2: 'constraints'
+            // InternalOptimisationLanguage.g:1622:1: ( 'constraints' )
+            // InternalOptimisationLanguage.g:1623:2: 'constraints'
             {
              before(grammarAccess.getConstraintRuleAccess().getConstraintsKeyword_1()); 
             match(input,49,FOLLOW_2); 
@@ -5369,14 +5369,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:1632:1: rule__ConstraintRule__Group__2 : rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3 ;
+    // InternalOptimisationLanguage.g:1632:1: rule__ConstraintRule__Group__2 : rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3 ;
     public final void rule__ConstraintRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1636:1: ( rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1637:2: rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3
+            // InternalOptimisationLanguage.g:1636:1: ( rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3 )
+            // InternalOptimisationLanguage.g:1637:2: rule__ConstraintRule__Group__2__Impl rule__ConstraintRule__Group__3
             {
             pushFollow(FOLLOW_9);
             rule__ConstraintRule__Group__2__Impl();
@@ -5407,17 +5407,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1644:1: rule__ConstraintRule__Group__2__Impl : ( '{' ) ;
+    // InternalOptimisationLanguage.g:1644:1: rule__ConstraintRule__Group__2__Impl : ( '{' ) ;
     public final void rule__ConstraintRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1648:1: ( ( '{' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1649:1: ( '{' )
+            // InternalOptimisationLanguage.g:1648:1: ( ( '{' ) )
+            // InternalOptimisationLanguage.g:1649:1: ( '{' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1649:1: ( '{' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1650:2: '{'
+            // InternalOptimisationLanguage.g:1649:1: ( '{' )
+            // InternalOptimisationLanguage.g:1650:2: '{'
             {
              before(grammarAccess.getConstraintRuleAccess().getLeftCurlyBracketKeyword_2()); 
             match(input,50,FOLLOW_2); 
@@ -5444,14 +5444,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__3"
-    // InternalEvolutionaryAlgorithmLanguage.g:1659:1: rule__ConstraintRule__Group__3 : rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4 ;
+    // InternalOptimisationLanguage.g:1659:1: rule__ConstraintRule__Group__3 : rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4 ;
     public final void rule__ConstraintRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1663:1: ( rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1664:2: rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4
+            // InternalOptimisationLanguage.g:1663:1: ( rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4 )
+            // InternalOptimisationLanguage.g:1664:2: rule__ConstraintRule__Group__3__Impl rule__ConstraintRule__Group__4
             {
             pushFollow(FOLLOW_9);
             rule__ConstraintRule__Group__3__Impl();
@@ -5482,20 +5482,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__3__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1671:1: rule__ConstraintRule__Group__3__Impl : ( ( rule__ConstraintRule__StatementsAssignment_3 )* ) ;
+    // InternalOptimisationLanguage.g:1671:1: rule__ConstraintRule__Group__3__Impl : ( ( rule__ConstraintRule__StatementsAssignment_3 )* ) ;
     public final void rule__ConstraintRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1675:1: ( ( ( rule__ConstraintRule__StatementsAssignment_3 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1676:1: ( ( rule__ConstraintRule__StatementsAssignment_3 )* )
+            // InternalOptimisationLanguage.g:1675:1: ( ( ( rule__ConstraintRule__StatementsAssignment_3 )* ) )
+            // InternalOptimisationLanguage.g:1676:1: ( ( rule__ConstraintRule__StatementsAssignment_3 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1676:1: ( ( rule__ConstraintRule__StatementsAssignment_3 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1677:2: ( rule__ConstraintRule__StatementsAssignment_3 )*
+            // InternalOptimisationLanguage.g:1676:1: ( ( rule__ConstraintRule__StatementsAssignment_3 )* )
+            // InternalOptimisationLanguage.g:1677:2: ( rule__ConstraintRule__StatementsAssignment_3 )*
             {
              before(grammarAccess.getConstraintRuleAccess().getStatementsAssignment_3()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1678:2: ( rule__ConstraintRule__StatementsAssignment_3 )*
+            // InternalOptimisationLanguage.g:1678:2: ( rule__ConstraintRule__StatementsAssignment_3 )*
             loop14:
             do {
                 int alt14=2;
@@ -5508,7 +5508,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt14) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1678:3: rule__ConstraintRule__StatementsAssignment_3
+            	    // InternalOptimisationLanguage.g:1678:3: rule__ConstraintRule__StatementsAssignment_3
             	    {
             	    pushFollow(FOLLOW_10);
             	    rule__ConstraintRule__StatementsAssignment_3();
@@ -5547,14 +5547,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__4"
-    // InternalEvolutionaryAlgorithmLanguage.g:1686:1: rule__ConstraintRule__Group__4 : rule__ConstraintRule__Group__4__Impl ;
+    // InternalOptimisationLanguage.g:1686:1: rule__ConstraintRule__Group__4 : rule__ConstraintRule__Group__4__Impl ;
     public final void rule__ConstraintRule__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1690:1: ( rule__ConstraintRule__Group__4__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1691:2: rule__ConstraintRule__Group__4__Impl
+            // InternalOptimisationLanguage.g:1690:1: ( rule__ConstraintRule__Group__4__Impl )
+            // InternalOptimisationLanguage.g:1691:2: rule__ConstraintRule__Group__4__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ConstraintRule__Group__4__Impl();
@@ -5580,17 +5580,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__Group__4__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1697:1: rule__ConstraintRule__Group__4__Impl : ( '}' ) ;
+    // InternalOptimisationLanguage.g:1697:1: rule__ConstraintRule__Group__4__Impl : ( '}' ) ;
     public final void rule__ConstraintRule__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1701:1: ( ( '}' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1702:1: ( '}' )
+            // InternalOptimisationLanguage.g:1701:1: ( ( '}' ) )
+            // InternalOptimisationLanguage.g:1702:1: ( '}' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1702:1: ( '}' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1703:2: '}'
+            // InternalOptimisationLanguage.g:1702:1: ( '}' )
+            // InternalOptimisationLanguage.g:1703:2: '}'
             {
              before(grammarAccess.getConstraintRuleAccess().getRightCurlyBracketKeyword_4()); 
             match(input,51,FOLLOW_2); 
@@ -5617,14 +5617,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintStatementRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1713:1: rule__ConstraintStatementRule__Group__0 : rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1 ;
+    // InternalOptimisationLanguage.g:1713:1: rule__ConstraintStatementRule__Group__0 : rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1 ;
     public final void rule__ConstraintStatementRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1717:1: ( rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1718:2: rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1
+            // InternalOptimisationLanguage.g:1717:1: ( rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1 )
+            // InternalOptimisationLanguage.g:1718:2: rule__ConstraintStatementRule__Group__0__Impl rule__ConstraintStatementRule__Group__1
             {
             pushFollow(FOLLOW_7);
             rule__ConstraintStatementRule__Group__0__Impl();
@@ -5655,21 +5655,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintStatementRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1725:1: rule__ConstraintStatementRule__Group__0__Impl : ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:1725:1: rule__ConstraintStatementRule__Group__0__Impl : ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) ) ;
     public final void rule__ConstraintStatementRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1729:1: ( ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1730:1: ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1729:1: ( ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:1730:1: ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1730:1: ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1731:2: ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 )
+            // InternalOptimisationLanguage.g:1730:1: ( ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1731:2: ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 )
             {
              before(grammarAccess.getConstraintStatementRuleAccess().getConstraintExpressionAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1732:2: ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1732:3: rule__ConstraintStatementRule__ConstraintExpressionAssignment_0
+            // InternalOptimisationLanguage.g:1732:2: ( rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 )
+            // InternalOptimisationLanguage.g:1732:3: rule__ConstraintStatementRule__ConstraintExpressionAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__ConstraintStatementRule__ConstraintExpressionAssignment_0();
@@ -5702,14 +5702,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintStatementRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1740:1: rule__ConstraintStatementRule__Group__1 : rule__ConstraintStatementRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:1740:1: rule__ConstraintStatementRule__Group__1 : rule__ConstraintStatementRule__Group__1__Impl ;
     public final void rule__ConstraintStatementRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1744:1: ( rule__ConstraintStatementRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1745:2: rule__ConstraintStatementRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:1744:1: ( rule__ConstraintStatementRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:1745:2: rule__ConstraintStatementRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ConstraintStatementRule__Group__1__Impl();
@@ -5735,17 +5735,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintStatementRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1751:1: rule__ConstraintStatementRule__Group__1__Impl : ( ';' ) ;
+    // InternalOptimisationLanguage.g:1751:1: rule__ConstraintStatementRule__Group__1__Impl : ( ';' ) ;
     public final void rule__ConstraintStatementRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1755:1: ( ( ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1756:1: ( ';' )
+            // InternalOptimisationLanguage.g:1755:1: ( ( ';' ) )
+            // InternalOptimisationLanguage.g:1756:1: ( ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1756:1: ( ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1757:2: ';'
+            // InternalOptimisationLanguage.g:1756:1: ( ';' )
+            // InternalOptimisationLanguage.g:1757:2: ';'
             {
              before(grammarAccess.getConstraintStatementRuleAccess().getSemicolonKeyword_1()); 
             match(input,48,FOLLOW_2); 
@@ -5772,14 +5772,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1767:1: rule__InstanceRule__Group__0 : rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 ;
+    // InternalOptimisationLanguage.g:1767:1: rule__InstanceRule__Group__0 : rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 ;
     public final void rule__InstanceRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1771:1: ( rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1772:2: rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1
+            // InternalOptimisationLanguage.g:1771:1: ( rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 )
+            // InternalOptimisationLanguage.g:1772:2: rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1
             {
             pushFollow(FOLLOW_8);
             rule__InstanceRule__Group__0__Impl();
@@ -5810,21 +5810,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1779:1: rule__InstanceRule__Group__0__Impl : ( ( rule__InstanceRule__NameAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:1779:1: rule__InstanceRule__Group__0__Impl : ( ( rule__InstanceRule__NameAssignment_0 ) ) ;
     public final void rule__InstanceRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1783:1: ( ( ( rule__InstanceRule__NameAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1784:1: ( ( rule__InstanceRule__NameAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1783:1: ( ( ( rule__InstanceRule__NameAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:1784:1: ( ( rule__InstanceRule__NameAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1784:1: ( ( rule__InstanceRule__NameAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1785:2: ( rule__InstanceRule__NameAssignment_0 )
+            // InternalOptimisationLanguage.g:1784:1: ( ( rule__InstanceRule__NameAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1785:2: ( rule__InstanceRule__NameAssignment_0 )
             {
              before(grammarAccess.getInstanceRuleAccess().getNameAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1786:2: ( rule__InstanceRule__NameAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1786:3: rule__InstanceRule__NameAssignment_0
+            // InternalOptimisationLanguage.g:1786:2: ( rule__InstanceRule__NameAssignment_0 )
+            // InternalOptimisationLanguage.g:1786:3: rule__InstanceRule__NameAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__InstanceRule__NameAssignment_0();
@@ -5857,14 +5857,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1794:1: rule__InstanceRule__Group__1 : rule__InstanceRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:1794:1: rule__InstanceRule__Group__1 : rule__InstanceRule__Group__1__Impl ;
     public final void rule__InstanceRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1798:1: ( rule__InstanceRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1799:2: rule__InstanceRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:1798:1: ( rule__InstanceRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:1799:2: rule__InstanceRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__InstanceRule__Group__1__Impl();
@@ -5890,20 +5890,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1805:1: rule__InstanceRule__Group__1__Impl : ( ( rule__InstanceRule__Group_1__0 )? ) ;
+    // InternalOptimisationLanguage.g:1805:1: rule__InstanceRule__Group__1__Impl : ( ( rule__InstanceRule__Group_1__0 )? ) ;
     public final void rule__InstanceRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1809:1: ( ( ( rule__InstanceRule__Group_1__0 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1810:1: ( ( rule__InstanceRule__Group_1__0 )? )
+            // InternalOptimisationLanguage.g:1809:1: ( ( ( rule__InstanceRule__Group_1__0 )? ) )
+            // InternalOptimisationLanguage.g:1810:1: ( ( rule__InstanceRule__Group_1__0 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1810:1: ( ( rule__InstanceRule__Group_1__0 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:1811:2: ( rule__InstanceRule__Group_1__0 )?
+            // InternalOptimisationLanguage.g:1810:1: ( ( rule__InstanceRule__Group_1__0 )? )
+            // InternalOptimisationLanguage.g:1811:2: ( rule__InstanceRule__Group_1__0 )?
             {
              before(grammarAccess.getInstanceRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1812:2: ( rule__InstanceRule__Group_1__0 )?
+            // InternalOptimisationLanguage.g:1812:2: ( rule__InstanceRule__Group_1__0 )?
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -5912,7 +5912,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt15) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1812:3: rule__InstanceRule__Group_1__0
+                    // InternalOptimisationLanguage.g:1812:3: rule__InstanceRule__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__InstanceRule__Group_1__0();
@@ -5948,14 +5948,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1821:1: rule__InstanceRule__Group_1__0 : rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:1821:1: rule__InstanceRule__Group_1__0 : rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 ;
     public final void rule__InstanceRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1825:1: ( rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1826:2: rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1
+            // InternalOptimisationLanguage.g:1825:1: ( rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:1826:2: rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1
             {
             pushFollow(FOLLOW_11);
             rule__InstanceRule__Group_1__0__Impl();
@@ -5986,17 +5986,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1833:1: rule__InstanceRule__Group_1__0__Impl : ( '{' ) ;
+    // InternalOptimisationLanguage.g:1833:1: rule__InstanceRule__Group_1__0__Impl : ( '{' ) ;
     public final void rule__InstanceRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1837:1: ( ( '{' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1838:1: ( '{' )
+            // InternalOptimisationLanguage.g:1837:1: ( ( '{' ) )
+            // InternalOptimisationLanguage.g:1838:1: ( '{' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1838:1: ( '{' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1839:2: '{'
+            // InternalOptimisationLanguage.g:1838:1: ( '{' )
+            // InternalOptimisationLanguage.g:1839:2: '{'
             {
              before(grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); 
             match(input,50,FOLLOW_2); 
@@ -6023,14 +6023,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1848:1: rule__InstanceRule__Group_1__1 : rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 ;
+    // InternalOptimisationLanguage.g:1848:1: rule__InstanceRule__Group_1__1 : rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 ;
     public final void rule__InstanceRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1852:1: ( rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1853:2: rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2
+            // InternalOptimisationLanguage.g:1852:1: ( rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 )
+            // InternalOptimisationLanguage.g:1853:2: rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2
             {
             pushFollow(FOLLOW_11);
             rule__InstanceRule__Group_1__1__Impl();
@@ -6061,20 +6061,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1860:1: rule__InstanceRule__Group_1__1__Impl : ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) ;
+    // InternalOptimisationLanguage.g:1860:1: rule__InstanceRule__Group_1__1__Impl : ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) ;
     public final void rule__InstanceRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1864:1: ( ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1865:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* )
+            // InternalOptimisationLanguage.g:1864:1: ( ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) )
+            // InternalOptimisationLanguage.g:1865:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1865:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1866:2: ( rule__InstanceRule__AttributesAssignment_1_1 )*
+            // InternalOptimisationLanguage.g:1865:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* )
+            // InternalOptimisationLanguage.g:1866:2: ( rule__InstanceRule__AttributesAssignment_1_1 )*
             {
              before(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1867:2: ( rule__InstanceRule__AttributesAssignment_1_1 )*
+            // InternalOptimisationLanguage.g:1867:2: ( rule__InstanceRule__AttributesAssignment_1_1 )*
             loop16:
             do {
                 int alt16=2;
@@ -6087,7 +6087,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1867:3: rule__InstanceRule__AttributesAssignment_1_1
+            	    // InternalOptimisationLanguage.g:1867:3: rule__InstanceRule__AttributesAssignment_1_1
             	    {
             	    pushFollow(FOLLOW_12);
             	    rule__InstanceRule__AttributesAssignment_1_1();
@@ -6126,14 +6126,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:1875:1: rule__InstanceRule__Group_1__2 : rule__InstanceRule__Group_1__2__Impl ;
+    // InternalOptimisationLanguage.g:1875:1: rule__InstanceRule__Group_1__2 : rule__InstanceRule__Group_1__2__Impl ;
     public final void rule__InstanceRule__Group_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1879:1: ( rule__InstanceRule__Group_1__2__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1880:2: rule__InstanceRule__Group_1__2__Impl
+            // InternalOptimisationLanguage.g:1879:1: ( rule__InstanceRule__Group_1__2__Impl )
+            // InternalOptimisationLanguage.g:1880:2: rule__InstanceRule__Group_1__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__InstanceRule__Group_1__2__Impl();
@@ -6159,17 +6159,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__Group_1__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1886:1: rule__InstanceRule__Group_1__2__Impl : ( '}' ) ;
+    // InternalOptimisationLanguage.g:1886:1: rule__InstanceRule__Group_1__2__Impl : ( '}' ) ;
     public final void rule__InstanceRule__Group_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1890:1: ( ( '}' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1891:1: ( '}' )
+            // InternalOptimisationLanguage.g:1890:1: ( ( '}' ) )
+            // InternalOptimisationLanguage.g:1891:1: ( '}' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1891:1: ( '}' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1892:2: '}'
+            // InternalOptimisationLanguage.g:1891:1: ( '}' )
+            // InternalOptimisationLanguage.g:1892:2: '}'
             {
              before(grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); 
             match(input,51,FOLLOW_2); 
@@ -6196,14 +6196,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:1902:1: rule__AttributeRule__Group__0 : rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 ;
+    // InternalOptimisationLanguage.g:1902:1: rule__AttributeRule__Group__0 : rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 ;
     public final void rule__AttributeRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1906:1: ( rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1907:2: rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1
+            // InternalOptimisationLanguage.g:1906:1: ( rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 )
+            // InternalOptimisationLanguage.g:1907:2: rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1
             {
             pushFollow(FOLLOW_13);
             rule__AttributeRule__Group__0__Impl();
@@ -6234,21 +6234,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1914:1: rule__AttributeRule__Group__0__Impl : ( ( rule__AttributeRule__NameAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:1914:1: rule__AttributeRule__Group__0__Impl : ( ( rule__AttributeRule__NameAssignment_0 ) ) ;
     public final void rule__AttributeRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1918:1: ( ( ( rule__AttributeRule__NameAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1919:1: ( ( rule__AttributeRule__NameAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1918:1: ( ( ( rule__AttributeRule__NameAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:1919:1: ( ( rule__AttributeRule__NameAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1919:1: ( ( rule__AttributeRule__NameAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1920:2: ( rule__AttributeRule__NameAssignment_0 )
+            // InternalOptimisationLanguage.g:1919:1: ( ( rule__AttributeRule__NameAssignment_0 ) )
+            // InternalOptimisationLanguage.g:1920:2: ( rule__AttributeRule__NameAssignment_0 )
             {
              before(grammarAccess.getAttributeRuleAccess().getNameAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1921:2: ( rule__AttributeRule__NameAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1921:3: rule__AttributeRule__NameAssignment_0
+            // InternalOptimisationLanguage.g:1921:2: ( rule__AttributeRule__NameAssignment_0 )
+            // InternalOptimisationLanguage.g:1921:3: rule__AttributeRule__NameAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__AttributeRule__NameAssignment_0();
@@ -6281,14 +6281,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:1929:1: rule__AttributeRule__Group__1 : rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 ;
+    // InternalOptimisationLanguage.g:1929:1: rule__AttributeRule__Group__1 : rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 ;
     public final void rule__AttributeRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1933:1: ( rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1934:2: rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2
+            // InternalOptimisationLanguage.g:1933:1: ( rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 )
+            // InternalOptimisationLanguage.g:1934:2: rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2
             {
             pushFollow(FOLLOW_14);
             rule__AttributeRule__Group__1__Impl();
@@ -6319,17 +6319,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1941:1: rule__AttributeRule__Group__1__Impl : ( ':=' ) ;
+    // InternalOptimisationLanguage.g:1941:1: rule__AttributeRule__Group__1__Impl : ( ':=' ) ;
     public final void rule__AttributeRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1945:1: ( ( ':=' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1946:1: ( ':=' )
+            // InternalOptimisationLanguage.g:1945:1: ( ( ':=' ) )
+            // InternalOptimisationLanguage.g:1946:1: ( ':=' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1946:1: ( ':=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1947:2: ':='
+            // InternalOptimisationLanguage.g:1946:1: ( ':=' )
+            // InternalOptimisationLanguage.g:1947:2: ':='
             {
              before(grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); 
             match(input,52,FOLLOW_2); 
@@ -6356,14 +6356,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:1956:1: rule__AttributeRule__Group__2 : rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 ;
+    // InternalOptimisationLanguage.g:1956:1: rule__AttributeRule__Group__2 : rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 ;
     public final void rule__AttributeRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1960:1: ( rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1961:2: rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3
+            // InternalOptimisationLanguage.g:1960:1: ( rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 )
+            // InternalOptimisationLanguage.g:1961:2: rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3
             {
             pushFollow(FOLLOW_7);
             rule__AttributeRule__Group__2__Impl();
@@ -6394,21 +6394,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1968:1: rule__AttributeRule__Group__2__Impl : ( ( rule__AttributeRule__ValueAssignment_2 ) ) ;
+    // InternalOptimisationLanguage.g:1968:1: rule__AttributeRule__Group__2__Impl : ( ( rule__AttributeRule__ValueAssignment_2 ) ) ;
     public final void rule__AttributeRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1972:1: ( ( ( rule__AttributeRule__ValueAssignment_2 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1973:1: ( ( rule__AttributeRule__ValueAssignment_2 ) )
+            // InternalOptimisationLanguage.g:1972:1: ( ( ( rule__AttributeRule__ValueAssignment_2 ) ) )
+            // InternalOptimisationLanguage.g:1973:1: ( ( rule__AttributeRule__ValueAssignment_2 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1973:1: ( ( rule__AttributeRule__ValueAssignment_2 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1974:2: ( rule__AttributeRule__ValueAssignment_2 )
+            // InternalOptimisationLanguage.g:1973:1: ( ( rule__AttributeRule__ValueAssignment_2 ) )
+            // InternalOptimisationLanguage.g:1974:2: ( rule__AttributeRule__ValueAssignment_2 )
             {
              before(grammarAccess.getAttributeRuleAccess().getValueAssignment_2()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:1975:2: ( rule__AttributeRule__ValueAssignment_2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:1975:3: rule__AttributeRule__ValueAssignment_2
+            // InternalOptimisationLanguage.g:1975:2: ( rule__AttributeRule__ValueAssignment_2 )
+            // InternalOptimisationLanguage.g:1975:3: rule__AttributeRule__ValueAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__AttributeRule__ValueAssignment_2();
@@ -6441,14 +6441,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__3"
-    // InternalEvolutionaryAlgorithmLanguage.g:1983:1: rule__AttributeRule__Group__3 : rule__AttributeRule__Group__3__Impl ;
+    // InternalOptimisationLanguage.g:1983:1: rule__AttributeRule__Group__3 : rule__AttributeRule__Group__3__Impl ;
     public final void rule__AttributeRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1987:1: ( rule__AttributeRule__Group__3__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:1988:2: rule__AttributeRule__Group__3__Impl
+            // InternalOptimisationLanguage.g:1987:1: ( rule__AttributeRule__Group__3__Impl )
+            // InternalOptimisationLanguage.g:1988:2: rule__AttributeRule__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AttributeRule__Group__3__Impl();
@@ -6474,17 +6474,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__Group__3__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:1994:1: rule__AttributeRule__Group__3__Impl : ( ';' ) ;
+    // InternalOptimisationLanguage.g:1994:1: rule__AttributeRule__Group__3__Impl : ( ';' ) ;
     public final void rule__AttributeRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1998:1: ( ( ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1999:1: ( ';' )
+            // InternalOptimisationLanguage.g:1998:1: ( ( ';' ) )
+            // InternalOptimisationLanguage.g:1999:1: ( ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1999:1: ( ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2000:2: ';'
+            // InternalOptimisationLanguage.g:1999:1: ( ';' )
+            // InternalOptimisationLanguage.g:2000:2: ';'
             {
              before(grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); 
             match(input,48,FOLLOW_2); 
@@ -6511,14 +6511,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2010:1: rule__ArrayRule__Group__0 : rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2010:1: rule__ArrayRule__Group__0 : rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 ;
     public final void rule__ArrayRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2014:1: ( rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2015:2: rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1
+            // InternalOptimisationLanguage.g:2014:1: ( rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 )
+            // InternalOptimisationLanguage.g:2015:2: rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1
             {
             pushFollow(FOLLOW_15);
             rule__ArrayRule__Group__0__Impl();
@@ -6549,21 +6549,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2022:1: rule__ArrayRule__Group__0__Impl : ( () ) ;
+    // InternalOptimisationLanguage.g:2022:1: rule__ArrayRule__Group__0__Impl : ( () ) ;
     public final void rule__ArrayRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2026:1: ( ( () ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2027:1: ( () )
+            // InternalOptimisationLanguage.g:2026:1: ( ( () ) )
+            // InternalOptimisationLanguage.g:2027:1: ( () )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2027:1: ( () )
-            // InternalEvolutionaryAlgorithmLanguage.g:2028:2: ()
+            // InternalOptimisationLanguage.g:2027:1: ( () )
+            // InternalOptimisationLanguage.g:2028:2: ()
             {
              before(grammarAccess.getArrayRuleAccess().getArrayAction_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2029:2: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:2029:3: 
+            // InternalOptimisationLanguage.g:2029:2: ()
+            // InternalOptimisationLanguage.g:2029:3: 
             {
             }
 
@@ -6586,14 +6586,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2037:1: rule__ArrayRule__Group__1 : rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 ;
+    // InternalOptimisationLanguage.g:2037:1: rule__ArrayRule__Group__1 : rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 ;
     public final void rule__ArrayRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2041:1: ( rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2042:2: rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2
+            // InternalOptimisationLanguage.g:2041:1: ( rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 )
+            // InternalOptimisationLanguage.g:2042:2: rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2
             {
             pushFollow(FOLLOW_16);
             rule__ArrayRule__Group__1__Impl();
@@ -6624,17 +6624,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2049:1: rule__ArrayRule__Group__1__Impl : ( '[' ) ;
+    // InternalOptimisationLanguage.g:2049:1: rule__ArrayRule__Group__1__Impl : ( '[' ) ;
     public final void rule__ArrayRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2053:1: ( ( '[' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2054:1: ( '[' )
+            // InternalOptimisationLanguage.g:2053:1: ( ( '[' ) )
+            // InternalOptimisationLanguage.g:2054:1: ( '[' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2054:1: ( '[' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2055:2: '['
+            // InternalOptimisationLanguage.g:2054:1: ( '[' )
+            // InternalOptimisationLanguage.g:2055:2: '['
             {
              before(grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); 
             match(input,53,FOLLOW_2); 
@@ -6661,14 +6661,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:2064:1: rule__ArrayRule__Group__2 : rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 ;
+    // InternalOptimisationLanguage.g:2064:1: rule__ArrayRule__Group__2 : rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 ;
     public final void rule__ArrayRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2068:1: ( rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2069:2: rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3
+            // InternalOptimisationLanguage.g:2068:1: ( rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 )
+            // InternalOptimisationLanguage.g:2069:2: rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3
             {
             pushFollow(FOLLOW_16);
             rule__ArrayRule__Group__2__Impl();
@@ -6699,20 +6699,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2076:1: rule__ArrayRule__Group__2__Impl : ( ( rule__ArrayRule__Group_2__0 )? ) ;
+    // InternalOptimisationLanguage.g:2076:1: rule__ArrayRule__Group__2__Impl : ( ( rule__ArrayRule__Group_2__0 )? ) ;
     public final void rule__ArrayRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2080:1: ( ( ( rule__ArrayRule__Group_2__0 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2081:1: ( ( rule__ArrayRule__Group_2__0 )? )
+            // InternalOptimisationLanguage.g:2080:1: ( ( ( rule__ArrayRule__Group_2__0 )? ) )
+            // InternalOptimisationLanguage.g:2081:1: ( ( rule__ArrayRule__Group_2__0 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2081:1: ( ( rule__ArrayRule__Group_2__0 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:2082:2: ( rule__ArrayRule__Group_2__0 )?
+            // InternalOptimisationLanguage.g:2081:1: ( ( rule__ArrayRule__Group_2__0 )? )
+            // InternalOptimisationLanguage.g:2082:2: ( rule__ArrayRule__Group_2__0 )?
             {
              before(grammarAccess.getArrayRuleAccess().getGroup_2()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2083:2: ( rule__ArrayRule__Group_2__0 )?
+            // InternalOptimisationLanguage.g:2083:2: ( rule__ArrayRule__Group_2__0 )?
             int alt17=2;
             int LA17_0 = input.LA(1);
 
@@ -6721,7 +6721,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt17) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2083:3: rule__ArrayRule__Group_2__0
+                    // InternalOptimisationLanguage.g:2083:3: rule__ArrayRule__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__ArrayRule__Group_2__0();
@@ -6757,14 +6757,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__3"
-    // InternalEvolutionaryAlgorithmLanguage.g:2091:1: rule__ArrayRule__Group__3 : rule__ArrayRule__Group__3__Impl ;
+    // InternalOptimisationLanguage.g:2091:1: rule__ArrayRule__Group__3 : rule__ArrayRule__Group__3__Impl ;
     public final void rule__ArrayRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2095:1: ( rule__ArrayRule__Group__3__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2096:2: rule__ArrayRule__Group__3__Impl
+            // InternalOptimisationLanguage.g:2095:1: ( rule__ArrayRule__Group__3__Impl )
+            // InternalOptimisationLanguage.g:2096:2: rule__ArrayRule__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__Group__3__Impl();
@@ -6790,17 +6790,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group__3__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2102:1: rule__ArrayRule__Group__3__Impl : ( ']' ) ;
+    // InternalOptimisationLanguage.g:2102:1: rule__ArrayRule__Group__3__Impl : ( ']' ) ;
     public final void rule__ArrayRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2106:1: ( ( ']' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2107:1: ( ']' )
+            // InternalOptimisationLanguage.g:2106:1: ( ( ']' ) )
+            // InternalOptimisationLanguage.g:2107:1: ( ']' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2107:1: ( ']' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2108:2: ']'
+            // InternalOptimisationLanguage.g:2107:1: ( ']' )
+            // InternalOptimisationLanguage.g:2108:2: ']'
             {
              before(grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); 
             match(input,54,FOLLOW_2); 
@@ -6827,14 +6827,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2118:1: rule__ArrayRule__Group_2__0 : rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 ;
+    // InternalOptimisationLanguage.g:2118:1: rule__ArrayRule__Group_2__0 : rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 ;
     public final void rule__ArrayRule__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2122:1: ( rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2123:2: rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1
+            // InternalOptimisationLanguage.g:2122:1: ( rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 )
+            // InternalOptimisationLanguage.g:2123:2: rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1
             {
             pushFollow(FOLLOW_17);
             rule__ArrayRule__Group_2__0__Impl();
@@ -6865,21 +6865,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2130:1: rule__ArrayRule__Group_2__0__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) ;
+    // InternalOptimisationLanguage.g:2130:1: rule__ArrayRule__Group_2__0__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) ;
     public final void rule__ArrayRule__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2134:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2135:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) )
+            // InternalOptimisationLanguage.g:2134:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) )
+            // InternalOptimisationLanguage.g:2135:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2135:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2136:2: ( rule__ArrayRule__ValuesAssignment_2_0 )
+            // InternalOptimisationLanguage.g:2135:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) )
+            // InternalOptimisationLanguage.g:2136:2: ( rule__ArrayRule__ValuesAssignment_2_0 )
             {
              before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2137:2: ( rule__ArrayRule__ValuesAssignment_2_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2137:3: rule__ArrayRule__ValuesAssignment_2_0
+            // InternalOptimisationLanguage.g:2137:2: ( rule__ArrayRule__ValuesAssignment_2_0 )
+            // InternalOptimisationLanguage.g:2137:3: rule__ArrayRule__ValuesAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__ValuesAssignment_2_0();
@@ -6912,14 +6912,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2145:1: rule__ArrayRule__Group_2__1 : rule__ArrayRule__Group_2__1__Impl ;
+    // InternalOptimisationLanguage.g:2145:1: rule__ArrayRule__Group_2__1 : rule__ArrayRule__Group_2__1__Impl ;
     public final void rule__ArrayRule__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2149:1: ( rule__ArrayRule__Group_2__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2150:2: rule__ArrayRule__Group_2__1__Impl
+            // InternalOptimisationLanguage.g:2149:1: ( rule__ArrayRule__Group_2__1__Impl )
+            // InternalOptimisationLanguage.g:2150:2: rule__ArrayRule__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__Group_2__1__Impl();
@@ -6945,20 +6945,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2156:1: rule__ArrayRule__Group_2__1__Impl : ( ( rule__ArrayRule__Group_2_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2156:1: rule__ArrayRule__Group_2__1__Impl : ( ( rule__ArrayRule__Group_2_1__0 )* ) ;
     public final void rule__ArrayRule__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2160:1: ( ( ( rule__ArrayRule__Group_2_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2161:1: ( ( rule__ArrayRule__Group_2_1__0 )* )
+            // InternalOptimisationLanguage.g:2160:1: ( ( ( rule__ArrayRule__Group_2_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2161:1: ( ( rule__ArrayRule__Group_2_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2161:1: ( ( rule__ArrayRule__Group_2_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2162:2: ( rule__ArrayRule__Group_2_1__0 )*
+            // InternalOptimisationLanguage.g:2161:1: ( ( rule__ArrayRule__Group_2_1__0 )* )
+            // InternalOptimisationLanguage.g:2162:2: ( rule__ArrayRule__Group_2_1__0 )*
             {
              before(grammarAccess.getArrayRuleAccess().getGroup_2_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2163:2: ( rule__ArrayRule__Group_2_1__0 )*
+            // InternalOptimisationLanguage.g:2163:2: ( rule__ArrayRule__Group_2_1__0 )*
             loop18:
             do {
                 int alt18=2;
@@ -6971,7 +6971,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt18) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2163:3: rule__ArrayRule__Group_2_1__0
+            	    // InternalOptimisationLanguage.g:2163:3: rule__ArrayRule__Group_2_1__0
             	    {
             	    pushFollow(FOLLOW_18);
             	    rule__ArrayRule__Group_2_1__0();
@@ -7010,14 +7010,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2172:1: rule__ArrayRule__Group_2_1__0 : rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 ;
+    // InternalOptimisationLanguage.g:2172:1: rule__ArrayRule__Group_2_1__0 : rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 ;
     public final void rule__ArrayRule__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2176:1: ( rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2177:2: rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1
+            // InternalOptimisationLanguage.g:2176:1: ( rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 )
+            // InternalOptimisationLanguage.g:2177:2: rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1
             {
             pushFollow(FOLLOW_14);
             rule__ArrayRule__Group_2_1__0__Impl();
@@ -7048,17 +7048,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2184:1: rule__ArrayRule__Group_2_1__0__Impl : ( ',' ) ;
+    // InternalOptimisationLanguage.g:2184:1: rule__ArrayRule__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__ArrayRule__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2188:1: ( ( ',' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2189:1: ( ',' )
+            // InternalOptimisationLanguage.g:2188:1: ( ( ',' ) )
+            // InternalOptimisationLanguage.g:2189:1: ( ',' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2189:1: ( ',' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2190:2: ','
+            // InternalOptimisationLanguage.g:2189:1: ( ',' )
+            // InternalOptimisationLanguage.g:2190:2: ','
             {
              before(grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); 
             match(input,55,FOLLOW_2); 
@@ -7085,14 +7085,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2199:1: rule__ArrayRule__Group_2_1__1 : rule__ArrayRule__Group_2_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2199:1: rule__ArrayRule__Group_2_1__1 : rule__ArrayRule__Group_2_1__1__Impl ;
     public final void rule__ArrayRule__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2203:1: ( rule__ArrayRule__Group_2_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2204:2: rule__ArrayRule__Group_2_1__1__Impl
+            // InternalOptimisationLanguage.g:2203:1: ( rule__ArrayRule__Group_2_1__1__Impl )
+            // InternalOptimisationLanguage.g:2204:2: rule__ArrayRule__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__Group_2_1__1__Impl();
@@ -7118,21 +7118,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__Group_2_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2210:1: rule__ArrayRule__Group_2_1__1__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2210:1: rule__ArrayRule__Group_2_1__1__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) ;
     public final void rule__ArrayRule__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2214:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2215:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) )
+            // InternalOptimisationLanguage.g:2214:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2215:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2215:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2216:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 )
+            // InternalOptimisationLanguage.g:2215:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) )
+            // InternalOptimisationLanguage.g:2216:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 )
             {
              before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2217:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2217:3: rule__ArrayRule__ValuesAssignment_2_1_1
+            // InternalOptimisationLanguage.g:2217:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 )
+            // InternalOptimisationLanguage.g:2217:3: rule__ArrayRule__ValuesAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__ArrayRule__ValuesAssignment_2_1_1();
@@ -7165,14 +7165,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2226:1: rule__DataReferenceRule__Group__0 : rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2226:1: rule__DataReferenceRule__Group__0 : rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 ;
     public final void rule__DataReferenceRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2230:1: ( rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2231:2: rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1
+            // InternalOptimisationLanguage.g:2230:1: ( rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 )
+            // InternalOptimisationLanguage.g:2231:2: rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1
             {
             pushFollow(FOLLOW_19);
             rule__DataReferenceRule__Group__0__Impl();
@@ -7203,21 +7203,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2238:1: rule__DataReferenceRule__Group__0__Impl : ( () ) ;
+    // InternalOptimisationLanguage.g:2238:1: rule__DataReferenceRule__Group__0__Impl : ( () ) ;
     public final void rule__DataReferenceRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2242:1: ( ( () ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2243:1: ( () )
+            // InternalOptimisationLanguage.g:2242:1: ( ( () ) )
+            // InternalOptimisationLanguage.g:2243:1: ( () )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2243:1: ( () )
-            // InternalEvolutionaryAlgorithmLanguage.g:2244:2: ()
+            // InternalOptimisationLanguage.g:2243:1: ( () )
+            // InternalOptimisationLanguage.g:2244:2: ()
             {
              before(grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:2: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:3: 
+            // InternalOptimisationLanguage.g:2245:2: ()
+            // InternalOptimisationLanguage.g:2245:3: 
             {
             }
 
@@ -7240,14 +7240,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2253:1: rule__DataReferenceRule__Group__1 : rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 ;
+    // InternalOptimisationLanguage.g:2253:1: rule__DataReferenceRule__Group__1 : rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 ;
     public final void rule__DataReferenceRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2257:1: ( rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2258:2: rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2
+            // InternalOptimisationLanguage.g:2257:1: ( rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 )
+            // InternalOptimisationLanguage.g:2258:2: rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2
             {
             pushFollow(FOLLOW_3);
             rule__DataReferenceRule__Group__1__Impl();
@@ -7278,17 +7278,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2265:1: rule__DataReferenceRule__Group__1__Impl : ( 'data' ) ;
+    // InternalOptimisationLanguage.g:2265:1: rule__DataReferenceRule__Group__1__Impl : ( 'data' ) ;
     public final void rule__DataReferenceRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2269:1: ( ( 'data' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2270:1: ( 'data' )
+            // InternalOptimisationLanguage.g:2269:1: ( ( 'data' ) )
+            // InternalOptimisationLanguage.g:2270:1: ( 'data' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2270:1: ( 'data' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2271:2: 'data'
+            // InternalOptimisationLanguage.g:2270:1: ( 'data' )
+            // InternalOptimisationLanguage.g:2271:2: 'data'
             {
              before(grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); 
             match(input,56,FOLLOW_2); 
@@ -7315,14 +7315,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:2280:1: rule__DataReferenceRule__Group__2 : rule__DataReferenceRule__Group__2__Impl ;
+    // InternalOptimisationLanguage.g:2280:1: rule__DataReferenceRule__Group__2 : rule__DataReferenceRule__Group__2__Impl ;
     public final void rule__DataReferenceRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2284:1: ( rule__DataReferenceRule__Group__2__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2285:2: rule__DataReferenceRule__Group__2__Impl
+            // InternalOptimisationLanguage.g:2284:1: ( rule__DataReferenceRule__Group__2__Impl )
+            // InternalOptimisationLanguage.g:2285:2: rule__DataReferenceRule__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DataReferenceRule__Group__2__Impl();
@@ -7348,21 +7348,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2291:1: rule__DataReferenceRule__Group__2__Impl : ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) ;
+    // InternalOptimisationLanguage.g:2291:1: rule__DataReferenceRule__Group__2__Impl : ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) ;
     public final void rule__DataReferenceRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2295:1: ( ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2296:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) )
+            // InternalOptimisationLanguage.g:2295:1: ( ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) )
+            // InternalOptimisationLanguage.g:2296:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2296:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2297:2: ( rule__DataReferenceRule__DefinitionAssignment_2 )
+            // InternalOptimisationLanguage.g:2296:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) )
+            // InternalOptimisationLanguage.g:2297:2: ( rule__DataReferenceRule__DefinitionAssignment_2 )
             {
              before(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2298:2: ( rule__DataReferenceRule__DefinitionAssignment_2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2298:3: rule__DataReferenceRule__DefinitionAssignment_2
+            // InternalOptimisationLanguage.g:2298:2: ( rule__DataReferenceRule__DefinitionAssignment_2 )
+            // InternalOptimisationLanguage.g:2298:3: rule__DataReferenceRule__DefinitionAssignment_2
             {
             pushFollow(FOLLOW_2);
             rule__DataReferenceRule__DefinitionAssignment_2();
@@ -7395,14 +7395,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2307:1: rule__OrExpressionRule__Group__0 : rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2307:1: rule__OrExpressionRule__Group__0 : rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 ;
     public final void rule__OrExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2311:1: ( rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2312:2: rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2311:1: ( rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2312:2: rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1
             {
             pushFollow(FOLLOW_20);
             rule__OrExpressionRule__Group__0__Impl();
@@ -7433,21 +7433,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2319:1: rule__OrExpressionRule__Group__0__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2319:1: rule__OrExpressionRule__Group__0__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) ;
     public final void rule__OrExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2323:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2324:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2323:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2324:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2324:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2325:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2324:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2325:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 )
             {
              before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2326:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2326:3: rule__OrExpressionRule__SubExpressionsAssignment_0
+            // InternalOptimisationLanguage.g:2326:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2326:3: rule__OrExpressionRule__SubExpressionsAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__OrExpressionRule__SubExpressionsAssignment_0();
@@ -7480,14 +7480,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2334:1: rule__OrExpressionRule__Group__1 : rule__OrExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2334:1: rule__OrExpressionRule__Group__1 : rule__OrExpressionRule__Group__1__Impl ;
     public final void rule__OrExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2338:1: ( rule__OrExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2339:2: rule__OrExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2338:1: ( rule__OrExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2339:2: rule__OrExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OrExpressionRule__Group__1__Impl();
@@ -7513,20 +7513,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2345:1: rule__OrExpressionRule__Group__1__Impl : ( ( rule__OrExpressionRule__Group_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2345:1: rule__OrExpressionRule__Group__1__Impl : ( ( rule__OrExpressionRule__Group_1__0 )* ) ;
     public final void rule__OrExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2349:1: ( ( ( rule__OrExpressionRule__Group_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2350:1: ( ( rule__OrExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2349:1: ( ( ( rule__OrExpressionRule__Group_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2350:1: ( ( rule__OrExpressionRule__Group_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2350:1: ( ( rule__OrExpressionRule__Group_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2351:2: ( rule__OrExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2350:1: ( ( rule__OrExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2351:2: ( rule__OrExpressionRule__Group_1__0 )*
             {
              before(grammarAccess.getOrExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2352:2: ( rule__OrExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2352:2: ( rule__OrExpressionRule__Group_1__0 )*
             loop19:
             do {
                 int alt19=2;
@@ -7539,7 +7539,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt19) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2352:3: rule__OrExpressionRule__Group_1__0
+            	    // InternalOptimisationLanguage.g:2352:3: rule__OrExpressionRule__Group_1__0
             	    {
             	    pushFollow(FOLLOW_21);
             	    rule__OrExpressionRule__Group_1__0();
@@ -7578,14 +7578,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2361:1: rule__OrExpressionRule__Group_1__0 : rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:2361:1: rule__OrExpressionRule__Group_1__0 : rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 ;
     public final void rule__OrExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2365:1: ( rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2366:2: rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:2365:1: ( rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:2366:2: rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__OrExpressionRule__Group_1__0__Impl();
@@ -7616,17 +7616,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2373:1: rule__OrExpressionRule__Group_1__0__Impl : ( 'OR' ) ;
+    // InternalOptimisationLanguage.g:2373:1: rule__OrExpressionRule__Group_1__0__Impl : ( 'OR' ) ;
     public final void rule__OrExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2377:1: ( ( 'OR' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2378:1: ( 'OR' )
+            // InternalOptimisationLanguage.g:2377:1: ( ( 'OR' ) )
+            // InternalOptimisationLanguage.g:2378:1: ( 'OR' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2378:1: ( 'OR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2379:2: 'OR'
+            // InternalOptimisationLanguage.g:2378:1: ( 'OR' )
+            // InternalOptimisationLanguage.g:2379:2: 'OR'
             {
              before(grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); 
             match(input,57,FOLLOW_2); 
@@ -7653,14 +7653,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2388:1: rule__OrExpressionRule__Group_1__1 : rule__OrExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2388:1: rule__OrExpressionRule__Group_1__1 : rule__OrExpressionRule__Group_1__1__Impl ;
     public final void rule__OrExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2392:1: ( rule__OrExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2393:2: rule__OrExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:2392:1: ( rule__OrExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:2393:2: rule__OrExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__OrExpressionRule__Group_1__1__Impl();
@@ -7686,21 +7686,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2399:1: rule__OrExpressionRule__Group_1__1__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2399:1: rule__OrExpressionRule__Group_1__1__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
     public final void rule__OrExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2403:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2404:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2403:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2404:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2404:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2405:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2404:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2405:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 )
             {
              before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2406:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2406:3: rule__OrExpressionRule__SubExpressionsAssignment_1_1
+            // InternalOptimisationLanguage.g:2406:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2406:3: rule__OrExpressionRule__SubExpressionsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__OrExpressionRule__SubExpressionsAssignment_1_1();
@@ -7733,14 +7733,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2415:1: rule__XorExpressionRule__Group__0 : rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2415:1: rule__XorExpressionRule__Group__0 : rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 ;
     public final void rule__XorExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2419:1: ( rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2420:2: rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2419:1: ( rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2420:2: rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1
             {
             pushFollow(FOLLOW_23);
             rule__XorExpressionRule__Group__0__Impl();
@@ -7771,21 +7771,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2427:1: rule__XorExpressionRule__Group__0__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2427:1: rule__XorExpressionRule__Group__0__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) ;
     public final void rule__XorExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2431:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2432:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2431:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2432:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2432:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2433:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2432:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2433:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 )
             {
              before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2434:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2434:3: rule__XorExpressionRule__SubExpressionsAssignment_0
+            // InternalOptimisationLanguage.g:2434:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2434:3: rule__XorExpressionRule__SubExpressionsAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__XorExpressionRule__SubExpressionsAssignment_0();
@@ -7818,14 +7818,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2442:1: rule__XorExpressionRule__Group__1 : rule__XorExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2442:1: rule__XorExpressionRule__Group__1 : rule__XorExpressionRule__Group__1__Impl ;
     public final void rule__XorExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2446:1: ( rule__XorExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2447:2: rule__XorExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2446:1: ( rule__XorExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2447:2: rule__XorExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XorExpressionRule__Group__1__Impl();
@@ -7851,20 +7851,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2453:1: rule__XorExpressionRule__Group__1__Impl : ( ( rule__XorExpressionRule__Group_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2453:1: rule__XorExpressionRule__Group__1__Impl : ( ( rule__XorExpressionRule__Group_1__0 )* ) ;
     public final void rule__XorExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2457:1: ( ( ( rule__XorExpressionRule__Group_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2458:1: ( ( rule__XorExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2457:1: ( ( ( rule__XorExpressionRule__Group_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2458:1: ( ( rule__XorExpressionRule__Group_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2458:1: ( ( rule__XorExpressionRule__Group_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2459:2: ( rule__XorExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2458:1: ( ( rule__XorExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2459:2: ( rule__XorExpressionRule__Group_1__0 )*
             {
              before(grammarAccess.getXorExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2460:2: ( rule__XorExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2460:2: ( rule__XorExpressionRule__Group_1__0 )*
             loop20:
             do {
                 int alt20=2;
@@ -7877,7 +7877,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt20) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2460:3: rule__XorExpressionRule__Group_1__0
+            	    // InternalOptimisationLanguage.g:2460:3: rule__XorExpressionRule__Group_1__0
             	    {
             	    pushFollow(FOLLOW_24);
             	    rule__XorExpressionRule__Group_1__0();
@@ -7916,14 +7916,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2469:1: rule__XorExpressionRule__Group_1__0 : rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:2469:1: rule__XorExpressionRule__Group_1__0 : rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 ;
     public final void rule__XorExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2473:1: ( rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2474:2: rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:2473:1: ( rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:2474:2: rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__XorExpressionRule__Group_1__0__Impl();
@@ -7954,17 +7954,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2481:1: rule__XorExpressionRule__Group_1__0__Impl : ( 'XOR' ) ;
+    // InternalOptimisationLanguage.g:2481:1: rule__XorExpressionRule__Group_1__0__Impl : ( 'XOR' ) ;
     public final void rule__XorExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2485:1: ( ( 'XOR' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2486:1: ( 'XOR' )
+            // InternalOptimisationLanguage.g:2485:1: ( ( 'XOR' ) )
+            // InternalOptimisationLanguage.g:2486:1: ( 'XOR' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2486:1: ( 'XOR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2487:2: 'XOR'
+            // InternalOptimisationLanguage.g:2486:1: ( 'XOR' )
+            // InternalOptimisationLanguage.g:2487:2: 'XOR'
             {
              before(grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); 
             match(input,58,FOLLOW_2); 
@@ -7991,14 +7991,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2496:1: rule__XorExpressionRule__Group_1__1 : rule__XorExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2496:1: rule__XorExpressionRule__Group_1__1 : rule__XorExpressionRule__Group_1__1__Impl ;
     public final void rule__XorExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2500:1: ( rule__XorExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2501:2: rule__XorExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:2500:1: ( rule__XorExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:2501:2: rule__XorExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__XorExpressionRule__Group_1__1__Impl();
@@ -8024,21 +8024,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2507:1: rule__XorExpressionRule__Group_1__1__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2507:1: rule__XorExpressionRule__Group_1__1__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
     public final void rule__XorExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2511:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2512:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2511:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2512:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2512:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2513:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2512:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2513:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 )
             {
              before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2514:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2514:3: rule__XorExpressionRule__SubExpressionsAssignment_1_1
+            // InternalOptimisationLanguage.g:2514:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2514:3: rule__XorExpressionRule__SubExpressionsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__XorExpressionRule__SubExpressionsAssignment_1_1();
@@ -8071,14 +8071,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2523:1: rule__AndExpressionRule__Group__0 : rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2523:1: rule__AndExpressionRule__Group__0 : rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 ;
     public final void rule__AndExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2527:1: ( rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2528:2: rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2527:1: ( rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2528:2: rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1
             {
             pushFollow(FOLLOW_25);
             rule__AndExpressionRule__Group__0__Impl();
@@ -8109,21 +8109,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2535:1: rule__AndExpressionRule__Group__0__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2535:1: rule__AndExpressionRule__Group__0__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) ;
     public final void rule__AndExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2539:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2540:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2539:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2540:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2540:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2541:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2540:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2541:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 )
             {
              before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2542:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2542:3: rule__AndExpressionRule__SubExpressionsAssignment_0
+            // InternalOptimisationLanguage.g:2542:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 )
+            // InternalOptimisationLanguage.g:2542:3: rule__AndExpressionRule__SubExpressionsAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__AndExpressionRule__SubExpressionsAssignment_0();
@@ -8156,14 +8156,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2550:1: rule__AndExpressionRule__Group__1 : rule__AndExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2550:1: rule__AndExpressionRule__Group__1 : rule__AndExpressionRule__Group__1__Impl ;
     public final void rule__AndExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2554:1: ( rule__AndExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2555:2: rule__AndExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2554:1: ( rule__AndExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2555:2: rule__AndExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AndExpressionRule__Group__1__Impl();
@@ -8189,20 +8189,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2561:1: rule__AndExpressionRule__Group__1__Impl : ( ( rule__AndExpressionRule__Group_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2561:1: rule__AndExpressionRule__Group__1__Impl : ( ( rule__AndExpressionRule__Group_1__0 )* ) ;
     public final void rule__AndExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2565:1: ( ( ( rule__AndExpressionRule__Group_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2566:1: ( ( rule__AndExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2565:1: ( ( ( rule__AndExpressionRule__Group_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2566:1: ( ( rule__AndExpressionRule__Group_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2566:1: ( ( rule__AndExpressionRule__Group_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2567:2: ( rule__AndExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2566:1: ( ( rule__AndExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2567:2: ( rule__AndExpressionRule__Group_1__0 )*
             {
              before(grammarAccess.getAndExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2568:2: ( rule__AndExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2568:2: ( rule__AndExpressionRule__Group_1__0 )*
             loop21:
             do {
                 int alt21=2;
@@ -8215,7 +8215,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt21) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2568:3: rule__AndExpressionRule__Group_1__0
+            	    // InternalOptimisationLanguage.g:2568:3: rule__AndExpressionRule__Group_1__0
             	    {
             	    pushFollow(FOLLOW_26);
             	    rule__AndExpressionRule__Group_1__0();
@@ -8254,14 +8254,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2577:1: rule__AndExpressionRule__Group_1__0 : rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:2577:1: rule__AndExpressionRule__Group_1__0 : rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 ;
     public final void rule__AndExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2581:1: ( rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2582:2: rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:2581:1: ( rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:2582:2: rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__AndExpressionRule__Group_1__0__Impl();
@@ -8292,17 +8292,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2589:1: rule__AndExpressionRule__Group_1__0__Impl : ( 'AND' ) ;
+    // InternalOptimisationLanguage.g:2589:1: rule__AndExpressionRule__Group_1__0__Impl : ( 'AND' ) ;
     public final void rule__AndExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2593:1: ( ( 'AND' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2594:1: ( 'AND' )
+            // InternalOptimisationLanguage.g:2593:1: ( ( 'AND' ) )
+            // InternalOptimisationLanguage.g:2594:1: ( 'AND' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2594:1: ( 'AND' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2595:2: 'AND'
+            // InternalOptimisationLanguage.g:2594:1: ( 'AND' )
+            // InternalOptimisationLanguage.g:2595:2: 'AND'
             {
              before(grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); 
             match(input,59,FOLLOW_2); 
@@ -8329,14 +8329,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2604:1: rule__AndExpressionRule__Group_1__1 : rule__AndExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2604:1: rule__AndExpressionRule__Group_1__1 : rule__AndExpressionRule__Group_1__1__Impl ;
     public final void rule__AndExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2608:1: ( rule__AndExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2609:2: rule__AndExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:2608:1: ( rule__AndExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:2609:2: rule__AndExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AndExpressionRule__Group_1__1__Impl();
@@ -8362,21 +8362,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2615:1: rule__AndExpressionRule__Group_1__1__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2615:1: rule__AndExpressionRule__Group_1__1__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) ;
     public final void rule__AndExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2619:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2620:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2619:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2620:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2620:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2621:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2620:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2621:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 )
             {
              before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2622:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2622:3: rule__AndExpressionRule__SubExpressionsAssignment_1_1
+            // InternalOptimisationLanguage.g:2622:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2622:3: rule__AndExpressionRule__SubExpressionsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__AndExpressionRule__SubExpressionsAssignment_1_1();
@@ -8409,14 +8409,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2631:1: rule__NotExpressionRule__Group__0 : rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2631:1: rule__NotExpressionRule__Group__0 : rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 ;
     public final void rule__NotExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2635:1: ( rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2636:2: rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2635:1: ( rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2636:2: rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1
             {
             pushFollow(FOLLOW_22);
             rule__NotExpressionRule__Group__0__Impl();
@@ -8447,20 +8447,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2643:1: rule__NotExpressionRule__Group__0__Impl : ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) ;
+    // InternalOptimisationLanguage.g:2643:1: rule__NotExpressionRule__Group__0__Impl : ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) ;
     public final void rule__NotExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2647:1: ( ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2648:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? )
+            // InternalOptimisationLanguage.g:2647:1: ( ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) )
+            // InternalOptimisationLanguage.g:2648:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2648:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:2649:2: ( rule__NotExpressionRule__NegatedAssignment_0 )?
+            // InternalOptimisationLanguage.g:2648:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? )
+            // InternalOptimisationLanguage.g:2649:2: ( rule__NotExpressionRule__NegatedAssignment_0 )?
             {
              before(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2650:2: ( rule__NotExpressionRule__NegatedAssignment_0 )?
+            // InternalOptimisationLanguage.g:2650:2: ( rule__NotExpressionRule__NegatedAssignment_0 )?
             int alt22=2;
             int LA22_0 = input.LA(1);
 
@@ -8469,7 +8469,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt22) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2650:3: rule__NotExpressionRule__NegatedAssignment_0
+                    // InternalOptimisationLanguage.g:2650:3: rule__NotExpressionRule__NegatedAssignment_0
                     {
                     pushFollow(FOLLOW_2);
                     rule__NotExpressionRule__NegatedAssignment_0();
@@ -8505,14 +8505,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2658:1: rule__NotExpressionRule__Group__1 : rule__NotExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2658:1: rule__NotExpressionRule__Group__1 : rule__NotExpressionRule__Group__1__Impl ;
     public final void rule__NotExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2662:1: ( rule__NotExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2663:2: rule__NotExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2662:1: ( rule__NotExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2663:2: rule__NotExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__NotExpressionRule__Group__1__Impl();
@@ -8538,21 +8538,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2669:1: rule__NotExpressionRule__Group__1__Impl : ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) ;
+    // InternalOptimisationLanguage.g:2669:1: rule__NotExpressionRule__Group__1__Impl : ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) ;
     public final void rule__NotExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2673:1: ( ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2674:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) )
+            // InternalOptimisationLanguage.g:2673:1: ( ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:2674:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2674:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2675:2: ( rule__NotExpressionRule__OperandAssignment_1 )
+            // InternalOptimisationLanguage.g:2674:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) )
+            // InternalOptimisationLanguage.g:2675:2: ( rule__NotExpressionRule__OperandAssignment_1 )
             {
              before(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2676:2: ( rule__NotExpressionRule__OperandAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2676:3: rule__NotExpressionRule__OperandAssignment_1
+            // InternalOptimisationLanguage.g:2676:2: ( rule__NotExpressionRule__OperandAssignment_1 )
+            // InternalOptimisationLanguage.g:2676:3: rule__NotExpressionRule__OperandAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__NotExpressionRule__OperandAssignment_1();
@@ -8585,14 +8585,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2685:1: rule__ComparisonExpressionRule__Group__0 : rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2685:1: rule__ComparisonExpressionRule__Group__0 : rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 ;
     public final void rule__ComparisonExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2689:1: ( rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2690:2: rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2689:1: ( rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2690:2: rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1
             {
             pushFollow(FOLLOW_27);
             rule__ComparisonExpressionRule__Group__0__Impl();
@@ -8623,21 +8623,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2697:1: rule__ComparisonExpressionRule__Group__0__Impl : ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2697:1: rule__ComparisonExpressionRule__Group__0__Impl : ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) ;
     public final void rule__ComparisonExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2701:1: ( ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2702:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2701:1: ( ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2702:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2702:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2703:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2702:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2703:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 )
             {
              before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2704:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2704:3: rule__ComparisonExpressionRule__LeftOperandAssignment_0
+            // InternalOptimisationLanguage.g:2704:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2704:3: rule__ComparisonExpressionRule__LeftOperandAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__ComparisonExpressionRule__LeftOperandAssignment_0();
@@ -8670,14 +8670,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2712:1: rule__ComparisonExpressionRule__Group__1 : rule__ComparisonExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2712:1: rule__ComparisonExpressionRule__Group__1 : rule__ComparisonExpressionRule__Group__1__Impl ;
     public final void rule__ComparisonExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2716:1: ( rule__ComparisonExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2717:2: rule__ComparisonExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2716:1: ( rule__ComparisonExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2717:2: rule__ComparisonExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ComparisonExpressionRule__Group__1__Impl();
@@ -8703,20 +8703,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2723:1: rule__ComparisonExpressionRule__Group__1__Impl : ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) ;
+    // InternalOptimisationLanguage.g:2723:1: rule__ComparisonExpressionRule__Group__1__Impl : ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) ;
     public final void rule__ComparisonExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2727:1: ( ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2728:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* )
+            // InternalOptimisationLanguage.g:2727:1: ( ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) )
+            // InternalOptimisationLanguage.g:2728:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2728:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2729:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )*
+            // InternalOptimisationLanguage.g:2728:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* )
+            // InternalOptimisationLanguage.g:2729:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )*
             {
              before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2730:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )*
+            // InternalOptimisationLanguage.g:2730:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )*
             loop23:
             do {
                 int alt23=2;
@@ -8729,7 +8729,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt23) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2730:3: rule__ComparisonExpressionRule__ComparisonAssignment_1
+            	    // InternalOptimisationLanguage.g:2730:3: rule__ComparisonExpressionRule__ComparisonAssignment_1
             	    {
             	    pushFollow(FOLLOW_28);
             	    rule__ComparisonExpressionRule__ComparisonAssignment_1();
@@ -8768,14 +8768,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2739:1: rule__PartialComparisonExpressionRule__Group__0 : rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2739:1: rule__PartialComparisonExpressionRule__Group__0 : rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 ;
     public final void rule__PartialComparisonExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2743:1: ( rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2744:2: rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2743:1: ( rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2744:2: rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1
             {
             pushFollow(FOLLOW_22);
             rule__PartialComparisonExpressionRule__Group__0__Impl();
@@ -8806,21 +8806,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2751:1: rule__PartialComparisonExpressionRule__Group__0__Impl : ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2751:1: rule__PartialComparisonExpressionRule__Group__0__Impl : ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) ;
     public final void rule__PartialComparisonExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2755:1: ( ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2756:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2755:1: ( ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2756:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2756:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2757:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 )
+            // InternalOptimisationLanguage.g:2756:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2757:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 )
             {
              before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2758:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2758:3: rule__PartialComparisonExpressionRule__OperatorAssignment_0
+            // InternalOptimisationLanguage.g:2758:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 )
+            // InternalOptimisationLanguage.g:2758:3: rule__PartialComparisonExpressionRule__OperatorAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__PartialComparisonExpressionRule__OperatorAssignment_0();
@@ -8853,14 +8853,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2766:1: rule__PartialComparisonExpressionRule__Group__1 : rule__PartialComparisonExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2766:1: rule__PartialComparisonExpressionRule__Group__1 : rule__PartialComparisonExpressionRule__Group__1__Impl ;
     public final void rule__PartialComparisonExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2770:1: ( rule__PartialComparisonExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2771:2: rule__PartialComparisonExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2770:1: ( rule__PartialComparisonExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2771:2: rule__PartialComparisonExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PartialComparisonExpressionRule__Group__1__Impl();
@@ -8886,21 +8886,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2777:1: rule__PartialComparisonExpressionRule__Group__1__Impl : ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) ;
+    // InternalOptimisationLanguage.g:2777:1: rule__PartialComparisonExpressionRule__Group__1__Impl : ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) ;
     public final void rule__PartialComparisonExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2781:1: ( ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2782:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:2781:1: ( ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:2782:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2782:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2783:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:2782:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:2783:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 )
             {
              before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2784:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2784:3: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1
+            // InternalOptimisationLanguage.g:2784:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:2784:3: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__PartialComparisonExpressionRule__SubExpressionAssignment_1();
@@ -8933,14 +8933,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2793:1: rule__AddOrSubtractExpressionRule__Group__0 : rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2793:1: rule__AddOrSubtractExpressionRule__Group__0 : rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 ;
     public final void rule__AddOrSubtractExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2797:1: ( rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2798:2: rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2797:1: ( rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2798:2: rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1
             {
             pushFollow(FOLLOW_29);
             rule__AddOrSubtractExpressionRule__Group__0__Impl();
@@ -8971,21 +8971,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2805:1: rule__AddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2805:1: rule__AddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) ;
     public final void rule__AddOrSubtractExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2809:1: ( ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2810:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2809:1: ( ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2810:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2810:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2811:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2810:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2811:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 )
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2812:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2812:3: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0
+            // InternalOptimisationLanguage.g:2812:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2812:3: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0();
@@ -9018,14 +9018,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2820:1: rule__AddOrSubtractExpressionRule__Group__1 : rule__AddOrSubtractExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2820:1: rule__AddOrSubtractExpressionRule__Group__1 : rule__AddOrSubtractExpressionRule__Group__1__Impl ;
     public final void rule__AddOrSubtractExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2824:1: ( rule__AddOrSubtractExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2825:2: rule__AddOrSubtractExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2824:1: ( rule__AddOrSubtractExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2825:2: rule__AddOrSubtractExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__Group__1__Impl();
@@ -9051,20 +9051,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2831:1: rule__AddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2831:1: rule__AddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) ;
     public final void rule__AddOrSubtractExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2835:1: ( ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2836:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2835:1: ( ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2836:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2836:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2837:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2836:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2837:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )*
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2838:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2838:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )*
             loop24:
             do {
                 int alt24=2;
@@ -9077,7 +9077,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt24) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2838:3: rule__AddOrSubtractExpressionRule__Group_1__0
+            	    // InternalOptimisationLanguage.g:2838:3: rule__AddOrSubtractExpressionRule__Group_1__0
             	    {
             	    pushFollow(FOLLOW_30);
             	    rule__AddOrSubtractExpressionRule__Group_1__0();
@@ -9116,14 +9116,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2847:1: rule__AddOrSubtractExpressionRule__Group_1__0 : rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:2847:1: rule__AddOrSubtractExpressionRule__Group_1__0 : rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 ;
     public final void rule__AddOrSubtractExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2851:1: ( rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2852:2: rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:2851:1: ( rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:2852:2: rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__AddOrSubtractExpressionRule__Group_1__0__Impl();
@@ -9154,21 +9154,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2859:1: rule__AddOrSubtractExpressionRule__Group_1__0__Impl : ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) ;
+    // InternalOptimisationLanguage.g:2859:1: rule__AddOrSubtractExpressionRule__Group_1__0__Impl : ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) ;
     public final void rule__AddOrSubtractExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2863:1: ( ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2864:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) )
+            // InternalOptimisationLanguage.g:2863:1: ( ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) )
+            // InternalOptimisationLanguage.g:2864:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2864:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2865:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 )
+            // InternalOptimisationLanguage.g:2864:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) )
+            // InternalOptimisationLanguage.g:2865:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 )
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2866:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2866:3: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0
+            // InternalOptimisationLanguage.g:2866:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 )
+            // InternalOptimisationLanguage.g:2866:3: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0();
@@ -9201,14 +9201,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2874:1: rule__AddOrSubtractExpressionRule__Group_1__1 : rule__AddOrSubtractExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2874:1: rule__AddOrSubtractExpressionRule__Group_1__1 : rule__AddOrSubtractExpressionRule__Group_1__1__Impl ;
     public final void rule__AddOrSubtractExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2878:1: ( rule__AddOrSubtractExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2879:2: rule__AddOrSubtractExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:2878:1: ( rule__AddOrSubtractExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:2879:2: rule__AddOrSubtractExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__Group_1__1__Impl();
@@ -9234,21 +9234,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2885:1: rule__AddOrSubtractExpressionRule__Group_1__1__Impl : ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2885:1: rule__AddOrSubtractExpressionRule__Group_1__1__Impl : ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) ;
     public final void rule__AddOrSubtractExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2889:1: ( ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2890:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2889:1: ( ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2890:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2890:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2891:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2890:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2891:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 )
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2892:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2892:3: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1
+            // InternalOptimisationLanguage.g:2892:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2892:3: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1();
@@ -9281,14 +9281,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2901:1: rule__MultiplyDivideModuloExpressionRule__Group__0 : rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:2901:1: rule__MultiplyDivideModuloExpressionRule__Group__0 : rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2905:1: ( rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2906:2: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:2905:1: ( rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:2906:2: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1
             {
             pushFollow(FOLLOW_31);
             rule__MultiplyDivideModuloExpressionRule__Group__0__Impl();
@@ -9319,21 +9319,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2913:1: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:2913:1: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2917:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2918:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2917:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:2918:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2918:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2919:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2918:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:2919:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 )
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2920:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2920:3: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0
+            // InternalOptimisationLanguage.g:2920:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:2920:3: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0();
@@ -9366,14 +9366,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2928:1: rule__MultiplyDivideModuloExpressionRule__Group__1 : rule__MultiplyDivideModuloExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:2928:1: rule__MultiplyDivideModuloExpressionRule__Group__1 : rule__MultiplyDivideModuloExpressionRule__Group__1__Impl ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2932:1: ( rule__MultiplyDivideModuloExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2933:2: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:2932:1: ( rule__MultiplyDivideModuloExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:2933:2: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__Group__1__Impl();
@@ -9399,20 +9399,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2939:1: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:2939:1: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2943:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2944:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2943:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) )
+            // InternalOptimisationLanguage.g:2944:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2944:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2945:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2944:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* )
+            // InternalOptimisationLanguage.g:2945:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )*
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2946:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )*
+            // InternalOptimisationLanguage.g:2946:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )*
             loop25:
             do {
                 int alt25=2;
@@ -9425,7 +9425,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt25) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2946:3: rule__MultiplyDivideModuloExpressionRule__Group_1__0
+            	    // InternalOptimisationLanguage.g:2946:3: rule__MultiplyDivideModuloExpressionRule__Group_1__0
             	    {
             	    pushFollow(FOLLOW_32);
             	    rule__MultiplyDivideModuloExpressionRule__Group_1__0();
@@ -9464,14 +9464,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:2955:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0 : rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:2955:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0 : rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2959:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2960:2: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:2959:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:2960:2: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl();
@@ -9502,21 +9502,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2967:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) ;
+    // InternalOptimisationLanguage.g:2967:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2971:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2972:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) )
+            // InternalOptimisationLanguage.g:2971:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) )
+            // InternalOptimisationLanguage.g:2972:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2972:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2973:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 )
+            // InternalOptimisationLanguage.g:2972:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) )
+            // InternalOptimisationLanguage.g:2973:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 )
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2974:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:2974:3: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0
+            // InternalOptimisationLanguage.g:2974:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 )
+            // InternalOptimisationLanguage.g:2974:3: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0();
@@ -9549,14 +9549,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:2982:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1 : rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:2982:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1 : rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2986:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:2987:2: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:2986:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:2987:2: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl();
@@ -9582,21 +9582,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:2993:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:2993:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2997:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2998:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2997:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:2998:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2998:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2999:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:2998:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:2999:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 )
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3000:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3000:3: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1
+            // InternalOptimisationLanguage.g:3000:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 )
+            // InternalOptimisationLanguage.g:3000:3: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1();
@@ -9629,14 +9629,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3009:1: rule__PowerOfExpressionRule__Group__0 : rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3009:1: rule__PowerOfExpressionRule__Group__0 : rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 ;
     public final void rule__PowerOfExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3013:1: ( rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3014:2: rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:3013:1: ( rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:3014:2: rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1
             {
             pushFollow(FOLLOW_33);
             rule__PowerOfExpressionRule__Group__0__Impl();
@@ -9667,21 +9667,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3021:1: rule__PowerOfExpressionRule__Group__0__Impl : ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:3021:1: rule__PowerOfExpressionRule__Group__0__Impl : ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) ;
     public final void rule__PowerOfExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3025:1: ( ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3026:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3025:1: ( ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:3026:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3026:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3027:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:3026:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3027:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 )
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3028:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3028:3: rule__PowerOfExpressionRule__LeftOperandAssignment_0
+            // InternalOptimisationLanguage.g:3028:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 )
+            // InternalOptimisationLanguage.g:3028:3: rule__PowerOfExpressionRule__LeftOperandAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__PowerOfExpressionRule__LeftOperandAssignment_0();
@@ -9714,14 +9714,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3036:1: rule__PowerOfExpressionRule__Group__1 : rule__PowerOfExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3036:1: rule__PowerOfExpressionRule__Group__1 : rule__PowerOfExpressionRule__Group__1__Impl ;
     public final void rule__PowerOfExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3040:1: ( rule__PowerOfExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3041:2: rule__PowerOfExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3040:1: ( rule__PowerOfExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3041:2: rule__PowerOfExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PowerOfExpressionRule__Group__1__Impl();
@@ -9747,20 +9747,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3047:1: rule__PowerOfExpressionRule__Group__1__Impl : ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) ;
+    // InternalOptimisationLanguage.g:3047:1: rule__PowerOfExpressionRule__Group__1__Impl : ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) ;
     public final void rule__PowerOfExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3051:1: ( ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3052:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? )
+            // InternalOptimisationLanguage.g:3051:1: ( ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) )
+            // InternalOptimisationLanguage.g:3052:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3052:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:3053:2: ( rule__PowerOfExpressionRule__Group_1__0 )?
+            // InternalOptimisationLanguage.g:3052:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? )
+            // InternalOptimisationLanguage.g:3053:2: ( rule__PowerOfExpressionRule__Group_1__0 )?
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3054:2: ( rule__PowerOfExpressionRule__Group_1__0 )?
+            // InternalOptimisationLanguage.g:3054:2: ( rule__PowerOfExpressionRule__Group_1__0 )?
             int alt26=2;
             int LA26_0 = input.LA(1);
 
@@ -9769,7 +9769,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt26) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:3054:3: rule__PowerOfExpressionRule__Group_1__0
+                    // InternalOptimisationLanguage.g:3054:3: rule__PowerOfExpressionRule__Group_1__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__PowerOfExpressionRule__Group_1__0();
@@ -9805,14 +9805,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3063:1: rule__PowerOfExpressionRule__Group_1__0 : rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 ;
+    // InternalOptimisationLanguage.g:3063:1: rule__PowerOfExpressionRule__Group_1__0 : rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 ;
     public final void rule__PowerOfExpressionRule__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3067:1: ( rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3068:2: rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1
+            // InternalOptimisationLanguage.g:3067:1: ( rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 )
+            // InternalOptimisationLanguage.g:3068:2: rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1
             {
             pushFollow(FOLLOW_22);
             rule__PowerOfExpressionRule__Group_1__0__Impl();
@@ -9843,17 +9843,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3075:1: rule__PowerOfExpressionRule__Group_1__0__Impl : ( '^' ) ;
+    // InternalOptimisationLanguage.g:3075:1: rule__PowerOfExpressionRule__Group_1__0__Impl : ( '^' ) ;
     public final void rule__PowerOfExpressionRule__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3079:1: ( ( '^' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3080:1: ( '^' )
+            // InternalOptimisationLanguage.g:3079:1: ( ( '^' ) )
+            // InternalOptimisationLanguage.g:3080:1: ( '^' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3080:1: ( '^' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3081:2: '^'
+            // InternalOptimisationLanguage.g:3080:1: ( '^' )
+            // InternalOptimisationLanguage.g:3081:2: '^'
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); 
             match(input,60,FOLLOW_2); 
@@ -9880,14 +9880,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3090:1: rule__PowerOfExpressionRule__Group_1__1 : rule__PowerOfExpressionRule__Group_1__1__Impl ;
+    // InternalOptimisationLanguage.g:3090:1: rule__PowerOfExpressionRule__Group_1__1 : rule__PowerOfExpressionRule__Group_1__1__Impl ;
     public final void rule__PowerOfExpressionRule__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3094:1: ( rule__PowerOfExpressionRule__Group_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3095:2: rule__PowerOfExpressionRule__Group_1__1__Impl
+            // InternalOptimisationLanguage.g:3094:1: ( rule__PowerOfExpressionRule__Group_1__1__Impl )
+            // InternalOptimisationLanguage.g:3095:2: rule__PowerOfExpressionRule__Group_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__PowerOfExpressionRule__Group_1__1__Impl();
@@ -9913,21 +9913,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__Group_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3101:1: rule__PowerOfExpressionRule__Group_1__1__Impl : ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:3101:1: rule__PowerOfExpressionRule__Group_1__1__Impl : ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) ;
     public final void rule__PowerOfExpressionRule__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3105:1: ( ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3106:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:3105:1: ( ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) )
+            // InternalOptimisationLanguage.g:3106:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3106:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3107:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 )
+            // InternalOptimisationLanguage.g:3106:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) )
+            // InternalOptimisationLanguage.g:3107:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 )
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3108:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3108:3: rule__PowerOfExpressionRule__RightOperandAssignment_1_1
+            // InternalOptimisationLanguage.g:3108:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 )
+            // InternalOptimisationLanguage.g:3108:3: rule__PowerOfExpressionRule__RightOperandAssignment_1_1
             {
             pushFollow(FOLLOW_2);
             rule__PowerOfExpressionRule__RightOperandAssignment_1_1();
@@ -9960,14 +9960,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3117:1: rule__UnaryAddOrSubtractExpressionRule__Group__0 : rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3117:1: rule__UnaryAddOrSubtractExpressionRule__Group__0 : rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 ;
     public final void rule__UnaryAddOrSubtractExpressionRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3121:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3122:2: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1
+            // InternalOptimisationLanguage.g:3121:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 )
+            // InternalOptimisationLanguage.g:3122:2: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1
             {
             pushFollow(FOLLOW_22);
             rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl();
@@ -9998,20 +9998,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3129:1: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) ;
+    // InternalOptimisationLanguage.g:3129:1: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) ;
     public final void rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3133:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3134:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* )
+            // InternalOptimisationLanguage.g:3133:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) )
+            // InternalOptimisationLanguage.g:3134:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3134:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:3135:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )*
+            // InternalOptimisationLanguage.g:3134:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* )
+            // InternalOptimisationLanguage.g:3135:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )*
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3136:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )*
+            // InternalOptimisationLanguage.g:3136:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )*
             loop27:
             do {
                 int alt27=2;
@@ -10024,7 +10024,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt27) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:3136:3: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0
+            	    // InternalOptimisationLanguage.g:3136:3: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0
             	    {
             	    pushFollow(FOLLOW_30);
             	    rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0();
@@ -10063,14 +10063,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3144:1: rule__UnaryAddOrSubtractExpressionRule__Group__1 : rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3144:1: rule__UnaryAddOrSubtractExpressionRule__Group__1 : rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl ;
     public final void rule__UnaryAddOrSubtractExpressionRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3148:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3149:2: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3148:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3149:2: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl();
@@ -10096,21 +10096,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3155:1: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) ;
+    // InternalOptimisationLanguage.g:3155:1: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) ;
     public final void rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3159:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3160:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:3159:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:3160:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3160:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3161:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:3160:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:3161:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 )
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3162:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3162:3: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1
+            // InternalOptimisationLanguage.g:3162:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:3162:3: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1();
@@ -10143,14 +10143,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3171:1: rule__ParanthesesRule__Group__0 : rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3171:1: rule__ParanthesesRule__Group__0 : rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 ;
     public final void rule__ParanthesesRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3175:1: ( rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3176:2: rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1
+            // InternalOptimisationLanguage.g:3175:1: ( rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 )
+            // InternalOptimisationLanguage.g:3176:2: rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1
             {
             pushFollow(FOLLOW_22);
             rule__ParanthesesRule__Group__0__Impl();
@@ -10181,17 +10181,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3183:1: rule__ParanthesesRule__Group__0__Impl : ( '(' ) ;
+    // InternalOptimisationLanguage.g:3183:1: rule__ParanthesesRule__Group__0__Impl : ( '(' ) ;
     public final void rule__ParanthesesRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3187:1: ( ( '(' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3188:1: ( '(' )
+            // InternalOptimisationLanguage.g:3187:1: ( ( '(' ) )
+            // InternalOptimisationLanguage.g:3188:1: ( '(' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3188:1: ( '(' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3189:2: '('
+            // InternalOptimisationLanguage.g:3188:1: ( '(' )
+            // InternalOptimisationLanguage.g:3189:2: '('
             {
              before(grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); 
             match(input,61,FOLLOW_2); 
@@ -10218,14 +10218,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3198:1: rule__ParanthesesRule__Group__1 : rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 ;
+    // InternalOptimisationLanguage.g:3198:1: rule__ParanthesesRule__Group__1 : rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 ;
     public final void rule__ParanthesesRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3202:1: ( rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3203:2: rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2
+            // InternalOptimisationLanguage.g:3202:1: ( rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 )
+            // InternalOptimisationLanguage.g:3203:2: rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2
             {
             pushFollow(FOLLOW_34);
             rule__ParanthesesRule__Group__1__Impl();
@@ -10256,21 +10256,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3210:1: rule__ParanthesesRule__Group__1__Impl : ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) ;
+    // InternalOptimisationLanguage.g:3210:1: rule__ParanthesesRule__Group__1__Impl : ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) ;
     public final void rule__ParanthesesRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3214:1: ( ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3215:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:3214:1: ( ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) )
+            // InternalOptimisationLanguage.g:3215:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3215:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3216:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:3215:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) )
+            // InternalOptimisationLanguage.g:3216:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 )
             {
              before(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3217:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3217:3: rule__ParanthesesRule__SubExpressionAssignment_1
+            // InternalOptimisationLanguage.g:3217:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 )
+            // InternalOptimisationLanguage.g:3217:3: rule__ParanthesesRule__SubExpressionAssignment_1
             {
             pushFollow(FOLLOW_2);
             rule__ParanthesesRule__SubExpressionAssignment_1();
@@ -10303,14 +10303,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:3225:1: rule__ParanthesesRule__Group__2 : rule__ParanthesesRule__Group__2__Impl ;
+    // InternalOptimisationLanguage.g:3225:1: rule__ParanthesesRule__Group__2 : rule__ParanthesesRule__Group__2__Impl ;
     public final void rule__ParanthesesRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3229:1: ( rule__ParanthesesRule__Group__2__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3230:2: rule__ParanthesesRule__Group__2__Impl
+            // InternalOptimisationLanguage.g:3229:1: ( rule__ParanthesesRule__Group__2__Impl )
+            // InternalOptimisationLanguage.g:3230:2: rule__ParanthesesRule__Group__2__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ParanthesesRule__Group__2__Impl();
@@ -10336,17 +10336,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3236:1: rule__ParanthesesRule__Group__2__Impl : ( ')' ) ;
+    // InternalOptimisationLanguage.g:3236:1: rule__ParanthesesRule__Group__2__Impl : ( ')' ) ;
     public final void rule__ParanthesesRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3240:1: ( ( ')' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3241:1: ( ')' )
+            // InternalOptimisationLanguage.g:3240:1: ( ( ')' ) )
+            // InternalOptimisationLanguage.g:3241:1: ( ')' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3241:1: ( ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3242:2: ')'
+            // InternalOptimisationLanguage.g:3241:1: ( ')' )
+            // InternalOptimisationLanguage.g:3242:2: ')'
             {
              before(grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); 
             match(input,62,FOLLOW_2); 
@@ -10373,14 +10373,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3252:1: rule__CallRule__Group__0 : rule__CallRule__Group__0__Impl rule__CallRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3252:1: rule__CallRule__Group__0 : rule__CallRule__Group__0__Impl rule__CallRule__Group__1 ;
     public final void rule__CallRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3256:1: ( rule__CallRule__Group__0__Impl rule__CallRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3257:2: rule__CallRule__Group__0__Impl rule__CallRule__Group__1
+            // InternalOptimisationLanguage.g:3256:1: ( rule__CallRule__Group__0__Impl rule__CallRule__Group__1 )
+            // InternalOptimisationLanguage.g:3257:2: rule__CallRule__Group__0__Impl rule__CallRule__Group__1
             {
             pushFollow(FOLLOW_35);
             rule__CallRule__Group__0__Impl();
@@ -10411,21 +10411,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3264:1: rule__CallRule__Group__0__Impl : ( ( rule__CallRule__FunctionAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:3264:1: rule__CallRule__Group__0__Impl : ( ( rule__CallRule__FunctionAssignment_0 ) ) ;
     public final void rule__CallRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3268:1: ( ( ( rule__CallRule__FunctionAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3269:1: ( ( rule__CallRule__FunctionAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3268:1: ( ( ( rule__CallRule__FunctionAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:3269:1: ( ( rule__CallRule__FunctionAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3269:1: ( ( rule__CallRule__FunctionAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3270:2: ( rule__CallRule__FunctionAssignment_0 )
+            // InternalOptimisationLanguage.g:3269:1: ( ( rule__CallRule__FunctionAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3270:2: ( rule__CallRule__FunctionAssignment_0 )
             {
              before(grammarAccess.getCallRuleAccess().getFunctionAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3271:2: ( rule__CallRule__FunctionAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3271:3: rule__CallRule__FunctionAssignment_0
+            // InternalOptimisationLanguage.g:3271:2: ( rule__CallRule__FunctionAssignment_0 )
+            // InternalOptimisationLanguage.g:3271:3: rule__CallRule__FunctionAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__FunctionAssignment_0();
@@ -10458,14 +10458,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3279:1: rule__CallRule__Group__1 : rule__CallRule__Group__1__Impl rule__CallRule__Group__2 ;
+    // InternalOptimisationLanguage.g:3279:1: rule__CallRule__Group__1 : rule__CallRule__Group__1__Impl rule__CallRule__Group__2 ;
     public final void rule__CallRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3283:1: ( rule__CallRule__Group__1__Impl rule__CallRule__Group__2 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3284:2: rule__CallRule__Group__1__Impl rule__CallRule__Group__2
+            // InternalOptimisationLanguage.g:3283:1: ( rule__CallRule__Group__1__Impl rule__CallRule__Group__2 )
+            // InternalOptimisationLanguage.g:3284:2: rule__CallRule__Group__1__Impl rule__CallRule__Group__2
             {
             pushFollow(FOLLOW_36);
             rule__CallRule__Group__1__Impl();
@@ -10496,17 +10496,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3291:1: rule__CallRule__Group__1__Impl : ( '(' ) ;
+    // InternalOptimisationLanguage.g:3291:1: rule__CallRule__Group__1__Impl : ( '(' ) ;
     public final void rule__CallRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3295:1: ( ( '(' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3296:1: ( '(' )
+            // InternalOptimisationLanguage.g:3295:1: ( ( '(' ) )
+            // InternalOptimisationLanguage.g:3296:1: ( '(' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3296:1: ( '(' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3297:2: '('
+            // InternalOptimisationLanguage.g:3296:1: ( '(' )
+            // InternalOptimisationLanguage.g:3297:2: '('
             {
              before(grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); 
             match(input,61,FOLLOW_2); 
@@ -10533,14 +10533,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__2"
-    // InternalEvolutionaryAlgorithmLanguage.g:3306:1: rule__CallRule__Group__2 : rule__CallRule__Group__2__Impl rule__CallRule__Group__3 ;
+    // InternalOptimisationLanguage.g:3306:1: rule__CallRule__Group__2 : rule__CallRule__Group__2__Impl rule__CallRule__Group__3 ;
     public final void rule__CallRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3310:1: ( rule__CallRule__Group__2__Impl rule__CallRule__Group__3 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3311:2: rule__CallRule__Group__2__Impl rule__CallRule__Group__3
+            // InternalOptimisationLanguage.g:3310:1: ( rule__CallRule__Group__2__Impl rule__CallRule__Group__3 )
+            // InternalOptimisationLanguage.g:3311:2: rule__CallRule__Group__2__Impl rule__CallRule__Group__3
             {
             pushFollow(FOLLOW_36);
             rule__CallRule__Group__2__Impl();
@@ -10571,20 +10571,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__2__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3318:1: rule__CallRule__Group__2__Impl : ( ( rule__CallRule__Group_2__0 )? ) ;
+    // InternalOptimisationLanguage.g:3318:1: rule__CallRule__Group__2__Impl : ( ( rule__CallRule__Group_2__0 )? ) ;
     public final void rule__CallRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3322:1: ( ( ( rule__CallRule__Group_2__0 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3323:1: ( ( rule__CallRule__Group_2__0 )? )
+            // InternalOptimisationLanguage.g:3322:1: ( ( ( rule__CallRule__Group_2__0 )? ) )
+            // InternalOptimisationLanguage.g:3323:1: ( ( rule__CallRule__Group_2__0 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3323:1: ( ( rule__CallRule__Group_2__0 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:3324:2: ( rule__CallRule__Group_2__0 )?
+            // InternalOptimisationLanguage.g:3323:1: ( ( rule__CallRule__Group_2__0 )? )
+            // InternalOptimisationLanguage.g:3324:2: ( rule__CallRule__Group_2__0 )?
             {
              before(grammarAccess.getCallRuleAccess().getGroup_2()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3325:2: ( rule__CallRule__Group_2__0 )?
+            // InternalOptimisationLanguage.g:3325:2: ( rule__CallRule__Group_2__0 )?
             int alt28=2;
             int LA28_0 = input.LA(1);
 
@@ -10593,7 +10593,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt28) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:3325:3: rule__CallRule__Group_2__0
+                    // InternalOptimisationLanguage.g:3325:3: rule__CallRule__Group_2__0
                     {
                     pushFollow(FOLLOW_2);
                     rule__CallRule__Group_2__0();
@@ -10629,14 +10629,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__3"
-    // InternalEvolutionaryAlgorithmLanguage.g:3333:1: rule__CallRule__Group__3 : rule__CallRule__Group__3__Impl ;
+    // InternalOptimisationLanguage.g:3333:1: rule__CallRule__Group__3 : rule__CallRule__Group__3__Impl ;
     public final void rule__CallRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3337:1: ( rule__CallRule__Group__3__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3338:2: rule__CallRule__Group__3__Impl
+            // InternalOptimisationLanguage.g:3337:1: ( rule__CallRule__Group__3__Impl )
+            // InternalOptimisationLanguage.g:3338:2: rule__CallRule__Group__3__Impl
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__Group__3__Impl();
@@ -10662,17 +10662,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group__3__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3344:1: rule__CallRule__Group__3__Impl : ( ')' ) ;
+    // InternalOptimisationLanguage.g:3344:1: rule__CallRule__Group__3__Impl : ( ')' ) ;
     public final void rule__CallRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3348:1: ( ( ')' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3349:1: ( ')' )
+            // InternalOptimisationLanguage.g:3348:1: ( ( ')' ) )
+            // InternalOptimisationLanguage.g:3349:1: ( ')' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3349:1: ( ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3350:2: ')'
+            // InternalOptimisationLanguage.g:3349:1: ( ')' )
+            // InternalOptimisationLanguage.g:3350:2: ')'
             {
              before(grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); 
             match(input,62,FOLLOW_2); 
@@ -10699,14 +10699,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3360:1: rule__CallRule__Group_2__0 : rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 ;
+    // InternalOptimisationLanguage.g:3360:1: rule__CallRule__Group_2__0 : rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 ;
     public final void rule__CallRule__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3364:1: ( rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3365:2: rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1
+            // InternalOptimisationLanguage.g:3364:1: ( rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 )
+            // InternalOptimisationLanguage.g:3365:2: rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1
             {
             pushFollow(FOLLOW_17);
             rule__CallRule__Group_2__0__Impl();
@@ -10737,21 +10737,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3372:1: rule__CallRule__Group_2__0__Impl : ( ( rule__CallRule__ParametersAssignment_2_0 ) ) ;
+    // InternalOptimisationLanguage.g:3372:1: rule__CallRule__Group_2__0__Impl : ( ( rule__CallRule__ParametersAssignment_2_0 ) ) ;
     public final void rule__CallRule__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3376:1: ( ( ( rule__CallRule__ParametersAssignment_2_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3377:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) )
+            // InternalOptimisationLanguage.g:3376:1: ( ( ( rule__CallRule__ParametersAssignment_2_0 ) ) )
+            // InternalOptimisationLanguage.g:3377:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3377:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3378:2: ( rule__CallRule__ParametersAssignment_2_0 )
+            // InternalOptimisationLanguage.g:3377:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) )
+            // InternalOptimisationLanguage.g:3378:2: ( rule__CallRule__ParametersAssignment_2_0 )
             {
              before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3379:2: ( rule__CallRule__ParametersAssignment_2_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3379:3: rule__CallRule__ParametersAssignment_2_0
+            // InternalOptimisationLanguage.g:3379:2: ( rule__CallRule__ParametersAssignment_2_0 )
+            // InternalOptimisationLanguage.g:3379:3: rule__CallRule__ParametersAssignment_2_0
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__ParametersAssignment_2_0();
@@ -10784,14 +10784,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3387:1: rule__CallRule__Group_2__1 : rule__CallRule__Group_2__1__Impl ;
+    // InternalOptimisationLanguage.g:3387:1: rule__CallRule__Group_2__1 : rule__CallRule__Group_2__1__Impl ;
     public final void rule__CallRule__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3391:1: ( rule__CallRule__Group_2__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3392:2: rule__CallRule__Group_2__1__Impl
+            // InternalOptimisationLanguage.g:3391:1: ( rule__CallRule__Group_2__1__Impl )
+            // InternalOptimisationLanguage.g:3392:2: rule__CallRule__Group_2__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__Group_2__1__Impl();
@@ -10817,20 +10817,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3398:1: rule__CallRule__Group_2__1__Impl : ( ( rule__CallRule__Group_2_1__0 )* ) ;
+    // InternalOptimisationLanguage.g:3398:1: rule__CallRule__Group_2__1__Impl : ( ( rule__CallRule__Group_2_1__0 )* ) ;
     public final void rule__CallRule__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3402:1: ( ( ( rule__CallRule__Group_2_1__0 )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3403:1: ( ( rule__CallRule__Group_2_1__0 )* )
+            // InternalOptimisationLanguage.g:3402:1: ( ( ( rule__CallRule__Group_2_1__0 )* ) )
+            // InternalOptimisationLanguage.g:3403:1: ( ( rule__CallRule__Group_2_1__0 )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3403:1: ( ( rule__CallRule__Group_2_1__0 )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:3404:2: ( rule__CallRule__Group_2_1__0 )*
+            // InternalOptimisationLanguage.g:3403:1: ( ( rule__CallRule__Group_2_1__0 )* )
+            // InternalOptimisationLanguage.g:3404:2: ( rule__CallRule__Group_2_1__0 )*
             {
              before(grammarAccess.getCallRuleAccess().getGroup_2_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3405:2: ( rule__CallRule__Group_2_1__0 )*
+            // InternalOptimisationLanguage.g:3405:2: ( rule__CallRule__Group_2_1__0 )*
             loop29:
             do {
                 int alt29=2;
@@ -10843,7 +10843,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt29) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:3405:3: rule__CallRule__Group_2_1__0
+            	    // InternalOptimisationLanguage.g:3405:3: rule__CallRule__Group_2_1__0
             	    {
             	    pushFollow(FOLLOW_18);
             	    rule__CallRule__Group_2_1__0();
@@ -10882,14 +10882,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2_1__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3414:1: rule__CallRule__Group_2_1__0 : rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 ;
+    // InternalOptimisationLanguage.g:3414:1: rule__CallRule__Group_2_1__0 : rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 ;
     public final void rule__CallRule__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3418:1: ( rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3419:2: rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1
+            // InternalOptimisationLanguage.g:3418:1: ( rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 )
+            // InternalOptimisationLanguage.g:3419:2: rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1
             {
             pushFollow(FOLLOW_22);
             rule__CallRule__Group_2_1__0__Impl();
@@ -10920,17 +10920,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2_1__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3426:1: rule__CallRule__Group_2_1__0__Impl : ( ',' ) ;
+    // InternalOptimisationLanguage.g:3426:1: rule__CallRule__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__CallRule__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3430:1: ( ( ',' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3431:1: ( ',' )
+            // InternalOptimisationLanguage.g:3430:1: ( ( ',' ) )
+            // InternalOptimisationLanguage.g:3431:1: ( ',' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3431:1: ( ',' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3432:2: ','
+            // InternalOptimisationLanguage.g:3431:1: ( ',' )
+            // InternalOptimisationLanguage.g:3432:2: ','
             {
              before(grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); 
             match(input,55,FOLLOW_2); 
@@ -10957,14 +10957,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2_1__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3441:1: rule__CallRule__Group_2_1__1 : rule__CallRule__Group_2_1__1__Impl ;
+    // InternalOptimisationLanguage.g:3441:1: rule__CallRule__Group_2_1__1 : rule__CallRule__Group_2_1__1__Impl ;
     public final void rule__CallRule__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3445:1: ( rule__CallRule__Group_2_1__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3446:2: rule__CallRule__Group_2_1__1__Impl
+            // InternalOptimisationLanguage.g:3445:1: ( rule__CallRule__Group_2_1__1__Impl )
+            // InternalOptimisationLanguage.g:3446:2: rule__CallRule__Group_2_1__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__Group_2_1__1__Impl();
@@ -10990,21 +10990,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__Group_2_1__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3452:1: rule__CallRule__Group_2_1__1__Impl : ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) ;
+    // InternalOptimisationLanguage.g:3452:1: rule__CallRule__Group_2_1__1__Impl : ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) ;
     public final void rule__CallRule__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3456:1: ( ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3457:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) )
+            // InternalOptimisationLanguage.g:3456:1: ( ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) )
+            // InternalOptimisationLanguage.g:3457:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3457:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3458:2: ( rule__CallRule__ParametersAssignment_2_1_1 )
+            // InternalOptimisationLanguage.g:3457:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) )
+            // InternalOptimisationLanguage.g:3458:2: ( rule__CallRule__ParametersAssignment_2_1_1 )
             {
              before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3459:2: ( rule__CallRule__ParametersAssignment_2_1_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3459:3: rule__CallRule__ParametersAssignment_2_1_1
+            // InternalOptimisationLanguage.g:3459:2: ( rule__CallRule__ParametersAssignment_2_1_1 )
+            // InternalOptimisationLanguage.g:3459:3: rule__CallRule__ParametersAssignment_2_1_1
             {
             pushFollow(FOLLOW_2);
             rule__CallRule__ParametersAssignment_2_1_1();
@@ -11037,14 +11037,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ValueReferenceRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3468:1: rule__ValueReferenceRule__Group__0 : rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3468:1: rule__ValueReferenceRule__Group__0 : rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 ;
     public final void rule__ValueReferenceRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3472:1: ( rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3473:2: rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1
+            // InternalOptimisationLanguage.g:3472:1: ( rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 )
+            // InternalOptimisationLanguage.g:3473:2: rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1
             {
             pushFollow(FOLLOW_22);
             rule__ValueReferenceRule__Group__0__Impl();
@@ -11075,21 +11075,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ValueReferenceRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3480:1: rule__ValueReferenceRule__Group__0__Impl : ( () ) ;
+    // InternalOptimisationLanguage.g:3480:1: rule__ValueReferenceRule__Group__0__Impl : ( () ) ;
     public final void rule__ValueReferenceRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3484:1: ( ( () ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3485:1: ( () )
+            // InternalOptimisationLanguage.g:3484:1: ( ( () ) )
+            // InternalOptimisationLanguage.g:3485:1: ( () )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3485:1: ( () )
-            // InternalEvolutionaryAlgorithmLanguage.g:3486:2: ()
+            // InternalOptimisationLanguage.g:3485:1: ( () )
+            // InternalOptimisationLanguage.g:3486:2: ()
             {
              before(grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3487:2: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:3487:3: 
+            // InternalOptimisationLanguage.g:3487:2: ()
+            // InternalOptimisationLanguage.g:3487:3: 
             {
             }
 
@@ -11112,14 +11112,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ValueReferenceRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3495:1: rule__ValueReferenceRule__Group__1 : rule__ValueReferenceRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3495:1: rule__ValueReferenceRule__Group__1 : rule__ValueReferenceRule__Group__1__Impl ;
     public final void rule__ValueReferenceRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3499:1: ( rule__ValueReferenceRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3500:2: rule__ValueReferenceRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3499:1: ( rule__ValueReferenceRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3500:2: rule__ValueReferenceRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__ValueReferenceRule__Group__1__Impl();
@@ -11145,17 +11145,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ValueReferenceRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3506:1: rule__ValueReferenceRule__Group__1__Impl : ( 'value' ) ;
+    // InternalOptimisationLanguage.g:3506:1: rule__ValueReferenceRule__Group__1__Impl : ( 'value' ) ;
     public final void rule__ValueReferenceRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3510:1: ( ( 'value' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3511:1: ( 'value' )
+            // InternalOptimisationLanguage.g:3510:1: ( ( 'value' ) )
+            // InternalOptimisationLanguage.g:3511:1: ( 'value' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3511:1: ( 'value' )
-            // InternalEvolutionaryAlgorithmLanguage.g:3512:2: 'value'
+            // InternalOptimisationLanguage.g:3511:1: ( 'value' )
+            // InternalOptimisationLanguage.g:3512:2: 'value'
             {
              before(grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); 
             match(input,63,FOLLOW_2); 
@@ -11182,14 +11182,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3522:1: rule__DoubleLiteralRule__Group__0 : rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3522:1: rule__DoubleLiteralRule__Group__0 : rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1 ;
     public final void rule__DoubleLiteralRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3526:1: ( rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3527:2: rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1
+            // InternalOptimisationLanguage.g:3526:1: ( rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1 )
+            // InternalOptimisationLanguage.g:3527:2: rule__DoubleLiteralRule__Group__0__Impl rule__DoubleLiteralRule__Group__1
             {
             pushFollow(FOLLOW_37);
             rule__DoubleLiteralRule__Group__0__Impl();
@@ -11220,21 +11220,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3534:1: rule__DoubleLiteralRule__Group__0__Impl : ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:3534:1: rule__DoubleLiteralRule__Group__0__Impl : ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) ) ;
     public final void rule__DoubleLiteralRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3538:1: ( ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3539:1: ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3538:1: ( ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:3539:1: ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3539:1: ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3540:2: ( rule__DoubleLiteralRule__LiteralAssignment_0 )
+            // InternalOptimisationLanguage.g:3539:1: ( ( rule__DoubleLiteralRule__LiteralAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3540:2: ( rule__DoubleLiteralRule__LiteralAssignment_0 )
             {
              before(grammarAccess.getDoubleLiteralRuleAccess().getLiteralAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3541:2: ( rule__DoubleLiteralRule__LiteralAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3541:3: rule__DoubleLiteralRule__LiteralAssignment_0
+            // InternalOptimisationLanguage.g:3541:2: ( rule__DoubleLiteralRule__LiteralAssignment_0 )
+            // InternalOptimisationLanguage.g:3541:3: rule__DoubleLiteralRule__LiteralAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__DoubleLiteralRule__LiteralAssignment_0();
@@ -11267,14 +11267,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3549:1: rule__DoubleLiteralRule__Group__1 : rule__DoubleLiteralRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3549:1: rule__DoubleLiteralRule__Group__1 : rule__DoubleLiteralRule__Group__1__Impl ;
     public final void rule__DoubleLiteralRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3553:1: ( rule__DoubleLiteralRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3554:2: rule__DoubleLiteralRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3553:1: ( rule__DoubleLiteralRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3554:2: rule__DoubleLiteralRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__DoubleLiteralRule__Group__1__Impl();
@@ -11300,20 +11300,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3560:1: rule__DoubleLiteralRule__Group__1__Impl : ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? ) ;
+    // InternalOptimisationLanguage.g:3560:1: rule__DoubleLiteralRule__Group__1__Impl : ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? ) ;
     public final void rule__DoubleLiteralRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3564:1: ( ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3565:1: ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? )
+            // InternalOptimisationLanguage.g:3564:1: ( ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? ) )
+            // InternalOptimisationLanguage.g:3565:1: ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3565:1: ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:3566:2: ( rule__DoubleLiteralRule__FactorAssignment_1 )?
+            // InternalOptimisationLanguage.g:3565:1: ( ( rule__DoubleLiteralRule__FactorAssignment_1 )? )
+            // InternalOptimisationLanguage.g:3566:2: ( rule__DoubleLiteralRule__FactorAssignment_1 )?
             {
              before(grammarAccess.getDoubleLiteralRuleAccess().getFactorAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3567:2: ( rule__DoubleLiteralRule__FactorAssignment_1 )?
+            // InternalOptimisationLanguage.g:3567:2: ( rule__DoubleLiteralRule__FactorAssignment_1 )?
             int alt30=2;
             int LA30_0 = input.LA(1);
 
@@ -11322,7 +11322,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt30) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:3567:3: rule__DoubleLiteralRule__FactorAssignment_1
+                    // InternalOptimisationLanguage.g:3567:3: rule__DoubleLiteralRule__FactorAssignment_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__DoubleLiteralRule__FactorAssignment_1();
@@ -11358,14 +11358,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3576:1: rule__IntegerLiteralRule__Group__0 : rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3576:1: rule__IntegerLiteralRule__Group__0 : rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1 ;
     public final void rule__IntegerLiteralRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3580:1: ( rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3581:2: rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1
+            // InternalOptimisationLanguage.g:3580:1: ( rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1 )
+            // InternalOptimisationLanguage.g:3581:2: rule__IntegerLiteralRule__Group__0__Impl rule__IntegerLiteralRule__Group__1
             {
             pushFollow(FOLLOW_37);
             rule__IntegerLiteralRule__Group__0__Impl();
@@ -11396,21 +11396,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3588:1: rule__IntegerLiteralRule__Group__0__Impl : ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) ) ;
+    // InternalOptimisationLanguage.g:3588:1: rule__IntegerLiteralRule__Group__0__Impl : ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) ) ;
     public final void rule__IntegerLiteralRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3592:1: ( ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3593:1: ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3592:1: ( ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) ) )
+            // InternalOptimisationLanguage.g:3593:1: ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3593:1: ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3594:2: ( rule__IntegerLiteralRule__LiteralAssignment_0 )
+            // InternalOptimisationLanguage.g:3593:1: ( ( rule__IntegerLiteralRule__LiteralAssignment_0 ) )
+            // InternalOptimisationLanguage.g:3594:2: ( rule__IntegerLiteralRule__LiteralAssignment_0 )
             {
              before(grammarAccess.getIntegerLiteralRuleAccess().getLiteralAssignment_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3595:2: ( rule__IntegerLiteralRule__LiteralAssignment_0 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3595:3: rule__IntegerLiteralRule__LiteralAssignment_0
+            // InternalOptimisationLanguage.g:3595:2: ( rule__IntegerLiteralRule__LiteralAssignment_0 )
+            // InternalOptimisationLanguage.g:3595:3: rule__IntegerLiteralRule__LiteralAssignment_0
             {
             pushFollow(FOLLOW_2);
             rule__IntegerLiteralRule__LiteralAssignment_0();
@@ -11443,14 +11443,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3603:1: rule__IntegerLiteralRule__Group__1 : rule__IntegerLiteralRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3603:1: rule__IntegerLiteralRule__Group__1 : rule__IntegerLiteralRule__Group__1__Impl ;
     public final void rule__IntegerLiteralRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3607:1: ( rule__IntegerLiteralRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3608:2: rule__IntegerLiteralRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3607:1: ( rule__IntegerLiteralRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3608:2: rule__IntegerLiteralRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__IntegerLiteralRule__Group__1__Impl();
@@ -11476,20 +11476,20 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3614:1: rule__IntegerLiteralRule__Group__1__Impl : ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? ) ;
+    // InternalOptimisationLanguage.g:3614:1: rule__IntegerLiteralRule__Group__1__Impl : ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? ) ;
     public final void rule__IntegerLiteralRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3618:1: ( ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3619:1: ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? )
+            // InternalOptimisationLanguage.g:3618:1: ( ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? ) )
+            // InternalOptimisationLanguage.g:3619:1: ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3619:1: ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:3620:2: ( rule__IntegerLiteralRule__FactorAssignment_1 )?
+            // InternalOptimisationLanguage.g:3619:1: ( ( rule__IntegerLiteralRule__FactorAssignment_1 )? )
+            // InternalOptimisationLanguage.g:3620:2: ( rule__IntegerLiteralRule__FactorAssignment_1 )?
             {
              before(grammarAccess.getIntegerLiteralRuleAccess().getFactorAssignment_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3621:2: ( rule__IntegerLiteralRule__FactorAssignment_1 )?
+            // InternalOptimisationLanguage.g:3621:2: ( rule__IntegerLiteralRule__FactorAssignment_1 )?
             int alt31=2;
             int LA31_0 = input.LA(1);
 
@@ -11498,7 +11498,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt31) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:3621:3: rule__IntegerLiteralRule__FactorAssignment_1
+                    // InternalOptimisationLanguage.g:3621:3: rule__IntegerLiteralRule__FactorAssignment_1
                     {
                     pushFollow(FOLLOW_2);
                     rule__IntegerLiteralRule__FactorAssignment_1();
@@ -11534,14 +11534,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__Group__0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3630:1: rule__BooleanLiteralRule__Group__0 : rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 ;
+    // InternalOptimisationLanguage.g:3630:1: rule__BooleanLiteralRule__Group__0 : rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 ;
     public final void rule__BooleanLiteralRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3634:1: ( rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3635:2: rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1
+            // InternalOptimisationLanguage.g:3634:1: ( rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 )
+            // InternalOptimisationLanguage.g:3635:2: rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1
             {
             pushFollow(FOLLOW_14);
             rule__BooleanLiteralRule__Group__0__Impl();
@@ -11572,21 +11572,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__Group__0__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3642:1: rule__BooleanLiteralRule__Group__0__Impl : ( () ) ;
+    // InternalOptimisationLanguage.g:3642:1: rule__BooleanLiteralRule__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteralRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3646:1: ( ( () ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3647:1: ( () )
+            // InternalOptimisationLanguage.g:3646:1: ( ( () ) )
+            // InternalOptimisationLanguage.g:3647:1: ( () )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3647:1: ( () )
-            // InternalEvolutionaryAlgorithmLanguage.g:3648:2: ()
+            // InternalOptimisationLanguage.g:3647:1: ( () )
+            // InternalOptimisationLanguage.g:3648:2: ()
             {
              before(grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3649:2: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:3649:3: 
+            // InternalOptimisationLanguage.g:3649:2: ()
+            // InternalOptimisationLanguage.g:3649:3: 
             {
             }
 
@@ -11609,14 +11609,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__Group__1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3657:1: rule__BooleanLiteralRule__Group__1 : rule__BooleanLiteralRule__Group__1__Impl ;
+    // InternalOptimisationLanguage.g:3657:1: rule__BooleanLiteralRule__Group__1 : rule__BooleanLiteralRule__Group__1__Impl ;
     public final void rule__BooleanLiteralRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3661:1: ( rule__BooleanLiteralRule__Group__1__Impl )
-            // InternalEvolutionaryAlgorithmLanguage.g:3662:2: rule__BooleanLiteralRule__Group__1__Impl
+            // InternalOptimisationLanguage.g:3661:1: ( rule__BooleanLiteralRule__Group__1__Impl )
+            // InternalOptimisationLanguage.g:3662:2: rule__BooleanLiteralRule__Group__1__Impl
             {
             pushFollow(FOLLOW_2);
             rule__BooleanLiteralRule__Group__1__Impl();
@@ -11642,21 +11642,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__Group__1__Impl"
-    // InternalEvolutionaryAlgorithmLanguage.g:3668:1: rule__BooleanLiteralRule__Group__1__Impl : ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) ;
+    // InternalOptimisationLanguage.g:3668:1: rule__BooleanLiteralRule__Group__1__Impl : ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteralRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3672:1: ( ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3673:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) )
+            // InternalOptimisationLanguage.g:3672:1: ( ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) )
+            // InternalOptimisationLanguage.g:3673:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3673:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3674:2: ( rule__BooleanLiteralRule__Alternatives_1 )
+            // InternalOptimisationLanguage.g:3673:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) )
+            // InternalOptimisationLanguage.g:3674:2: ( rule__BooleanLiteralRule__Alternatives_1 )
             {
              before(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3675:2: ( rule__BooleanLiteralRule__Alternatives_1 )
-            // InternalEvolutionaryAlgorithmLanguage.g:3675:3: rule__BooleanLiteralRule__Alternatives_1
+            // InternalOptimisationLanguage.g:3675:2: ( rule__BooleanLiteralRule__Alternatives_1 )
+            // InternalOptimisationLanguage.g:3675:3: rule__BooleanLiteralRule__Alternatives_1
             {
             pushFollow(FOLLOW_2);
             rule__BooleanLiteralRule__Alternatives_1();
@@ -11688,26 +11688,26 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
     // $ANTLR end "rule__BooleanLiteralRule__Group__1__Impl"
 
 
-    // $ANTLR start "rule__EAModelRule__UsesAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3684:1: rule__EAModelRule__UsesAssignment_0 : ( ruleUseRule ) ;
-    public final void rule__EAModelRule__UsesAssignment_0() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__UsesAssignment_0"
+    // InternalOptimisationLanguage.g:3684:1: rule__OptimisationModelRule__UsesAssignment_0 : ( ruleUseRule ) ;
+    public final void rule__OptimisationModelRule__UsesAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3688:1: ( ( ruleUseRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3689:2: ( ruleUseRule )
+            // InternalOptimisationLanguage.g:3688:1: ( ( ruleUseRule ) )
+            // InternalOptimisationLanguage.g:3689:2: ( ruleUseRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3689:2: ( ruleUseRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3690:3: ruleUseRule
+            // InternalOptimisationLanguage.g:3689:2: ( ruleUseRule )
+            // InternalOptimisationLanguage.g:3690:3: ruleUseRule
             {
-             before(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); 
+             before(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
             ruleUseRule();
 
             state._fsp--;
 
-             after(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0()); 
 
             }
 
@@ -11726,29 +11726,29 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__UsesAssignment_0"
+    // $ANTLR end "rule__OptimisationModelRule__UsesAssignment_0"
 
 
-    // $ANTLR start "rule__EAModelRule__InstanceAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3699:1: rule__EAModelRule__InstanceAssignment_1 : ( ruleInstanceRule ) ;
-    public final void rule__EAModelRule__InstanceAssignment_1() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__InstanceAssignment_1"
+    // InternalOptimisationLanguage.g:3699:1: rule__OptimisationModelRule__InstanceAssignment_1 : ( ruleInstanceRule ) ;
+    public final void rule__OptimisationModelRule__InstanceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3703:1: ( ( ruleInstanceRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3704:2: ( ruleInstanceRule )
+            // InternalOptimisationLanguage.g:3703:1: ( ( ruleInstanceRule ) )
+            // InternalOptimisationLanguage.g:3704:2: ( ruleInstanceRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3704:2: ( ruleInstanceRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3705:3: ruleInstanceRule
+            // InternalOptimisationLanguage.g:3704:2: ( ruleInstanceRule )
+            // InternalOptimisationLanguage.g:3705:3: ruleInstanceRule
             {
-             before(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); 
+             before(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
             ruleInstanceRule();
 
             state._fsp--;
 
-             after(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0()); 
 
             }
 
@@ -11767,29 +11767,29 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__InstanceAssignment_1"
+    // $ANTLR end "rule__OptimisationModelRule__InstanceAssignment_1"
 
 
-    // $ANTLR start "rule__EAModelRule__ConstraintsAssignment_2"
-    // InternalEvolutionaryAlgorithmLanguage.g:3714:1: rule__EAModelRule__ConstraintsAssignment_2 : ( ruleConstraintRule ) ;
-    public final void rule__EAModelRule__ConstraintsAssignment_2() throws RecognitionException {
+    // $ANTLR start "rule__OptimisationModelRule__ConstraintsAssignment_2"
+    // InternalOptimisationLanguage.g:3714:1: rule__OptimisationModelRule__ConstraintsAssignment_2 : ( ruleConstraintRule ) ;
+    public final void rule__OptimisationModelRule__ConstraintsAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3718:1: ( ( ruleConstraintRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3719:2: ( ruleConstraintRule )
+            // InternalOptimisationLanguage.g:3718:1: ( ( ruleConstraintRule ) )
+            // InternalOptimisationLanguage.g:3719:2: ( ruleConstraintRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3719:2: ( ruleConstraintRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3720:3: ruleConstraintRule
+            // InternalOptimisationLanguage.g:3719:2: ( ruleConstraintRule )
+            // InternalOptimisationLanguage.g:3720:3: ruleConstraintRule
             {
-             before(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); 
+             before(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); 
             pushFollow(FOLLOW_2);
             ruleConstraintRule();
 
             state._fsp--;
 
-             after(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); 
+             after(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0()); 
 
             }
 
@@ -11808,21 +11808,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return ;
     }
-    // $ANTLR end "rule__EAModelRule__ConstraintsAssignment_2"
+    // $ANTLR end "rule__OptimisationModelRule__ConstraintsAssignment_2"
 
 
     // $ANTLR start "rule__UseRule__ImportURIAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3729:1: rule__UseRule__ImportURIAssignment_1 : ( RULE_STRING ) ;
+    // InternalOptimisationLanguage.g:3729:1: rule__UseRule__ImportURIAssignment_1 : ( RULE_STRING ) ;
     public final void rule__UseRule__ImportURIAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3733:1: ( ( RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3734:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:3733:1: ( ( RULE_STRING ) )
+            // InternalOptimisationLanguage.g:3734:2: ( RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3734:2: ( RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:3735:3: RULE_STRING
+            // InternalOptimisationLanguage.g:3734:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:3735:3: RULE_STRING
             {
              before(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
             match(input,RULE_STRING,FOLLOW_2); 
@@ -11849,17 +11849,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintRule__StatementsAssignment_3"
-    // InternalEvolutionaryAlgorithmLanguage.g:3744:1: rule__ConstraintRule__StatementsAssignment_3 : ( ruleConstraintStatementRule ) ;
+    // InternalOptimisationLanguage.g:3744:1: rule__ConstraintRule__StatementsAssignment_3 : ( ruleConstraintStatementRule ) ;
     public final void rule__ConstraintRule__StatementsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3748:1: ( ( ruleConstraintStatementRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3749:2: ( ruleConstraintStatementRule )
+            // InternalOptimisationLanguage.g:3748:1: ( ( ruleConstraintStatementRule ) )
+            // InternalOptimisationLanguage.g:3749:2: ( ruleConstraintStatementRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3749:2: ( ruleConstraintStatementRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3750:3: ruleConstraintStatementRule
+            // InternalOptimisationLanguage.g:3749:2: ( ruleConstraintStatementRule )
+            // InternalOptimisationLanguage.g:3750:3: ruleConstraintStatementRule
             {
              before(grammarAccess.getConstraintRuleAccess().getStatementsConstraintStatementRuleParserRuleCall_3_0()); 
             pushFollow(FOLLOW_2);
@@ -11890,17 +11890,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ConstraintStatementRule__ConstraintExpressionAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3759:1: rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 : ( ruleCallRule ) ;
+    // InternalOptimisationLanguage.g:3759:1: rule__ConstraintStatementRule__ConstraintExpressionAssignment_0 : ( ruleCallRule ) ;
     public final void rule__ConstraintStatementRule__ConstraintExpressionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3763:1: ( ( ruleCallRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3764:2: ( ruleCallRule )
+            // InternalOptimisationLanguage.g:3763:1: ( ( ruleCallRule ) )
+            // InternalOptimisationLanguage.g:3764:2: ( ruleCallRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3764:2: ( ruleCallRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3765:3: ruleCallRule
+            // InternalOptimisationLanguage.g:3764:2: ( ruleCallRule )
+            // InternalOptimisationLanguage.g:3765:3: ruleCallRule
             {
              before(grammarAccess.getConstraintStatementRuleAccess().getConstraintExpressionCallRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -11931,21 +11931,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__FunctionNameRule__DefinitionAssignment"
-    // InternalEvolutionaryAlgorithmLanguage.g:3774:1: rule__FunctionNameRule__DefinitionAssignment : ( ( RULE_ID ) ) ;
+    // InternalOptimisationLanguage.g:3774:1: rule__FunctionNameRule__DefinitionAssignment : ( ( RULE_ID ) ) ;
     public final void rule__FunctionNameRule__DefinitionAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3778:1: ( ( ( RULE_ID ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3779:2: ( ( RULE_ID ) )
+            // InternalOptimisationLanguage.g:3778:1: ( ( ( RULE_ID ) ) )
+            // InternalOptimisationLanguage.g:3779:2: ( ( RULE_ID ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3779:2: ( ( RULE_ID ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3780:3: ( RULE_ID )
+            // InternalOptimisationLanguage.g:3779:2: ( ( RULE_ID ) )
+            // InternalOptimisationLanguage.g:3780:3: ( RULE_ID )
             {
              before(grammarAccess.getFunctionNameRuleAccess().getDefinitionFunctionDefinitionCrossReference_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3781:3: ( RULE_ID )
-            // InternalEvolutionaryAlgorithmLanguage.g:3782:4: RULE_ID
+            // InternalOptimisationLanguage.g:3781:3: ( RULE_ID )
+            // InternalOptimisationLanguage.g:3782:4: RULE_ID
             {
              before(grammarAccess.getFunctionNameRuleAccess().getDefinitionFunctionDefinitionIDTerminalRuleCall_0_1()); 
             match(input,RULE_ID,FOLLOW_2); 
@@ -11976,21 +11976,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__NameAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3793:1: rule__InstanceRule__NameAssignment_0 : ( ( ruleStringOrId ) ) ;
+    // InternalOptimisationLanguage.g:3793:1: rule__InstanceRule__NameAssignment_0 : ( ( ruleStringOrId ) ) ;
     public final void rule__InstanceRule__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3797:1: ( ( ( ruleStringOrId ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3798:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3797:1: ( ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:3798:2: ( ( ruleStringOrId ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3798:2: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3799:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3798:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3799:3: ( ruleStringOrId )
             {
              before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3800:3: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:3801:4: ruleStringOrId
+            // InternalOptimisationLanguage.g:3800:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3801:4: ruleStringOrId
             {
              before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionStringOrIdParserRuleCall_0_0_1()); 
             pushFollow(FOLLOW_2);
@@ -12025,17 +12025,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__InstanceRule__AttributesAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3812:1: rule__InstanceRule__AttributesAssignment_1_1 : ( ruleAttributeRule ) ;
+    // InternalOptimisationLanguage.g:3812:1: rule__InstanceRule__AttributesAssignment_1_1 : ( ruleAttributeRule ) ;
     public final void rule__InstanceRule__AttributesAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3816:1: ( ( ruleAttributeRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3817:2: ( ruleAttributeRule )
+            // InternalOptimisationLanguage.g:3816:1: ( ( ruleAttributeRule ) )
+            // InternalOptimisationLanguage.g:3817:2: ( ruleAttributeRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3817:2: ( ruleAttributeRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3818:3: ruleAttributeRule
+            // InternalOptimisationLanguage.g:3817:2: ( ruleAttributeRule )
+            // InternalOptimisationLanguage.g:3818:3: ruleAttributeRule
             {
              before(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12066,17 +12066,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__NameAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3827:1: rule__AttributeRule__NameAssignment_0 : ( ruleNameOrMiscRule ) ;
+    // InternalOptimisationLanguage.g:3827:1: rule__AttributeRule__NameAssignment_0 : ( ruleNameOrMiscRule ) ;
     public final void rule__AttributeRule__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3831:1: ( ( ruleNameOrMiscRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3832:2: ( ruleNameOrMiscRule )
+            // InternalOptimisationLanguage.g:3831:1: ( ( ruleNameOrMiscRule ) )
+            // InternalOptimisationLanguage.g:3832:2: ( ruleNameOrMiscRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3832:2: ( ruleNameOrMiscRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3833:3: ruleNameOrMiscRule
+            // InternalOptimisationLanguage.g:3832:2: ( ruleNameOrMiscRule )
+            // InternalOptimisationLanguage.g:3833:3: ruleNameOrMiscRule
             {
              before(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12107,17 +12107,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AttributeRule__ValueAssignment_2"
-    // InternalEvolutionaryAlgorithmLanguage.g:3842:1: rule__AttributeRule__ValueAssignment_2 : ( ruleValueRule ) ;
+    // InternalOptimisationLanguage.g:3842:1: rule__AttributeRule__ValueAssignment_2 : ( ruleValueRule ) ;
     public final void rule__AttributeRule__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3846:1: ( ( ruleValueRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3847:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3846:1: ( ( ruleValueRule ) )
+            // InternalOptimisationLanguage.g:3847:2: ( ruleValueRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3847:2: ( ruleValueRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3848:3: ruleValueRule
+            // InternalOptimisationLanguage.g:3847:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3848:3: ruleValueRule
             {
              before(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); 
             pushFollow(FOLLOW_2);
@@ -12148,21 +12148,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NameRule__NameAssignment"
-    // InternalEvolutionaryAlgorithmLanguage.g:3857:1: rule__NameRule__NameAssignment : ( ( ruleStringOrId ) ) ;
+    // InternalOptimisationLanguage.g:3857:1: rule__NameRule__NameAssignment : ( ( ruleStringOrId ) ) ;
     public final void rule__NameRule__NameAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3861:1: ( ( ( ruleStringOrId ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3862:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3861:1: ( ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:3862:2: ( ( ruleStringOrId ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3862:2: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3863:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3862:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3863:3: ( ruleStringOrId )
             {
              before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3864:3: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:3865:4: ruleStringOrId
+            // InternalOptimisationLanguage.g:3864:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3865:4: ruleStringOrId
             {
              before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionStringOrIdParserRuleCall_0_1()); 
             pushFollow(FOLLOW_2);
@@ -12197,17 +12197,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MiscRule__NameAssignment"
-    // InternalEvolutionaryAlgorithmLanguage.g:3876:1: rule__MiscRule__NameAssignment : ( RULE_STRING ) ;
+    // InternalOptimisationLanguage.g:3876:1: rule__MiscRule__NameAssignment : ( RULE_STRING ) ;
     public final void rule__MiscRule__NameAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3880:1: ( ( RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3881:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:3880:1: ( ( RULE_STRING ) )
+            // InternalOptimisationLanguage.g:3881:2: ( RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3881:2: ( RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:3882:3: RULE_STRING
+            // InternalOptimisationLanguage.g:3881:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:3882:3: RULE_STRING
             {
              before(grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); 
             match(input,RULE_STRING,FOLLOW_2); 
@@ -12234,17 +12234,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__ValuesAssignment_2_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3891:1: rule__ArrayRule__ValuesAssignment_2_0 : ( ruleValueRule ) ;
+    // InternalOptimisationLanguage.g:3891:1: rule__ArrayRule__ValuesAssignment_2_0 : ( ruleValueRule ) ;
     public final void rule__ArrayRule__ValuesAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3895:1: ( ( ruleValueRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3896:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3895:1: ( ( ruleValueRule ) )
+            // InternalOptimisationLanguage.g:3896:2: ( ruleValueRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3896:2: ( ruleValueRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3897:3: ruleValueRule
+            // InternalOptimisationLanguage.g:3896:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3897:3: ruleValueRule
             {
              before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12275,17 +12275,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ArrayRule__ValuesAssignment_2_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3906:1: rule__ArrayRule__ValuesAssignment_2_1_1 : ( ruleValueRule ) ;
+    // InternalOptimisationLanguage.g:3906:1: rule__ArrayRule__ValuesAssignment_2_1_1 : ( ruleValueRule ) ;
     public final void rule__ArrayRule__ValuesAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3910:1: ( ( ruleValueRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3911:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3910:1: ( ( ruleValueRule ) )
+            // InternalOptimisationLanguage.g:3911:2: ( ruleValueRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3911:2: ( ruleValueRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3912:3: ruleValueRule
+            // InternalOptimisationLanguage.g:3911:2: ( ruleValueRule )
+            // InternalOptimisationLanguage.g:3912:3: ruleValueRule
             {
              before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12316,17 +12316,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__LiteralValueRule__LiteralAssignment"
-    // InternalEvolutionaryAlgorithmLanguage.g:3921:1: rule__LiteralValueRule__LiteralAssignment : ( ruleLiteralRule ) ;
+    // InternalOptimisationLanguage.g:3921:1: rule__LiteralValueRule__LiteralAssignment : ( ruleLiteralRule ) ;
     public final void rule__LiteralValueRule__LiteralAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3925:1: ( ( ruleLiteralRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3926:2: ( ruleLiteralRule )
+            // InternalOptimisationLanguage.g:3925:1: ( ( ruleLiteralRule ) )
+            // InternalOptimisationLanguage.g:3926:2: ( ruleLiteralRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3926:2: ( ruleLiteralRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3927:3: ruleLiteralRule
+            // InternalOptimisationLanguage.g:3926:2: ( ruleLiteralRule )
+            // InternalOptimisationLanguage.g:3927:3: ruleLiteralRule
             {
              before(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); 
             pushFollow(FOLLOW_2);
@@ -12357,21 +12357,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2"
-    // InternalEvolutionaryAlgorithmLanguage.g:3936:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ;
+    // InternalOptimisationLanguage.g:3936:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ;
     public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3940:1: ( ( ( ruleStringOrId ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3941:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3940:1: ( ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:3941:2: ( ( ruleStringOrId ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3941:2: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3942:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3941:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:3942:3: ( ruleStringOrId )
             {
              before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:3943:3: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:3944:4: ruleStringOrId
+            // InternalOptimisationLanguage.g:3943:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:3944:4: ruleStringOrId
             {
              before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); 
             pushFollow(FOLLOW_2);
@@ -12406,17 +12406,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__SubExpressionsAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3955:1: rule__OrExpressionRule__SubExpressionsAssignment_0 : ( ruleXorExpressionRule ) ;
+    // InternalOptimisationLanguage.g:3955:1: rule__OrExpressionRule__SubExpressionsAssignment_0 : ( ruleXorExpressionRule ) ;
     public final void rule__OrExpressionRule__SubExpressionsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3959:1: ( ( ruleXorExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3960:2: ( ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:3959:1: ( ( ruleXorExpressionRule ) )
+            // InternalOptimisationLanguage.g:3960:2: ( ruleXorExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3960:2: ( ruleXorExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3961:3: ruleXorExpressionRule
+            // InternalOptimisationLanguage.g:3960:2: ( ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:3961:3: ruleXorExpressionRule
             {
              before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12447,17 +12447,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__OrExpressionRule__SubExpressionsAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:3970:1: rule__OrExpressionRule__SubExpressionsAssignment_1_1 : ( ruleXorExpressionRule ) ;
+    // InternalOptimisationLanguage.g:3970:1: rule__OrExpressionRule__SubExpressionsAssignment_1_1 : ( ruleXorExpressionRule ) ;
     public final void rule__OrExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3974:1: ( ( ruleXorExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3975:2: ( ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:3974:1: ( ( ruleXorExpressionRule ) )
+            // InternalOptimisationLanguage.g:3975:2: ( ruleXorExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3975:2: ( ruleXorExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3976:3: ruleXorExpressionRule
+            // InternalOptimisationLanguage.g:3975:2: ( ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:3976:3: ruleXorExpressionRule
             {
              before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12488,17 +12488,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__SubExpressionsAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:3985:1: rule__XorExpressionRule__SubExpressionsAssignment_0 : ( ruleAndExpressionRule ) ;
+    // InternalOptimisationLanguage.g:3985:1: rule__XorExpressionRule__SubExpressionsAssignment_0 : ( ruleAndExpressionRule ) ;
     public final void rule__XorExpressionRule__SubExpressionsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:3989:1: ( ( ruleAndExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:3990:2: ( ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:3989:1: ( ( ruleAndExpressionRule ) )
+            // InternalOptimisationLanguage.g:3990:2: ( ruleAndExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:3990:2: ( ruleAndExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:3991:3: ruleAndExpressionRule
+            // InternalOptimisationLanguage.g:3990:2: ( ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:3991:3: ruleAndExpressionRule
             {
              before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12529,17 +12529,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__XorExpressionRule__SubExpressionsAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4000:1: rule__XorExpressionRule__SubExpressionsAssignment_1_1 : ( ruleAndExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4000:1: rule__XorExpressionRule__SubExpressionsAssignment_1_1 : ( ruleAndExpressionRule ) ;
     public final void rule__XorExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4004:1: ( ( ruleAndExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4005:2: ( ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:4004:1: ( ( ruleAndExpressionRule ) )
+            // InternalOptimisationLanguage.g:4005:2: ( ruleAndExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4005:2: ( ruleAndExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4006:3: ruleAndExpressionRule
+            // InternalOptimisationLanguage.g:4005:2: ( ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:4006:3: ruleAndExpressionRule
             {
              before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12570,17 +12570,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__SubExpressionsAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4015:1: rule__AndExpressionRule__SubExpressionsAssignment_0 : ( ruleNotExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4015:1: rule__AndExpressionRule__SubExpressionsAssignment_0 : ( ruleNotExpressionRule ) ;
     public final void rule__AndExpressionRule__SubExpressionsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4019:1: ( ( ruleNotExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4020:2: ( ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:4019:1: ( ( ruleNotExpressionRule ) )
+            // InternalOptimisationLanguage.g:4020:2: ( ruleNotExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4020:2: ( ruleNotExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4021:3: ruleNotExpressionRule
+            // InternalOptimisationLanguage.g:4020:2: ( ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:4021:3: ruleNotExpressionRule
             {
              before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12611,17 +12611,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AndExpressionRule__SubExpressionsAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4030:1: rule__AndExpressionRule__SubExpressionsAssignment_1_1 : ( ruleNotExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4030:1: rule__AndExpressionRule__SubExpressionsAssignment_1_1 : ( ruleNotExpressionRule ) ;
     public final void rule__AndExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4034:1: ( ( ruleNotExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4035:2: ( ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:4034:1: ( ( ruleNotExpressionRule ) )
+            // InternalOptimisationLanguage.g:4035:2: ( ruleNotExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4035:2: ( ruleNotExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4036:3: ruleNotExpressionRule
+            // InternalOptimisationLanguage.g:4035:2: ( ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:4036:3: ruleNotExpressionRule
             {
              before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12652,21 +12652,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__NegatedAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4045:1: rule__NotExpressionRule__NegatedAssignment_0 : ( ( '!' ) ) ;
+    // InternalOptimisationLanguage.g:4045:1: rule__NotExpressionRule__NegatedAssignment_0 : ( ( '!' ) ) ;
     public final void rule__NotExpressionRule__NegatedAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4049:1: ( ( ( '!' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4050:2: ( ( '!' ) )
+            // InternalOptimisationLanguage.g:4049:1: ( ( ( '!' ) ) )
+            // InternalOptimisationLanguage.g:4050:2: ( ( '!' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4050:2: ( ( '!' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4051:3: ( '!' )
+            // InternalOptimisationLanguage.g:4050:2: ( ( '!' ) )
+            // InternalOptimisationLanguage.g:4051:3: ( '!' )
             {
              before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:4052:3: ( '!' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4053:4: '!'
+            // InternalOptimisationLanguage.g:4052:3: ( '!' )
+            // InternalOptimisationLanguage.g:4053:4: '!'
             {
              before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); 
             match(input,64,FOLLOW_2); 
@@ -12697,17 +12697,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__NotExpressionRule__OperandAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4064:1: rule__NotExpressionRule__OperandAssignment_1 : ( ruleComparisonExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4064:1: rule__NotExpressionRule__OperandAssignment_1 : ( ruleComparisonExpressionRule ) ;
     public final void rule__NotExpressionRule__OperandAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4068:1: ( ( ruleComparisonExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4069:2: ( ruleComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:4068:1: ( ( ruleComparisonExpressionRule ) )
+            // InternalOptimisationLanguage.g:4069:2: ( ruleComparisonExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4069:2: ( ruleComparisonExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4070:3: ruleComparisonExpressionRule
+            // InternalOptimisationLanguage.g:4069:2: ( ruleComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:4070:3: ruleComparisonExpressionRule
             {
              before(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12738,17 +12738,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__LeftOperandAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4079:1: rule__ComparisonExpressionRule__LeftOperandAssignment_0 : ( ruleAddOrSubtractExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4079:1: rule__ComparisonExpressionRule__LeftOperandAssignment_0 : ( ruleAddOrSubtractExpressionRule ) ;
     public final void rule__ComparisonExpressionRule__LeftOperandAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4083:1: ( ( ruleAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4084:2: ( ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4083:1: ( ( ruleAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:4084:2: ( ruleAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4084:2: ( ruleAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4085:3: ruleAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:4084:2: ( ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4085:3: ruleAddOrSubtractExpressionRule
             {
              before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12779,17 +12779,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ComparisonExpressionRule__ComparisonAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4094:1: rule__ComparisonExpressionRule__ComparisonAssignment_1 : ( rulePartialComparisonExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4094:1: rule__ComparisonExpressionRule__ComparisonAssignment_1 : ( rulePartialComparisonExpressionRule ) ;
     public final void rule__ComparisonExpressionRule__ComparisonAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4098:1: ( ( rulePartialComparisonExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4099:2: ( rulePartialComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:4098:1: ( ( rulePartialComparisonExpressionRule ) )
+            // InternalOptimisationLanguage.g:4099:2: ( rulePartialComparisonExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4099:2: ( rulePartialComparisonExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4100:3: rulePartialComparisonExpressionRule
+            // InternalOptimisationLanguage.g:4099:2: ( rulePartialComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:4100:3: rulePartialComparisonExpressionRule
             {
              before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12820,17 +12820,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__OperatorAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4109:1: rule__PartialComparisonExpressionRule__OperatorAssignment_0 : ( ruleComparisonOperatorRule ) ;
+    // InternalOptimisationLanguage.g:4109:1: rule__PartialComparisonExpressionRule__OperatorAssignment_0 : ( ruleComparisonOperatorRule ) ;
     public final void rule__PartialComparisonExpressionRule__OperatorAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4113:1: ( ( ruleComparisonOperatorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4114:2: ( ruleComparisonOperatorRule )
+            // InternalOptimisationLanguage.g:4113:1: ( ( ruleComparisonOperatorRule ) )
+            // InternalOptimisationLanguage.g:4114:2: ( ruleComparisonOperatorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4114:2: ( ruleComparisonOperatorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4115:3: ruleComparisonOperatorRule
+            // InternalOptimisationLanguage.g:4114:2: ( ruleComparisonOperatorRule )
+            // InternalOptimisationLanguage.g:4115:3: ruleComparisonOperatorRule
             {
              before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12861,17 +12861,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PartialComparisonExpressionRule__SubExpressionAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4124:1: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 : ( ruleAddOrSubtractExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4124:1: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 : ( ruleAddOrSubtractExpressionRule ) ;
     public final void rule__PartialComparisonExpressionRule__SubExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4128:1: ( ( ruleAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4129:2: ( ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4128:1: ( ( ruleAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:4129:2: ( ruleAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4129:2: ( ruleAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4130:3: ruleAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:4129:2: ( ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4130:3: ruleAddOrSubtractExpressionRule
             {
              before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -12902,17 +12902,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4139:1: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 : ( ruleMultiplyDivideModuloExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4139:1: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 : ( ruleMultiplyDivideModuloExpressionRule ) ;
     public final void rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4143:1: ( ( ruleMultiplyDivideModuloExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4144:2: ( ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:4143:1: ( ( ruleMultiplyDivideModuloExpressionRule ) )
+            // InternalOptimisationLanguage.g:4144:2: ( ruleMultiplyDivideModuloExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4144:2: ( ruleMultiplyDivideModuloExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4145:3: ruleMultiplyDivideModuloExpressionRule
+            // InternalOptimisationLanguage.g:4144:2: ( ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:4145:3: ruleMultiplyDivideModuloExpressionRule
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12943,17 +12943,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4154:1: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 : ( ruleAddOrSubtractOperatorRule ) ;
+    // InternalOptimisationLanguage.g:4154:1: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 : ( ruleAddOrSubtractOperatorRule ) ;
     public final void rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4158:1: ( ( ruleAddOrSubtractOperatorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4159:2: ( ruleAddOrSubtractOperatorRule )
+            // InternalOptimisationLanguage.g:4158:1: ( ( ruleAddOrSubtractOperatorRule ) )
+            // InternalOptimisationLanguage.g:4159:2: ( ruleAddOrSubtractOperatorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4159:2: ( ruleAddOrSubtractOperatorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4160:3: ruleAddOrSubtractOperatorRule
+            // InternalOptimisationLanguage.g:4159:2: ( ruleAddOrSubtractOperatorRule )
+            // InternalOptimisationLanguage.g:4160:3: ruleAddOrSubtractOperatorRule
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); 
             pushFollow(FOLLOW_2);
@@ -12984,17 +12984,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4169:1: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 : ( ruleMultiplyDivideModuloExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4169:1: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 : ( ruleMultiplyDivideModuloExpressionRule ) ;
     public final void rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4173:1: ( ( ruleMultiplyDivideModuloExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4174:2: ( ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:4173:1: ( ( ruleMultiplyDivideModuloExpressionRule ) )
+            // InternalOptimisationLanguage.g:4174:2: ( ruleMultiplyDivideModuloExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4174:2: ( ruleMultiplyDivideModuloExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4175:3: ruleMultiplyDivideModuloExpressionRule
+            // InternalOptimisationLanguage.g:4174:2: ( ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:4175:3: ruleMultiplyDivideModuloExpressionRule
             {
              before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13025,17 +13025,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4184:1: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 : ( rulePowerOfExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4184:1: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 : ( rulePowerOfExpressionRule ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4188:1: ( ( rulePowerOfExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4189:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4188:1: ( ( rulePowerOfExpressionRule ) )
+            // InternalOptimisationLanguage.g:4189:2: ( rulePowerOfExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4189:2: ( rulePowerOfExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4190:3: rulePowerOfExpressionRule
+            // InternalOptimisationLanguage.g:4189:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4190:3: rulePowerOfExpressionRule
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13066,17 +13066,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4199:1: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 : ( ruleMultiplyDivideModuloOperatorRule ) ;
+    // InternalOptimisationLanguage.g:4199:1: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 : ( ruleMultiplyDivideModuloOperatorRule ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4203:1: ( ( ruleMultiplyDivideModuloOperatorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4204:2: ( ruleMultiplyDivideModuloOperatorRule )
+            // InternalOptimisationLanguage.g:4203:1: ( ( ruleMultiplyDivideModuloOperatorRule ) )
+            // InternalOptimisationLanguage.g:4204:2: ( ruleMultiplyDivideModuloOperatorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4204:2: ( ruleMultiplyDivideModuloOperatorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4205:3: ruleMultiplyDivideModuloOperatorRule
+            // InternalOptimisationLanguage.g:4204:2: ( ruleMultiplyDivideModuloOperatorRule )
+            // InternalOptimisationLanguage.g:4205:3: ruleMultiplyDivideModuloOperatorRule
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13107,17 +13107,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4214:1: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 : ( rulePowerOfExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4214:1: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 : ( rulePowerOfExpressionRule ) ;
     public final void rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4218:1: ( ( rulePowerOfExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4219:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4218:1: ( ( rulePowerOfExpressionRule ) )
+            // InternalOptimisationLanguage.g:4219:2: ( rulePowerOfExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4219:2: ( rulePowerOfExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4220:3: rulePowerOfExpressionRule
+            // InternalOptimisationLanguage.g:4219:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4220:3: rulePowerOfExpressionRule
             {
              before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13148,17 +13148,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__LeftOperandAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4229:1: rule__PowerOfExpressionRule__LeftOperandAssignment_0 : ( ruleUnaryAddOrSubtractExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4229:1: rule__PowerOfExpressionRule__LeftOperandAssignment_0 : ( ruleUnaryAddOrSubtractExpressionRule ) ;
     public final void rule__PowerOfExpressionRule__LeftOperandAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4233:1: ( ( ruleUnaryAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4234:2: ( ruleUnaryAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4233:1: ( ( ruleUnaryAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:4234:2: ( ruleUnaryAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4234:2: ( ruleUnaryAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4235:3: ruleUnaryAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:4234:2: ( ruleUnaryAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:4235:3: ruleUnaryAddOrSubtractExpressionRule
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13189,17 +13189,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__PowerOfExpressionRule__RightOperandAssignment_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4244:1: rule__PowerOfExpressionRule__RightOperandAssignment_1_1 : ( rulePowerOfExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4244:1: rule__PowerOfExpressionRule__RightOperandAssignment_1_1 : ( rulePowerOfExpressionRule ) ;
     public final void rule__PowerOfExpressionRule__RightOperandAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4248:1: ( ( rulePowerOfExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4249:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4248:1: ( ( rulePowerOfExpressionRule ) )
+            // InternalOptimisationLanguage.g:4249:2: ( rulePowerOfExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4249:2: ( rulePowerOfExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4250:3: rulePowerOfExpressionRule
+            // InternalOptimisationLanguage.g:4249:2: ( rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:4250:3: rulePowerOfExpressionRule
             {
              before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13230,17 +13230,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4259:1: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 : ( ruleAddOrSubtractOperatorRule ) ;
+    // InternalOptimisationLanguage.g:4259:1: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 : ( ruleAddOrSubtractOperatorRule ) ;
     public final void rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4263:1: ( ( ruleAddOrSubtractOperatorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4264:2: ( ruleAddOrSubtractOperatorRule )
+            // InternalOptimisationLanguage.g:4263:1: ( ( ruleAddOrSubtractOperatorRule ) )
+            // InternalOptimisationLanguage.g:4264:2: ( ruleAddOrSubtractOperatorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4264:2: ( ruleAddOrSubtractOperatorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4265:3: ruleAddOrSubtractOperatorRule
+            // InternalOptimisationLanguage.g:4264:2: ( ruleAddOrSubtractOperatorRule )
+            // InternalOptimisationLanguage.g:4265:3: ruleAddOrSubtractOperatorRule
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13271,17 +13271,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4274:1: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 : ( ruleLiteralOrReferenceRule ) ;
+    // InternalOptimisationLanguage.g:4274:1: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 : ( ruleLiteralOrReferenceRule ) ;
     public final void rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4278:1: ( ( ruleLiteralOrReferenceRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4279:2: ( ruleLiteralOrReferenceRule )
+            // InternalOptimisationLanguage.g:4278:1: ( ( ruleLiteralOrReferenceRule ) )
+            // InternalOptimisationLanguage.g:4279:2: ( ruleLiteralOrReferenceRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4279:2: ( ruleLiteralOrReferenceRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4280:3: ruleLiteralOrReferenceRule
+            // InternalOptimisationLanguage.g:4279:2: ( ruleLiteralOrReferenceRule )
+            // InternalOptimisationLanguage.g:4280:3: ruleLiteralOrReferenceRule
             {
              before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13312,17 +13312,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__ParanthesesRule__SubExpressionAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4289:1: rule__ParanthesesRule__SubExpressionAssignment_1 : ( ruleExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4289:1: rule__ParanthesesRule__SubExpressionAssignment_1 : ( ruleExpressionRule ) ;
     public final void rule__ParanthesesRule__SubExpressionAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4293:1: ( ( ruleExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4294:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4293:1: ( ( ruleExpressionRule ) )
+            // InternalOptimisationLanguage.g:4294:2: ( ruleExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4294:2: ( ruleExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4295:3: ruleExpressionRule
+            // InternalOptimisationLanguage.g:4294:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4295:3: ruleExpressionRule
             {
              before(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13353,17 +13353,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__FunctionAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4304:1: rule__CallRule__FunctionAssignment_0 : ( ruleFunctionNameRule ) ;
+    // InternalOptimisationLanguage.g:4304:1: rule__CallRule__FunctionAssignment_0 : ( ruleFunctionNameRule ) ;
     public final void rule__CallRule__FunctionAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4308:1: ( ( ruleFunctionNameRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4309:2: ( ruleFunctionNameRule )
+            // InternalOptimisationLanguage.g:4308:1: ( ( ruleFunctionNameRule ) )
+            // InternalOptimisationLanguage.g:4309:2: ( ruleFunctionNameRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4309:2: ( ruleFunctionNameRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4310:3: ruleFunctionNameRule
+            // InternalOptimisationLanguage.g:4309:2: ( ruleFunctionNameRule )
+            // InternalOptimisationLanguage.g:4310:3: ruleFunctionNameRule
             {
              before(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13394,17 +13394,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__ParametersAssignment_2_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4319:1: rule__CallRule__ParametersAssignment_2_0 : ( ruleExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4319:1: rule__CallRule__ParametersAssignment_2_0 : ( ruleExpressionRule ) ;
     public final void rule__CallRule__ParametersAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4323:1: ( ( ruleExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4324:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4323:1: ( ( ruleExpressionRule ) )
+            // InternalOptimisationLanguage.g:4324:2: ( ruleExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4324:2: ( ruleExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4325:3: ruleExpressionRule
+            // InternalOptimisationLanguage.g:4324:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4325:3: ruleExpressionRule
             {
              before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); 
             pushFollow(FOLLOW_2);
@@ -13435,17 +13435,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__CallRule__ParametersAssignment_2_1_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4334:1: rule__CallRule__ParametersAssignment_2_1_1 : ( ruleExpressionRule ) ;
+    // InternalOptimisationLanguage.g:4334:1: rule__CallRule__ParametersAssignment_2_1_1 : ( ruleExpressionRule ) ;
     public final void rule__CallRule__ParametersAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4338:1: ( ( ruleExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4339:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4338:1: ( ( ruleExpressionRule ) )
+            // InternalOptimisationLanguage.g:4339:2: ( ruleExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4339:2: ( ruleExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4340:3: ruleExpressionRule
+            // InternalOptimisationLanguage.g:4339:2: ( ruleExpressionRule )
+            // InternalOptimisationLanguage.g:4340:3: ruleExpressionRule
             {
              before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13476,17 +13476,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__LiteralAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4349:1: rule__DoubleLiteralRule__LiteralAssignment_0 : ( RULE_DOUBLE ) ;
+    // InternalOptimisationLanguage.g:4349:1: rule__DoubleLiteralRule__LiteralAssignment_0 : ( RULE_DOUBLE ) ;
     public final void rule__DoubleLiteralRule__LiteralAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4353:1: ( ( RULE_DOUBLE ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4354:2: ( RULE_DOUBLE )
+            // InternalOptimisationLanguage.g:4353:1: ( ( RULE_DOUBLE ) )
+            // InternalOptimisationLanguage.g:4354:2: ( RULE_DOUBLE )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4354:2: ( RULE_DOUBLE )
-            // InternalEvolutionaryAlgorithmLanguage.g:4355:3: RULE_DOUBLE
+            // InternalOptimisationLanguage.g:4354:2: ( RULE_DOUBLE )
+            // InternalOptimisationLanguage.g:4355:3: RULE_DOUBLE
             {
              before(grammarAccess.getDoubleLiteralRuleAccess().getLiteralDOUBLETerminalRuleCall_0_0()); 
             match(input,RULE_DOUBLE,FOLLOW_2); 
@@ -13513,17 +13513,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__DoubleLiteralRule__FactorAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4364:1: rule__DoubleLiteralRule__FactorAssignment_1 : ( ruleFactorRule ) ;
+    // InternalOptimisationLanguage.g:4364:1: rule__DoubleLiteralRule__FactorAssignment_1 : ( ruleFactorRule ) ;
     public final void rule__DoubleLiteralRule__FactorAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4368:1: ( ( ruleFactorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4369:2: ( ruleFactorRule )
+            // InternalOptimisationLanguage.g:4368:1: ( ( ruleFactorRule ) )
+            // InternalOptimisationLanguage.g:4369:2: ( ruleFactorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4369:2: ( ruleFactorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4370:3: ruleFactorRule
+            // InternalOptimisationLanguage.g:4369:2: ( ruleFactorRule )
+            // InternalOptimisationLanguage.g:4370:3: ruleFactorRule
             {
              before(grammarAccess.getDoubleLiteralRuleAccess().getFactorFactorRuleEnumRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13554,17 +13554,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__LiteralAssignment_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4379:1: rule__IntegerLiteralRule__LiteralAssignment_0 : ( RULE_INT ) ;
+    // InternalOptimisationLanguage.g:4379:1: rule__IntegerLiteralRule__LiteralAssignment_0 : ( RULE_INT ) ;
     public final void rule__IntegerLiteralRule__LiteralAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4383:1: ( ( RULE_INT ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4384:2: ( RULE_INT )
+            // InternalOptimisationLanguage.g:4383:1: ( ( RULE_INT ) )
+            // InternalOptimisationLanguage.g:4384:2: ( RULE_INT )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4384:2: ( RULE_INT )
-            // InternalEvolutionaryAlgorithmLanguage.g:4385:3: RULE_INT
+            // InternalOptimisationLanguage.g:4384:2: ( RULE_INT )
+            // InternalOptimisationLanguage.g:4385:3: RULE_INT
             {
              before(grammarAccess.getIntegerLiteralRuleAccess().getLiteralINTTerminalRuleCall_0_0()); 
             match(input,RULE_INT,FOLLOW_2); 
@@ -13591,17 +13591,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__IntegerLiteralRule__FactorAssignment_1"
-    // InternalEvolutionaryAlgorithmLanguage.g:4394:1: rule__IntegerLiteralRule__FactorAssignment_1 : ( ruleFactorRule ) ;
+    // InternalOptimisationLanguage.g:4394:1: rule__IntegerLiteralRule__FactorAssignment_1 : ( ruleFactorRule ) ;
     public final void rule__IntegerLiteralRule__FactorAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4398:1: ( ( ruleFactorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4399:2: ( ruleFactorRule )
+            // InternalOptimisationLanguage.g:4398:1: ( ( ruleFactorRule ) )
+            // InternalOptimisationLanguage.g:4399:2: ( ruleFactorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4399:2: ( ruleFactorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:4400:3: ruleFactorRule
+            // InternalOptimisationLanguage.g:4399:2: ( ruleFactorRule )
+            // InternalOptimisationLanguage.g:4400:3: ruleFactorRule
             {
              before(grammarAccess.getIntegerLiteralRuleAccess().getFactorFactorRuleEnumRuleCall_1_0()); 
             pushFollow(FOLLOW_2);
@@ -13632,17 +13632,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__StringLiteralRule__ValueAssignment"
-    // InternalEvolutionaryAlgorithmLanguage.g:4409:1: rule__StringLiteralRule__ValueAssignment : ( RULE_STRING ) ;
+    // InternalOptimisationLanguage.g:4409:1: rule__StringLiteralRule__ValueAssignment : ( RULE_STRING ) ;
     public final void rule__StringLiteralRule__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4413:1: ( ( RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4414:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:4413:1: ( ( RULE_STRING ) )
+            // InternalOptimisationLanguage.g:4414:2: ( RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4414:2: ( RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:4415:3: RULE_STRING
+            // InternalOptimisationLanguage.g:4414:2: ( RULE_STRING )
+            // InternalOptimisationLanguage.g:4415:3: RULE_STRING
             {
              before(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); 
             match(input,RULE_STRING,FOLLOW_2); 
@@ -13669,21 +13669,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rule__BooleanLiteralRule__ValueAssignment_1_0"
-    // InternalEvolutionaryAlgorithmLanguage.g:4424:1: rule__BooleanLiteralRule__ValueAssignment_1_0 : ( ( 'true' ) ) ;
+    // InternalOptimisationLanguage.g:4424:1: rule__BooleanLiteralRule__ValueAssignment_1_0 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteralRule__ValueAssignment_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         	
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:4428:1: ( ( ( 'true' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4429:2: ( ( 'true' ) )
+            // InternalOptimisationLanguage.g:4428:1: ( ( ( 'true' ) ) )
+            // InternalOptimisationLanguage.g:4429:2: ( ( 'true' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:4429:2: ( ( 'true' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:4430:3: ( 'true' )
+            // InternalOptimisationLanguage.g:4429:2: ( ( 'true' ) )
+            // InternalOptimisationLanguage.g:4430:3: ( 'true' )
             {
              before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); 
-            // InternalEvolutionaryAlgorithmLanguage.g:4431:3: ( 'true' )
-            // InternalEvolutionaryAlgorithmLanguage.g:4432:4: 'true'
+            // InternalOptimisationLanguage.g:4431:3: ( 'true' )
+            // InternalOptimisationLanguage.g:4432:4: 'true'
             {
              before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); 
             match(input,65,FOLLOW_2); 
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeModule.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..74eec8fe71d0e6463cbe36bbecd81748114647c9
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeModule.java
@@ -0,0 +1,12 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl.ide;
+
+
+/**
+ * Use this class to register ide components.
+ */
+public class OptimisationLanguageIdeModule extends AbstractOptimisationLanguageIdeModule {
+}
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeSetup.java b/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeSetup.java
new file mode 100644
index 0000000000000000000000000000000000000000..aef0af1a7baac50b63ded15056835124aa55fa09
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ide/src/de/evoal/languages/model/ol/dsl/ide/OptimisationLanguageIdeSetup.java
@@ -0,0 +1,23 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl.ide;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+import de.evoal.languages.model.ol.dsl.OptimisationLanguageRuntimeModule;
+import de.evoal.languages.model.ol.dsl.OptimisationLanguageStandaloneSetup;
+import org.eclipse.xtext.util.Modules2;
+
+/**
+ * Initialization support for running Xtext languages as language servers.
+ */
+public class OptimisationLanguageIdeSetup extends OptimisationLanguageStandaloneSetup {
+
+	@Override
+	public Injector createInjector() {
+		return Guice.createInjector(Modules2.mixin(new OptimisationLanguageRuntimeModule(), new OptimisationLanguageIdeModule()));
+	}
+	
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/.classpath b/src/languages/de.evoal.languages.model.ol.dsl.ui/.classpath
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/.classpath
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/.classpath
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/.project b/src/languages/de.evoal.languages.model.ol.dsl.ui/.project
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/.project
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/.project
index e55b6563b7e13293111eb233ccf791692c5d5aed..1711f5d48a9460ee994520704d9eaa4979d5f3c8 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/.project
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>de.evoal.languages.model.eal.dsl.ide</name>
+	<name>de.evoal.languages.model.ol.dsl.ui</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ui/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.ol.dsl.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..8ba9d7e5ae0d55300c090bba8ecf4c68d1302d7a
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: de.evoal.languages.model.ol.dsl.ui
+Bundle-ManifestVersion: 2
+Bundle-Name: de.evoal.languages.model.ol.dsl.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: de.evoal.languages.model.ol.dsl.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: de.evoal.languages.model.ol.dsl,
+ de.evoal.languages.model.ol.dsl.ide,
+ de.evoal.languages.model.ol,
+ org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.ui,
+ org.eclipse.compare,
+ org.eclipse.xtext.builder,
+ de.evoal.languages.model.instance.dsl.ui;bundle-version="1.0.0"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Export-Package: de.evoal.languages.model.ol.dsl.ui.quickfix,
+ de.evoal.languages.model.ol.dsl.ui.internal,
+ de.evoal.languages.model.ol.dsl.ui.contentassist
+Bundle-Activator: de.evoal.languages.model.ol.dsl.ui.internal.DslActivator
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/build.properties b/src/languages/de.evoal.languages.model.ol.dsl.ui/build.properties
similarity index 85%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/build.properties
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/build.properties
index ad0f6dd37491812b537f7e284d4eac9c6db8cf67..323f56c513d04a1e0ba18fe2dad51f354dcb3201 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/build.properties
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/build.properties
@@ -5,4 +5,3 @@ bin.includes = .,\
                META-INF/,\
                plugin.xml
 bin.excludes = **/*.xtend
-output.. = target/classes/
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ui/plugin.xml b/src/languages/de.evoal.languages.model.ol.dsl.ui/plugin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ae888e1171e9d31d4262c00e835edb4106720dc2
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/plugin.xml
@@ -0,0 +1,434 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+	<extension
+		point="org.eclipse.ui.editors">
+		<editor
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+			contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+			default="true"
+			extensions="eal"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			name="OptimisationLanguage Editor">
+		</editor>
+	</extension>
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+			commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+			<activeWhen>
+				<reference
+					definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+			commandId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.validate">
+			<activeWhen>
+				<reference
+					definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+		<!-- copy qualified name -->
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
+			commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
+			<activeWhen>
+				<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened" />
+			</activeWhen>
+		</handler>
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
+			commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
+			<activeWhen>
+				<and>
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.XtextEditor.opened" />
+					<iterate>
+						<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+					</iterate>
+				</and>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension point="org.eclipse.core.expressions.definitions">
+		<definition id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+			<and>
+				<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+				<with variable="activeEditor">
+					<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+						value="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+						forcePluginActivation="true"/>
+				</with>
+			</and>
+		</definition>
+		<definition id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.XtextEditor.opened">
+			<and>
+				<reference definitionId="isXtextEditorActive"/>
+				<with variable="activeEditor">
+					<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+						value="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+						forcePluginActivation="true"/>
+				</with>
+			</and>
+		</definition>
+	</extension>
+	<extension
+			point="org.eclipse.ui.preferencePages">
+		<page
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			name="OptimisationLanguage">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.coloring"
+			name="Syntax Coloring">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.templates"
+			name="Templates">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+	</extension>
+	<extension
+			point="org.eclipse.ui.propertyPages">
+		<page
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			name="OptimisationLanguage">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+			<enabledWhen>
+				<adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+			<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+		</page>
+	</extension>
+	<extension
+		point="org.eclipse.ui.keywords">
+		<keyword
+			id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"
+			label="OptimisationLanguage"/>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="Trigger expensive validation"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.validate"
+			name="Validate">
+		</command>
+		<!-- copy qualified name -->
+		<command
+			id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+			categoryId="org.eclipse.ui.category.edit"
+			description="Copy the qualified name for the selected element"
+			name="Copy Qualified Name">
+		</command>
+		<command
+			id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+			categoryId="org.eclipse.ui.category.edit"
+			description="Copy the qualified name for the selected element"
+			name="Copy Qualified Name">
+		</command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.edit">
+			<command
+				commandId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.validate"
+				style="push"
+				tooltip="Trigger expensive validation">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<!-- copy qualified name -->
+		<menuContribution locationURI="popup:#TextEditorContext?after=copy">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+				style="push" tooltip="Copy Qualified Name">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened" />
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution locationURI="menu:edit?after=copy">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
+				style="push" tooltip="Copy Qualified Name">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened" />
+				</visibleWhen>
+			</command>
+		</menuContribution>
+		<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
+			<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
+				style="push" tooltip="Copy Qualified Name">
+				<visibleWhen checkEnabled="false">
+					<and>
+						<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.XtextEditor.opened" />
+						<iterate>
+							<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
+						</iterate>
+					</and>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+			commandId="org.eclipse.xtext.ui.editor.FindReferences">
+			<activeWhen>
+				<reference
+					definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension point="org.eclipse.core.contenttype.contentTypes">
+		<content-type
+			base-type="org.eclipse.core.runtime.text"
+			file-extensions="eal"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.contenttype"
+			name="OptimisationLanguage File"
+			priority="normal">
+		</content-type>
+	</extension>
+	<!-- adding resource factories -->
+	<extension
+		point="org.eclipse.emf.ecore.extension_parser">
+		<parser
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+			type="eal">
+		</parser>
+	</extension>
+	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+		<resourceServiceProvider
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+			uriExtension="eal">
+		</resourceServiceProvider>
+	</extension>
+	<!-- marker definitions for de.evoal.languages.model.ol.dsl.OptimisationLanguage -->
+	<extension
+			id="optimisationlanguage.check.fast"
+			name="OptimisationLanguage Problem"
+			point="org.eclipse.core.resources.markers">
+		<super type="org.eclipse.xtext.ui.check.fast"/>
+		<persistent value="true"/>
+	</extension>
+	<extension
+			id="optimisationlanguage.check.normal"
+			name="OptimisationLanguage Problem"
+			point="org.eclipse.core.resources.markers">
+		<super type="org.eclipse.xtext.ui.check.normal"/>
+		<persistent value="true"/>
+	</extension>
+	<extension
+			id="optimisationlanguage.check.expensive"
+			name="OptimisationLanguage Problem"
+			point="org.eclipse.core.resources.markers">
+		<super type="org.eclipse.xtext.ui.check.expensive"/>
+		<persistent value="true"/>
+	</extension>
+	<extension point="org.eclipse.ui.preferencePages">
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.validator.preferencePage"
+			name="Errors/Warnings">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+	</extension>
+	<extension point="org.eclipse.xtext.builder.participant">
+		<participant
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+			fileExtensions="eal"/>
+	</extension>
+	<extension point="org.eclipse.ui.preferencePages">
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compiler.preferencePage"
+			name="Compiler">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+	</extension>
+	<extension point="org.eclipse.ui.propertyPages">
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compiler.propertyPage"
+			name="Compiler">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+			<enabledWhen>
+				<adapt type="org.eclipse.core.resources.IProject"/>
+			</enabledWhen>
+			<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
+		</page>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
+			<command
+				commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
+				id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.OpenGeneratedCode"
+				style="push">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened" />
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
+			commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
+			<activeWhen>
+				<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened" />
+			</activeWhen>
+		</handler>
+	</extension>
+	<!-- Quick Outline -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+			<activeWhen>
+				<reference
+					definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="Open the quick outline."
+			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+			name="Quick Outline">
+		</command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+				style="push"
+				tooltip="Open Quick Outline">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<!-- quickfix marker resolution generator for de.evoal.languages.model.ol.dsl.OptimisationLanguage -->
+	<extension
+			point="org.eclipse.ui.ide.markerResolution">
+		<markerResolutionGenerator
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+			markerType="de.evoal.languages.model.ol.dsl.ui.optimisationlanguage.check.fast">
+			<attribute
+				name="FIXABLE_KEY"
+				value="true">
+			</attribute>
+		</markerResolutionGenerator>
+		<markerResolutionGenerator
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+			markerType="de.evoal.languages.model.ol.dsl.ui.optimisationlanguage.check.normal">
+			<attribute
+				name="FIXABLE_KEY"
+				value="true">
+			</attribute>
+		</markerResolutionGenerator>
+		<markerResolutionGenerator
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+			markerType="de.evoal.languages.model.ol.dsl.ui.optimisationlanguage.check.expensive">
+			<attribute
+				name="FIXABLE_KEY"
+				value="true">
+			</attribute>
+		</markerResolutionGenerator>
+	</extension>
+	<!-- Rename Refactoring -->
+	<extension point="org.eclipse.ui.handlers">
+		<handler
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
+			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
+			<activeWhen>
+				<reference
+					definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.edit">
+			<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
+				style="push">
+				<visibleWhen checkEnabled="false">
+					<reference
+						definitionId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.Editor.opened">
+					</reference>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.preferencePages">
+		<page
+			category="de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+			id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.refactoring"
+			name="Refactoring">
+			<keywordReference id="de.evoal.languages.model.ol.dsl.ui.keyword_OptimisationLanguage"/>
+		</page>
+	</extension>
+	<extension point="org.eclipse.compare.contentViewers">
+		<viewer id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compare.contentViewers"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+			extensions="eal">
+		</viewer>
+		<contentTypeBinding
+			contentTypeId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.contenttype"
+			contentViewerId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compare.contentViewers" />
+	</extension>
+	<extension point="org.eclipse.compare.contentMergeViewers">
+		<viewer id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compare.contentMergeViewers"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+			extensions="eal" label="OptimisationLanguage Compare">
+		</viewer>
+		<contentTypeBinding
+			contentTypeId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.contenttype"
+			contentMergeViewerId="de.evoal.languages.model.ol.dsl.OptimisationLanguage.compare.contentMergeViewers" />
+	</extension>
+	<extension point="org.eclipse.ui.editors.documentProviders">
+		<provider id="de.evoal.languages.model.ol.dsl.OptimisationLanguage.editors.documentProviders"
+			class="de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+			extensions="eal">
+		</provider>
+	</extension>
+	<extension point="org.eclipse.team.core.fileTypes">
+		<fileTypes
+			extension="eal"
+			type="text">
+		</fileTypes>
+	</extension>
+</plugin>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/pom.xml b/src/languages/de.evoal.languages.model.ol.dsl.ui/pom.xml
similarity index 90%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/pom.xml
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/pom.xml
index b8b88d6747968e565344099fc9774596ae5cf15d..046fc43d0fdb842fd0f6f1678fcbe385f89a5656 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ide/pom.xml
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/pom.xml
@@ -9,6 +9,6 @@
       <relativePath>../de.evoal.languages.releng.parent</relativePath>
   </parent>
 
-  <artifactId>de.evoal.languages.model.eal.dsl.ide</artifactId>
+  <artifactId>de.evoal.languages.model.ol.dsl.ui</artifactId>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/AbstractEvolutionaryAlgorithmLanguageUiModule.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/AbstractOptimisationLanguageUiModule.java
similarity index 85%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/AbstractEvolutionaryAlgorithmLanguageUiModule.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/AbstractOptimisationLanguageUiModule.java
index a6559c5faf189e868f34a57dcc74958c94ddc8b0..0c865cd4413b02857c99675539513a4a795ce82f 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/AbstractEvolutionaryAlgorithmLanguageUiModule.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/AbstractOptimisationLanguageUiModule.java
@@ -1,21 +1,21 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui;
+package de.evoal.languages.model.ol.dsl.ui;
 
 import com.google.inject.Binder;
 import com.google.inject.Provider;
 import com.google.inject.name.Names;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.EvolutionaryAlgorithmLanguageParser;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.PartialEvolutionaryAlgorithmLanguageContentAssistParser;
-import de.evoal.languages.model.eal.dsl.ide.contentassist.antlr.internal.InternalEvolutionaryAlgorithmLanguageLexer;
-import de.evoal.languages.model.eal.dsl.ui.contentassist.EvolutionaryAlgorithmLanguageProposalProvider;
-import de.evoal.languages.model.eal.dsl.ui.labeling.EvolutionaryAlgorithmLanguageDescriptionLabelProvider;
-import de.evoal.languages.model.eal.dsl.ui.labeling.EvolutionaryAlgorithmLanguageLabelProvider;
-import de.evoal.languages.model.eal.dsl.ui.outline.EvolutionaryAlgorithmLanguageOutlineTreeProvider;
-import de.evoal.languages.model.eal.dsl.ui.quickfix.EvolutionaryAlgorithmLanguageQuickfixProvider;
-import de.evoal.languages.model.eal.dsl.validation.EvolutionaryAlgorithmLanguageValidatorConfigurationBlock;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.OptimisationLanguageParser;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.PartialOptimisationLanguageContentAssistParser;
+import de.evoal.languages.model.ol.dsl.ide.contentassist.antlr.internal.InternalOptimisationLanguageLexer;
+import de.evoal.languages.model.ol.dsl.ui.contentassist.OptimisationLanguageProposalProvider;
+import de.evoal.languages.model.ol.dsl.ui.labeling.OptimisationLanguageDescriptionLabelProvider;
+import de.evoal.languages.model.ol.dsl.ui.labeling.OptimisationLanguageLabelProvider;
+import de.evoal.languages.model.ol.dsl.ui.outline.OptimisationLanguageOutlineTreeProvider;
+import de.evoal.languages.model.ol.dsl.ui.quickfix.OptimisationLanguageQuickfixProvider;
+import de.evoal.languages.model.ol.dsl.validation.OptimisationLanguageValidatorConfigurationBlock;
 import org.eclipse.compare.IViewerCreator;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -81,12 +81,12 @@ import org.eclipse.xtext.ui.shared.Access;
 import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
 
 /**
- * Manual modifications go to {@link EvolutionaryAlgorithmLanguageUiModule}.
+ * Manual modifications go to {@link OptimisationLanguageUiModule}.
  */
 @SuppressWarnings("all")
-public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends DefaultUiModule {
+public abstract class AbstractOptimisationLanguageUiModule extends DefaultUiModule {
 
-	public AbstractEvolutionaryAlgorithmLanguageUiModule(AbstractUIPlugin plugin) {
+	public AbstractOptimisationLanguageUiModule(AbstractUIPlugin plugin) {
 		super(plugin);
 	}
 	
@@ -104,14 +104,14 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends Defa
 	public void configureContentAssistLexer(Binder binder) {
 		binder.bind(Lexer.class)
 			.annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST))
-			.to(InternalEvolutionaryAlgorithmLanguageLexer.class);
+			.to(InternalOptimisationLanguageLexer.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public void configureHighlightingLexer(Binder binder) {
 		binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class)
 			.annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING))
-			.to(de.evoal.languages.model.eal.dsl.parser.antlr.internal.InternalEvolutionaryAlgorithmLanguageLexer.class);
+			.to(de.evoal.languages.model.ol.dsl.parser.antlr.internal.InternalOptimisationLanguageLexer.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
@@ -128,17 +128,17 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends Defa
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public Class<? extends IContentAssistParser> bindIContentAssistParser() {
-		return EvolutionaryAlgorithmLanguageParser.class;
+		return OptimisationLanguageParser.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public void configureContentAssistLexerProvider(Binder binder) {
-		binder.bind(InternalEvolutionaryAlgorithmLanguageLexer.class).toProvider(LexerProvider.create(InternalEvolutionaryAlgorithmLanguageLexer.class));
+		binder.bind(InternalOptimisationLanguageLexer.class).toProvider(LexerProvider.create(InternalOptimisationLanguageLexer.class));
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
 	public Class<? extends AbstractValidatorConfigurationBlock> bindAbstractValidatorConfigurationBlock() {
-		return EvolutionaryAlgorithmLanguageValidatorConfigurationBlock.class;
+		return OptimisationLanguageValidatorConfigurationBlock.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2
@@ -195,32 +195,32 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends Defa
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
 	public Class<? extends ILabelProvider> bindILabelProvider() {
-		return EvolutionaryAlgorithmLanguageLabelProvider.class;
+		return OptimisationLanguageLabelProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2
 	public void configureResourceUIServiceLabelProvider(Binder binder) {
-		binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(EvolutionaryAlgorithmLanguageDescriptionLabelProvider.class);
+		binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(OptimisationLanguageDescriptionLabelProvider.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
 	public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() {
-		return EvolutionaryAlgorithmLanguageOutlineTreeProvider.class;
+		return OptimisationLanguageOutlineTreeProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2
 	public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
-		return EvolutionaryAlgorithmLanguageOutlineTreeProvider.class;
+		return OptimisationLanguageOutlineTreeProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2
 	public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() {
-		return EvolutionaryAlgorithmLanguageQuickfixProvider.class;
+		return OptimisationLanguageQuickfixProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2
 	public Class<? extends IContentProposalProvider> bindIContentProposalProvider() {
-		return EvolutionaryAlgorithmLanguageProposalProvider.class;
+		return OptimisationLanguageProposalProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2
@@ -273,7 +273,7 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends Defa
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
 	public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() {
-		return PartialEvolutionaryAlgorithmLanguageContentAssistParser.class;
+		return PartialOptimisationLanguageContentAssistParser.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2
@@ -288,7 +288,7 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageUiModule extends Defa
 	
 	// contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2
 	public void configureCompareViewerTitle(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("EvolutionaryAlgorithmLanguage Compare");
+		binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("OptimisationLanguage Compare");
 	}
 	
 }
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageExecutableExtensionFactory.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageExecutableExtensionFactory.java
similarity index 64%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageExecutableExtensionFactory.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageExecutableExtensionFactory.java
index 49977e01d25939e31aed867acef2c800165d8630..fd66b1dbc0a49ab55e09a0eca1a14732ec2a03fb 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/EvolutionaryAlgorithmLanguageExecutableExtensionFactory.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageExecutableExtensionFactory.java
@@ -1,11 +1,11 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui;
+package de.evoal.languages.model.ol.dsl.ui;
 
 import com.google.inject.Injector;
-import de.evoal.languages.model.eal.dsl.ui.internal.DslActivator;
+import de.evoal.languages.model.ol.dsl.ui.internal.DslActivator;
 import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.FrameworkUtil;
@@ -14,7 +14,7 @@ import org.osgi.framework.FrameworkUtil;
  * This class was generated. Customizations should only happen in a newly
  * introduced subclass. 
  */
-public class EvolutionaryAlgorithmLanguageExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+public class OptimisationLanguageExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
 
 	@Override
 	protected Bundle getBundle() {
@@ -24,7 +24,7 @@ public class EvolutionaryAlgorithmLanguageExecutableExtensionFactory extends Abs
 	@Override
 	protected Injector getInjector() {
 		DslActivator activator = DslActivator.getInstance();
-		return activator != null ? activator.getInjector(DslActivator.DE_EVOAL_LANGUAGES_MODEL_EAL_DSL_EVOLUTIONARYALGORITHMLANGUAGE) : null;
+		return activator != null ? activator.getInjector(DslActivator.DE_EVOAL_LANGUAGES_MODEL_OL_DSL_OPTIMISATIONLANGUAGE) : null;
 	}
 
 }
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/contentassist/AbstractEvolutionaryAlgorithmLanguageProposalProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/contentassist/AbstractOptimisationLanguageProposalProvider.java
similarity index 74%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/contentassist/AbstractEvolutionaryAlgorithmLanguageProposalProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/contentassist/AbstractOptimisationLanguageProposalProvider.java
index ddbf9324142458b7e7e3640da957f86acb92e86f..0d6356d1421c9f01a52ee46a0af0a4d91fc20bd1 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/contentassist/AbstractEvolutionaryAlgorithmLanguageProposalProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/contentassist/AbstractOptimisationLanguageProposalProvider.java
@@ -1,8 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.contentassist;
+package de.evoal.languages.model.ol.dsl.ui.contentassist;
 
 import de.evoal.languages.model.instance.dsl.ui.contentassist.InstanceLanguageProposalProvider;
 import org.eclipse.emf.ecore.EObject;
@@ -17,15 +17,15 @@ import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
  * Methods are dynamically dispatched on the first parameter, i.e., you can override them 
  * with a more concrete subtype. 
  */
-public abstract class AbstractEvolutionaryAlgorithmLanguageProposalProvider extends InstanceLanguageProposalProvider {
+public abstract class AbstractOptimisationLanguageProposalProvider extends InstanceLanguageProposalProvider {
 
-	public void completeEAModelRule_Uses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeOptimisationModelRule_Uses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeEAModelRule_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeOptimisationModelRule_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeEAModelRule_Constraints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeOptimisationModelRule_Constraints(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeUseRule_ImportURI(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -41,7 +41,7 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageProposalProvider exte
 		lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor);
 	}
 
-	public void complete_EAModelRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void complete_OptimisationModelRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void complete_UseRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/internal/DslActivator.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/internal/DslActivator.java
similarity index 77%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/internal/DslActivator.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/internal/DslActivator.java
index 8f6a74158ef095f5e856dfb76dcec98e1d61c28e..d633b2c4b54eb08b1d1c8ff3fe1adc4f6c02f591 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/ui/internal/DslActivator.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/ui/internal/DslActivator.java
@@ -1,14 +1,14 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.internal;
+package de.evoal.languages.model.ol.dsl.ui.internal;
 
 import com.google.common.collect.Maps;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
-import de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguageRuntimeModule;
-import de.evoal.languages.model.eal.dsl.ui.EvolutionaryAlgorithmLanguageUiModule;
+import de.evoal.languages.model.ol.dsl.OptimisationLanguageRuntimeModule;
+import de.evoal.languages.model.ol.dsl.ui.OptimisationLanguageUiModule;
 import java.util.Collections;
 import java.util.Map;
 import org.apache.log4j.Logger;
@@ -23,8 +23,8 @@ import org.osgi.framework.BundleContext;
  */
 public class DslActivator extends AbstractUIPlugin {
 
-	public static final String PLUGIN_ID = "de.evoal.languages.model.eal.dsl.ui";
-	public static final String DE_EVOAL_LANGUAGES_MODEL_EAL_DSL_EVOLUTIONARYALGORITHMLANGUAGE = "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage";
+	public static final String PLUGIN_ID = "de.evoal.languages.model.ol.dsl.ui";
+	public static final String DE_EVOAL_LANGUAGES_MODEL_OL_DSL_OPTIMISATIONLANGUAGE = "de.evoal.languages.model.ol.dsl.OptimisationLanguage";
 	
 	private static final Logger logger = Logger.getLogger(DslActivator.class);
 	
@@ -74,15 +74,15 @@ public class DslActivator extends AbstractUIPlugin {
 	}
 	
 	protected com.google.inject.Module getRuntimeModule(String grammar) {
-		if (DE_EVOAL_LANGUAGES_MODEL_EAL_DSL_EVOLUTIONARYALGORITHMLANGUAGE.equals(grammar)) {
-			return new EvolutionaryAlgorithmLanguageRuntimeModule();
+		if (DE_EVOAL_LANGUAGES_MODEL_OL_DSL_OPTIMISATIONLANGUAGE.equals(grammar)) {
+			return new OptimisationLanguageRuntimeModule();
 		}
 		throw new IllegalArgumentException(grammar);
 	}
 	
 	protected com.google.inject.Module getUiModule(String grammar) {
-		if (DE_EVOAL_LANGUAGES_MODEL_EAL_DSL_EVOLUTIONARYALGORITHMLANGUAGE.equals(grammar)) {
-			return new EvolutionaryAlgorithmLanguageUiModule(this);
+		if (DE_EVOAL_LANGUAGES_MODEL_OL_DSL_OPTIMISATIONLANGUAGE.equals(grammar)) {
+			return new OptimisationLanguageUiModule(this);
 		}
 		throw new IllegalArgumentException(grammar);
 	}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidatorConfigurationBlock.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidatorConfigurationBlock.java
similarity index 63%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidatorConfigurationBlock.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidatorConfigurationBlock.java
index faa9e8910dad38b59ac590824d706cff802b1d8a..e3990b3df6d97c6b0f57ad60b981136ea1414c0f 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidatorConfigurationBlock.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidatorConfigurationBlock.java
@@ -1,21 +1,21 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.validation;
+package de.evoal.languages.model.ol.dsl.validation;
 
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock;
 
 @SuppressWarnings("restriction")
-public class EvolutionaryAlgorithmLanguageValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock {
+public class OptimisationLanguageValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock {
 
-	protected static final String SETTINGS_SECTION_NAME = "EvolutionaryAlgorithmLanguage";
+	protected static final String SETTINGS_SECTION_NAME = "OptimisationLanguage";
 
 	@Override
 	protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) {
-		addComboBox(EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent);
+		addComboBox(OptimisationLanguageConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent);
 	}
 
 	@Override
diff --git a/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageUiModule.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageUiModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..8663ad0beb5a15cd717dcef8c3e56c7911e2d43b
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/OptimisationLanguageUiModule.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Use this class to register components to be used within the Eclipse IDE.
+ */
+public class OptimisationLanguageUiModule extends AbstractOptimisationLanguageUiModule {
+
+	public OptimisationLanguageUiModule(AbstractUIPlugin plugin) {
+		super(plugin);
+	}
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/contentassist/EvolutionaryAlgorithmLanguageProposalProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/contentassist/OptimisationLanguageProposalProvider.java
similarity index 97%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/contentassist/EvolutionaryAlgorithmLanguageProposalProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/contentassist/OptimisationLanguageProposalProvider.java
index 02b8223bc54bed7baae775e01dab384382ac607e..d28b645fc4b2d0d6af92cba7c71d17dab987d7d7 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/contentassist/EvolutionaryAlgorithmLanguageProposalProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/contentassist/OptimisationLanguageProposalProvider.java
@@ -1,14 +1,16 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.contentassist;
+package de.evoal.languages.model.ol.dsl.ui.contentassist;
+
 
 /**
  * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#content-assist
  * on how to customize the content assistant.
  */
-public class EvolutionaryAlgorithmLanguageProposalProvider extends AbstractEvolutionaryAlgorithmLanguageProposalProvider {
-/*
+public class OptimisationLanguageProposalProvider extends AbstractOptimisationLanguageProposalProvider {
+	/*
 	private void addInstanceDefinition(final TypeDefinition definition, final Name name, final Type type, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
 		if(!definition.isAbstract()) {
 			String proposal = definition.getName();
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageDescriptionLabelProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageDescriptionLabelProvider.java
similarity index 72%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageDescriptionLabelProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageDescriptionLabelProvider.java
index 25e1337c55af4220187da9a013d4e62ca5933c79..09c509ca20396d3ae200976b1b54b363b2359d0b 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageDescriptionLabelProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageDescriptionLabelProvider.java
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.labeling;
+package de.evoal.languages.model.ol.dsl.ui.labeling;
 
 import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
 
@@ -10,7 +11,7 @@ import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider;
  * 
  * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider
  */
-public class EvolutionaryAlgorithmLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
+public class OptimisationLanguageDescriptionLabelProvider extends DefaultDescriptionLabelProvider {
 
 	// Labels and icons can be computed like this:
 //	@Override
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageLabelProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageLabelProvider.java
similarity index 66%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageLabelProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageLabelProvider.java
index d1e8a19ba209b1b1da0385505cc2ebfff36968cb..601daea226f47b40845f06e4e3dab214098ed386 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/labeling/EvolutionaryAlgorithmLanguageLabelProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/labeling/OptimisationLanguageLabelProvider.java
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.labeling;
+package de.evoal.languages.model.ol.dsl.ui.labeling;
 
 import com.google.inject.Inject;
 import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
@@ -12,10 +13,10 @@ import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider;
  * 
  * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider
  */
-public class EvolutionaryAlgorithmLanguageLabelProvider extends DefaultEObjectLabelProvider {
+public class OptimisationLanguageLabelProvider extends DefaultEObjectLabelProvider {
 
 	@Inject
-	public EvolutionaryAlgorithmLanguageLabelProvider(AdapterFactoryLabelProvider delegate) {
+	public OptimisationLanguageLabelProvider(AdapterFactoryLabelProvider delegate) {
 		super(delegate);
 	}
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/outline/EvolutionaryAlgorithmLanguageOutlineTreeProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/outline/OptimisationLanguageOutlineTreeProvider.java
similarity index 54%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/outline/EvolutionaryAlgorithmLanguageOutlineTreeProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/outline/OptimisationLanguageOutlineTreeProvider.java
index dfaa03abf71430d812c63be0d69b97a34274a622..6ffb3a5f214dc5ea7ce3633a91c5b8f425155d40 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/outline/EvolutionaryAlgorithmLanguageOutlineTreeProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/outline/OptimisationLanguageOutlineTreeProvider.java
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.outline;
+package de.evoal.languages.model.ol.dsl.ui.outline;
 
 import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
 
@@ -10,6 +11,6 @@ import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
  *
  * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline
  */
-public class EvolutionaryAlgorithmLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider {
+public class OptimisationLanguageOutlineTreeProvider extends DefaultOutlineTreeProvider {
 
 }
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/quickfix/EvolutionaryAlgorithmLanguageQuickfixProvider.java b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/quickfix/OptimisationLanguageQuickfixProvider.java
similarity index 65%
rename from src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/quickfix/EvolutionaryAlgorithmLanguageQuickfixProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/quickfix/OptimisationLanguageQuickfixProvider.java
index 179a82b103eaa44abeee741704c51df4d904ee72..a20c4b5a03d03d763a6caef397af05ed604b4cae 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl.ui/src/de/evoal/languages/model/eal/dsl/ui/quickfix/EvolutionaryAlgorithmLanguageQuickfixProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl.ui/src/de/evoal/languages/model/ol/dsl/ui/quickfix/OptimisationLanguageQuickfixProvider.java
@@ -1,18 +1,19 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.ui.quickfix;
+package de.evoal.languages.model.ol.dsl.ui.quickfix;
 
-import de.evoal.languages.model.el.dsl.ui.quickfix.ExpressionLanguageQuickfixProvider;
+import de.evoal.languages.model.instance.dsl.ui.quickfix.InstanceLanguageQuickfixProvider;
 
 /**
  * Custom quickfixes.
  *
  * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes
  */
-public class EvolutionaryAlgorithmLanguageQuickfixProvider extends ExpressionLanguageQuickfixProvider {
+public class OptimisationLanguageQuickfixProvider extends InstanceLanguageQuickfixProvider {
 
-//	@Fix(EvolutionaryAlgorithmLanguageValidator.INVALID_NAME)
+//	@Fix(OptimisationLanguageValidator.INVALID_NAME)
 //	public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) {
 //		acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() {
 //			public void apply(IModificationContext context) throws BadLocationException {
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/.antlr-generator-3.2.0-patch.jar b/src/languages/de.evoal.languages.model.ol.dsl/.antlr-generator-3.2.0-patch.jar
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl/.antlr-generator-3.2.0-patch.jar
rename to src/languages/de.evoal.languages.model.ol.dsl/.antlr-generator-3.2.0-patch.jar
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/.classpath b/src/languages/de.evoal.languages.model.ol.dsl/.classpath
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl/.classpath
rename to src/languages/de.evoal.languages.model.ol.dsl/.classpath
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/.project b/src/languages/de.evoal.languages.model.ol.dsl/.project
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl/.project
rename to src/languages/de.evoal.languages.model.ol.dsl/.project
index 77474c64fa437df282b384d5bca4170db5b04f5f..95019eb2bc18353062aab29e2deee6c94b388eb0 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/.project
+++ b/src/languages/de.evoal.languages.model.ol.dsl/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>de.evoal.languages.model.eal.dsl</name>
+	<name>de.evoal.languages.model.ol.dsl</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.ol.dsl/META-INF/MANIFEST.MF
new file mode 100644
index 0000000000000000000000000000000000000000..6ef3ec57c2aaedc1c6162ff179b32add5ed9c0cc
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: de.evoal.languages.model.ol.dsl
+Bundle-ManifestVersion: 2
+Bundle-Name: de.evoal.languages.model.ol.dsl
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: de.evoal.languages.model.ol.dsl; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: de.evoal.languages.model.ol,
+ org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.5.0",
+ de.evoal.languages.model.instance.dsl;bundle-version="1.0.0",
+ org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
+ org.eclipse.xtext.util,
+ org.antlr.runtime;bundle-version="[3.2.0,3.2.1)"
+Bundle-RequiredExecutionEnvironment: JavaSE-17
+Export-Package: de.evoal.languages.model.ol.dsl.validation,
+ de.evoal.languages.model.ol.dsl.generator,
+ de.evoal.languages.model.ol.dsl.scoping,
+ de.evoal.languages.model.ol.dsl,
+ de.evoal.languages.model.ol.dsl.parser.antlr,
+ de.evoal.languages.model.ol.dsl.services,
+ de.evoal.languages.model.ol.dsl.parser.antlr.internal,
+ de.evoal.languages.model.ol.dsl.serializer
+Import-Package: org.apache.log4j
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/build.properties b/src/languages/de.evoal.languages.model.ol.dsl/build.properties
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl/build.properties
rename to src/languages/de.evoal.languages.model.ol.dsl/build.properties
index c4110d99e0220c94722d59f022af3a76e018266a..c24ff368064f653346c873aa6e7a60752f0bca4a 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/build.properties
+++ b/src/languages/de.evoal.languages.model.ol.dsl/build.properties
@@ -15,4 +15,3 @@ additional.bundles = org.eclipse.xtext.xbase,\
                      org.objectweb.asm,\
                      org.apache.commons.logging,\
                      org.apache.log4j
-output.. = target/classes/
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/pom.xml b/src/languages/de.evoal.languages.model.ol.dsl/pom.xml
similarity index 90%
rename from src/languages/de.evoal.languages.model.eal.dsl/pom.xml
rename to src/languages/de.evoal.languages.model.ol.dsl/pom.xml
index a2fa29081a10823645d2554b6dcb63e59a6107dd..647c3d60778b51043c7c89df63f78aebbd8ea202 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/pom.xml
+++ b/src/languages/de.evoal.languages.model.ol.dsl/pom.xml
@@ -9,6 +9,6 @@
       <relativePath>../de.evoal.languages.releng.parent</relativePath>
   </parent>
 
-  <artifactId>de.evoal.languages.model.eal.dsl</artifactId>
+  <artifactId>de.evoal.languages.model.ol.dsl</artifactId>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/AbstractEvolutionaryAlgorithmLanguageRuntimeModule.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/AbstractOptimisationLanguageRuntimeModule.java
similarity index 75%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/AbstractEvolutionaryAlgorithmLanguageRuntimeModule.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/AbstractOptimisationLanguageRuntimeModule.java
index ff9d55a47d1ce5f9a4a7509d8fdd7756353728a6..b024b3ad7171ffc2282900cb8bb2a6e714211824 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/AbstractEvolutionaryAlgorithmLanguageRuntimeModule.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/AbstractOptimisationLanguageRuntimeModule.java
@@ -1,22 +1,22 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl;
+package de.evoal.languages.model.ol.dsl;
 
 import com.google.inject.Binder;
 import com.google.inject.Provider;
 import com.google.inject.name.Names;
-import de.evoal.languages.model.eal.dsl.generator.EvolutionaryAlgorithmLanguageGenerator;
-import de.evoal.languages.model.eal.dsl.parser.antlr.EvolutionaryAlgorithmLanguageAntlrTokenFileProvider;
-import de.evoal.languages.model.eal.dsl.parser.antlr.EvolutionaryAlgorithmLanguageParser;
-import de.evoal.languages.model.eal.dsl.parser.antlr.internal.InternalEvolutionaryAlgorithmLanguageLexer;
-import de.evoal.languages.model.eal.dsl.scoping.EvolutionaryAlgorithmLanguageScopeProvider;
-import de.evoal.languages.model.eal.dsl.serializer.EvolutionaryAlgorithmLanguageSemanticSequencer;
-import de.evoal.languages.model.eal.dsl.serializer.EvolutionaryAlgorithmLanguageSyntacticSequencer;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
-import de.evoal.languages.model.eal.dsl.validation.EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider;
-import de.evoal.languages.model.eal.dsl.validation.EvolutionaryAlgorithmLanguageValidator;
+import de.evoal.languages.model.ol.dsl.generator.OptimisationLanguageGenerator;
+import de.evoal.languages.model.ol.dsl.parser.antlr.OptimisationLanguageAntlrTokenFileProvider;
+import de.evoal.languages.model.ol.dsl.parser.antlr.OptimisationLanguageParser;
+import de.evoal.languages.model.ol.dsl.parser.antlr.internal.InternalOptimisationLanguageLexer;
+import de.evoal.languages.model.ol.dsl.scoping.OptimisationLanguageScopeProvider;
+import de.evoal.languages.model.ol.dsl.serializer.OptimisationLanguageSemanticSequencer;
+import de.evoal.languages.model.ol.dsl.serializer.OptimisationLanguageSyntacticSequencer;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.validation.OptimisationLanguageConfigurableIssueCodesProvider;
+import de.evoal.languages.model.ol.dsl.validation.OptimisationLanguageValidator;
 import java.util.Properties;
 import org.eclipse.xtext.Constants;
 import org.eclipse.xtext.IGrammarAccess;
@@ -54,21 +54,21 @@ import org.eclipse.xtext.service.SingletonBinding;
 import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
 
 /**
- * Manual modifications go to {@link EvolutionaryAlgorithmLanguageRuntimeModule}.
+ * Manual modifications go to {@link OptimisationLanguageRuntimeModule}.
  */
 @SuppressWarnings("all")
-public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends DefaultRuntimeModule {
+public abstract class AbstractOptimisationLanguageRuntimeModule extends DefaultRuntimeModule {
 
 	protected Properties properties = null;
 
 	@Override
 	public void configure(Binder binder) {
-		properties = tryBindProperties(binder, "de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.properties");
+		properties = tryBindProperties(binder, "de/evoal/languages/model/ol/dsl/OptimisationLanguage.properties");
 		super.configure(binder);
 	}
 	
 	public void configureLanguageName(Binder binder) {
-		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage");
+		binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("de.evoal.languages.model.ol.dsl.OptimisationLanguage");
 	}
 	
 	public void configureFileExtensions(Binder binder) {
@@ -83,17 +83,17 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends
 	
 	// contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2
 	public Class<? extends IGrammarAccess> bindIGrammarAccess() {
-		return EvolutionaryAlgorithmLanguageGrammarAccess.class;
+		return OptimisationLanguageGrammarAccess.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
 	public Class<? extends ISemanticSequencer> bindISemanticSequencer() {
-		return EvolutionaryAlgorithmLanguageSemanticSequencer.class;
+		return OptimisationLanguageSemanticSequencer.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
 	public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() {
-		return EvolutionaryAlgorithmLanguageSyntacticSequencer.class;
+		return OptimisationLanguageSyntacticSequencer.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2
@@ -103,7 +103,7 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public Class<? extends IParser> bindIParser() {
-		return EvolutionaryAlgorithmLanguageParser.class;
+		return OptimisationLanguageParser.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
@@ -113,12 +113,12 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
-		return EvolutionaryAlgorithmLanguageAntlrTokenFileProvider.class;
+		return OptimisationLanguageAntlrTokenFileProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public Class<? extends Lexer> bindLexer() {
-		return InternalEvolutionaryAlgorithmLanguageLexer.class;
+		return InternalOptimisationLanguageLexer.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
@@ -127,31 +127,31 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
-	public Provider<? extends InternalEvolutionaryAlgorithmLanguageLexer> provideInternalEvolutionaryAlgorithmLanguageLexer() {
-		return LexerProvider.create(InternalEvolutionaryAlgorithmLanguageLexer.class);
+	public Provider<? extends InternalOptimisationLanguageLexer> provideInternalOptimisationLanguageLexer() {
+		return LexerProvider.create(InternalOptimisationLanguageLexer.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2
 	public void configureRuntimeLexer(Binder binder) {
 		binder.bind(Lexer.class)
 			.annotatedWith(Names.named(LexerBindings.RUNTIME))
-			.to(InternalEvolutionaryAlgorithmLanguageLexer.class);
+			.to(InternalOptimisationLanguageLexer.class);
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
 	@SingletonBinding(eager=true)
-	public Class<? extends EvolutionaryAlgorithmLanguageValidator> bindEvolutionaryAlgorithmLanguageValidator() {
-		return EvolutionaryAlgorithmLanguageValidator.class;
+	public Class<? extends OptimisationLanguageValidator> bindOptimisationLanguageValidator() {
+		return OptimisationLanguageValidator.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2
 	public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
-		return EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider.class;
+		return OptimisationLanguageConfigurableIssueCodesProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
 	public Class<? extends IScopeProvider> bindIScopeProvider() {
-		return EvolutionaryAlgorithmLanguageScopeProvider.class;
+		return OptimisationLanguageScopeProvider.class;
 	}
 	
 	// contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2
@@ -196,7 +196,7 @@ public abstract class AbstractEvolutionaryAlgorithmLanguageRuntimeModule extends
 	
 	// contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2
 	public Class<? extends IGenerator2> bindIGenerator2() {
-		return EvolutionaryAlgorithmLanguageGenerator.class;
+		return OptimisationLanguageGenerator.class;
 	}
 	
 }
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtextbin b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin
similarity index 89%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtextbin
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin
index 98059823f18fbb720c0e3ddf58fda3b512845968..33e587208753ae3e49cd8c1c0b08cd7293930aad 100644
Binary files a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguage.xtextbin and b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtextbin differ
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetupGenerated.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetupGenerated.java
similarity index 81%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetupGenerated.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetupGenerated.java
index 61163abb47e1988633194162929e1793c247ded4..0333ade8a3cba85ce8184377ab148318e10e454d 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/EvolutionaryAlgorithmLanguageStandaloneSetupGenerated.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetupGenerated.java
@@ -1,8 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl;
+package de.evoal.languages.model.ol.dsl;
 
 import com.google.inject.Guice;
 import com.google.inject.Injector;
@@ -13,7 +13,7 @@ import org.eclipse.xtext.resource.IResourceFactory;
 import org.eclipse.xtext.resource.IResourceServiceProvider;
 
 @SuppressWarnings("all")
-public class EvolutionaryAlgorithmLanguageStandaloneSetupGenerated implements ISetup {
+public class OptimisationLanguageStandaloneSetupGenerated implements ISetup {
 
 	@Override
 	public Injector createInjectorAndDoEMFRegistration() {
@@ -25,7 +25,7 @@ public class EvolutionaryAlgorithmLanguageStandaloneSetupGenerated implements IS
 	}
 	
 	public Injector createInjector() {
-		return Guice.createInjector(new EvolutionaryAlgorithmLanguageRuntimeModule());
+		return Guice.createInjector(new OptimisationLanguageRuntimeModule());
 	}
 	
 	public void register(Injector injector) {
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageAntlrTokenFileProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageAntlrTokenFileProvider.java
similarity index 52%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageAntlrTokenFileProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageAntlrTokenFileProvider.java
index 6489fbba2cea5e6e9781694d1c39b53942d9d890..84aa457dc7ccf9e34b1c439f0777db7dc04666e0 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/EvolutionaryAlgorithmLanguageAntlrTokenFileProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageAntlrTokenFileProvider.java
@@ -1,17 +1,17 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.parser.antlr;
+package de.evoal.languages.model.ol.dsl.parser.antlr;
 
 import java.io.InputStream;
 import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
 
-public class EvolutionaryAlgorithmLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+public class OptimisationLanguageAntlrTokenFileProvider implements IAntlrTokenFileProvider {
 
 	@Override
 	public InputStream getAntlrTokenFile() {
 		ClassLoader classLoader = getClass().getClassLoader();
-		return classLoader.getResourceAsStream("de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.tokens");
+		return classLoader.getResourceAsStream("de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.tokens");
 	}
 }
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageParser.java
new file mode 100644
index 0000000000000000000000000000000000000000..4cb2d1a910ef1d80e1c619695ea3709130a80c16
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/OptimisationLanguageParser.java
@@ -0,0 +1,41 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl.parser.antlr;
+
+import com.google.inject.Inject;
+import de.evoal.languages.model.ol.dsl.parser.antlr.internal.InternalOptimisationLanguageParser;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
+import org.eclipse.xtext.parser.antlr.AbstractAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+
+public class OptimisationLanguageParser extends AbstractAntlrParser {
+
+	@Inject
+	private OptimisationLanguageGrammarAccess grammarAccess;
+
+	@Override
+	protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+		tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+	}
+	
+
+	@Override
+	protected InternalOptimisationLanguageParser createParser(XtextTokenStream stream) {
+		return new InternalOptimisationLanguageParser(stream, getGrammarAccess());
+	}
+
+	@Override 
+	protected String getDefaultRuleName() {
+		return "OptimisationModelRule";
+	}
+
+	public OptimisationLanguageGrammarAccess getGrammarAccess() {
+		return this.grammarAccess;
+	}
+
+	public void setGrammarAccess(OptimisationLanguageGrammarAccess grammarAccess) {
+		this.grammarAccess = grammarAccess;
+	}
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g
similarity index 96%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g
index 6f2852e9eadc648c8ffd1d4219d701f1eba6465f..78bdf9156689691d9256b121b0e06b3e05cd9f5c 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.g
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.g
@@ -1,15 +1,15 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-grammar InternalEvolutionaryAlgorithmLanguage;
+grammar InternalOptimisationLanguage;
 
 options {
 	superClass=AbstractInternalAntlrParser;
 }
 
 @lexer::header {
-package de.evoal.languages.model.eal.dsl.parser.antlr.internal;
+package de.evoal.languages.model.ol.dsl.parser.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
 // Currently there is no other way to specify the superclass for the lexer.
@@ -17,7 +17,7 @@ import org.eclipse.xtext.parser.antlr.Lexer;
 }
 
 @parser::header {
-package de.evoal.languages.model.eal.dsl.parser.antlr.internal;
+package de.evoal.languages.model.ol.dsl.parser.antlr.internal;
 
 import org.eclipse.xtext.*;
 import org.eclipse.xtext.parser.*;
@@ -29,15 +29,15 @@ import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 
 }
 
 @parser::members {
 
- 	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+ 	private OptimisationLanguageGrammarAccess grammarAccess;
 
-    public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input, EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+    public InternalOptimisationLanguageParser(TokenStream input, OptimisationLanguageGrammarAccess grammarAccess) {
         this(input);
         this.grammarAccess = grammarAccess;
         registerRules(grammarAccess.getGrammar());
@@ -45,11 +45,11 @@ import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGr
 
     @Override
     protected String getFirstRuleName() {
-    	return "EAModelRule";
+    	return "OptimisationModelRule";
    	}
 
    	@Override
-   	protected EvolutionaryAlgorithmLanguageGrammarAccess getGrammarAccess() {
+   	protected OptimisationLanguageGrammarAccess getGrammarAccess() {
    		return grammarAccess;
    	}
 
@@ -62,15 +62,15 @@ import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGr
     }
 }
 
-// Entry rule entryRuleEAModelRule
-entryRuleEAModelRule returns [EObject current=null]:
-	{ newCompositeNode(grammarAccess.getEAModelRuleRule()); }
-	iv_ruleEAModelRule=ruleEAModelRule
-	{ $current=$iv_ruleEAModelRule.current; }
+// Entry rule entryRuleOptimisationModelRule
+entryRuleOptimisationModelRule returns [EObject current=null]:
+	{ newCompositeNode(grammarAccess.getOptimisationModelRuleRule()); }
+	iv_ruleOptimisationModelRule=ruleOptimisationModelRule
+	{ $current=$iv_ruleOptimisationModelRule.current; }
 	EOF;
 
-// Rule EAModelRule
-ruleEAModelRule returns [EObject current=null]
+// Rule OptimisationModelRule
+ruleOptimisationModelRule returns [EObject current=null]
 @init {
 	enterRule();
 }
@@ -81,18 +81,18 @@ ruleEAModelRule returns [EObject current=null]
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0());
+					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0());
 				}
 				lv_uses_0_0=ruleUseRule
 				{
 					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+						$current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
 					}
 					add(
 						$current,
 						"uses",
 						lv_uses_0_0,
-						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.UseRule");
+						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.UseRule");
 					afterParserOrEnumRuleCall();
 				}
 			)
@@ -100,12 +100,12 @@ ruleEAModelRule returns [EObject current=null]
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0());
+					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0());
 				}
 				lv_instance_1_0=ruleInstanceRule
 				{
 					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+						$current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
 					}
 					set(
 						$current,
@@ -119,18 +119,18 @@ ruleEAModelRule returns [EObject current=null]
 		(
 			(
 				{
-					newCompositeNode(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0());
+					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0());
 				}
 				lv_constraints_2_0=ruleConstraintRule
 				{
 					if ($current==null) {
-						$current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+						$current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
 					}
 					set(
 						$current,
 						"constraints",
 						lv_constraints_2_0,
-						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintRule");
+						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintRule");
 					afterParserOrEnumRuleCall();
 				}
 			)
@@ -228,7 +228,7 @@ ruleConstraintRule returns [EObject current=null]
 						$current,
 						"statements",
 						lv_statements_3_0,
-						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintStatementRule");
+						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintStatementRule");
 					afterParserOrEnumRuleCall();
 				}
 			)
@@ -1547,7 +1547,7 @@ ruleCallRule returns [EObject current=null]
 						$current,
 						"function",
 						lv_function_0_0,
-						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.FunctionNameRule");
+						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.FunctionNameRule");
 					afterParserOrEnumRuleCall();
 				}
 			)
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.tokens b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.tokens
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguage.tokens
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguage.tokens
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageLexer.java
similarity index 77%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageLexer.java
index 016aea25d5d436bef2907da7ab15b6800ab4e1d6..ff1be36d486e2f8ff8dc70d9dce670fd8564a205 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageLexer.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageLexer.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.parser.antlr.internal;
+package de.evoal.languages.model.ol.dsl.parser.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
 // Currently there is no other way to specify the superclass for the lexer.
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 @SuppressWarnings("all")
-public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
+public class InternalOptimisationLanguageLexer extends Lexer {
     public static final int T__50=50;
     public static final int T__19=19;
     public static final int T__15=15;
@@ -79,23 +79,23 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // delegates
     // delegators
 
-    public InternalEvolutionaryAlgorithmLanguageLexer() {;} 
-    public InternalEvolutionaryAlgorithmLanguageLexer(CharStream input) {
+    public InternalOptimisationLanguageLexer() {;} 
+    public InternalOptimisationLanguageLexer(CharStream input) {
         this(input, new RecognizerSharedState());
     }
-    public InternalEvolutionaryAlgorithmLanguageLexer(CharStream input, RecognizerSharedState state) {
+    public InternalOptimisationLanguageLexer(CharStream input, RecognizerSharedState state) {
         super(input,state);
 
     }
-    public String getGrammarFileName() { return "InternalEvolutionaryAlgorithmLanguage.g"; }
+    public String getGrammarFileName() { return "InternalOptimisationLanguage.g"; }
 
     // $ANTLR start "T__15"
     public final void mT__15() throws RecognitionException {
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:11:7: ( 'use' )
-            // InternalEvolutionaryAlgorithmLanguage.g:11:9: 'use'
+            // InternalOptimisationLanguage.g:11:7: ( 'use' )
+            // InternalOptimisationLanguage.g:11:9: 'use'
             {
             match("use"); 
 
@@ -115,8 +115,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:12:7: ( ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:12:9: ';'
+            // InternalOptimisationLanguage.g:12:7: ( ';' )
+            // InternalOptimisationLanguage.g:12:9: ';'
             {
             match(';'); 
 
@@ -135,8 +135,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:13:7: ( 'constraints' )
-            // InternalEvolutionaryAlgorithmLanguage.g:13:9: 'constraints'
+            // InternalOptimisationLanguage.g:13:7: ( 'constraints' )
+            // InternalOptimisationLanguage.g:13:9: 'constraints'
             {
             match("constraints"); 
 
@@ -156,8 +156,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:14:7: ( '{' )
-            // InternalEvolutionaryAlgorithmLanguage.g:14:9: '{'
+            // InternalOptimisationLanguage.g:14:7: ( '{' )
+            // InternalOptimisationLanguage.g:14:9: '{'
             {
             match('{'); 
 
@@ -176,8 +176,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:15:7: ( '}' )
-            // InternalEvolutionaryAlgorithmLanguage.g:15:9: '}'
+            // InternalOptimisationLanguage.g:15:7: ( '}' )
+            // InternalOptimisationLanguage.g:15:9: '}'
             {
             match('}'); 
 
@@ -196,8 +196,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:16:7: ( ':=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:16:9: ':='
+            // InternalOptimisationLanguage.g:16:7: ( ':=' )
+            // InternalOptimisationLanguage.g:16:9: ':='
             {
             match(":="); 
 
@@ -217,8 +217,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:17:7: ( '[' )
-            // InternalEvolutionaryAlgorithmLanguage.g:17:9: '['
+            // InternalOptimisationLanguage.g:17:7: ( '[' )
+            // InternalOptimisationLanguage.g:17:9: '['
             {
             match('['); 
 
@@ -237,8 +237,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:18:7: ( ',' )
-            // InternalEvolutionaryAlgorithmLanguage.g:18:9: ','
+            // InternalOptimisationLanguage.g:18:7: ( ',' )
+            // InternalOptimisationLanguage.g:18:9: ','
             {
             match(','); 
 
@@ -257,8 +257,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:19:7: ( ']' )
-            // InternalEvolutionaryAlgorithmLanguage.g:19:9: ']'
+            // InternalOptimisationLanguage.g:19:7: ( ']' )
+            // InternalOptimisationLanguage.g:19:9: ']'
             {
             match(']'); 
 
@@ -277,8 +277,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:20:7: ( 'data' )
-            // InternalEvolutionaryAlgorithmLanguage.g:20:9: 'data'
+            // InternalOptimisationLanguage.g:20:7: ( 'data' )
+            // InternalOptimisationLanguage.g:20:9: 'data'
             {
             match("data"); 
 
@@ -298,8 +298,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:21:7: ( 'OR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:21:9: 'OR'
+            // InternalOptimisationLanguage.g:21:7: ( 'OR' )
+            // InternalOptimisationLanguage.g:21:9: 'OR'
             {
             match("OR"); 
 
@@ -319,8 +319,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:22:7: ( 'XOR' )
-            // InternalEvolutionaryAlgorithmLanguage.g:22:9: 'XOR'
+            // InternalOptimisationLanguage.g:22:7: ( 'XOR' )
+            // InternalOptimisationLanguage.g:22:9: 'XOR'
             {
             match("XOR"); 
 
@@ -340,8 +340,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:23:7: ( 'AND' )
-            // InternalEvolutionaryAlgorithmLanguage.g:23:9: 'AND'
+            // InternalOptimisationLanguage.g:23:7: ( 'AND' )
+            // InternalOptimisationLanguage.g:23:9: 'AND'
             {
             match("AND"); 
 
@@ -361,8 +361,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:24:7: ( '!' )
-            // InternalEvolutionaryAlgorithmLanguage.g:24:9: '!'
+            // InternalOptimisationLanguage.g:24:7: ( '!' )
+            // InternalOptimisationLanguage.g:24:9: '!'
             {
             match('!'); 
 
@@ -381,8 +381,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:25:7: ( '^' )
-            // InternalEvolutionaryAlgorithmLanguage.g:25:9: '^'
+            // InternalOptimisationLanguage.g:25:7: ( '^' )
+            // InternalOptimisationLanguage.g:25:9: '^'
             {
             match('^'); 
 
@@ -401,8 +401,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:26:7: ( '(' )
-            // InternalEvolutionaryAlgorithmLanguage.g:26:9: '('
+            // InternalOptimisationLanguage.g:26:7: ( '(' )
+            // InternalOptimisationLanguage.g:26:9: '('
             {
             match('('); 
 
@@ -421,8 +421,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:27:7: ( ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:27:9: ')'
+            // InternalOptimisationLanguage.g:27:7: ( ')' )
+            // InternalOptimisationLanguage.g:27:9: ')'
             {
             match(')'); 
 
@@ -441,8 +441,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:28:7: ( 'value' )
-            // InternalEvolutionaryAlgorithmLanguage.g:28:9: 'value'
+            // InternalOptimisationLanguage.g:28:7: ( 'value' )
+            // InternalOptimisationLanguage.g:28:9: 'value'
             {
             match("value"); 
 
@@ -462,8 +462,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:29:7: ( 'true' )
-            // InternalEvolutionaryAlgorithmLanguage.g:29:9: 'true'
+            // InternalOptimisationLanguage.g:29:7: ( 'true' )
+            // InternalOptimisationLanguage.g:29:9: 'true'
             {
             match("true"); 
 
@@ -483,8 +483,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:30:7: ( 'false' )
-            // InternalEvolutionaryAlgorithmLanguage.g:30:9: 'false'
+            // InternalOptimisationLanguage.g:30:7: ( 'false' )
+            // InternalOptimisationLanguage.g:30:9: 'false'
             {
             match("false"); 
 
@@ -504,8 +504,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:31:7: ( '>=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:31:9: '>='
+            // InternalOptimisationLanguage.g:31:7: ( '>=' )
+            // InternalOptimisationLanguage.g:31:9: '>='
             {
             match(">="); 
 
@@ -525,8 +525,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:32:7: ( '>' )
-            // InternalEvolutionaryAlgorithmLanguage.g:32:9: '>'
+            // InternalOptimisationLanguage.g:32:7: ( '>' )
+            // InternalOptimisationLanguage.g:32:9: '>'
             {
             match('>'); 
 
@@ -545,8 +545,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:33:7: ( '=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:33:9: '='
+            // InternalOptimisationLanguage.g:33:7: ( '=' )
+            // InternalOptimisationLanguage.g:33:9: '='
             {
             match('='); 
 
@@ -565,8 +565,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:34:7: ( '!=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:34:9: '!='
+            // InternalOptimisationLanguage.g:34:7: ( '!=' )
+            // InternalOptimisationLanguage.g:34:9: '!='
             {
             match("!="); 
 
@@ -586,8 +586,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:35:7: ( '<' )
-            // InternalEvolutionaryAlgorithmLanguage.g:35:9: '<'
+            // InternalOptimisationLanguage.g:35:7: ( '<' )
+            // InternalOptimisationLanguage.g:35:9: '<'
             {
             match('<'); 
 
@@ -606,8 +606,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:36:7: ( '<=' )
-            // InternalEvolutionaryAlgorithmLanguage.g:36:9: '<='
+            // InternalOptimisationLanguage.g:36:7: ( '<=' )
+            // InternalOptimisationLanguage.g:36:9: '<='
             {
             match("<="); 
 
@@ -627,8 +627,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:37:7: ( '+' )
-            // InternalEvolutionaryAlgorithmLanguage.g:37:9: '+'
+            // InternalOptimisationLanguage.g:37:7: ( '+' )
+            // InternalOptimisationLanguage.g:37:9: '+'
             {
             match('+'); 
 
@@ -647,8 +647,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:38:7: ( '-' )
-            // InternalEvolutionaryAlgorithmLanguage.g:38:9: '-'
+            // InternalOptimisationLanguage.g:38:7: ( '-' )
+            // InternalOptimisationLanguage.g:38:9: '-'
             {
             match('-'); 
 
@@ -667,8 +667,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:39:7: ( '*' )
-            // InternalEvolutionaryAlgorithmLanguage.g:39:9: '*'
+            // InternalOptimisationLanguage.g:39:7: ( '*' )
+            // InternalOptimisationLanguage.g:39:9: '*'
             {
             match('*'); 
 
@@ -687,8 +687,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:40:7: ( '/' )
-            // InternalEvolutionaryAlgorithmLanguage.g:40:9: '/'
+            // InternalOptimisationLanguage.g:40:7: ( '/' )
+            // InternalOptimisationLanguage.g:40:9: '/'
             {
             match('/'); 
 
@@ -707,8 +707,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:41:7: ( '%' )
-            // InternalEvolutionaryAlgorithmLanguage.g:41:9: '%'
+            // InternalOptimisationLanguage.g:41:7: ( '%' )
+            // InternalOptimisationLanguage.g:41:9: '%'
             {
             match('%'); 
 
@@ -727,8 +727,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:42:7: ( 'Y' )
-            // InternalEvolutionaryAlgorithmLanguage.g:42:9: 'Y'
+            // InternalOptimisationLanguage.g:42:7: ( 'Y' )
+            // InternalOptimisationLanguage.g:42:9: 'Y'
             {
             match('Y'); 
 
@@ -747,8 +747,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:43:7: ( 'Z' )
-            // InternalEvolutionaryAlgorithmLanguage.g:43:9: 'Z'
+            // InternalOptimisationLanguage.g:43:7: ( 'Z' )
+            // InternalOptimisationLanguage.g:43:9: 'Z'
             {
             match('Z'); 
 
@@ -767,8 +767,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:44:7: ( 'E' )
-            // InternalEvolutionaryAlgorithmLanguage.g:44:9: 'E'
+            // InternalOptimisationLanguage.g:44:7: ( 'E' )
+            // InternalOptimisationLanguage.g:44:9: 'E'
             {
             match('E'); 
 
@@ -787,8 +787,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:45:7: ( 'P' )
-            // InternalEvolutionaryAlgorithmLanguage.g:45:9: 'P'
+            // InternalOptimisationLanguage.g:45:7: ( 'P' )
+            // InternalOptimisationLanguage.g:45:9: 'P'
             {
             match('P'); 
 
@@ -807,8 +807,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:46:7: ( 'T' )
-            // InternalEvolutionaryAlgorithmLanguage.g:46:9: 'T'
+            // InternalOptimisationLanguage.g:46:7: ( 'T' )
+            // InternalOptimisationLanguage.g:46:9: 'T'
             {
             match('T'); 
 
@@ -827,8 +827,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:47:7: ( 'G' )
-            // InternalEvolutionaryAlgorithmLanguage.g:47:9: 'G'
+            // InternalOptimisationLanguage.g:47:7: ( 'G' )
+            // InternalOptimisationLanguage.g:47:9: 'G'
             {
             match('G'); 
 
@@ -847,8 +847,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:48:7: ( 'M' )
-            // InternalEvolutionaryAlgorithmLanguage.g:48:9: 'M'
+            // InternalOptimisationLanguage.g:48:7: ( 'M' )
+            // InternalOptimisationLanguage.g:48:9: 'M'
             {
             match('M'); 
 
@@ -867,8 +867,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:49:7: ( 'k' )
-            // InternalEvolutionaryAlgorithmLanguage.g:49:9: 'k'
+            // InternalOptimisationLanguage.g:49:7: ( 'k' )
+            // InternalOptimisationLanguage.g:49:9: 'k'
             {
             match('k'); 
 
@@ -887,8 +887,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:50:7: ( 'h' )
-            // InternalEvolutionaryAlgorithmLanguage.g:50:9: 'h'
+            // InternalOptimisationLanguage.g:50:7: ( 'h' )
+            // InternalOptimisationLanguage.g:50:9: 'h'
             {
             match('h'); 
 
@@ -907,8 +907,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:51:7: ( 'da' )
-            // InternalEvolutionaryAlgorithmLanguage.g:51:9: 'da'
+            // InternalOptimisationLanguage.g:51:7: ( 'da' )
+            // InternalOptimisationLanguage.g:51:9: 'da'
             {
             match("da"); 
 
@@ -928,8 +928,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:52:7: ( 'd' )
-            // InternalEvolutionaryAlgorithmLanguage.g:52:9: 'd'
+            // InternalOptimisationLanguage.g:52:7: ( 'd' )
+            // InternalOptimisationLanguage.g:52:9: 'd'
             {
             match('d'); 
 
@@ -948,8 +948,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:53:7: ( 'c' )
-            // InternalEvolutionaryAlgorithmLanguage.g:53:9: 'c'
+            // InternalOptimisationLanguage.g:53:7: ( 'c' )
+            // InternalOptimisationLanguage.g:53:9: 'c'
             {
             match('c'); 
 
@@ -968,8 +968,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:54:7: ( 'm' )
-            // InternalEvolutionaryAlgorithmLanguage.g:54:9: 'm'
+            // InternalOptimisationLanguage.g:54:7: ( 'm' )
+            // InternalOptimisationLanguage.g:54:9: 'm'
             {
             match('m'); 
 
@@ -988,8 +988,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:55:7: ( '\\u00B5' )
-            // InternalEvolutionaryAlgorithmLanguage.g:55:9: '\\u00B5'
+            // InternalOptimisationLanguage.g:55:7: ( '\\u00B5' )
+            // InternalOptimisationLanguage.g:55:9: '\\u00B5'
             {
             match('\u00B5'); 
 
@@ -1008,8 +1008,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:56:7: ( 'n' )
-            // InternalEvolutionaryAlgorithmLanguage.g:56:9: 'n'
+            // InternalOptimisationLanguage.g:56:7: ( 'n' )
+            // InternalOptimisationLanguage.g:56:9: 'n'
             {
             match('n'); 
 
@@ -1028,8 +1028,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:57:7: ( 'p' )
-            // InternalEvolutionaryAlgorithmLanguage.g:57:9: 'p'
+            // InternalOptimisationLanguage.g:57:7: ( 'p' )
+            // InternalOptimisationLanguage.g:57:9: 'p'
             {
             match('p'); 
 
@@ -1048,8 +1048,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:58:7: ( 'f' )
-            // InternalEvolutionaryAlgorithmLanguage.g:58:9: 'f'
+            // InternalOptimisationLanguage.g:58:7: ( 'f' )
+            // InternalOptimisationLanguage.g:58:9: 'f'
             {
             match('f'); 
 
@@ -1068,8 +1068,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:59:7: ( 'a' )
-            // InternalEvolutionaryAlgorithmLanguage.g:59:9: 'a'
+            // InternalOptimisationLanguage.g:59:7: ( 'a' )
+            // InternalOptimisationLanguage.g:59:9: 'a'
             {
             match('a'); 
 
@@ -1088,8 +1088,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:60:7: ( 'z' )
-            // InternalEvolutionaryAlgorithmLanguage.g:60:9: 'z'
+            // InternalOptimisationLanguage.g:60:7: ( 'z' )
+            // InternalOptimisationLanguage.g:60:9: 'z'
             {
             match('z'); 
 
@@ -1108,8 +1108,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:61:7: ( 'y' )
-            // InternalEvolutionaryAlgorithmLanguage.g:61:9: 'y'
+            // InternalOptimisationLanguage.g:61:7: ( 'y' )
+            // InternalOptimisationLanguage.g:61:9: 'y'
             {
             match('y'); 
 
@@ -1126,8 +1126,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR start "RULE_DIGIT"
     public final void mRULE_DIGIT() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2243:21: ( '0' .. '9' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2243:23: '0' .. '9'
+            // InternalOptimisationLanguage.g:2243:21: ( '0' .. '9' )
+            // InternalOptimisationLanguage.g:2243:23: '0' .. '9'
             {
             matchRange('0','9'); 
 
@@ -1142,11 +1142,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR start "RULE_EXPONENT"
     public final void mRULE_EXPONENT() throws RecognitionException {
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:24: ( 'e' ( '+' | '-' )? ( RULE_DIGIT )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:26: 'e' ( '+' | '-' )? ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:2245:24: ( 'e' ( '+' | '-' )? ( RULE_DIGIT )+ )
+            // InternalOptimisationLanguage.g:2245:26: 'e' ( '+' | '-' )? ( RULE_DIGIT )+
             {
             match('e'); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:30: ( '+' | '-' )?
+            // InternalOptimisationLanguage.g:2245:30: ( '+' | '-' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1155,7 +1155,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt1) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:
+                    // InternalOptimisationLanguage.g:
                     {
                     if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                         input.consume();
@@ -1172,7 +1172,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2245:41: ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:2245:41: ( RULE_DIGIT )+
             int cnt2=0;
             loop2:
             do {
@@ -1186,7 +1186,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt2) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2245:41: RULE_DIGIT
+            	    // InternalOptimisationLanguage.g:2245:41: RULE_DIGIT
             	    {
             	    mRULE_DIGIT(); 
 
@@ -1216,10 +1216,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2247:10: ( ( '-' )? ( RULE_DIGIT )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:2247:12: ( '-' )? ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:2247:10: ( ( '-' )? ( RULE_DIGIT )+ )
+            // InternalOptimisationLanguage.g:2247:12: ( '-' )? ( RULE_DIGIT )+
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2247:12: ( '-' )?
+            // InternalOptimisationLanguage.g:2247:12: ( '-' )?
             int alt3=2;
             int LA3_0 = input.LA(1);
 
@@ -1228,7 +1228,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt3) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2247:12: '-'
+                    // InternalOptimisationLanguage.g:2247:12: '-'
                     {
                     match('-'); 
 
@@ -1237,7 +1237,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2247:17: ( RULE_DIGIT )+
+            // InternalOptimisationLanguage.g:2247:17: ( RULE_DIGIT )+
             int cnt4=0;
             loop4:
             do {
@@ -1251,7 +1251,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt4) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2247:17: RULE_DIGIT
+            	    // InternalOptimisationLanguage.g:2247:17: RULE_DIGIT
             	    {
             	    mRULE_DIGIT(); 
 
@@ -1283,15 +1283,15 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_DOUBLE;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2249:13: ( ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2249:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
+            // InternalOptimisationLanguage.g:2249:13: ( ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? ) )
+            // InternalOptimisationLanguage.g:2249:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2249:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
+            // InternalOptimisationLanguage.g:2249:15: ( RULE_INT RULE_EXPONENT | RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )? )
             int alt7=2;
             alt7 = dfa7.predict(input);
             switch (alt7) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2249:16: RULE_INT RULE_EXPONENT
+                    // InternalOptimisationLanguage.g:2249:16: RULE_INT RULE_EXPONENT
                     {
                     mRULE_INT(); 
                     mRULE_EXPONENT(); 
@@ -1299,11 +1299,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2249:39: RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )?
+                    // InternalOptimisationLanguage.g:2249:39: RULE_INT '.' ( RULE_DIGIT )* ( RULE_EXPONENT )?
                     {
                     mRULE_INT(); 
                     match('.'); 
-                    // InternalEvolutionaryAlgorithmLanguage.g:2249:52: ( RULE_DIGIT )*
+                    // InternalOptimisationLanguage.g:2249:52: ( RULE_DIGIT )*
                     loop5:
                     do {
                         int alt5=2;
@@ -1316,7 +1316,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                         switch (alt5) {
                     	case 1 :
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:2249:52: RULE_DIGIT
+                    	    // InternalOptimisationLanguage.g:2249:52: RULE_DIGIT
                     	    {
                     	    mRULE_DIGIT(); 
 
@@ -1328,7 +1328,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                         }
                     } while (true);
 
-                    // InternalEvolutionaryAlgorithmLanguage.g:2249:64: ( RULE_EXPONENT )?
+                    // InternalOptimisationLanguage.g:2249:64: ( RULE_EXPONENT )?
                     int alt6=2;
                     int LA6_0 = input.LA(1);
 
@@ -1337,7 +1337,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     switch (alt6) {
                         case 1 :
-                            // InternalEvolutionaryAlgorithmLanguage.g:2249:64: RULE_EXPONENT
+                            // InternalOptimisationLanguage.g:2249:64: RULE_EXPONENT
                             {
                             mRULE_EXPONENT(); 
 
@@ -1368,11 +1368,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2251:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2251:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+            // InternalOptimisationLanguage.g:2251:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' )
+            // InternalOptimisationLanguage.g:2251:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
             {
             match('\"'); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2251:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+            // InternalOptimisationLanguage.g:2251:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
             loop8:
             do {
                 int alt8=3;
@@ -1388,7 +1388,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt8) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2251:20: '\\\\' .
+            	    // InternalOptimisationLanguage.g:2251:20: '\\\\' .
             	    {
             	    match('\\'); 
             	    matchAny(); 
@@ -1396,7 +1396,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             	    }
             	    break;
             	case 2 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2251:27: ~ ( ( '\\\\' | '\"' ) )
+            	    // InternalOptimisationLanguage.g:2251:27: ~ ( ( '\\\\' | '\"' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1433,11 +1433,11 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_QUOTED_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2253:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2253:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+            // InternalOptimisationLanguage.g:2253:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // InternalOptimisationLanguage.g:2253:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
             {
             match('\''); 
-            // InternalEvolutionaryAlgorithmLanguage.g:2253:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+            // InternalOptimisationLanguage.g:2253:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
             loop9:
             do {
                 int alt9=3;
@@ -1453,7 +1453,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt9) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2253:24: '\\\\' .
+            	    // InternalOptimisationLanguage.g:2253:24: '\\\\' .
             	    {
             	    match('\\'); 
             	    matchAny(); 
@@ -1461,7 +1461,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             	    }
             	    break;
             	case 2 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2253:31: ~ ( ( '\\\\' | '\\'' ) )
+            	    // InternalOptimisationLanguage.g:2253:31: ~ ( ( '\\\\' | '\\'' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1498,10 +1498,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2255:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:2255:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // InternalOptimisationLanguage.g:2255:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // InternalOptimisationLanguage.g:2255:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2255:11: ( '^' )?
+            // InternalOptimisationLanguage.g:2255:11: ( '^' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1510,7 +1510,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt10) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2255:11: '^'
+                    // InternalOptimisationLanguage.g:2255:11: '^'
                     {
                     match('^'); 
 
@@ -1528,7 +1528,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                 recover(mse);
                 throw mse;}
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2255:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // InternalOptimisationLanguage.g:2255:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop11:
             do {
                 int alt11=2;
@@ -1541,7 +1541,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt11) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:
+            	    // InternalOptimisationLanguage.g:
             	    {
             	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
             	        input.consume();
@@ -1577,12 +1577,12 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2257:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // InternalEvolutionaryAlgorithmLanguage.g:2257:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // InternalOptimisationLanguage.g:2257:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // InternalOptimisationLanguage.g:2257:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2257:24: ( options {greedy=false; } : . )*
+            // InternalOptimisationLanguage.g:2257:24: ( options {greedy=false; } : . )*
             loop12:
             do {
                 int alt12=2;
@@ -1607,7 +1607,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt12) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2257:52: .
+            	    // InternalOptimisationLanguage.g:2257:52: .
             	    {
             	    matchAny(); 
 
@@ -1637,12 +1637,12 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2259:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:2259:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // InternalOptimisationLanguage.g:2259:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // InternalOptimisationLanguage.g:2259:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2259:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // InternalOptimisationLanguage.g:2259:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop13:
             do {
                 int alt13=2;
@@ -1655,7 +1655,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt13) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:2259:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // InternalOptimisationLanguage.g:2259:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1675,7 +1675,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                 }
             } while (true);
 
-            // InternalEvolutionaryAlgorithmLanguage.g:2259:40: ( ( '\\r' )? '\\n' )?
+            // InternalOptimisationLanguage.g:2259:40: ( ( '\\r' )? '\\n' )?
             int alt15=2;
             int LA15_0 = input.LA(1);
 
@@ -1684,9 +1684,9 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
             }
             switch (alt15) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2259:41: ( '\\r' )? '\\n'
+                    // InternalOptimisationLanguage.g:2259:41: ( '\\r' )? '\\n'
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2259:41: ( '\\r' )?
+                    // InternalOptimisationLanguage.g:2259:41: ( '\\r' )?
                     int alt14=2;
                     int LA14_0 = input.LA(1);
 
@@ -1695,7 +1695,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
                     }
                     switch (alt14) {
                         case 1 :
-                            // InternalEvolutionaryAlgorithmLanguage.g:2259:41: '\\r'
+                            // InternalOptimisationLanguage.g:2259:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1727,10 +1727,10 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2261:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // InternalEvolutionaryAlgorithmLanguage.g:2261:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalOptimisationLanguage.g:2261:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // InternalOptimisationLanguage.g:2261:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2261:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // InternalOptimisationLanguage.g:2261:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt16=0;
             loop16:
             do {
@@ -1744,7 +1744,7 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:
+            	    // InternalOptimisationLanguage.g:
             	    {
             	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
             	        input.consume();
@@ -1784,8 +1784,8 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // InternalEvolutionaryAlgorithmLanguage.g:2263:16: ( . )
-            // InternalEvolutionaryAlgorithmLanguage.g:2263:18: .
+            // InternalOptimisationLanguage.g:2263:16: ( . )
+            // InternalOptimisationLanguage.g:2263:18: .
             {
             matchAny(); 
 
@@ -1800,425 +1800,425 @@ public class InternalEvolutionaryAlgorithmLanguageLexer extends Lexer {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // InternalEvolutionaryAlgorithmLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_INT | RULE_DOUBLE | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        // InternalOptimisationLanguage.g:1:8: ( T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_INT | RULE_DOUBLE | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
         int alt17=60;
         alt17 = dfa17.predict(input);
         switch (alt17) {
             case 1 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:10: T__15
+                // InternalOptimisationLanguage.g:1:10: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
             case 2 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:16: T__16
+                // InternalOptimisationLanguage.g:1:16: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
             case 3 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:22: T__17
+                // InternalOptimisationLanguage.g:1:22: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
             case 4 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:28: T__18
+                // InternalOptimisationLanguage.g:1:28: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
             case 5 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:34: T__19
+                // InternalOptimisationLanguage.g:1:34: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
             case 6 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:40: T__20
+                // InternalOptimisationLanguage.g:1:40: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
             case 7 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:46: T__21
+                // InternalOptimisationLanguage.g:1:46: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
             case 8 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:52: T__22
+                // InternalOptimisationLanguage.g:1:52: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
             case 9 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:58: T__23
+                // InternalOptimisationLanguage.g:1:58: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
             case 10 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:64: T__24
+                // InternalOptimisationLanguage.g:1:64: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
             case 11 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:70: T__25
+                // InternalOptimisationLanguage.g:1:70: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
             case 12 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:76: T__26
+                // InternalOptimisationLanguage.g:1:76: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
             case 13 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:82: T__27
+                // InternalOptimisationLanguage.g:1:82: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
             case 14 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:88: T__28
+                // InternalOptimisationLanguage.g:1:88: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
             case 15 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:94: T__29
+                // InternalOptimisationLanguage.g:1:94: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
             case 16 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:100: T__30
+                // InternalOptimisationLanguage.g:1:100: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
             case 17 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:106: T__31
+                // InternalOptimisationLanguage.g:1:106: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
             case 18 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:112: T__32
+                // InternalOptimisationLanguage.g:1:112: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
             case 19 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:118: T__33
+                // InternalOptimisationLanguage.g:1:118: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
             case 20 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:124: T__34
+                // InternalOptimisationLanguage.g:1:124: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
             case 21 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:130: T__35
+                // InternalOptimisationLanguage.g:1:130: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
             case 22 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:136: T__36
+                // InternalOptimisationLanguage.g:1:136: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
             case 23 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:142: T__37
+                // InternalOptimisationLanguage.g:1:142: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
             case 24 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:148: T__38
+                // InternalOptimisationLanguage.g:1:148: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
             case 25 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:154: T__39
+                // InternalOptimisationLanguage.g:1:154: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
             case 26 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:160: T__40
+                // InternalOptimisationLanguage.g:1:160: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
             case 27 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:166: T__41
+                // InternalOptimisationLanguage.g:1:166: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
             case 28 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:172: T__42
+                // InternalOptimisationLanguage.g:1:172: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
             case 29 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:178: T__43
+                // InternalOptimisationLanguage.g:1:178: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
             case 30 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:184: T__44
+                // InternalOptimisationLanguage.g:1:184: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
             case 31 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:190: T__45
+                // InternalOptimisationLanguage.g:1:190: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
             case 32 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:196: T__46
+                // InternalOptimisationLanguage.g:1:196: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
             case 33 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:202: T__47
+                // InternalOptimisationLanguage.g:1:202: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
             case 34 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:208: T__48
+                // InternalOptimisationLanguage.g:1:208: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
             case 35 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:214: T__49
+                // InternalOptimisationLanguage.g:1:214: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
             case 36 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:220: T__50
+                // InternalOptimisationLanguage.g:1:220: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
             case 37 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:226: T__51
+                // InternalOptimisationLanguage.g:1:226: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
             case 38 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:232: T__52
+                // InternalOptimisationLanguage.g:1:232: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
             case 39 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:238: T__53
+                // InternalOptimisationLanguage.g:1:238: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
             case 40 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:244: T__54
+                // InternalOptimisationLanguage.g:1:244: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
             case 41 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:250: T__55
+                // InternalOptimisationLanguage.g:1:250: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
             case 42 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:256: T__56
+                // InternalOptimisationLanguage.g:1:256: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
             case 43 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:262: T__57
+                // InternalOptimisationLanguage.g:1:262: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
             case 44 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:268: T__58
+                // InternalOptimisationLanguage.g:1:268: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
             case 45 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:274: T__59
+                // InternalOptimisationLanguage.g:1:274: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
             case 46 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:280: T__60
+                // InternalOptimisationLanguage.g:1:280: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
             case 47 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:286: T__61
+                // InternalOptimisationLanguage.g:1:286: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
             case 48 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:292: T__62
+                // InternalOptimisationLanguage.g:1:292: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
             case 49 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:298: T__63
+                // InternalOptimisationLanguage.g:1:298: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
             case 50 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:304: T__64
+                // InternalOptimisationLanguage.g:1:304: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
             case 51 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:310: T__65
+                // InternalOptimisationLanguage.g:1:310: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
             case 52 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:316: RULE_INT
+                // InternalOptimisationLanguage.g:1:316: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
             case 53 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:325: RULE_DOUBLE
+                // InternalOptimisationLanguage.g:1:325: RULE_DOUBLE
                 {
                 mRULE_DOUBLE(); 
 
                 }
                 break;
             case 54 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:337: RULE_STRING
+                // InternalOptimisationLanguage.g:1:337: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
             case 55 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:349: RULE_QUOTED_ID
+                // InternalOptimisationLanguage.g:1:349: RULE_QUOTED_ID
                 {
                 mRULE_QUOTED_ID(); 
 
                 }
                 break;
             case 56 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:364: RULE_ID
+                // InternalOptimisationLanguage.g:1:364: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
             case 57 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:372: RULE_ML_COMMENT
+                // InternalOptimisationLanguage.g:1:372: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
             case 58 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:388: RULE_SL_COMMENT
+                // InternalOptimisationLanguage.g:1:388: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
             case 59 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:404: RULE_WS
+                // InternalOptimisationLanguage.g:1:404: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
             case 60 :
-                // InternalEvolutionaryAlgorithmLanguage.g:1:412: RULE_ANY_OTHER
+                // InternalOptimisationLanguage.g:1:412: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java
similarity index 63%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java
index 987191888bce739ccbe23262b4cdbf9b9a47c0ca..8b8c78f92fde742716036fd81fd05ca9c98c237a 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/parser/antlr/internal/InternalEvolutionaryAlgorithmLanguageParser.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/parser/antlr/internal/InternalOptimisationLanguageParser.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.parser.antlr.internal;
+package de.evoal.languages.model.ol.dsl.parser.antlr.internal;
 
 import org.eclipse.xtext.*;
 import org.eclipse.xtext.parser.*;
@@ -10,7 +10,7 @@ import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream;
 import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
 import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 
 
 
@@ -20,7 +20,7 @@ import java.util.List;
 import java.util.ArrayList;
 
 @SuppressWarnings("all")
-public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInternalAntlrParser {
+public class InternalOptimisationLanguageParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
         "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_DOUBLE", "RULE_INT", "RULE_QUOTED_ID", "RULE_DIGIT", "RULE_EXPONENT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'use'", "';'", "'constraints'", "'{'", "'}'", "':='", "'['", "','", "']'", "'data'", "'OR'", "'XOR'", "'AND'", "'!'", "'^'", "'('", "')'", "'value'", "'true'", "'false'", "'>='", "'>'", "'='", "'!='", "'<'", "'<='", "'+'", "'-'", "'*'", "'/'", "'%'", "'Y'", "'Z'", "'E'", "'P'", "'T'", "'G'", "'M'", "'k'", "'h'", "'da'", "'d'", "'c'", "'m'", "'\\u00B5'", "'n'", "'p'", "'f'", "'a'", "'z'", "'y'"
     };
@@ -92,23 +92,23 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
     // delegators
 
 
-        public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input) {
+        public InternalOptimisationLanguageParser(TokenStream input) {
             this(input, new RecognizerSharedState());
         }
-        public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input, RecognizerSharedState state) {
+        public InternalOptimisationLanguageParser(TokenStream input, RecognizerSharedState state) {
             super(input, state);
              
         }
         
 
-    public String[] getTokenNames() { return InternalEvolutionaryAlgorithmLanguageParser.tokenNames; }
-    public String getGrammarFileName() { return "InternalEvolutionaryAlgorithmLanguage.g"; }
+    public String[] getTokenNames() { return InternalOptimisationLanguageParser.tokenNames; }
+    public String getGrammarFileName() { return "InternalOptimisationLanguage.g"; }
 
 
 
-     	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+     	private OptimisationLanguageGrammarAccess grammarAccess;
 
-        public InternalEvolutionaryAlgorithmLanguageParser(TokenStream input, EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess) {
+        public InternalOptimisationLanguageParser(TokenStream input, OptimisationLanguageGrammarAccess grammarAccess) {
             this(input);
             this.grammarAccess = grammarAccess;
             registerRules(grammarAccess.getGrammar());
@@ -116,36 +116,36 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
         @Override
         protected String getFirstRuleName() {
-        	return "EAModelRule";
+        	return "OptimisationModelRule";
        	}
 
        	@Override
-       	protected EvolutionaryAlgorithmLanguageGrammarAccess getGrammarAccess() {
+       	protected OptimisationLanguageGrammarAccess getGrammarAccess() {
        		return grammarAccess;
        	}
 
 
 
 
-    // $ANTLR start "entryRuleEAModelRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:66:1: entryRuleEAModelRule returns [EObject current=null] : iv_ruleEAModelRule= ruleEAModelRule EOF ;
-    public final EObject entryRuleEAModelRule() throws RecognitionException {
+    // $ANTLR start "entryRuleOptimisationModelRule"
+    // InternalOptimisationLanguage.g:66:1: entryRuleOptimisationModelRule returns [EObject current=null] : iv_ruleOptimisationModelRule= ruleOptimisationModelRule EOF ;
+    public final EObject entryRuleOptimisationModelRule() throws RecognitionException {
         EObject current = null;
 
-        EObject iv_ruleEAModelRule = null;
+        EObject iv_ruleOptimisationModelRule = null;
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:66:52: (iv_ruleEAModelRule= ruleEAModelRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:67:2: iv_ruleEAModelRule= ruleEAModelRule EOF
+            // InternalOptimisationLanguage.g:66:62: (iv_ruleOptimisationModelRule= ruleOptimisationModelRule EOF )
+            // InternalOptimisationLanguage.g:67:2: iv_ruleOptimisationModelRule= ruleOptimisationModelRule EOF
             {
-             newCompositeNode(grammarAccess.getEAModelRuleRule()); 
+             newCompositeNode(grammarAccess.getOptimisationModelRuleRule()); 
             pushFollow(FOLLOW_1);
-            iv_ruleEAModelRule=ruleEAModelRule();
+            iv_ruleOptimisationModelRule=ruleOptimisationModelRule();
 
             state._fsp--;
 
-             current =iv_ruleEAModelRule; 
+             current =iv_ruleOptimisationModelRule; 
             match(input,EOF,FOLLOW_2); 
 
             }
@@ -160,12 +160,12 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return current;
     }
-    // $ANTLR end "entryRuleEAModelRule"
+    // $ANTLR end "entryRuleOptimisationModelRule"
 
 
-    // $ANTLR start "ruleEAModelRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:73:1: ruleEAModelRule returns [EObject current=null] : ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? ) ;
-    public final EObject ruleEAModelRule() throws RecognitionException {
+    // $ANTLR start "ruleOptimisationModelRule"
+    // InternalOptimisationLanguage.g:73:1: ruleOptimisationModelRule returns [EObject current=null] : ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? ) ;
+    public final EObject ruleOptimisationModelRule() throws RecognitionException {
         EObject current = null;
 
         EObject lv_uses_0_0 = null;
@@ -179,13 +179,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:79:2: ( ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:80:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? )
+            // InternalOptimisationLanguage.g:79:2: ( ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? ) )
+            // InternalOptimisationLanguage.g:80:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:80:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:81:3: ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )?
+            // InternalOptimisationLanguage.g:80:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )? )
+            // InternalOptimisationLanguage.g:81:3: ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_instance_1_0= ruleInstanceRule ) ) ( (lv_constraints_2_0= ruleConstraintRule ) )?
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:81:3: ( (lv_uses_0_0= ruleUseRule ) )*
+            // InternalOptimisationLanguage.g:81:3: ( (lv_uses_0_0= ruleUseRule ) )*
             loop1:
             do {
                 int alt1=2;
@@ -198,13 +198,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt1) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:82:4: (lv_uses_0_0= ruleUseRule )
+            	    // InternalOptimisationLanguage.g:82:4: (lv_uses_0_0= ruleUseRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:82:4: (lv_uses_0_0= ruleUseRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:83:5: lv_uses_0_0= ruleUseRule
+            	    // InternalOptimisationLanguage.g:82:4: (lv_uses_0_0= ruleUseRule )
+            	    // InternalOptimisationLanguage.g:83:5: lv_uses_0_0= ruleUseRule
             	    {
 
-            	    					newCompositeNode(grammarAccess.getEAModelRuleAccess().getUsesUseRuleParserRuleCall_0_0());
+            	    					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getUsesUseRuleParserRuleCall_0_0());
             	    				
             	    pushFollow(FOLLOW_3);
             	    lv_uses_0_0=ruleUseRule();
@@ -213,13 +213,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
             	    					if (current==null) {
-            	    						current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+            	    						current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
             	    					}
             	    					add(
             	    						current,
             	    						"uses",
             	    						lv_uses_0_0,
-            	    						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.UseRule");
+            	    						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.UseRule");
             	    					afterParserOrEnumRuleCall();
             	    				
 
@@ -234,14 +234,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                 }
             } while (true);
 
-            // InternalEvolutionaryAlgorithmLanguage.g:100:3: ( (lv_instance_1_0= ruleInstanceRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:101:4: (lv_instance_1_0= ruleInstanceRule )
+            // InternalOptimisationLanguage.g:100:3: ( (lv_instance_1_0= ruleInstanceRule ) )
+            // InternalOptimisationLanguage.g:101:4: (lv_instance_1_0= ruleInstanceRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:101:4: (lv_instance_1_0= ruleInstanceRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:102:5: lv_instance_1_0= ruleInstanceRule
+            // InternalOptimisationLanguage.g:101:4: (lv_instance_1_0= ruleInstanceRule )
+            // InternalOptimisationLanguage.g:102:5: lv_instance_1_0= ruleInstanceRule
             {
 
-            					newCompositeNode(grammarAccess.getEAModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0());
+            					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getInstanceInstanceRuleParserRuleCall_1_0());
             				
             pushFollow(FOLLOW_4);
             lv_instance_1_0=ruleInstanceRule();
@@ -250,7 +250,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
             					if (current==null) {
-            						current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+            						current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
             					}
             					set(
             						current,
@@ -265,7 +265,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:119:3: ( (lv_constraints_2_0= ruleConstraintRule ) )?
+            // InternalOptimisationLanguage.g:119:3: ( (lv_constraints_2_0= ruleConstraintRule ) )?
             int alt2=2;
             int LA2_0 = input.LA(1);
 
@@ -274,13 +274,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt2) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:120:4: (lv_constraints_2_0= ruleConstraintRule )
+                    // InternalOptimisationLanguage.g:120:4: (lv_constraints_2_0= ruleConstraintRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:120:4: (lv_constraints_2_0= ruleConstraintRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:121:5: lv_constraints_2_0= ruleConstraintRule
+                    // InternalOptimisationLanguage.g:120:4: (lv_constraints_2_0= ruleConstraintRule )
+                    // InternalOptimisationLanguage.g:121:5: lv_constraints_2_0= ruleConstraintRule
                     {
 
-                    					newCompositeNode(grammarAccess.getEAModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0());
+                    					newCompositeNode(grammarAccess.getOptimisationModelRuleAccess().getConstraintsConstraintRuleParserRuleCall_2_0());
                     				
                     pushFollow(FOLLOW_2);
                     lv_constraints_2_0=ruleConstraintRule();
@@ -289,13 +289,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
                     					if (current==null) {
-                    						current = createModelElementForParent(grammarAccess.getEAModelRuleRule());
+                    						current = createModelElementForParent(grammarAccess.getOptimisationModelRuleRule());
                     					}
                     					set(
                     						current,
                     						"constraints",
                     						lv_constraints_2_0,
-                    						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintRule");
+                    						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintRule");
                     					afterParserOrEnumRuleCall();
                     				
 
@@ -326,11 +326,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         }
         return current;
     }
-    // $ANTLR end "ruleEAModelRule"
+    // $ANTLR end "ruleOptimisationModelRule"
 
 
     // $ANTLR start "entryRuleUseRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:142:1: entryRuleUseRule returns [EObject current=null] : iv_ruleUseRule= ruleUseRule EOF ;
+    // InternalOptimisationLanguage.g:142:1: entryRuleUseRule returns [EObject current=null] : iv_ruleUseRule= ruleUseRule EOF ;
     public final EObject entryRuleUseRule() throws RecognitionException {
         EObject current = null;
 
@@ -338,8 +338,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:142:48: (iv_ruleUseRule= ruleUseRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:143:2: iv_ruleUseRule= ruleUseRule EOF
+            // InternalOptimisationLanguage.g:142:48: (iv_ruleUseRule= ruleUseRule EOF )
+            // InternalOptimisationLanguage.g:143:2: iv_ruleUseRule= ruleUseRule EOF
             {
              newCompositeNode(grammarAccess.getUseRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -366,7 +366,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleUseRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:149:1: ruleUseRule returns [EObject current=null] : (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) ;
+    // InternalOptimisationLanguage.g:149:1: ruleUseRule returns [EObject current=null] : (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) ;
     public final EObject ruleUseRule() throws RecognitionException {
         EObject current = null;
 
@@ -378,21 +378,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:155:2: ( (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:156:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' )
+            // InternalOptimisationLanguage.g:155:2: ( (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) )
+            // InternalOptimisationLanguage.g:156:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:156:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:157:3: otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';'
+            // InternalOptimisationLanguage.g:156:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' )
+            // InternalOptimisationLanguage.g:157:3: otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';'
             {
             otherlv_0=(Token)match(input,15,FOLLOW_5); 
 
             			newLeafNode(otherlv_0, grammarAccess.getUseRuleAccess().getUseKeyword_0());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:161:3: ( (lv_importURI_1_0= RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:162:4: (lv_importURI_1_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:161:3: ( (lv_importURI_1_0= RULE_STRING ) )
+            // InternalOptimisationLanguage.g:162:4: (lv_importURI_1_0= RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:162:4: (lv_importURI_1_0= RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:163:5: lv_importURI_1_0= RULE_STRING
+            // InternalOptimisationLanguage.g:162:4: (lv_importURI_1_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:163:5: lv_importURI_1_0= RULE_STRING
             {
             lv_importURI_1_0=(Token)match(input,RULE_STRING,FOLLOW_6); 
 
@@ -441,7 +441,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleConstraintRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:187:1: entryRuleConstraintRule returns [EObject current=null] : iv_ruleConstraintRule= ruleConstraintRule EOF ;
+    // InternalOptimisationLanguage.g:187:1: entryRuleConstraintRule returns [EObject current=null] : iv_ruleConstraintRule= ruleConstraintRule EOF ;
     public final EObject entryRuleConstraintRule() throws RecognitionException {
         EObject current = null;
 
@@ -449,8 +449,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:187:55: (iv_ruleConstraintRule= ruleConstraintRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:188:2: iv_ruleConstraintRule= ruleConstraintRule EOF
+            // InternalOptimisationLanguage.g:187:55: (iv_ruleConstraintRule= ruleConstraintRule EOF )
+            // InternalOptimisationLanguage.g:188:2: iv_ruleConstraintRule= ruleConstraintRule EOF
             {
              newCompositeNode(grammarAccess.getConstraintRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -477,7 +477,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleConstraintRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:194:1: ruleConstraintRule returns [EObject current=null] : ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' ) ;
+    // InternalOptimisationLanguage.g:194:1: ruleConstraintRule returns [EObject current=null] : ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' ) ;
     public final EObject ruleConstraintRule() throws RecognitionException {
         EObject current = null;
 
@@ -491,14 +491,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:200:2: ( ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:201:2: ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' )
+            // InternalOptimisationLanguage.g:200:2: ( ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' ) )
+            // InternalOptimisationLanguage.g:201:2: ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:201:2: ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' )
-            // InternalEvolutionaryAlgorithmLanguage.g:202:3: () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}'
+            // InternalOptimisationLanguage.g:201:2: ( () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}' )
+            // InternalOptimisationLanguage.g:202:3: () otherlv_1= 'constraints' otherlv_2= '{' ( (lv_statements_3_0= ruleConstraintStatementRule ) )* otherlv_4= '}'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:202:3: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:203:4: 
+            // InternalOptimisationLanguage.g:202:3: ()
+            // InternalOptimisationLanguage.g:203:4: 
             {
 
             				current = forceCreateModelElement(
@@ -516,7 +516,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             			newLeafNode(otherlv_2, grammarAccess.getConstraintRuleAccess().getLeftCurlyBracketKeyword_2());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:217:3: ( (lv_statements_3_0= ruleConstraintStatementRule ) )*
+            // InternalOptimisationLanguage.g:217:3: ( (lv_statements_3_0= ruleConstraintStatementRule ) )*
             loop3:
             do {
                 int alt3=2;
@@ -529,10 +529,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt3) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:218:4: (lv_statements_3_0= ruleConstraintStatementRule )
+            	    // InternalOptimisationLanguage.g:218:4: (lv_statements_3_0= ruleConstraintStatementRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:218:4: (lv_statements_3_0= ruleConstraintStatementRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:219:5: lv_statements_3_0= ruleConstraintStatementRule
+            	    // InternalOptimisationLanguage.g:218:4: (lv_statements_3_0= ruleConstraintStatementRule )
+            	    // InternalOptimisationLanguage.g:219:5: lv_statements_3_0= ruleConstraintStatementRule
             	    {
 
             	    					newCompositeNode(grammarAccess.getConstraintRuleAccess().getStatementsConstraintStatementRuleParserRuleCall_3_0());
@@ -550,7 +550,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             	    						current,
             	    						"statements",
             	    						lv_statements_3_0,
-            	    						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintStatementRule");
+            	    						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintStatementRule");
             	    					afterParserOrEnumRuleCall();
             	    				
 
@@ -592,7 +592,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleConstraintStatementRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:244:1: entryRuleConstraintStatementRule returns [EObject current=null] : iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF ;
+    // InternalOptimisationLanguage.g:244:1: entryRuleConstraintStatementRule returns [EObject current=null] : iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF ;
     public final EObject entryRuleConstraintStatementRule() throws RecognitionException {
         EObject current = null;
 
@@ -600,8 +600,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:244:64: (iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:245:2: iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF
+            // InternalOptimisationLanguage.g:244:64: (iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF )
+            // InternalOptimisationLanguage.g:245:2: iv_ruleConstraintStatementRule= ruleConstraintStatementRule EOF
             {
              newCompositeNode(grammarAccess.getConstraintStatementRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -628,7 +628,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleConstraintStatementRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:251:1: ruleConstraintStatementRule returns [EObject current=null] : ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' ) ;
+    // InternalOptimisationLanguage.g:251:1: ruleConstraintStatementRule returns [EObject current=null] : ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' ) ;
     public final EObject ruleConstraintStatementRule() throws RecognitionException {
         EObject current = null;
 
@@ -640,17 +640,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:257:2: ( ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:258:2: ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' )
+            // InternalOptimisationLanguage.g:257:2: ( ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' ) )
+            // InternalOptimisationLanguage.g:258:2: ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:258:2: ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:259:3: ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';'
+            // InternalOptimisationLanguage.g:258:2: ( ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';' )
+            // InternalOptimisationLanguage.g:259:3: ( (lv_constraintExpression_0_0= ruleCallRule ) ) otherlv_1= ';'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:259:3: ( (lv_constraintExpression_0_0= ruleCallRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:260:4: (lv_constraintExpression_0_0= ruleCallRule )
+            // InternalOptimisationLanguage.g:259:3: ( (lv_constraintExpression_0_0= ruleCallRule ) )
+            // InternalOptimisationLanguage.g:260:4: (lv_constraintExpression_0_0= ruleCallRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:260:4: (lv_constraintExpression_0_0= ruleCallRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:261:5: lv_constraintExpression_0_0= ruleCallRule
+            // InternalOptimisationLanguage.g:260:4: (lv_constraintExpression_0_0= ruleCallRule )
+            // InternalOptimisationLanguage.g:261:5: lv_constraintExpression_0_0= ruleCallRule
             {
 
             					newCompositeNode(grammarAccess.getConstraintStatementRuleAccess().getConstraintExpressionCallRuleParserRuleCall_0_0());
@@ -704,7 +704,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleFunctionNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:286:1: entryRuleFunctionNameRule returns [EObject current=null] : iv_ruleFunctionNameRule= ruleFunctionNameRule EOF ;
+    // InternalOptimisationLanguage.g:286:1: entryRuleFunctionNameRule returns [EObject current=null] : iv_ruleFunctionNameRule= ruleFunctionNameRule EOF ;
     public final EObject entryRuleFunctionNameRule() throws RecognitionException {
         EObject current = null;
 
@@ -712,8 +712,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:286:57: (iv_ruleFunctionNameRule= ruleFunctionNameRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:287:2: iv_ruleFunctionNameRule= ruleFunctionNameRule EOF
+            // InternalOptimisationLanguage.g:286:57: (iv_ruleFunctionNameRule= ruleFunctionNameRule EOF )
+            // InternalOptimisationLanguage.g:287:2: iv_ruleFunctionNameRule= ruleFunctionNameRule EOF
             {
              newCompositeNode(grammarAccess.getFunctionNameRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -740,7 +740,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleFunctionNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:293:1: ruleFunctionNameRule returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;
+    // InternalOptimisationLanguage.g:293:1: ruleFunctionNameRule returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ;
     public final EObject ruleFunctionNameRule() throws RecognitionException {
         EObject current = null;
 
@@ -750,14 +750,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:299:2: ( ( (otherlv_0= RULE_ID ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:300:2: ( (otherlv_0= RULE_ID ) )
+            // InternalOptimisationLanguage.g:299:2: ( ( (otherlv_0= RULE_ID ) ) )
+            // InternalOptimisationLanguage.g:300:2: ( (otherlv_0= RULE_ID ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:300:2: ( (otherlv_0= RULE_ID ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:301:3: (otherlv_0= RULE_ID )
+            // InternalOptimisationLanguage.g:300:2: ( (otherlv_0= RULE_ID ) )
+            // InternalOptimisationLanguage.g:301:3: (otherlv_0= RULE_ID )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:301:3: (otherlv_0= RULE_ID )
-            // InternalEvolutionaryAlgorithmLanguage.g:302:4: otherlv_0= RULE_ID
+            // InternalOptimisationLanguage.g:301:3: (otherlv_0= RULE_ID )
+            // InternalOptimisationLanguage.g:302:4: otherlv_0= RULE_ID
             {
 
             				if (current==null) {
@@ -794,7 +794,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleInstanceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:316:1: entryRuleInstanceRule returns [EObject current=null] : iv_ruleInstanceRule= ruleInstanceRule EOF ;
+    // InternalOptimisationLanguage.g:316:1: entryRuleInstanceRule returns [EObject current=null] : iv_ruleInstanceRule= ruleInstanceRule EOF ;
     public final EObject entryRuleInstanceRule() throws RecognitionException {
         EObject current = null;
 
@@ -802,8 +802,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:316:53: (iv_ruleInstanceRule= ruleInstanceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:317:2: iv_ruleInstanceRule= ruleInstanceRule EOF
+            // InternalOptimisationLanguage.g:316:53: (iv_ruleInstanceRule= ruleInstanceRule EOF )
+            // InternalOptimisationLanguage.g:317:2: iv_ruleInstanceRule= ruleInstanceRule EOF
             {
              newCompositeNode(grammarAccess.getInstanceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -830,7 +830,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleInstanceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:323:1: ruleInstanceRule returns [EObject current=null] : ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) ;
+    // InternalOptimisationLanguage.g:323:1: ruleInstanceRule returns [EObject current=null] : ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) ;
     public final EObject ruleInstanceRule() throws RecognitionException {
         EObject current = null;
 
@@ -843,17 +843,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:329:2: ( ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:330:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? )
+            // InternalOptimisationLanguage.g:329:2: ( ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) )
+            // InternalOptimisationLanguage.g:330:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:330:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:331:3: ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )?
+            // InternalOptimisationLanguage.g:330:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? )
+            // InternalOptimisationLanguage.g:331:3: ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )?
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:331:3: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:332:4: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:331:3: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:332:4: ( ruleStringOrId )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:332:4: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:333:5: ruleStringOrId
+            // InternalOptimisationLanguage.g:332:4: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:333:5: ruleStringOrId
             {
 
             					if (current==null) {
@@ -877,7 +877,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:347:3: (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )?
+            // InternalOptimisationLanguage.g:347:3: (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )?
             int alt5=2;
             int LA5_0 = input.LA(1);
 
@@ -886,13 +886,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt5) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:348:4: otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}'
+                    // InternalOptimisationLanguage.g:348:4: otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}'
                     {
                     otherlv_1=(Token)match(input,18,FOLLOW_10); 
 
                     				newLeafNode(otherlv_1, grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0());
                     			
-                    // InternalEvolutionaryAlgorithmLanguage.g:352:4: ( (lv_attributes_2_0= ruleAttributeRule ) )*
+                    // InternalOptimisationLanguage.g:352:4: ( (lv_attributes_2_0= ruleAttributeRule ) )*
                     loop4:
                     do {
                         int alt4=2;
@@ -905,10 +905,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                         switch (alt4) {
                     	case 1 :
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:353:5: (lv_attributes_2_0= ruleAttributeRule )
+                    	    // InternalOptimisationLanguage.g:353:5: (lv_attributes_2_0= ruleAttributeRule )
                     	    {
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:353:5: (lv_attributes_2_0= ruleAttributeRule )
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:354:6: lv_attributes_2_0= ruleAttributeRule
+                    	    // InternalOptimisationLanguage.g:353:5: (lv_attributes_2_0= ruleAttributeRule )
+                    	    // InternalOptimisationLanguage.g:354:6: lv_attributes_2_0= ruleAttributeRule
                     	    {
 
                     	    						newCompositeNode(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0());
@@ -974,7 +974,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAttributeRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:380:1: entryRuleAttributeRule returns [EObject current=null] : iv_ruleAttributeRule= ruleAttributeRule EOF ;
+    // InternalOptimisationLanguage.g:380:1: entryRuleAttributeRule returns [EObject current=null] : iv_ruleAttributeRule= ruleAttributeRule EOF ;
     public final EObject entryRuleAttributeRule() throws RecognitionException {
         EObject current = null;
 
@@ -982,8 +982,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:380:54: (iv_ruleAttributeRule= ruleAttributeRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:381:2: iv_ruleAttributeRule= ruleAttributeRule EOF
+            // InternalOptimisationLanguage.g:380:54: (iv_ruleAttributeRule= ruleAttributeRule EOF )
+            // InternalOptimisationLanguage.g:381:2: iv_ruleAttributeRule= ruleAttributeRule EOF
             {
              newCompositeNode(grammarAccess.getAttributeRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1010,7 +1010,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAttributeRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:387:1: ruleAttributeRule returns [EObject current=null] : ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) ;
+    // InternalOptimisationLanguage.g:387:1: ruleAttributeRule returns [EObject current=null] : ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) ;
     public final EObject ruleAttributeRule() throws RecognitionException {
         EObject current = null;
 
@@ -1025,17 +1025,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:393:2: ( ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:394:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' )
+            // InternalOptimisationLanguage.g:393:2: ( ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) )
+            // InternalOptimisationLanguage.g:394:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:394:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' )
-            // InternalEvolutionaryAlgorithmLanguage.g:395:3: ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';'
+            // InternalOptimisationLanguage.g:394:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' )
+            // InternalOptimisationLanguage.g:395:3: ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:395:3: ( (lv_name_0_0= ruleNameOrMiscRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:396:4: (lv_name_0_0= ruleNameOrMiscRule )
+            // InternalOptimisationLanguage.g:395:3: ( (lv_name_0_0= ruleNameOrMiscRule ) )
+            // InternalOptimisationLanguage.g:396:4: (lv_name_0_0= ruleNameOrMiscRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:396:4: (lv_name_0_0= ruleNameOrMiscRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:397:5: lv_name_0_0= ruleNameOrMiscRule
+            // InternalOptimisationLanguage.g:396:4: (lv_name_0_0= ruleNameOrMiscRule )
+            // InternalOptimisationLanguage.g:397:5: lv_name_0_0= ruleNameOrMiscRule
             {
 
             					newCompositeNode(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0());
@@ -1066,11 +1066,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             			newLeafNode(otherlv_1, grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:418:3: ( (lv_value_2_0= ruleValueRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:419:4: (lv_value_2_0= ruleValueRule )
+            // InternalOptimisationLanguage.g:418:3: ( (lv_value_2_0= ruleValueRule ) )
+            // InternalOptimisationLanguage.g:419:4: (lv_value_2_0= ruleValueRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:419:4: (lv_value_2_0= ruleValueRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:420:5: lv_value_2_0= ruleValueRule
+            // InternalOptimisationLanguage.g:419:4: (lv_value_2_0= ruleValueRule )
+            // InternalOptimisationLanguage.g:420:5: lv_value_2_0= ruleValueRule
             {
 
             					newCompositeNode(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0());
@@ -1124,7 +1124,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNameOrMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:445:1: entryRuleNameOrMiscRule returns [EObject current=null] : iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF ;
+    // InternalOptimisationLanguage.g:445:1: entryRuleNameOrMiscRule returns [EObject current=null] : iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF ;
     public final EObject entryRuleNameOrMiscRule() throws RecognitionException {
         EObject current = null;
 
@@ -1132,8 +1132,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:445:55: (iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:446:2: iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF
+            // InternalOptimisationLanguage.g:445:55: (iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF )
+            // InternalOptimisationLanguage.g:446:2: iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF
             {
              newCompositeNode(grammarAccess.getNameOrMiscRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1160,7 +1160,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNameOrMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:452:1: ruleNameOrMiscRule returns [EObject current=null] : (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) ;
+    // InternalOptimisationLanguage.g:452:1: ruleNameOrMiscRule returns [EObject current=null] : (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) ;
     public final EObject ruleNameOrMiscRule() throws RecognitionException {
         EObject current = null;
 
@@ -1173,10 +1173,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:458:2: ( (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:459:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule )
+            // InternalOptimisationLanguage.g:458:2: ( (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) )
+            // InternalOptimisationLanguage.g:459:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:459:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule )
+            // InternalOptimisationLanguage.g:459:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -1194,7 +1194,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt6) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:460:3: this_NameRule_0= ruleNameRule
+                    // InternalOptimisationLanguage.g:460:3: this_NameRule_0= ruleNameRule
                     {
 
                     			newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0());
@@ -1212,7 +1212,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:469:3: this_MiscRule_1= ruleMiscRule
+                    // InternalOptimisationLanguage.g:469:3: this_MiscRule_1= ruleMiscRule
                     {
 
                     			newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1());
@@ -1252,7 +1252,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:481:1: entryRuleNameRule returns [EObject current=null] : iv_ruleNameRule= ruleNameRule EOF ;
+    // InternalOptimisationLanguage.g:481:1: entryRuleNameRule returns [EObject current=null] : iv_ruleNameRule= ruleNameRule EOF ;
     public final EObject entryRuleNameRule() throws RecognitionException {
         EObject current = null;
 
@@ -1260,8 +1260,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:481:49: (iv_ruleNameRule= ruleNameRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:482:2: iv_ruleNameRule= ruleNameRule EOF
+            // InternalOptimisationLanguage.g:481:49: (iv_ruleNameRule= ruleNameRule EOF )
+            // InternalOptimisationLanguage.g:482:2: iv_ruleNameRule= ruleNameRule EOF
             {
              newCompositeNode(grammarAccess.getNameRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1288,7 +1288,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNameRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:488:1: ruleNameRule returns [EObject current=null] : ( ( ruleStringOrId ) ) ;
+    // InternalOptimisationLanguage.g:488:1: ruleNameRule returns [EObject current=null] : ( ( ruleStringOrId ) ) ;
     public final EObject ruleNameRule() throws RecognitionException {
         EObject current = null;
 
@@ -1296,14 +1296,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:494:2: ( ( ( ruleStringOrId ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:495:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:494:2: ( ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:495:2: ( ( ruleStringOrId ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:495:2: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:496:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:495:2: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:496:3: ( ruleStringOrId )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:496:3: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:497:4: ruleStringOrId
+            // InternalOptimisationLanguage.g:496:3: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:497:4: ruleStringOrId
             {
 
             				if (current==null) {
@@ -1347,7 +1347,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:514:1: entryRuleMiscRule returns [EObject current=null] : iv_ruleMiscRule= ruleMiscRule EOF ;
+    // InternalOptimisationLanguage.g:514:1: entryRuleMiscRule returns [EObject current=null] : iv_ruleMiscRule= ruleMiscRule EOF ;
     public final EObject entryRuleMiscRule() throws RecognitionException {
         EObject current = null;
 
@@ -1355,8 +1355,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:514:49: (iv_ruleMiscRule= ruleMiscRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:515:2: iv_ruleMiscRule= ruleMiscRule EOF
+            // InternalOptimisationLanguage.g:514:49: (iv_ruleMiscRule= ruleMiscRule EOF )
+            // InternalOptimisationLanguage.g:515:2: iv_ruleMiscRule= ruleMiscRule EOF
             {
              newCompositeNode(grammarAccess.getMiscRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1383,7 +1383,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMiscRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:521:1: ruleMiscRule returns [EObject current=null] : ( (lv_name_0_0= RULE_STRING ) ) ;
+    // InternalOptimisationLanguage.g:521:1: ruleMiscRule returns [EObject current=null] : ( (lv_name_0_0= RULE_STRING ) ) ;
     public final EObject ruleMiscRule() throws RecognitionException {
         EObject current = null;
 
@@ -1393,14 +1393,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:527:2: ( ( (lv_name_0_0= RULE_STRING ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:528:2: ( (lv_name_0_0= RULE_STRING ) )
+            // InternalOptimisationLanguage.g:527:2: ( ( (lv_name_0_0= RULE_STRING ) ) )
+            // InternalOptimisationLanguage.g:528:2: ( (lv_name_0_0= RULE_STRING ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:528:2: ( (lv_name_0_0= RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:529:3: (lv_name_0_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:528:2: ( (lv_name_0_0= RULE_STRING ) )
+            // InternalOptimisationLanguage.g:529:3: (lv_name_0_0= RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:529:3: (lv_name_0_0= RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:530:4: lv_name_0_0= RULE_STRING
+            // InternalOptimisationLanguage.g:529:3: (lv_name_0_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:530:4: lv_name_0_0= RULE_STRING
             {
             lv_name_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 
 
@@ -1442,7 +1442,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:549:1: entryRuleValueRule returns [EObject current=null] : iv_ruleValueRule= ruleValueRule EOF ;
+    // InternalOptimisationLanguage.g:549:1: entryRuleValueRule returns [EObject current=null] : iv_ruleValueRule= ruleValueRule EOF ;
     public final EObject entryRuleValueRule() throws RecognitionException {
         EObject current = null;
 
@@ -1450,8 +1450,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:549:50: (iv_ruleValueRule= ruleValueRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:550:2: iv_ruleValueRule= ruleValueRule EOF
+            // InternalOptimisationLanguage.g:549:50: (iv_ruleValueRule= ruleValueRule EOF )
+            // InternalOptimisationLanguage.g:550:2: iv_ruleValueRule= ruleValueRule EOF
             {
              newCompositeNode(grammarAccess.getValueRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1478,7 +1478,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:556:1: ruleValueRule returns [EObject current=null] : (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) ;
+    // InternalOptimisationLanguage.g:556:1: ruleValueRule returns [EObject current=null] : (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) ;
     public final EObject ruleValueRule() throws RecognitionException {
         EObject current = null;
 
@@ -1495,10 +1495,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:562:2: ( (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:563:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule )
+            // InternalOptimisationLanguage.g:562:2: ( (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) )
+            // InternalOptimisationLanguage.g:563:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:563:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule )
+            // InternalOptimisationLanguage.g:563:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule )
             int alt7=4;
             switch ( input.LA(1) ) {
             case 21:
@@ -1535,7 +1535,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt7) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:564:3: this_ArrayRule_0= ruleArrayRule
+                    // InternalOptimisationLanguage.g:564:3: this_ArrayRule_0= ruleArrayRule
                     {
 
                     			newCompositeNode(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0());
@@ -1553,7 +1553,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:573:3: this_DataReferenceRule_1= ruleDataReferenceRule
+                    // InternalOptimisationLanguage.g:573:3: this_DataReferenceRule_1= ruleDataReferenceRule
                     {
 
                     			newCompositeNode(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1());
@@ -1571,7 +1571,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:582:3: this_InstanceRule_2= ruleInstanceRule
+                    // InternalOptimisationLanguage.g:582:3: this_InstanceRule_2= ruleInstanceRule
                     {
 
                     			newCompositeNode(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2());
@@ -1589,7 +1589,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:591:3: this_LiteralValueRule_3= ruleLiteralValueRule
+                    // InternalOptimisationLanguage.g:591:3: this_LiteralValueRule_3= ruleLiteralValueRule
                     {
 
                     			newCompositeNode(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3());
@@ -1629,7 +1629,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleArrayRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:603:1: entryRuleArrayRule returns [EObject current=null] : iv_ruleArrayRule= ruleArrayRule EOF ;
+    // InternalOptimisationLanguage.g:603:1: entryRuleArrayRule returns [EObject current=null] : iv_ruleArrayRule= ruleArrayRule EOF ;
     public final EObject entryRuleArrayRule() throws RecognitionException {
         EObject current = null;
 
@@ -1637,8 +1637,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:603:50: (iv_ruleArrayRule= ruleArrayRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:604:2: iv_ruleArrayRule= ruleArrayRule EOF
+            // InternalOptimisationLanguage.g:603:50: (iv_ruleArrayRule= ruleArrayRule EOF )
+            // InternalOptimisationLanguage.g:604:2: iv_ruleArrayRule= ruleArrayRule EOF
             {
              newCompositeNode(grammarAccess.getArrayRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1665,7 +1665,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleArrayRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:610:1: ruleArrayRule returns [EObject current=null] : ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) ;
+    // InternalOptimisationLanguage.g:610:1: ruleArrayRule returns [EObject current=null] : ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) ;
     public final EObject ruleArrayRule() throws RecognitionException {
         EObject current = null;
 
@@ -1681,14 +1681,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:616:2: ( ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:617:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' )
+            // InternalOptimisationLanguage.g:616:2: ( ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) )
+            // InternalOptimisationLanguage.g:617:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:617:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' )
-            // InternalEvolutionaryAlgorithmLanguage.g:618:3: () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']'
+            // InternalOptimisationLanguage.g:617:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' )
+            // InternalOptimisationLanguage.g:618:3: () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:618:3: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:619:4: 
+            // InternalOptimisationLanguage.g:618:3: ()
+            // InternalOptimisationLanguage.g:619:4: 
             {
 
             				current = forceCreateModelElement(
@@ -1702,7 +1702,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             			newLeafNode(otherlv_1, grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:629:3: ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )?
+            // InternalOptimisationLanguage.g:629:3: ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )?
             int alt9=2;
             int LA9_0 = input.LA(1);
 
@@ -1711,13 +1711,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt9) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:630:4: ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )*
+                    // InternalOptimisationLanguage.g:630:4: ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )*
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:630:4: ( (lv_values_2_0= ruleValueRule ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:631:5: (lv_values_2_0= ruleValueRule )
+                    // InternalOptimisationLanguage.g:630:4: ( (lv_values_2_0= ruleValueRule ) )
+                    // InternalOptimisationLanguage.g:631:5: (lv_values_2_0= ruleValueRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:631:5: (lv_values_2_0= ruleValueRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:632:6: lv_values_2_0= ruleValueRule
+                    // InternalOptimisationLanguage.g:631:5: (lv_values_2_0= ruleValueRule )
+                    // InternalOptimisationLanguage.g:632:6: lv_values_2_0= ruleValueRule
                     {
 
                     						newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0());
@@ -1744,7 +1744,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                     }
 
-                    // InternalEvolutionaryAlgorithmLanguage.g:649:4: (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )*
+                    // InternalOptimisationLanguage.g:649:4: (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )*
                     loop8:
                     do {
                         int alt8=2;
@@ -1757,17 +1757,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                         switch (alt8) {
                     	case 1 :
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:650:5: otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) )
+                    	    // InternalOptimisationLanguage.g:650:5: otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) )
                     	    {
                     	    otherlv_3=(Token)match(input,22,FOLLOW_12); 
 
                     	    					newLeafNode(otherlv_3, grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0());
                     	    				
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:654:5: ( (lv_values_4_0= ruleValueRule ) )
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:655:6: (lv_values_4_0= ruleValueRule )
+                    	    // InternalOptimisationLanguage.g:654:5: ( (lv_values_4_0= ruleValueRule ) )
+                    	    // InternalOptimisationLanguage.g:655:6: (lv_values_4_0= ruleValueRule )
                     	    {
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:655:6: (lv_values_4_0= ruleValueRule )
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:656:7: lv_values_4_0= ruleValueRule
+                    	    // InternalOptimisationLanguage.g:655:6: (lv_values_4_0= ruleValueRule )
+                    	    // InternalOptimisationLanguage.g:656:7: lv_values_4_0= ruleValueRule
                     	    {
 
                     	    							newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0());
@@ -1836,7 +1836,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:683:1: entryRuleLiteralValueRule returns [EObject current=null] : iv_ruleLiteralValueRule= ruleLiteralValueRule EOF ;
+    // InternalOptimisationLanguage.g:683:1: entryRuleLiteralValueRule returns [EObject current=null] : iv_ruleLiteralValueRule= ruleLiteralValueRule EOF ;
     public final EObject entryRuleLiteralValueRule() throws RecognitionException {
         EObject current = null;
 
@@ -1844,8 +1844,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:683:57: (iv_ruleLiteralValueRule= ruleLiteralValueRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:684:2: iv_ruleLiteralValueRule= ruleLiteralValueRule EOF
+            // InternalOptimisationLanguage.g:683:57: (iv_ruleLiteralValueRule= ruleLiteralValueRule EOF )
+            // InternalOptimisationLanguage.g:684:2: iv_ruleLiteralValueRule= ruleLiteralValueRule EOF
             {
              newCompositeNode(grammarAccess.getLiteralValueRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1872,7 +1872,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralValueRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:690:1: ruleLiteralValueRule returns [EObject current=null] : ( (lv_literal_0_0= ruleLiteralRule ) ) ;
+    // InternalOptimisationLanguage.g:690:1: ruleLiteralValueRule returns [EObject current=null] : ( (lv_literal_0_0= ruleLiteralRule ) ) ;
     public final EObject ruleLiteralValueRule() throws RecognitionException {
         EObject current = null;
 
@@ -1883,14 +1883,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:696:2: ( ( (lv_literal_0_0= ruleLiteralRule ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:697:2: ( (lv_literal_0_0= ruleLiteralRule ) )
+            // InternalOptimisationLanguage.g:696:2: ( ( (lv_literal_0_0= ruleLiteralRule ) ) )
+            // InternalOptimisationLanguage.g:697:2: ( (lv_literal_0_0= ruleLiteralRule ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:697:2: ( (lv_literal_0_0= ruleLiteralRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:698:3: (lv_literal_0_0= ruleLiteralRule )
+            // InternalOptimisationLanguage.g:697:2: ( (lv_literal_0_0= ruleLiteralRule ) )
+            // InternalOptimisationLanguage.g:698:3: (lv_literal_0_0= ruleLiteralRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:698:3: (lv_literal_0_0= ruleLiteralRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:699:4: lv_literal_0_0= ruleLiteralRule
+            // InternalOptimisationLanguage.g:698:3: (lv_literal_0_0= ruleLiteralRule )
+            // InternalOptimisationLanguage.g:699:4: lv_literal_0_0= ruleLiteralRule
             {
 
             				newCompositeNode(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0());
@@ -1937,7 +1937,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleDataReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:719:1: entryRuleDataReferenceRule returns [EObject current=null] : iv_ruleDataReferenceRule= ruleDataReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:719:1: entryRuleDataReferenceRule returns [EObject current=null] : iv_ruleDataReferenceRule= ruleDataReferenceRule EOF ;
     public final EObject entryRuleDataReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -1945,8 +1945,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:719:58: (iv_ruleDataReferenceRule= ruleDataReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:720:2: iv_ruleDataReferenceRule= ruleDataReferenceRule EOF
+            // InternalOptimisationLanguage.g:719:58: (iv_ruleDataReferenceRule= ruleDataReferenceRule EOF )
+            // InternalOptimisationLanguage.g:720:2: iv_ruleDataReferenceRule= ruleDataReferenceRule EOF
             {
              newCompositeNode(grammarAccess.getDataReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -1973,7 +1973,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleDataReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:726:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ;
+    // InternalOptimisationLanguage.g:726:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ;
     public final EObject ruleDataReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -1983,14 +1983,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:732:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:733:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:732:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) )
+            // InternalOptimisationLanguage.g:733:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:733:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:734:3: () otherlv_1= 'data' ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:733:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) )
+            // InternalOptimisationLanguage.g:734:3: () otherlv_1= 'data' ( ( ruleStringOrId ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:734:3: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:735:4: 
+            // InternalOptimisationLanguage.g:734:3: ()
+            // InternalOptimisationLanguage.g:735:4: 
             {
 
             				current = forceCreateModelElement(
@@ -2004,11 +2004,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             			newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:745:3: ( ( ruleStringOrId ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:746:4: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:745:3: ( ( ruleStringOrId ) )
+            // InternalOptimisationLanguage.g:746:4: ( ruleStringOrId )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:746:4: ( ruleStringOrId )
-            // InternalEvolutionaryAlgorithmLanguage.g:747:5: ruleStringOrId
+            // InternalOptimisationLanguage.g:746:4: ( ruleStringOrId )
+            // InternalOptimisationLanguage.g:747:5: ruleStringOrId
             {
 
             					if (current==null) {
@@ -2055,7 +2055,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:765:1: entryRuleExpressionRule returns [EObject current=null] : iv_ruleExpressionRule= ruleExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:765:1: entryRuleExpressionRule returns [EObject current=null] : iv_ruleExpressionRule= ruleExpressionRule EOF ;
     public final EObject entryRuleExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2063,8 +2063,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:765:55: (iv_ruleExpressionRule= ruleExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:766:2: iv_ruleExpressionRule= ruleExpressionRule EOF
+            // InternalOptimisationLanguage.g:765:55: (iv_ruleExpressionRule= ruleExpressionRule EOF )
+            // InternalOptimisationLanguage.g:766:2: iv_ruleExpressionRule= ruleExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2091,7 +2091,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:772:1: ruleExpressionRule returns [EObject current=null] : this_OrExpressionRule_0= ruleOrExpressionRule ;
+    // InternalOptimisationLanguage.g:772:1: ruleExpressionRule returns [EObject current=null] : this_OrExpressionRule_0= ruleOrExpressionRule ;
     public final EObject ruleExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2102,8 +2102,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:778:2: (this_OrExpressionRule_0= ruleOrExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:779:2: this_OrExpressionRule_0= ruleOrExpressionRule
+            // InternalOptimisationLanguage.g:778:2: (this_OrExpressionRule_0= ruleOrExpressionRule )
+            // InternalOptimisationLanguage.g:779:2: this_OrExpressionRule_0= ruleOrExpressionRule
             {
 
             		newCompositeNode(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall());
@@ -2137,7 +2137,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleOrExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:790:1: entryRuleOrExpressionRule returns [EObject current=null] : iv_ruleOrExpressionRule= ruleOrExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:790:1: entryRuleOrExpressionRule returns [EObject current=null] : iv_ruleOrExpressionRule= ruleOrExpressionRule EOF ;
     public final EObject entryRuleOrExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2145,8 +2145,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:790:57: (iv_ruleOrExpressionRule= ruleOrExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:791:2: iv_ruleOrExpressionRule= ruleOrExpressionRule EOF
+            // InternalOptimisationLanguage.g:790:57: (iv_ruleOrExpressionRule= ruleOrExpressionRule EOF )
+            // InternalOptimisationLanguage.g:791:2: iv_ruleOrExpressionRule= ruleOrExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getOrExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2173,7 +2173,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleOrExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:797:1: ruleOrExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) ;
+    // InternalOptimisationLanguage.g:797:1: ruleOrExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) ;
     public final EObject ruleOrExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2187,17 +2187,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:803:2: ( ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:804:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:803:2: ( ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) )
+            // InternalOptimisationLanguage.g:804:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:804:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:805:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:804:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:805:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:805:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:806:4: (lv_subExpressions_0_0= ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:805:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) )
+            // InternalOptimisationLanguage.g:806:4: (lv_subExpressions_0_0= ruleXorExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:806:4: (lv_subExpressions_0_0= ruleXorExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:807:5: lv_subExpressions_0_0= ruleXorExpressionRule
+            // InternalOptimisationLanguage.g:806:4: (lv_subExpressions_0_0= ruleXorExpressionRule )
+            // InternalOptimisationLanguage.g:807:5: lv_subExpressions_0_0= ruleXorExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0());
@@ -2224,7 +2224,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:824:3: (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:824:3: (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )*
             loop10:
             do {
                 int alt10=2;
@@ -2237,17 +2237,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt10) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:825:4: otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:825:4: otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) )
             	    {
             	    otherlv_1=(Token)match(input,25,FOLLOW_17); 
 
             	    				newLeafNode(otherlv_1, grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0());
             	    			
-            	    // InternalEvolutionaryAlgorithmLanguage.g:829:4: ( (lv_subExpressions_2_0= ruleXorExpressionRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:830:5: (lv_subExpressions_2_0= ruleXorExpressionRule )
+            	    // InternalOptimisationLanguage.g:829:4: ( (lv_subExpressions_2_0= ruleXorExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:830:5: (lv_subExpressions_2_0= ruleXorExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:830:5: (lv_subExpressions_2_0= ruleXorExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:831:6: lv_subExpressions_2_0= ruleXorExpressionRule
+            	    // InternalOptimisationLanguage.g:830:5: (lv_subExpressions_2_0= ruleXorExpressionRule )
+            	    // InternalOptimisationLanguage.g:831:6: lv_subExpressions_2_0= ruleXorExpressionRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0());
@@ -2306,7 +2306,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleXorExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:853:1: entryRuleXorExpressionRule returns [EObject current=null] : iv_ruleXorExpressionRule= ruleXorExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:853:1: entryRuleXorExpressionRule returns [EObject current=null] : iv_ruleXorExpressionRule= ruleXorExpressionRule EOF ;
     public final EObject entryRuleXorExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2314,8 +2314,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:853:58: (iv_ruleXorExpressionRule= ruleXorExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:854:2: iv_ruleXorExpressionRule= ruleXorExpressionRule EOF
+            // InternalOptimisationLanguage.g:853:58: (iv_ruleXorExpressionRule= ruleXorExpressionRule EOF )
+            // InternalOptimisationLanguage.g:854:2: iv_ruleXorExpressionRule= ruleXorExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getXorExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2342,7 +2342,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleXorExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:860:1: ruleXorExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) ;
+    // InternalOptimisationLanguage.g:860:1: ruleXorExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) ;
     public final EObject ruleXorExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2356,17 +2356,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:866:2: ( ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:867:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:866:2: ( ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) )
+            // InternalOptimisationLanguage.g:867:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:867:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:868:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:867:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:868:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:868:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:869:4: (lv_subExpressions_0_0= ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:868:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) )
+            // InternalOptimisationLanguage.g:869:4: (lv_subExpressions_0_0= ruleAndExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:869:4: (lv_subExpressions_0_0= ruleAndExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:870:5: lv_subExpressions_0_0= ruleAndExpressionRule
+            // InternalOptimisationLanguage.g:869:4: (lv_subExpressions_0_0= ruleAndExpressionRule )
+            // InternalOptimisationLanguage.g:870:5: lv_subExpressions_0_0= ruleAndExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0());
@@ -2393,7 +2393,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:887:3: (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:887:3: (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )*
             loop11:
             do {
                 int alt11=2;
@@ -2406,17 +2406,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt11) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:888:4: otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:888:4: otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) )
             	    {
             	    otherlv_1=(Token)match(input,26,FOLLOW_17); 
 
             	    				newLeafNode(otherlv_1, grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0());
             	    			
-            	    // InternalEvolutionaryAlgorithmLanguage.g:892:4: ( (lv_subExpressions_2_0= ruleAndExpressionRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:893:5: (lv_subExpressions_2_0= ruleAndExpressionRule )
+            	    // InternalOptimisationLanguage.g:892:4: ( (lv_subExpressions_2_0= ruleAndExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:893:5: (lv_subExpressions_2_0= ruleAndExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:893:5: (lv_subExpressions_2_0= ruleAndExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:894:6: lv_subExpressions_2_0= ruleAndExpressionRule
+            	    // InternalOptimisationLanguage.g:893:5: (lv_subExpressions_2_0= ruleAndExpressionRule )
+            	    // InternalOptimisationLanguage.g:894:6: lv_subExpressions_2_0= ruleAndExpressionRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0());
@@ -2475,7 +2475,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAndExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:916:1: entryRuleAndExpressionRule returns [EObject current=null] : iv_ruleAndExpressionRule= ruleAndExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:916:1: entryRuleAndExpressionRule returns [EObject current=null] : iv_ruleAndExpressionRule= ruleAndExpressionRule EOF ;
     public final EObject entryRuleAndExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2483,8 +2483,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:916:58: (iv_ruleAndExpressionRule= ruleAndExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:917:2: iv_ruleAndExpressionRule= ruleAndExpressionRule EOF
+            // InternalOptimisationLanguage.g:916:58: (iv_ruleAndExpressionRule= ruleAndExpressionRule EOF )
+            // InternalOptimisationLanguage.g:917:2: iv_ruleAndExpressionRule= ruleAndExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getAndExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2511,7 +2511,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAndExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:923:1: ruleAndExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) ;
+    // InternalOptimisationLanguage.g:923:1: ruleAndExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) ;
     public final EObject ruleAndExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2525,17 +2525,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:929:2: ( ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:930:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:929:2: ( ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) )
+            // InternalOptimisationLanguage.g:930:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:930:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:931:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:930:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:931:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:931:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:932:4: (lv_subExpressions_0_0= ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:931:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) )
+            // InternalOptimisationLanguage.g:932:4: (lv_subExpressions_0_0= ruleNotExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:932:4: (lv_subExpressions_0_0= ruleNotExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:933:5: lv_subExpressions_0_0= ruleNotExpressionRule
+            // InternalOptimisationLanguage.g:932:4: (lv_subExpressions_0_0= ruleNotExpressionRule )
+            // InternalOptimisationLanguage.g:933:5: lv_subExpressions_0_0= ruleNotExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0());
@@ -2562,7 +2562,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:950:3: (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:950:3: (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )*
             loop12:
             do {
                 int alt12=2;
@@ -2575,17 +2575,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt12) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:951:4: otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:951:4: otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) )
             	    {
             	    otherlv_1=(Token)match(input,27,FOLLOW_17); 
 
             	    				newLeafNode(otherlv_1, grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0());
             	    			
-            	    // InternalEvolutionaryAlgorithmLanguage.g:955:4: ( (lv_subExpressions_2_0= ruleNotExpressionRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:956:5: (lv_subExpressions_2_0= ruleNotExpressionRule )
+            	    // InternalOptimisationLanguage.g:955:4: ( (lv_subExpressions_2_0= ruleNotExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:956:5: (lv_subExpressions_2_0= ruleNotExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:956:5: (lv_subExpressions_2_0= ruleNotExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:957:6: lv_subExpressions_2_0= ruleNotExpressionRule
+            	    // InternalOptimisationLanguage.g:956:5: (lv_subExpressions_2_0= ruleNotExpressionRule )
+            	    // InternalOptimisationLanguage.g:957:6: lv_subExpressions_2_0= ruleNotExpressionRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0());
@@ -2644,7 +2644,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNotExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:979:1: entryRuleNotExpressionRule returns [EObject current=null] : iv_ruleNotExpressionRule= ruleNotExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:979:1: entryRuleNotExpressionRule returns [EObject current=null] : iv_ruleNotExpressionRule= ruleNotExpressionRule EOF ;
     public final EObject entryRuleNotExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2652,8 +2652,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:979:58: (iv_ruleNotExpressionRule= ruleNotExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:980:2: iv_ruleNotExpressionRule= ruleNotExpressionRule EOF
+            // InternalOptimisationLanguage.g:979:58: (iv_ruleNotExpressionRule= ruleNotExpressionRule EOF )
+            // InternalOptimisationLanguage.g:980:2: iv_ruleNotExpressionRule= ruleNotExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getNotExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2680,7 +2680,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNotExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:986:1: ruleNotExpressionRule returns [EObject current=null] : ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) ;
+    // InternalOptimisationLanguage.g:986:1: ruleNotExpressionRule returns [EObject current=null] : ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) ;
     public final EObject ruleNotExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2692,13 +2692,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:992:2: ( ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:993:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) )
+            // InternalOptimisationLanguage.g:992:2: ( ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) )
+            // InternalOptimisationLanguage.g:993:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:993:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:994:3: ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) )
+            // InternalOptimisationLanguage.g:993:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) )
+            // InternalOptimisationLanguage.g:994:3: ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:994:3: ( (lv_negated_0_0= '!' ) )?
+            // InternalOptimisationLanguage.g:994:3: ( (lv_negated_0_0= '!' ) )?
             int alt13=2;
             int LA13_0 = input.LA(1);
 
@@ -2707,10 +2707,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt13) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:995:4: (lv_negated_0_0= '!' )
+                    // InternalOptimisationLanguage.g:995:4: (lv_negated_0_0= '!' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:995:4: (lv_negated_0_0= '!' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:996:5: lv_negated_0_0= '!'
+                    // InternalOptimisationLanguage.g:995:4: (lv_negated_0_0= '!' )
+                    // InternalOptimisationLanguage.g:996:5: lv_negated_0_0= '!'
                     {
                     lv_negated_0_0=(Token)match(input,28,FOLLOW_17); 
 
@@ -2731,11 +2731,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1008:3: ( (lv_operand_1_0= ruleComparisonExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1009:4: (lv_operand_1_0= ruleComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:1008:3: ( (lv_operand_1_0= ruleComparisonExpressionRule ) )
+            // InternalOptimisationLanguage.g:1009:4: (lv_operand_1_0= ruleComparisonExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1009:4: (lv_operand_1_0= ruleComparisonExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1010:5: lv_operand_1_0= ruleComparisonExpressionRule
+            // InternalOptimisationLanguage.g:1009:4: (lv_operand_1_0= ruleComparisonExpressionRule )
+            // InternalOptimisationLanguage.g:1010:5: lv_operand_1_0= ruleComparisonExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0());
@@ -2785,7 +2785,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1031:1: entryRuleComparisonExpressionRule returns [EObject current=null] : iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1031:1: entryRuleComparisonExpressionRule returns [EObject current=null] : iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF ;
     public final EObject entryRuleComparisonExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2793,8 +2793,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1031:65: (iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1032:2: iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF
+            // InternalOptimisationLanguage.g:1031:65: (iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1032:2: iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getComparisonExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2821,7 +2821,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1038:1: ruleComparisonExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) ;
+    // InternalOptimisationLanguage.g:1038:1: ruleComparisonExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) ;
     public final EObject ruleComparisonExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2834,17 +2834,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1044:2: ( ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1045:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* )
+            // InternalOptimisationLanguage.g:1044:2: ( ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) )
+            // InternalOptimisationLanguage.g:1045:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1045:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1046:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )*
+            // InternalOptimisationLanguage.g:1045:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* )
+            // InternalOptimisationLanguage.g:1046:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1046:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1047:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1046:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:1047:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1047:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1048:5: lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:1047:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1048:5: lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0());
@@ -2871,7 +2871,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1065:3: ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )*
+            // InternalOptimisationLanguage.g:1065:3: ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )*
             loop14:
             do {
                 int alt14=2;
@@ -2884,10 +2884,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt14) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1066:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule )
+            	    // InternalOptimisationLanguage.g:1066:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1066:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1067:5: lv_comparison_1_0= rulePartialComparisonExpressionRule
+            	    // InternalOptimisationLanguage.g:1066:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule )
+            	    // InternalOptimisationLanguage.g:1067:5: lv_comparison_1_0= rulePartialComparisonExpressionRule
             	    {
 
             	    					newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0());
@@ -2943,7 +2943,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRulePartialComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1088:1: entryRulePartialComparisonExpressionRule returns [EObject current=null] : iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1088:1: entryRulePartialComparisonExpressionRule returns [EObject current=null] : iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF ;
     public final EObject entryRulePartialComparisonExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2951,8 +2951,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1088:72: (iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1089:2: iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF
+            // InternalOptimisationLanguage.g:1088:72: (iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1089:2: iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -2979,7 +2979,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rulePartialComparisonExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1095:1: rulePartialComparisonExpressionRule returns [EObject current=null] : ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) ;
+    // InternalOptimisationLanguage.g:1095:1: rulePartialComparisonExpressionRule returns [EObject current=null] : ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) ;
     public final EObject rulePartialComparisonExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -2992,17 +2992,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1101:2: ( ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1102:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) )
+            // InternalOptimisationLanguage.g:1101:2: ( ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) )
+            // InternalOptimisationLanguage.g:1102:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1102:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1103:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:1102:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) )
+            // InternalOptimisationLanguage.g:1103:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1103:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1104:4: (lv_operator_0_0= ruleComparisonOperatorRule )
+            // InternalOptimisationLanguage.g:1103:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) )
+            // InternalOptimisationLanguage.g:1104:4: (lv_operator_0_0= ruleComparisonOperatorRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1104:4: (lv_operator_0_0= ruleComparisonOperatorRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1105:5: lv_operator_0_0= ruleComparisonOperatorRule
+            // InternalOptimisationLanguage.g:1104:4: (lv_operator_0_0= ruleComparisonOperatorRule )
+            // InternalOptimisationLanguage.g:1105:5: lv_operator_0_0= ruleComparisonOperatorRule
             {
 
             					newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0());
@@ -3029,11 +3029,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1122:3: ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1123:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1122:3: ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:1123:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1123:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1124:5: lv_subExpression_1_0= ruleAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:1123:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1124:5: lv_subExpression_1_0= ruleAddOrSubtractExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0());
@@ -3083,7 +3083,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1145:1: entryRuleAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1145:1: entryRuleAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF ;
     public final EObject entryRuleAddOrSubtractExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3091,8 +3091,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1145:68: (iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1146:2: iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF
+            // InternalOptimisationLanguage.g:1145:68: (iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1146:2: iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -3119,7 +3119,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1152:1: ruleAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) ;
+    // InternalOptimisationLanguage.g:1152:1: ruleAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) ;
     public final EObject ruleAddOrSubtractExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3134,17 +3134,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1158:2: ( ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1159:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:1158:2: ( ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) )
+            // InternalOptimisationLanguage.g:1159:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1159:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1160:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:1159:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:1160:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1160:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1161:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:1160:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) )
+            // InternalOptimisationLanguage.g:1161:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1161:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1162:5: lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule
+            // InternalOptimisationLanguage.g:1161:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule )
+            // InternalOptimisationLanguage.g:1162:5: lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0());
@@ -3171,7 +3171,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1179:3: ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:1179:3: ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )*
             loop15:
             do {
                 int alt15=2;
@@ -3184,13 +3184,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt15) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1180:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:1180:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1180:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1181:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule )
+            	    // InternalOptimisationLanguage.g:1180:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) )
+            	    // InternalOptimisationLanguage.g:1181:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1181:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1182:6: lv_operators_1_0= ruleAddOrSubtractOperatorRule
+            	    // InternalOptimisationLanguage.g:1181:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule )
+            	    // InternalOptimisationLanguage.g:1182:6: lv_operators_1_0= ruleAddOrSubtractOperatorRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0());
@@ -3217,11 +3217,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             	    }
 
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1199:4: ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1200:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule )
+            	    // InternalOptimisationLanguage.g:1199:4: ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:1200:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1200:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1201:6: lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule
+            	    // InternalOptimisationLanguage.g:1200:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule )
+            	    // InternalOptimisationLanguage.g:1201:6: lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0());
@@ -3280,7 +3280,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleMultiplyDivideModuloExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1223:1: entryRuleMultiplyDivideModuloExpressionRule returns [EObject current=null] : iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1223:1: entryRuleMultiplyDivideModuloExpressionRule returns [EObject current=null] : iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF ;
     public final EObject entryRuleMultiplyDivideModuloExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3288,8 +3288,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1223:75: (iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1224:2: iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF
+            // InternalOptimisationLanguage.g:1223:75: (iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1224:2: iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -3316,7 +3316,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMultiplyDivideModuloExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1230:1: ruleMultiplyDivideModuloExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) ;
+    // InternalOptimisationLanguage.g:1230:1: ruleMultiplyDivideModuloExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) ;
     public final EObject ruleMultiplyDivideModuloExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3331,17 +3331,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1236:2: ( ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1237:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:1236:2: ( ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) )
+            // InternalOptimisationLanguage.g:1237:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1237:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* )
-            // InternalEvolutionaryAlgorithmLanguage.g:1238:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:1237:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* )
+            // InternalOptimisationLanguage.g:1238:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )*
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1238:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1239:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:1238:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) )
+            // InternalOptimisationLanguage.g:1239:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1239:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1240:5: lv_leftOperand_0_0= rulePowerOfExpressionRule
+            // InternalOptimisationLanguage.g:1239:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule )
+            // InternalOptimisationLanguage.g:1240:5: lv_leftOperand_0_0= rulePowerOfExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0());
@@ -3368,7 +3368,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1257:3: ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )*
+            // InternalOptimisationLanguage.g:1257:3: ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )*
             loop16:
             do {
                 int alt16=2;
@@ -3381,13 +3381,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt16) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1258:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:1258:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1258:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1259:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule )
+            	    // InternalOptimisationLanguage.g:1258:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) )
+            	    // InternalOptimisationLanguage.g:1259:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1259:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1260:6: lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule
+            	    // InternalOptimisationLanguage.g:1259:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule )
+            	    // InternalOptimisationLanguage.g:1260:6: lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0());
@@ -3414,11 +3414,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             	    }
 
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1277:4: ( (lv_operands_2_0= rulePowerOfExpressionRule ) )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1278:5: (lv_operands_2_0= rulePowerOfExpressionRule )
+            	    // InternalOptimisationLanguage.g:1277:4: ( (lv_operands_2_0= rulePowerOfExpressionRule ) )
+            	    // InternalOptimisationLanguage.g:1278:5: (lv_operands_2_0= rulePowerOfExpressionRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1278:5: (lv_operands_2_0= rulePowerOfExpressionRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1279:6: lv_operands_2_0= rulePowerOfExpressionRule
+            	    // InternalOptimisationLanguage.g:1278:5: (lv_operands_2_0= rulePowerOfExpressionRule )
+            	    // InternalOptimisationLanguage.g:1279:6: lv_operands_2_0= rulePowerOfExpressionRule
             	    {
 
             	    						newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0());
@@ -3477,7 +3477,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRulePowerOfExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1301:1: entryRulePowerOfExpressionRule returns [EObject current=null] : iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1301:1: entryRulePowerOfExpressionRule returns [EObject current=null] : iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF ;
     public final EObject entryRulePowerOfExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3485,8 +3485,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1301:62: (iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1302:2: iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF
+            // InternalOptimisationLanguage.g:1301:62: (iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1302:2: iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getPowerOfExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -3513,7 +3513,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "rulePowerOfExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1308:1: rulePowerOfExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) ;
+    // InternalOptimisationLanguage.g:1308:1: rulePowerOfExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) ;
     public final EObject rulePowerOfExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3527,17 +3527,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1314:2: ( ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1315:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? )
+            // InternalOptimisationLanguage.g:1314:2: ( ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) )
+            // InternalOptimisationLanguage.g:1315:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1315:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:1316:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )?
+            // InternalOptimisationLanguage.g:1315:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? )
+            // InternalOptimisationLanguage.g:1316:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )?
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1316:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1317:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1316:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) )
+            // InternalOptimisationLanguage.g:1317:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1317:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1318:5: lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule
+            // InternalOptimisationLanguage.g:1317:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule )
+            // InternalOptimisationLanguage.g:1318:5: lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0());
@@ -3564,7 +3564,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1335:3: (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )?
+            // InternalOptimisationLanguage.g:1335:3: (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )?
             int alt17=2;
             int LA17_0 = input.LA(1);
 
@@ -3573,17 +3573,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt17) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1336:4: otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) )
+                    // InternalOptimisationLanguage.g:1336:4: otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) )
                     {
                     otherlv_1=(Token)match(input,29,FOLLOW_17); 
 
                     				newLeafNode(otherlv_1, grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0());
                     			
-                    // InternalEvolutionaryAlgorithmLanguage.g:1340:4: ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1341:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule )
+                    // InternalOptimisationLanguage.g:1340:4: ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) )
+                    // InternalOptimisationLanguage.g:1341:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1341:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1342:6: lv_rightOperand_2_0= rulePowerOfExpressionRule
+                    // InternalOptimisationLanguage.g:1341:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule )
+                    // InternalOptimisationLanguage.g:1342:6: lv_rightOperand_2_0= rulePowerOfExpressionRule
                     {
 
                     						newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0());
@@ -3639,7 +3639,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleUnaryAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1364:1: entryRuleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF ;
+    // InternalOptimisationLanguage.g:1364:1: entryRuleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF ;
     public final EObject entryRuleUnaryAddOrSubtractExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3647,8 +3647,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1364:73: (iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1365:2: iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF
+            // InternalOptimisationLanguage.g:1364:73: (iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF )
+            // InternalOptimisationLanguage.g:1365:2: iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF
             {
              newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -3675,7 +3675,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleUnaryAddOrSubtractExpressionRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1371:1: ruleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) ;
+    // InternalOptimisationLanguage.g:1371:1: ruleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) ;
     public final EObject ruleUnaryAddOrSubtractExpressionRule() throws RecognitionException {
         EObject current = null;
 
@@ -3688,13 +3688,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1377:2: ( ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1378:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) )
+            // InternalOptimisationLanguage.g:1377:2: ( ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) )
+            // InternalOptimisationLanguage.g:1378:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1378:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1379:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) )
+            // InternalOptimisationLanguage.g:1378:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) )
+            // InternalOptimisationLanguage.g:1379:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1379:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )*
+            // InternalOptimisationLanguage.g:1379:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )*
             loop18:
             do {
                 int alt18=2;
@@ -3707,10 +3707,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                 switch (alt18) {
             	case 1 :
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1380:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule )
+            	    // InternalOptimisationLanguage.g:1380:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule )
             	    {
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1380:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule )
-            	    // InternalEvolutionaryAlgorithmLanguage.g:1381:5: lv_operators_0_0= ruleAddOrSubtractOperatorRule
+            	    // InternalOptimisationLanguage.g:1380:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule )
+            	    // InternalOptimisationLanguage.g:1381:5: lv_operators_0_0= ruleAddOrSubtractOperatorRule
             	    {
 
             	    					newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0());
@@ -3743,11 +3743,11 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                 }
             } while (true);
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1398:3: ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1399:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule )
+            // InternalOptimisationLanguage.g:1398:3: ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) )
+            // InternalOptimisationLanguage.g:1399:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1399:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1400:5: lv_subExpression_1_0= ruleLiteralOrReferenceRule
+            // InternalOptimisationLanguage.g:1399:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule )
+            // InternalOptimisationLanguage.g:1400:5: lv_subExpression_1_0= ruleLiteralOrReferenceRule
             {
 
             					newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0());
@@ -3797,7 +3797,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralOrReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1421:1: entryRuleLiteralOrReferenceRule returns [EObject current=null] : iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:1421:1: entryRuleLiteralOrReferenceRule returns [EObject current=null] : iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF ;
     public final EObject entryRuleLiteralOrReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -3805,8 +3805,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1421:63: (iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1422:2: iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF
+            // InternalOptimisationLanguage.g:1421:63: (iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF )
+            // InternalOptimisationLanguage.g:1422:2: iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF
             {
              newCompositeNode(grammarAccess.getLiteralOrReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -3833,7 +3833,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralOrReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1428:1: ruleLiteralOrReferenceRule returns [EObject current=null] : (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) ;
+    // InternalOptimisationLanguage.g:1428:1: ruleLiteralOrReferenceRule returns [EObject current=null] : (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) ;
     public final EObject ruleLiteralOrReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -3850,10 +3850,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1434:2: ( (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1435:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule )
+            // InternalOptimisationLanguage.g:1434:2: ( (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) )
+            // InternalOptimisationLanguage.g:1435:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1435:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule )
+            // InternalOptimisationLanguage.g:1435:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule )
             int alt19=4;
             switch ( input.LA(1) ) {
             case RULE_ID:
@@ -3889,7 +3889,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt19) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1436:3: this_CallRule_0= ruleCallRule
+                    // InternalOptimisationLanguage.g:1436:3: this_CallRule_0= ruleCallRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0());
@@ -3907,7 +3907,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1445:3: this_LiteralRule_1= ruleLiteralRule
+                    // InternalOptimisationLanguage.g:1445:3: this_LiteralRule_1= ruleLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1());
@@ -3925,7 +3925,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1454:3: this_ParanthesesRule_2= ruleParanthesesRule
+                    // InternalOptimisationLanguage.g:1454:3: this_ParanthesesRule_2= ruleParanthesesRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2());
@@ -3943,7 +3943,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1463:3: this_ValueReferenceRule_3= ruleValueReferenceRule
+                    // InternalOptimisationLanguage.g:1463:3: this_ValueReferenceRule_3= ruleValueReferenceRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3());
@@ -3983,7 +3983,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleParanthesesRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1475:1: entryRuleParanthesesRule returns [EObject current=null] : iv_ruleParanthesesRule= ruleParanthesesRule EOF ;
+    // InternalOptimisationLanguage.g:1475:1: entryRuleParanthesesRule returns [EObject current=null] : iv_ruleParanthesesRule= ruleParanthesesRule EOF ;
     public final EObject entryRuleParanthesesRule() throws RecognitionException {
         EObject current = null;
 
@@ -3991,8 +3991,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1475:56: (iv_ruleParanthesesRule= ruleParanthesesRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1476:2: iv_ruleParanthesesRule= ruleParanthesesRule EOF
+            // InternalOptimisationLanguage.g:1475:56: (iv_ruleParanthesesRule= ruleParanthesesRule EOF )
+            // InternalOptimisationLanguage.g:1476:2: iv_ruleParanthesesRule= ruleParanthesesRule EOF
             {
              newCompositeNode(grammarAccess.getParanthesesRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4019,7 +4019,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleParanthesesRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1482:1: ruleParanthesesRule returns [EObject current=null] : (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) ;
+    // InternalOptimisationLanguage.g:1482:1: ruleParanthesesRule returns [EObject current=null] : (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) ;
     public final EObject ruleParanthesesRule() throws RecognitionException {
         EObject current = null;
 
@@ -4032,21 +4032,21 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1488:2: ( (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1489:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' )
+            // InternalOptimisationLanguage.g:1488:2: ( (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) )
+            // InternalOptimisationLanguage.g:1489:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1489:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1490:3: otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')'
+            // InternalOptimisationLanguage.g:1489:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' )
+            // InternalOptimisationLanguage.g:1490:3: otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')'
             {
             otherlv_0=(Token)match(input,30,FOLLOW_17); 
 
             			newLeafNode(otherlv_0, grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:1494:3: ( (lv_subExpression_1_0= ruleExpressionRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1495:4: (lv_subExpression_1_0= ruleExpressionRule )
+            // InternalOptimisationLanguage.g:1494:3: ( (lv_subExpression_1_0= ruleExpressionRule ) )
+            // InternalOptimisationLanguage.g:1495:4: (lv_subExpression_1_0= ruleExpressionRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1495:4: (lv_subExpression_1_0= ruleExpressionRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1496:5: lv_subExpression_1_0= ruleExpressionRule
+            // InternalOptimisationLanguage.g:1495:4: (lv_subExpression_1_0= ruleExpressionRule )
+            // InternalOptimisationLanguage.g:1496:5: lv_subExpression_1_0= ruleExpressionRule
             {
 
             					newCompositeNode(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0());
@@ -4100,7 +4100,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleCallRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1521:1: entryRuleCallRule returns [EObject current=null] : iv_ruleCallRule= ruleCallRule EOF ;
+    // InternalOptimisationLanguage.g:1521:1: entryRuleCallRule returns [EObject current=null] : iv_ruleCallRule= ruleCallRule EOF ;
     public final EObject entryRuleCallRule() throws RecognitionException {
         EObject current = null;
 
@@ -4108,8 +4108,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1521:49: (iv_ruleCallRule= ruleCallRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1522:2: iv_ruleCallRule= ruleCallRule EOF
+            // InternalOptimisationLanguage.g:1521:49: (iv_ruleCallRule= ruleCallRule EOF )
+            // InternalOptimisationLanguage.g:1522:2: iv_ruleCallRule= ruleCallRule EOF
             {
              newCompositeNode(grammarAccess.getCallRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4136,7 +4136,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleCallRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1528:1: ruleCallRule returns [EObject current=null] : ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) ;
+    // InternalOptimisationLanguage.g:1528:1: ruleCallRule returns [EObject current=null] : ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) ;
     public final EObject ruleCallRule() throws RecognitionException {
         EObject current = null;
 
@@ -4154,17 +4154,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1534:2: ( ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1535:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' )
+            // InternalOptimisationLanguage.g:1534:2: ( ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) )
+            // InternalOptimisationLanguage.g:1535:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1535:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1536:3: ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')'
+            // InternalOptimisationLanguage.g:1535:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' )
+            // InternalOptimisationLanguage.g:1536:3: ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1536:3: ( (lv_function_0_0= ruleFunctionNameRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1537:4: (lv_function_0_0= ruleFunctionNameRule )
+            // InternalOptimisationLanguage.g:1536:3: ( (lv_function_0_0= ruleFunctionNameRule ) )
+            // InternalOptimisationLanguage.g:1537:4: (lv_function_0_0= ruleFunctionNameRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1537:4: (lv_function_0_0= ruleFunctionNameRule )
-            // InternalEvolutionaryAlgorithmLanguage.g:1538:5: lv_function_0_0= ruleFunctionNameRule
+            // InternalOptimisationLanguage.g:1537:4: (lv_function_0_0= ruleFunctionNameRule )
+            // InternalOptimisationLanguage.g:1538:5: lv_function_0_0= ruleFunctionNameRule
             {
 
             					newCompositeNode(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0());
@@ -4182,7 +4182,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             						current,
             						"function",
             						lv_function_0_0,
-            						"de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.FunctionNameRule");
+            						"de.evoal.languages.model.ol.dsl.OptimisationLanguage.FunctionNameRule");
             					afterParserOrEnumRuleCall();
             				
 
@@ -4195,7 +4195,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             			newLeafNode(otherlv_1, grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1());
             		
-            // InternalEvolutionaryAlgorithmLanguage.g:1559:3: ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )?
+            // InternalOptimisationLanguage.g:1559:3: ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )?
             int alt21=2;
             int LA21_0 = input.LA(1);
 
@@ -4204,13 +4204,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt21) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1560:4: ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )*
+                    // InternalOptimisationLanguage.g:1560:4: ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )*
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1560:4: ( (lv_parameters_2_0= ruleExpressionRule ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1561:5: (lv_parameters_2_0= ruleExpressionRule )
+                    // InternalOptimisationLanguage.g:1560:4: ( (lv_parameters_2_0= ruleExpressionRule ) )
+                    // InternalOptimisationLanguage.g:1561:5: (lv_parameters_2_0= ruleExpressionRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1561:5: (lv_parameters_2_0= ruleExpressionRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1562:6: lv_parameters_2_0= ruleExpressionRule
+                    // InternalOptimisationLanguage.g:1561:5: (lv_parameters_2_0= ruleExpressionRule )
+                    // InternalOptimisationLanguage.g:1562:6: lv_parameters_2_0= ruleExpressionRule
                     {
 
                     						newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0());
@@ -4237,7 +4237,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                     }
 
-                    // InternalEvolutionaryAlgorithmLanguage.g:1579:4: (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )*
+                    // InternalOptimisationLanguage.g:1579:4: (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )*
                     loop20:
                     do {
                         int alt20=2;
@@ -4250,17 +4250,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
                         switch (alt20) {
                     	case 1 :
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:1580:5: otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) )
+                    	    // InternalOptimisationLanguage.g:1580:5: otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) )
                     	    {
                     	    otherlv_3=(Token)match(input,22,FOLLOW_17); 
 
                     	    					newLeafNode(otherlv_3, grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0());
                     	    				
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:1584:5: ( (lv_parameters_4_0= ruleExpressionRule ) )
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:1585:6: (lv_parameters_4_0= ruleExpressionRule )
+                    	    // InternalOptimisationLanguage.g:1584:5: ( (lv_parameters_4_0= ruleExpressionRule ) )
+                    	    // InternalOptimisationLanguage.g:1585:6: (lv_parameters_4_0= ruleExpressionRule )
                     	    {
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:1585:6: (lv_parameters_4_0= ruleExpressionRule )
-                    	    // InternalEvolutionaryAlgorithmLanguage.g:1586:7: lv_parameters_4_0= ruleExpressionRule
+                    	    // InternalOptimisationLanguage.g:1585:6: (lv_parameters_4_0= ruleExpressionRule )
+                    	    // InternalOptimisationLanguage.g:1586:7: lv_parameters_4_0= ruleExpressionRule
                     	    {
 
                     	    							newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0());
@@ -4329,7 +4329,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleValueReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1613:1: entryRuleValueReferenceRule returns [EObject current=null] : iv_ruleValueReferenceRule= ruleValueReferenceRule EOF ;
+    // InternalOptimisationLanguage.g:1613:1: entryRuleValueReferenceRule returns [EObject current=null] : iv_ruleValueReferenceRule= ruleValueReferenceRule EOF ;
     public final EObject entryRuleValueReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -4337,8 +4337,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1613:59: (iv_ruleValueReferenceRule= ruleValueReferenceRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1614:2: iv_ruleValueReferenceRule= ruleValueReferenceRule EOF
+            // InternalOptimisationLanguage.g:1613:59: (iv_ruleValueReferenceRule= ruleValueReferenceRule EOF )
+            // InternalOptimisationLanguage.g:1614:2: iv_ruleValueReferenceRule= ruleValueReferenceRule EOF
             {
              newCompositeNode(grammarAccess.getValueReferenceRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4365,7 +4365,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleValueReferenceRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1620:1: ruleValueReferenceRule returns [EObject current=null] : ( () otherlv_1= 'value' ) ;
+    // InternalOptimisationLanguage.g:1620:1: ruleValueReferenceRule returns [EObject current=null] : ( () otherlv_1= 'value' ) ;
     public final EObject ruleValueReferenceRule() throws RecognitionException {
         EObject current = null;
 
@@ -4375,14 +4375,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1626:2: ( ( () otherlv_1= 'value' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1627:2: ( () otherlv_1= 'value' )
+            // InternalOptimisationLanguage.g:1626:2: ( ( () otherlv_1= 'value' ) )
+            // InternalOptimisationLanguage.g:1627:2: ( () otherlv_1= 'value' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1627:2: ( () otherlv_1= 'value' )
-            // InternalEvolutionaryAlgorithmLanguage.g:1628:3: () otherlv_1= 'value'
+            // InternalOptimisationLanguage.g:1627:2: ( () otherlv_1= 'value' )
+            // InternalOptimisationLanguage.g:1628:3: () otherlv_1= 'value'
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1628:3: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:1629:4: 
+            // InternalOptimisationLanguage.g:1628:3: ()
+            // InternalOptimisationLanguage.g:1629:4: 
             {
 
             				current = forceCreateModelElement(
@@ -4419,7 +4419,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1643:1: entryRuleLiteralRule returns [EObject current=null] : iv_ruleLiteralRule= ruleLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1643:1: entryRuleLiteralRule returns [EObject current=null] : iv_ruleLiteralRule= ruleLiteralRule EOF ;
     public final EObject entryRuleLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4427,8 +4427,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1643:52: (iv_ruleLiteralRule= ruleLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1644:2: iv_ruleLiteralRule= ruleLiteralRule EOF
+            // InternalOptimisationLanguage.g:1643:52: (iv_ruleLiteralRule= ruleLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1644:2: iv_ruleLiteralRule= ruleLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4455,7 +4455,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1650:1: ruleLiteralRule returns [EObject current=null] : (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) ;
+    // InternalOptimisationLanguage.g:1650:1: ruleLiteralRule returns [EObject current=null] : (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) ;
     public final EObject ruleLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4470,10 +4470,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1656:2: ( (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1657:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule )
+            // InternalOptimisationLanguage.g:1656:2: ( (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) )
+            // InternalOptimisationLanguage.g:1657:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1657:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule )
+            // InternalOptimisationLanguage.g:1657:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule )
             int alt22=3;
             switch ( input.LA(1) ) {
             case RULE_DOUBLE:
@@ -4502,7 +4502,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt22) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1658:3: this_NumberLiteralRule_0= ruleNumberLiteralRule
+                    // InternalOptimisationLanguage.g:1658:3: this_NumberLiteralRule_0= ruleNumberLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0());
@@ -4520,7 +4520,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1667:3: this_StringLiteralRule_1= ruleStringLiteralRule
+                    // InternalOptimisationLanguage.g:1667:3: this_StringLiteralRule_1= ruleStringLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1());
@@ -4538,7 +4538,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1676:3: this_BooleanLiteralRule_2= ruleBooleanLiteralRule
+                    // InternalOptimisationLanguage.g:1676:3: this_BooleanLiteralRule_2= ruleBooleanLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2());
@@ -4578,7 +4578,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleNumberLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1688:1: entryRuleNumberLiteralRule returns [EObject current=null] : iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1688:1: entryRuleNumberLiteralRule returns [EObject current=null] : iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF ;
     public final EObject entryRuleNumberLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4586,8 +4586,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1688:58: (iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1689:2: iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF
+            // InternalOptimisationLanguage.g:1688:58: (iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1689:2: iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getNumberLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4614,7 +4614,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleNumberLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1695:1: ruleNumberLiteralRule returns [EObject current=null] : (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) ;
+    // InternalOptimisationLanguage.g:1695:1: ruleNumberLiteralRule returns [EObject current=null] : (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) ;
     public final EObject ruleNumberLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4627,10 +4627,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1701:2: ( (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1702:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule )
+            // InternalOptimisationLanguage.g:1701:2: ( (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) )
+            // InternalOptimisationLanguage.g:1702:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1702:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule )
+            // InternalOptimisationLanguage.g:1702:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule )
             int alt23=2;
             int LA23_0 = input.LA(1);
 
@@ -4648,7 +4648,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt23) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1703:3: this_DoubleLiteralRule_0= ruleDoubleLiteralRule
+                    // InternalOptimisationLanguage.g:1703:3: this_DoubleLiteralRule_0= ruleDoubleLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0());
@@ -4666,7 +4666,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1712:3: this_IntegerLiteralRule_1= ruleIntegerLiteralRule
+                    // InternalOptimisationLanguage.g:1712:3: this_IntegerLiteralRule_1= ruleIntegerLiteralRule
                     {
 
                     			newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1());
@@ -4706,7 +4706,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleDoubleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1724:1: entryRuleDoubleLiteralRule returns [EObject current=null] : iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1724:1: entryRuleDoubleLiteralRule returns [EObject current=null] : iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF ;
     public final EObject entryRuleDoubleLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4714,8 +4714,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1724:58: (iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1725:2: iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF
+            // InternalOptimisationLanguage.g:1724:58: (iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1725:2: iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getDoubleLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4742,7 +4742,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleDoubleLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1731:1: ruleDoubleLiteralRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) ;
+    // InternalOptimisationLanguage.g:1731:1: ruleDoubleLiteralRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) ;
     public final EObject ruleDoubleLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4754,17 +4754,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1737:2: ( ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1738:2: ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
+            // InternalOptimisationLanguage.g:1737:2: ( ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) )
+            // InternalOptimisationLanguage.g:1738:2: ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1738:2: ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:1739:3: ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )?
+            // InternalOptimisationLanguage.g:1738:2: ( ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
+            // InternalOptimisationLanguage.g:1739:3: ( (lv_literal_0_0= RULE_DOUBLE ) ) ( (lv_factor_1_0= ruleFactorRule ) )?
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1739:3: ( (lv_literal_0_0= RULE_DOUBLE ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1740:4: (lv_literal_0_0= RULE_DOUBLE )
+            // InternalOptimisationLanguage.g:1739:3: ( (lv_literal_0_0= RULE_DOUBLE ) )
+            // InternalOptimisationLanguage.g:1740:4: (lv_literal_0_0= RULE_DOUBLE )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1740:4: (lv_literal_0_0= RULE_DOUBLE )
-            // InternalEvolutionaryAlgorithmLanguage.g:1741:5: lv_literal_0_0= RULE_DOUBLE
+            // InternalOptimisationLanguage.g:1740:4: (lv_literal_0_0= RULE_DOUBLE )
+            // InternalOptimisationLanguage.g:1741:5: lv_literal_0_0= RULE_DOUBLE
             {
             lv_literal_0_0=(Token)match(input,RULE_DOUBLE,FOLLOW_28); 
 
@@ -4786,7 +4786,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1757:3: ( (lv_factor_1_0= ruleFactorRule ) )?
+            // InternalOptimisationLanguage.g:1757:3: ( (lv_factor_1_0= ruleFactorRule ) )?
             int alt24=2;
             int LA24_0 = input.LA(1);
 
@@ -4795,10 +4795,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt24) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1758:4: (lv_factor_1_0= ruleFactorRule )
+                    // InternalOptimisationLanguage.g:1758:4: (lv_factor_1_0= ruleFactorRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1758:4: (lv_factor_1_0= ruleFactorRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1759:5: lv_factor_1_0= ruleFactorRule
+                    // InternalOptimisationLanguage.g:1758:4: (lv_factor_1_0= ruleFactorRule )
+                    // InternalOptimisationLanguage.g:1759:5: lv_factor_1_0= ruleFactorRule
                     {
 
                     					newCompositeNode(grammarAccess.getDoubleLiteralRuleAccess().getFactorFactorRuleEnumRuleCall_1_0());
@@ -4851,7 +4851,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleIntegerLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1780:1: entryRuleIntegerLiteralRule returns [EObject current=null] : iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1780:1: entryRuleIntegerLiteralRule returns [EObject current=null] : iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF ;
     public final EObject entryRuleIntegerLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4859,8 +4859,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1780:59: (iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1781:2: iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF
+            // InternalOptimisationLanguage.g:1780:59: (iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1781:2: iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getIntegerLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -4887,7 +4887,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleIntegerLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1787:1: ruleIntegerLiteralRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) ;
+    // InternalOptimisationLanguage.g:1787:1: ruleIntegerLiteralRule returns [EObject current=null] : ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) ;
     public final EObject ruleIntegerLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -4899,17 +4899,17 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1793:2: ( ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1794:2: ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
+            // InternalOptimisationLanguage.g:1793:2: ( ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? ) )
+            // InternalOptimisationLanguage.g:1794:2: ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1794:2: ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
-            // InternalEvolutionaryAlgorithmLanguage.g:1795:3: ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )?
+            // InternalOptimisationLanguage.g:1794:2: ( ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )? )
+            // InternalOptimisationLanguage.g:1795:3: ( (lv_literal_0_0= RULE_INT ) ) ( (lv_factor_1_0= ruleFactorRule ) )?
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1795:3: ( (lv_literal_0_0= RULE_INT ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1796:4: (lv_literal_0_0= RULE_INT )
+            // InternalOptimisationLanguage.g:1795:3: ( (lv_literal_0_0= RULE_INT ) )
+            // InternalOptimisationLanguage.g:1796:4: (lv_literal_0_0= RULE_INT )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1796:4: (lv_literal_0_0= RULE_INT )
-            // InternalEvolutionaryAlgorithmLanguage.g:1797:5: lv_literal_0_0= RULE_INT
+            // InternalOptimisationLanguage.g:1796:4: (lv_literal_0_0= RULE_INT )
+            // InternalOptimisationLanguage.g:1797:5: lv_literal_0_0= RULE_INT
             {
             lv_literal_0_0=(Token)match(input,RULE_INT,FOLLOW_28); 
 
@@ -4931,7 +4931,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1813:3: ( (lv_factor_1_0= ruleFactorRule ) )?
+            // InternalOptimisationLanguage.g:1813:3: ( (lv_factor_1_0= ruleFactorRule ) )?
             int alt25=2;
             int LA25_0 = input.LA(1);
 
@@ -4940,10 +4940,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt25) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1814:4: (lv_factor_1_0= ruleFactorRule )
+                    // InternalOptimisationLanguage.g:1814:4: (lv_factor_1_0= ruleFactorRule )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1814:4: (lv_factor_1_0= ruleFactorRule )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1815:5: lv_factor_1_0= ruleFactorRule
+                    // InternalOptimisationLanguage.g:1814:4: (lv_factor_1_0= ruleFactorRule )
+                    // InternalOptimisationLanguage.g:1815:5: lv_factor_1_0= ruleFactorRule
                     {
 
                     					newCompositeNode(grammarAccess.getIntegerLiteralRuleAccess().getFactorFactorRuleEnumRuleCall_1_0());
@@ -4996,7 +4996,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleStringLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1836:1: entryRuleStringLiteralRule returns [EObject current=null] : iv_ruleStringLiteralRule= ruleStringLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1836:1: entryRuleStringLiteralRule returns [EObject current=null] : iv_ruleStringLiteralRule= ruleStringLiteralRule EOF ;
     public final EObject entryRuleStringLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -5004,8 +5004,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1836:58: (iv_ruleStringLiteralRule= ruleStringLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1837:2: iv_ruleStringLiteralRule= ruleStringLiteralRule EOF
+            // InternalOptimisationLanguage.g:1836:58: (iv_ruleStringLiteralRule= ruleStringLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1837:2: iv_ruleStringLiteralRule= ruleStringLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getStringLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -5032,7 +5032,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleStringLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1843:1: ruleStringLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
+    // InternalOptimisationLanguage.g:1843:1: ruleStringLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
     public final EObject ruleStringLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -5042,14 +5042,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1849:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1850:2: ( (lv_value_0_0= RULE_STRING ) )
+            // InternalOptimisationLanguage.g:1849:2: ( ( (lv_value_0_0= RULE_STRING ) ) )
+            // InternalOptimisationLanguage.g:1850:2: ( (lv_value_0_0= RULE_STRING ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1850:2: ( (lv_value_0_0= RULE_STRING ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1851:3: (lv_value_0_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:1850:2: ( (lv_value_0_0= RULE_STRING ) )
+            // InternalOptimisationLanguage.g:1851:3: (lv_value_0_0= RULE_STRING )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1851:3: (lv_value_0_0= RULE_STRING )
-            // InternalEvolutionaryAlgorithmLanguage.g:1852:4: lv_value_0_0= RULE_STRING
+            // InternalOptimisationLanguage.g:1851:3: (lv_value_0_0= RULE_STRING )
+            // InternalOptimisationLanguage.g:1852:4: lv_value_0_0= RULE_STRING
             {
             lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); 
 
@@ -5091,7 +5091,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleBooleanLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1871:1: entryRuleBooleanLiteralRule returns [EObject current=null] : iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF ;
+    // InternalOptimisationLanguage.g:1871:1: entryRuleBooleanLiteralRule returns [EObject current=null] : iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF ;
     public final EObject entryRuleBooleanLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -5099,8 +5099,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1871:59: (iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1872:2: iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF
+            // InternalOptimisationLanguage.g:1871:59: (iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF )
+            // InternalOptimisationLanguage.g:1872:2: iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF
             {
              newCompositeNode(grammarAccess.getBooleanLiteralRuleRule()); 
             pushFollow(FOLLOW_1);
@@ -5127,7 +5127,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleBooleanLiteralRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1878:1: ruleBooleanLiteralRule returns [EObject current=null] : ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ;
+    // InternalOptimisationLanguage.g:1878:1: ruleBooleanLiteralRule returns [EObject current=null] : ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ;
     public final EObject ruleBooleanLiteralRule() throws RecognitionException {
         EObject current = null;
 
@@ -5138,14 +5138,14 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1884:2: ( ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1885:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
+            // InternalOptimisationLanguage.g:1884:2: ( ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
+            // InternalOptimisationLanguage.g:1885:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1885:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1886:3: () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
+            // InternalOptimisationLanguage.g:1885:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
+            // InternalOptimisationLanguage.g:1886:3: () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1886:3: ()
-            // InternalEvolutionaryAlgorithmLanguage.g:1887:4: 
+            // InternalOptimisationLanguage.g:1886:3: ()
+            // InternalOptimisationLanguage.g:1887:4: 
             {
 
             				current = forceCreateModelElement(
@@ -5155,7 +5155,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             }
 
-            // InternalEvolutionaryAlgorithmLanguage.g:1893:3: ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
+            // InternalOptimisationLanguage.g:1893:3: ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
             int alt26=2;
             int LA26_0 = input.LA(1);
 
@@ -5173,13 +5173,13 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt26) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1894:4: ( (lv_value_1_0= 'true' ) )
+                    // InternalOptimisationLanguage.g:1894:4: ( (lv_value_1_0= 'true' ) )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1894:4: ( (lv_value_1_0= 'true' ) )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1895:5: (lv_value_1_0= 'true' )
+                    // InternalOptimisationLanguage.g:1894:4: ( (lv_value_1_0= 'true' ) )
+                    // InternalOptimisationLanguage.g:1895:5: (lv_value_1_0= 'true' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1895:5: (lv_value_1_0= 'true' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1896:6: lv_value_1_0= 'true'
+                    // InternalOptimisationLanguage.g:1895:5: (lv_value_1_0= 'true' )
+                    // InternalOptimisationLanguage.g:1896:6: lv_value_1_0= 'true'
                     {
                     lv_value_1_0=(Token)match(input,33,FOLLOW_2); 
 
@@ -5201,7 +5201,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1909:4: otherlv_2= 'false'
+                    // InternalOptimisationLanguage.g:1909:4: otherlv_2= 'false'
                     {
                     otherlv_2=(Token)match(input,34,FOLLOW_2); 
 
@@ -5236,7 +5236,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "entryRuleStringOrId"
-    // InternalEvolutionaryAlgorithmLanguage.g:1918:1: entryRuleStringOrId returns [String current=null] : iv_ruleStringOrId= ruleStringOrId EOF ;
+    // InternalOptimisationLanguage.g:1918:1: entryRuleStringOrId returns [String current=null] : iv_ruleStringOrId= ruleStringOrId EOF ;
     public final String entryRuleStringOrId() throws RecognitionException {
         String current = null;
 
@@ -5244,8 +5244,8 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1918:50: (iv_ruleStringOrId= ruleStringOrId EOF )
-            // InternalEvolutionaryAlgorithmLanguage.g:1919:2: iv_ruleStringOrId= ruleStringOrId EOF
+            // InternalOptimisationLanguage.g:1918:50: (iv_ruleStringOrId= ruleStringOrId EOF )
+            // InternalOptimisationLanguage.g:1919:2: iv_ruleStringOrId= ruleStringOrId EOF
             {
              newCompositeNode(grammarAccess.getStringOrIdRule()); 
             pushFollow(FOLLOW_1);
@@ -5272,7 +5272,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleStringOrId"
-    // InternalEvolutionaryAlgorithmLanguage.g:1925:1: ruleStringOrId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) ;
+    // InternalOptimisationLanguage.g:1925:1: ruleStringOrId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) ;
     public final AntlrDatatypeRuleToken ruleStringOrId() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -5283,10 +5283,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1931:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1932:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID )
+            // InternalOptimisationLanguage.g:1931:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) )
+            // InternalOptimisationLanguage.g:1932:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1932:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID )
+            // InternalOptimisationLanguage.g:1932:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID )
             int alt27=2;
             int LA27_0 = input.LA(1);
 
@@ -5304,7 +5304,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt27) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1933:3: this_QUOTED_ID_0= RULE_QUOTED_ID
+                    // InternalOptimisationLanguage.g:1933:3: this_QUOTED_ID_0= RULE_QUOTED_ID
                     {
                     this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); 
 
@@ -5317,7 +5317,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1941:3: this_ID_1= RULE_ID
+                    // InternalOptimisationLanguage.g:1941:3: this_ID_1= RULE_ID
                     {
                     this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); 
 
@@ -5352,7 +5352,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleComparisonOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:1952:1: ruleComparisonOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) ;
+    // InternalOptimisationLanguage.g:1952:1: ruleComparisonOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) ;
     public final Enumerator ruleComparisonOperatorRule() throws RecognitionException {
         Enumerator current = null;
 
@@ -5367,10 +5367,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:1958:2: ( ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:1959:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) )
+            // InternalOptimisationLanguage.g:1958:2: ( ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) )
+            // InternalOptimisationLanguage.g:1959:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:1959:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) )
+            // InternalOptimisationLanguage.g:1959:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) )
             int alt28=6;
             switch ( input.LA(1) ) {
             case 35:
@@ -5412,10 +5412,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt28) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1960:3: (enumLiteral_0= '>=' )
+                    // InternalOptimisationLanguage.g:1960:3: (enumLiteral_0= '>=' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1960:3: (enumLiteral_0= '>=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1961:4: enumLiteral_0= '>='
+                    // InternalOptimisationLanguage.g:1960:3: (enumLiteral_0= '>=' )
+                    // InternalOptimisationLanguage.g:1961:4: enumLiteral_0= '>='
                     {
                     enumLiteral_0=(Token)match(input,35,FOLLOW_2); 
 
@@ -5429,10 +5429,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1968:3: (enumLiteral_1= '>' )
+                    // InternalOptimisationLanguage.g:1968:3: (enumLiteral_1= '>' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1968:3: (enumLiteral_1= '>' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1969:4: enumLiteral_1= '>'
+                    // InternalOptimisationLanguage.g:1968:3: (enumLiteral_1= '>' )
+                    // InternalOptimisationLanguage.g:1969:4: enumLiteral_1= '>'
                     {
                     enumLiteral_1=(Token)match(input,36,FOLLOW_2); 
 
@@ -5446,10 +5446,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1976:3: (enumLiteral_2= '=' )
+                    // InternalOptimisationLanguage.g:1976:3: (enumLiteral_2= '=' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1976:3: (enumLiteral_2= '=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1977:4: enumLiteral_2= '='
+                    // InternalOptimisationLanguage.g:1976:3: (enumLiteral_2= '=' )
+                    // InternalOptimisationLanguage.g:1977:4: enumLiteral_2= '='
                     {
                     enumLiteral_2=(Token)match(input,37,FOLLOW_2); 
 
@@ -5463,10 +5463,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1984:3: (enumLiteral_3= '!=' )
+                    // InternalOptimisationLanguage.g:1984:3: (enumLiteral_3= '!=' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1984:3: (enumLiteral_3= '!=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1985:4: enumLiteral_3= '!='
+                    // InternalOptimisationLanguage.g:1984:3: (enumLiteral_3= '!=' )
+                    // InternalOptimisationLanguage.g:1985:4: enumLiteral_3= '!='
                     {
                     enumLiteral_3=(Token)match(input,38,FOLLOW_2); 
 
@@ -5480,10 +5480,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 5 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:1992:3: (enumLiteral_4= '<' )
+                    // InternalOptimisationLanguage.g:1992:3: (enumLiteral_4= '<' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:1992:3: (enumLiteral_4= '<' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:1993:4: enumLiteral_4= '<'
+                    // InternalOptimisationLanguage.g:1992:3: (enumLiteral_4= '<' )
+                    // InternalOptimisationLanguage.g:1993:4: enumLiteral_4= '<'
                     {
                     enumLiteral_4=(Token)match(input,39,FOLLOW_2); 
 
@@ -5497,10 +5497,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 6 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2000:3: (enumLiteral_5= '<=' )
+                    // InternalOptimisationLanguage.g:2000:3: (enumLiteral_5= '<=' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2000:3: (enumLiteral_5= '<=' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2001:4: enumLiteral_5= '<='
+                    // InternalOptimisationLanguage.g:2000:3: (enumLiteral_5= '<=' )
+                    // InternalOptimisationLanguage.g:2001:4: enumLiteral_5= '<='
                     {
                     enumLiteral_5=(Token)match(input,40,FOLLOW_2); 
 
@@ -5536,7 +5536,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleAddOrSubtractOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:2011:1: ruleAddOrSubtractOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ;
+    // InternalOptimisationLanguage.g:2011:1: ruleAddOrSubtractOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ;
     public final Enumerator ruleAddOrSubtractOperatorRule() throws RecognitionException {
         Enumerator current = null;
 
@@ -5547,10 +5547,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2017:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2018:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
+            // InternalOptimisationLanguage.g:2017:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) )
+            // InternalOptimisationLanguage.g:2018:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2018:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
+            // InternalOptimisationLanguage.g:2018:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
             int alt29=2;
             int LA29_0 = input.LA(1);
 
@@ -5568,10 +5568,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
             }
             switch (alt29) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2019:3: (enumLiteral_0= '+' )
+                    // InternalOptimisationLanguage.g:2019:3: (enumLiteral_0= '+' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2019:3: (enumLiteral_0= '+' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2020:4: enumLiteral_0= '+'
+                    // InternalOptimisationLanguage.g:2019:3: (enumLiteral_0= '+' )
+                    // InternalOptimisationLanguage.g:2020:4: enumLiteral_0= '+'
                     {
                     enumLiteral_0=(Token)match(input,41,FOLLOW_2); 
 
@@ -5585,10 +5585,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2027:3: (enumLiteral_1= '-' )
+                    // InternalOptimisationLanguage.g:2027:3: (enumLiteral_1= '-' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2027:3: (enumLiteral_1= '-' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2028:4: enumLiteral_1= '-'
+                    // InternalOptimisationLanguage.g:2027:3: (enumLiteral_1= '-' )
+                    // InternalOptimisationLanguage.g:2028:4: enumLiteral_1= '-'
                     {
                     enumLiteral_1=(Token)match(input,42,FOLLOW_2); 
 
@@ -5624,7 +5624,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleMultiplyDivideModuloOperatorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:2038:1: ruleMultiplyDivideModuloOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ;
+    // InternalOptimisationLanguage.g:2038:1: ruleMultiplyDivideModuloOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ;
     public final Enumerator ruleMultiplyDivideModuloOperatorRule() throws RecognitionException {
         Enumerator current = null;
 
@@ -5636,10 +5636,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2044:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2045:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
+            // InternalOptimisationLanguage.g:2044:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) )
+            // InternalOptimisationLanguage.g:2045:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2045:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
+            // InternalOptimisationLanguage.g:2045:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) )
             int alt30=3;
             switch ( input.LA(1) ) {
             case 43:
@@ -5666,10 +5666,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt30) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2046:3: (enumLiteral_0= '*' )
+                    // InternalOptimisationLanguage.g:2046:3: (enumLiteral_0= '*' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2046:3: (enumLiteral_0= '*' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2047:4: enumLiteral_0= '*'
+                    // InternalOptimisationLanguage.g:2046:3: (enumLiteral_0= '*' )
+                    // InternalOptimisationLanguage.g:2047:4: enumLiteral_0= '*'
                     {
                     enumLiteral_0=(Token)match(input,43,FOLLOW_2); 
 
@@ -5683,10 +5683,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2054:3: (enumLiteral_1= '/' )
+                    // InternalOptimisationLanguage.g:2054:3: (enumLiteral_1= '/' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2054:3: (enumLiteral_1= '/' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2055:4: enumLiteral_1= '/'
+                    // InternalOptimisationLanguage.g:2054:3: (enumLiteral_1= '/' )
+                    // InternalOptimisationLanguage.g:2055:4: enumLiteral_1= '/'
                     {
                     enumLiteral_1=(Token)match(input,44,FOLLOW_2); 
 
@@ -5700,10 +5700,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2062:3: (enumLiteral_2= '%' )
+                    // InternalOptimisationLanguage.g:2062:3: (enumLiteral_2= '%' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2062:3: (enumLiteral_2= '%' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2063:4: enumLiteral_2= '%'
+                    // InternalOptimisationLanguage.g:2062:3: (enumLiteral_2= '%' )
+                    // InternalOptimisationLanguage.g:2063:4: enumLiteral_2= '%'
                     {
                     enumLiteral_2=(Token)match(input,45,FOLLOW_2); 
 
@@ -5739,7 +5739,7 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
 
     // $ANTLR start "ruleFactorRule"
-    // InternalEvolutionaryAlgorithmLanguage.g:2073:1: ruleFactorRule returns [Enumerator current=null] : ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) ) ;
+    // InternalOptimisationLanguage.g:2073:1: ruleFactorRule returns [Enumerator current=null] : ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) ) ;
     public final Enumerator ruleFactorRule() throws RecognitionException {
         Enumerator current = null;
 
@@ -5768,10 +5768,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
         	enterRule();
 
         try {
-            // InternalEvolutionaryAlgorithmLanguage.g:2079:2: ( ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) ) )
-            // InternalEvolutionaryAlgorithmLanguage.g:2080:2: ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) )
+            // InternalOptimisationLanguage.g:2079:2: ( ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) ) )
+            // InternalOptimisationLanguage.g:2080:2: ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) )
             {
-            // InternalEvolutionaryAlgorithmLanguage.g:2080:2: ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) )
+            // InternalOptimisationLanguage.g:2080:2: ( (enumLiteral_0= 'Y' ) | (enumLiteral_1= 'Z' ) | (enumLiteral_2= 'E' ) | (enumLiteral_3= 'P' ) | (enumLiteral_4= 'T' ) | (enumLiteral_5= 'G' ) | (enumLiteral_6= 'M' ) | (enumLiteral_7= 'k' ) | (enumLiteral_8= 'h' ) | (enumLiteral_9= 'da' ) | (enumLiteral_10= 'd' ) | (enumLiteral_11= 'c' ) | (enumLiteral_12= 'm' ) | (enumLiteral_13= '\\u00B5' ) | (enumLiteral_14= 'n' ) | (enumLiteral_15= 'p' ) | (enumLiteral_16= 'f' ) | (enumLiteral_17= 'a' ) | (enumLiteral_18= 'z' ) | (enumLiteral_19= 'y' ) )
             int alt31=20;
             switch ( input.LA(1) ) {
             case 46:
@@ -5883,10 +5883,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
 
             switch (alt31) {
                 case 1 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2081:3: (enumLiteral_0= 'Y' )
+                    // InternalOptimisationLanguage.g:2081:3: (enumLiteral_0= 'Y' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2081:3: (enumLiteral_0= 'Y' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2082:4: enumLiteral_0= 'Y'
+                    // InternalOptimisationLanguage.g:2081:3: (enumLiteral_0= 'Y' )
+                    // InternalOptimisationLanguage.g:2082:4: enumLiteral_0= 'Y'
                     {
                     enumLiteral_0=(Token)match(input,46,FOLLOW_2); 
 
@@ -5900,10 +5900,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 2 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2089:3: (enumLiteral_1= 'Z' )
+                    // InternalOptimisationLanguage.g:2089:3: (enumLiteral_1= 'Z' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2089:3: (enumLiteral_1= 'Z' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2090:4: enumLiteral_1= 'Z'
+                    // InternalOptimisationLanguage.g:2089:3: (enumLiteral_1= 'Z' )
+                    // InternalOptimisationLanguage.g:2090:4: enumLiteral_1= 'Z'
                     {
                     enumLiteral_1=(Token)match(input,47,FOLLOW_2); 
 
@@ -5917,10 +5917,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 3 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2097:3: (enumLiteral_2= 'E' )
+                    // InternalOptimisationLanguage.g:2097:3: (enumLiteral_2= 'E' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2097:3: (enumLiteral_2= 'E' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2098:4: enumLiteral_2= 'E'
+                    // InternalOptimisationLanguage.g:2097:3: (enumLiteral_2= 'E' )
+                    // InternalOptimisationLanguage.g:2098:4: enumLiteral_2= 'E'
                     {
                     enumLiteral_2=(Token)match(input,48,FOLLOW_2); 
 
@@ -5934,10 +5934,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 4 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2105:3: (enumLiteral_3= 'P' )
+                    // InternalOptimisationLanguage.g:2105:3: (enumLiteral_3= 'P' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2105:3: (enumLiteral_3= 'P' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2106:4: enumLiteral_3= 'P'
+                    // InternalOptimisationLanguage.g:2105:3: (enumLiteral_3= 'P' )
+                    // InternalOptimisationLanguage.g:2106:4: enumLiteral_3= 'P'
                     {
                     enumLiteral_3=(Token)match(input,49,FOLLOW_2); 
 
@@ -5951,10 +5951,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 5 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2113:3: (enumLiteral_4= 'T' )
+                    // InternalOptimisationLanguage.g:2113:3: (enumLiteral_4= 'T' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2113:3: (enumLiteral_4= 'T' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2114:4: enumLiteral_4= 'T'
+                    // InternalOptimisationLanguage.g:2113:3: (enumLiteral_4= 'T' )
+                    // InternalOptimisationLanguage.g:2114:4: enumLiteral_4= 'T'
                     {
                     enumLiteral_4=(Token)match(input,50,FOLLOW_2); 
 
@@ -5968,10 +5968,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 6 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2121:3: (enumLiteral_5= 'G' )
+                    // InternalOptimisationLanguage.g:2121:3: (enumLiteral_5= 'G' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2121:3: (enumLiteral_5= 'G' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2122:4: enumLiteral_5= 'G'
+                    // InternalOptimisationLanguage.g:2121:3: (enumLiteral_5= 'G' )
+                    // InternalOptimisationLanguage.g:2122:4: enumLiteral_5= 'G'
                     {
                     enumLiteral_5=(Token)match(input,51,FOLLOW_2); 
 
@@ -5985,10 +5985,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 7 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2129:3: (enumLiteral_6= 'M' )
+                    // InternalOptimisationLanguage.g:2129:3: (enumLiteral_6= 'M' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2129:3: (enumLiteral_6= 'M' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2130:4: enumLiteral_6= 'M'
+                    // InternalOptimisationLanguage.g:2129:3: (enumLiteral_6= 'M' )
+                    // InternalOptimisationLanguage.g:2130:4: enumLiteral_6= 'M'
                     {
                     enumLiteral_6=(Token)match(input,52,FOLLOW_2); 
 
@@ -6002,10 +6002,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 8 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2137:3: (enumLiteral_7= 'k' )
+                    // InternalOptimisationLanguage.g:2137:3: (enumLiteral_7= 'k' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2137:3: (enumLiteral_7= 'k' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2138:4: enumLiteral_7= 'k'
+                    // InternalOptimisationLanguage.g:2137:3: (enumLiteral_7= 'k' )
+                    // InternalOptimisationLanguage.g:2138:4: enumLiteral_7= 'k'
                     {
                     enumLiteral_7=(Token)match(input,53,FOLLOW_2); 
 
@@ -6019,10 +6019,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 9 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2145:3: (enumLiteral_8= 'h' )
+                    // InternalOptimisationLanguage.g:2145:3: (enumLiteral_8= 'h' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2145:3: (enumLiteral_8= 'h' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2146:4: enumLiteral_8= 'h'
+                    // InternalOptimisationLanguage.g:2145:3: (enumLiteral_8= 'h' )
+                    // InternalOptimisationLanguage.g:2146:4: enumLiteral_8= 'h'
                     {
                     enumLiteral_8=(Token)match(input,54,FOLLOW_2); 
 
@@ -6036,10 +6036,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 10 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2153:3: (enumLiteral_9= 'da' )
+                    // InternalOptimisationLanguage.g:2153:3: (enumLiteral_9= 'da' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2153:3: (enumLiteral_9= 'da' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2154:4: enumLiteral_9= 'da'
+                    // InternalOptimisationLanguage.g:2153:3: (enumLiteral_9= 'da' )
+                    // InternalOptimisationLanguage.g:2154:4: enumLiteral_9= 'da'
                     {
                     enumLiteral_9=(Token)match(input,55,FOLLOW_2); 
 
@@ -6053,10 +6053,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 11 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2161:3: (enumLiteral_10= 'd' )
+                    // InternalOptimisationLanguage.g:2161:3: (enumLiteral_10= 'd' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2161:3: (enumLiteral_10= 'd' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2162:4: enumLiteral_10= 'd'
+                    // InternalOptimisationLanguage.g:2161:3: (enumLiteral_10= 'd' )
+                    // InternalOptimisationLanguage.g:2162:4: enumLiteral_10= 'd'
                     {
                     enumLiteral_10=(Token)match(input,56,FOLLOW_2); 
 
@@ -6070,10 +6070,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 12 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2169:3: (enumLiteral_11= 'c' )
+                    // InternalOptimisationLanguage.g:2169:3: (enumLiteral_11= 'c' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2169:3: (enumLiteral_11= 'c' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2170:4: enumLiteral_11= 'c'
+                    // InternalOptimisationLanguage.g:2169:3: (enumLiteral_11= 'c' )
+                    // InternalOptimisationLanguage.g:2170:4: enumLiteral_11= 'c'
                     {
                     enumLiteral_11=(Token)match(input,57,FOLLOW_2); 
 
@@ -6087,10 +6087,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 13 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2177:3: (enumLiteral_12= 'm' )
+                    // InternalOptimisationLanguage.g:2177:3: (enumLiteral_12= 'm' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2177:3: (enumLiteral_12= 'm' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2178:4: enumLiteral_12= 'm'
+                    // InternalOptimisationLanguage.g:2177:3: (enumLiteral_12= 'm' )
+                    // InternalOptimisationLanguage.g:2178:4: enumLiteral_12= 'm'
                     {
                     enumLiteral_12=(Token)match(input,58,FOLLOW_2); 
 
@@ -6104,10 +6104,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 14 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2185:3: (enumLiteral_13= '\\u00B5' )
+                    // InternalOptimisationLanguage.g:2185:3: (enumLiteral_13= '\\u00B5' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2185:3: (enumLiteral_13= '\\u00B5' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2186:4: enumLiteral_13= '\\u00B5'
+                    // InternalOptimisationLanguage.g:2185:3: (enumLiteral_13= '\\u00B5' )
+                    // InternalOptimisationLanguage.g:2186:4: enumLiteral_13= '\\u00B5'
                     {
                     enumLiteral_13=(Token)match(input,59,FOLLOW_2); 
 
@@ -6121,10 +6121,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 15 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2193:3: (enumLiteral_14= 'n' )
+                    // InternalOptimisationLanguage.g:2193:3: (enumLiteral_14= 'n' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2193:3: (enumLiteral_14= 'n' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2194:4: enumLiteral_14= 'n'
+                    // InternalOptimisationLanguage.g:2193:3: (enumLiteral_14= 'n' )
+                    // InternalOptimisationLanguage.g:2194:4: enumLiteral_14= 'n'
                     {
                     enumLiteral_14=(Token)match(input,60,FOLLOW_2); 
 
@@ -6138,10 +6138,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 16 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2201:3: (enumLiteral_15= 'p' )
+                    // InternalOptimisationLanguage.g:2201:3: (enumLiteral_15= 'p' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2201:3: (enumLiteral_15= 'p' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2202:4: enumLiteral_15= 'p'
+                    // InternalOptimisationLanguage.g:2201:3: (enumLiteral_15= 'p' )
+                    // InternalOptimisationLanguage.g:2202:4: enumLiteral_15= 'p'
                     {
                     enumLiteral_15=(Token)match(input,61,FOLLOW_2); 
 
@@ -6155,10 +6155,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 17 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2209:3: (enumLiteral_16= 'f' )
+                    // InternalOptimisationLanguage.g:2209:3: (enumLiteral_16= 'f' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2209:3: (enumLiteral_16= 'f' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2210:4: enumLiteral_16= 'f'
+                    // InternalOptimisationLanguage.g:2209:3: (enumLiteral_16= 'f' )
+                    // InternalOptimisationLanguage.g:2210:4: enumLiteral_16= 'f'
                     {
                     enumLiteral_16=(Token)match(input,62,FOLLOW_2); 
 
@@ -6172,10 +6172,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 18 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2217:3: (enumLiteral_17= 'a' )
+                    // InternalOptimisationLanguage.g:2217:3: (enumLiteral_17= 'a' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2217:3: (enumLiteral_17= 'a' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2218:4: enumLiteral_17= 'a'
+                    // InternalOptimisationLanguage.g:2217:3: (enumLiteral_17= 'a' )
+                    // InternalOptimisationLanguage.g:2218:4: enumLiteral_17= 'a'
                     {
                     enumLiteral_17=(Token)match(input,63,FOLLOW_2); 
 
@@ -6189,10 +6189,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 19 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2225:3: (enumLiteral_18= 'z' )
+                    // InternalOptimisationLanguage.g:2225:3: (enumLiteral_18= 'z' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2225:3: (enumLiteral_18= 'z' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2226:4: enumLiteral_18= 'z'
+                    // InternalOptimisationLanguage.g:2225:3: (enumLiteral_18= 'z' )
+                    // InternalOptimisationLanguage.g:2226:4: enumLiteral_18= 'z'
                     {
                     enumLiteral_18=(Token)match(input,64,FOLLOW_2); 
 
@@ -6206,10 +6206,10 @@ public class InternalEvolutionaryAlgorithmLanguageParser extends AbstractInterna
                     }
                     break;
                 case 20 :
-                    // InternalEvolutionaryAlgorithmLanguage.g:2233:3: (enumLiteral_19= 'y' )
+                    // InternalOptimisationLanguage.g:2233:3: (enumLiteral_19= 'y' )
                     {
-                    // InternalEvolutionaryAlgorithmLanguage.g:2233:3: (enumLiteral_19= 'y' )
-                    // InternalEvolutionaryAlgorithmLanguage.g:2234:4: enumLiteral_19= 'y'
+                    // InternalOptimisationLanguage.g:2233:3: (enumLiteral_19= 'y' )
+                    // InternalOptimisationLanguage.g:2234:4: enumLiteral_19= 'y'
                     {
                     enumLiteral_19=(Token)match(input,65,FOLLOW_2); 
 
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/scoping/AbstractOptimisationLanguageScopeProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/scoping/AbstractOptimisationLanguageScopeProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6e0ddc444b8ad23f78db15fca1d7fa149289aa84
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/scoping/AbstractOptimisationLanguageScopeProvider.java
@@ -0,0 +1,10 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl.scoping;
+
+import de.evoal.languages.model.instance.dsl.scoping.InstanceLanguageScopeProvider;
+
+public abstract class AbstractOptimisationLanguageScopeProvider extends InstanceLanguageScopeProvider {
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSemanticSequencer.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSemanticSequencer.java
similarity index 81%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSemanticSequencer.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSemanticSequencer.java
index c00b37c7b4b351d1885442af5804a3f6600e6fd6..e951dd4148e35906c741c10316300cfba0466420 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSemanticSequencer.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSemanticSequencer.java
@@ -1,17 +1,10 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.serializer;
+package de.evoal.languages.model.ol.dsl.serializer;
 
 import com.google.inject.Inject;
-import de.evoal.languages.model.eal.Constraint;
-import de.evoal.languages.model.eal.ConstraintStatement;
-import de.evoal.languages.model.eal.EALPackage;
-import de.evoal.languages.model.eal.EAModel;
-import de.evoal.languages.model.eal.FunctionName;
-import de.evoal.languages.model.eal.Use;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
 import de.evoal.languages.model.el.AddOrSubtractExpression;
 import de.evoal.languages.model.el.AndExpression;
 import de.evoal.languages.model.el.BooleanLiteral;
@@ -39,6 +32,13 @@ import de.evoal.languages.model.instance.LiteralValue;
 import de.evoal.languages.model.instance.Misc;
 import de.evoal.languages.model.instance.Name;
 import de.evoal.languages.model.instance.dsl.serializer.InstanceLanguageSemanticSequencer;
+import de.evoal.languages.model.ol.Constraint;
+import de.evoal.languages.model.ol.ConstraintStatement;
+import de.evoal.languages.model.ol.FunctionName;
+import de.evoal.languages.model.ol.OLPackage;
+import de.evoal.languages.model.ol.OptimisationModel;
+import de.evoal.languages.model.ol.Use;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 import java.util.Set;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -50,10 +50,10 @@ import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
 import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
 
 @SuppressWarnings("all")
-public class EvolutionaryAlgorithmLanguageSemanticSequencer extends InstanceLanguageSemanticSequencer {
+public class OptimisationLanguageSemanticSequencer extends InstanceLanguageSemanticSequencer {
 
 	@Inject
-	private EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+	private OptimisationLanguageGrammarAccess grammarAccess;
 	
 	@Override
 	public void sequence(ISerializationContext context, EObject semanticObject) {
@@ -61,25 +61,7 @@ public class EvolutionaryAlgorithmLanguageSemanticSequencer extends InstanceLang
 		ParserRule rule = context.getParserRule();
 		Action action = context.getAssignedAction();
 		Set<Parameter> parameters = context.getEnabledBooleanParameters();
-		if (epackage == EALPackage.eINSTANCE)
-			switch (semanticObject.eClass().getClassifierID()) {
-			case EALPackage.CONSTRAINT:
-				sequence_ConstraintRule(context, (Constraint) semanticObject); 
-				return; 
-			case EALPackage.CONSTRAINT_STATEMENT:
-				sequence_ConstraintStatementRule(context, (ConstraintStatement) semanticObject); 
-				return; 
-			case EALPackage.EA_MODEL:
-				sequence_EAModelRule(context, (EAModel) semanticObject); 
-				return; 
-			case EALPackage.FUNCTION_NAME:
-				sequence_FunctionNameRule(context, (FunctionName) semanticObject); 
-				return; 
-			case EALPackage.USE:
-				sequence_UseRule(context, (Use) semanticObject); 
-				return; 
-			}
-		else if (epackage == ELPackage.eINSTANCE)
+		if (epackage == ELPackage.eINSTANCE)
 			switch (semanticObject.eClass().getClassifierID()) {
 			case ELPackage.ADD_OR_SUBTRACT_EXPRESSION:
 				sequence_AddOrSubtractExpressionRule(context, (AddOrSubtractExpression) semanticObject); 
@@ -157,16 +139,36 @@ public class EvolutionaryAlgorithmLanguageSemanticSequencer extends InstanceLang
 				sequence_NameRule(context, (Name) semanticObject); 
 				return; 
 			}
+		else if (epackage == OLPackage.eINSTANCE)
+			switch (semanticObject.eClass().getClassifierID()) {
+			case OLPackage.CONSTRAINT:
+				sequence_ConstraintRule(context, (Constraint) semanticObject); 
+				return; 
+			case OLPackage.CONSTRAINT_STATEMENT:
+				sequence_ConstraintStatementRule(context, (ConstraintStatement) semanticObject); 
+				return; 
+			case OLPackage.FUNCTION_NAME:
+				sequence_FunctionNameRule(context, (FunctionName) semanticObject); 
+				return; 
+			case OLPackage.OPTIMISATION_MODEL:
+				sequence_OptimisationModelRule(context, (OptimisationModel) semanticObject); 
+				return; 
+			case OLPackage.USE:
+				sequence_UseRule(context, (Use) semanticObject); 
+				return; 
+			}
 		if (errorAcceptor != null)
 			errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
 	}
 	
 	/**
+	 * <pre>
 	 * Contexts:
 	 *     ConstraintRule returns Constraint
 	 *
 	 * Constraint:
 	 *     statements+=ConstraintStatementRule*
+	 * </pre>
 	 */
 	protected void sequence_ConstraintRule(ISerializationContext context, Constraint semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
@@ -174,16 +176,18 @@ public class EvolutionaryAlgorithmLanguageSemanticSequencer extends InstanceLang
 	
 	
 	/**
+	 * <pre>
 	 * Contexts:
 	 *     ConstraintStatementRule returns ConstraintStatement
 	 *
 	 * Constraint:
 	 *     constraintExpression=CallRule
+	 * </pre>
 	 */
 	protected void sequence_ConstraintStatementRule(ISerializationContext context, ConstraintStatement semanticObject) {
 		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, EALPackage.Literals.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EALPackage.Literals.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION));
+			if (transientValues.isValueTransient(semanticObject, OLPackage.Literals.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, OLPackage.Literals.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION));
 		}
 		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
 		feeder.accept(grammarAccess.getConstraintStatementRuleAccess().getConstraintExpressionCallRuleParserRuleCall_0_0(), semanticObject.getConstraintExpression());
@@ -192,46 +196,52 @@ public class EvolutionaryAlgorithmLanguageSemanticSequencer extends InstanceLang
 	
 	
 	/**
+	 * <pre>
 	 * Contexts:
-	 *     EAModelRule returns EAModel
+	 *     FunctionNameRule returns FunctionName
 	 *
 	 * Constraint:
-	 *     (uses+=UseRule* instance=InstanceRule constraints=ConstraintRule?)
+	 *     definition=[FunctionDefinition|ID]
+	 * </pre>
 	 */
-	protected void sequence_EAModelRule(ISerializationContext context, EAModel semanticObject) {
-		genericSequencer.createSequence(context, semanticObject);
+	protected void sequence_FunctionNameRule(ISerializationContext context, FunctionName semanticObject) {
+		if (errorAcceptor != null) {
+			if (transientValues.isValueTransient(semanticObject, OLPackage.Literals.FUNCTION_NAME__DEFINITION) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, OLPackage.Literals.FUNCTION_NAME__DEFINITION));
+		}
+		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
+		feeder.accept(grammarAccess.getFunctionNameRuleAccess().getDefinitionFunctionDefinitionIDTerminalRuleCall_0_1(), semanticObject.eGet(OLPackage.Literals.FUNCTION_NAME__DEFINITION, false));
+		feeder.finish();
 	}
 	
 	
 	/**
+	 * <pre>
 	 * Contexts:
-	 *     FunctionNameRule returns FunctionName
+	 *     OptimisationModelRule returns OptimisationModel
 	 *
 	 * Constraint:
-	 *     definition=[FunctionDefinition|ID]
+	 *     (uses+=UseRule* instance=InstanceRule constraints=ConstraintRule?)
+	 * </pre>
 	 */
-	protected void sequence_FunctionNameRule(ISerializationContext context, FunctionName semanticObject) {
-		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, EALPackage.Literals.FUNCTION_NAME__DEFINITION) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EALPackage.Literals.FUNCTION_NAME__DEFINITION));
-		}
-		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
-		feeder.accept(grammarAccess.getFunctionNameRuleAccess().getDefinitionFunctionDefinitionIDTerminalRuleCall_0_1(), semanticObject.eGet(EALPackage.Literals.FUNCTION_NAME__DEFINITION, false));
-		feeder.finish();
+	protected void sequence_OptimisationModelRule(ISerializationContext context, OptimisationModel semanticObject) {
+		genericSequencer.createSequence(context, semanticObject);
 	}
 	
 	
 	/**
+	 * <pre>
 	 * Contexts:
 	 *     UseRule returns Use
 	 *
 	 * Constraint:
 	 *     importURI=STRING
+	 * </pre>
 	 */
 	protected void sequence_UseRule(ISerializationContext context, Use semanticObject) {
 		if (errorAcceptor != null) {
-			if (transientValues.isValueTransient(semanticObject, EALPackage.Literals.USE__IMPORT_URI) == ValueTransient.YES)
-				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, EALPackage.Literals.USE__IMPORT_URI));
+			if (transientValues.isValueTransient(semanticObject, OLPackage.Literals.USE__IMPORT_URI) == ValueTransient.YES)
+				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, OLPackage.Literals.USE__IMPORT_URI));
 		}
 		SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
 		feeder.accept(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0(), semanticObject.getImportURI());
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSyntacticSequencer.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSyntacticSequencer.java
similarity index 85%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSyntacticSequencer.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSyntacticSequencer.java
index fceb13648b78c435ca85c67bb779d361a88da6b7..881c14367606149f529bff40ae09925dcc140c95 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/serializer/EvolutionaryAlgorithmLanguageSyntacticSequencer.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/serializer/OptimisationLanguageSyntacticSequencer.java
@@ -1,11 +1,11 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.serializer;
+package de.evoal.languages.model.ol.dsl.serializer;
 
 import com.google.inject.Inject;
-import de.evoal.languages.model.eal.dsl.services.EvolutionaryAlgorithmLanguageGrammarAccess;
+import de.evoal.languages.model.ol.dsl.services.OptimisationLanguageGrammarAccess;
 import java.util.List;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.IGrammarAccess;
@@ -19,14 +19,14 @@ import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISyn
 import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
 
 @SuppressWarnings("all")
-public class EvolutionaryAlgorithmLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
+public class OptimisationLanguageSyntacticSequencer extends AbstractSyntacticSequencer {
 
-	protected EvolutionaryAlgorithmLanguageGrammarAccess grammarAccess;
+	protected OptimisationLanguageGrammarAccess grammarAccess;
 	protected AbstractElementAlias match_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q;
 	
 	@Inject
 	protected void init(IGrammarAccess access) {
-		grammarAccess = (EvolutionaryAlgorithmLanguageGrammarAccess) access;
+		grammarAccess = (OptimisationLanguageGrammarAccess) access;
 		match_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()));
 	}
 	
@@ -49,11 +49,14 @@ public class EvolutionaryAlgorithmLanguageSyntacticSequencer extends AbstractSyn
 	}
 
 	/**
+	 * <pre>
 	 * Ambiguous syntax:
 	 *     ('{' '}')?
 	 *
 	 * This ambiguous syntax occurs at:
 	 *     name=[TypeDefinition|StringOrId] (ambiguity) (rule end)
+	 
+	 * </pre>
 	 */
 	protected void emit_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
 		acceptNodes(transition, nodes);
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/services/EvolutionaryAlgorithmLanguageGrammarAccess.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java
similarity index 92%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/services/EvolutionaryAlgorithmLanguageGrammarAccess.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java
index da40341dc72c54973ab42647b5dbaed6997ab8c0..82e51bd64f3b1b53b062afa3bd177b41730c42c2 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/services/EvolutionaryAlgorithmLanguageGrammarAccess.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/services/OptimisationLanguageGrammarAccess.java
@@ -1,8 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.services;
+package de.evoal.languages.model.ol.dsl.services;
 
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -25,10 +25,10 @@ import org.eclipse.xtext.service.AbstractElementFinder;
 import org.eclipse.xtext.service.GrammarProvider;
 
 @Singleton
-public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder {
+public class OptimisationLanguageGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder {
 	
-	public class EAModelRuleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.EAModelRule");
+	public class OptimisationModelRuleElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ol.dsl.OptimisationLanguage.OptimisationModelRule");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cUsesAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cUsesUseRuleParserRuleCall_0_0 = (RuleCall)cUsesAssignment_0.eContents().get(0);
@@ -37,10 +37,10 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		private final Assignment cConstraintsAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cConstraintsConstraintRuleParserRuleCall_2_0 = (RuleCall)cConstraintsAssignment_2.eContents().get(0);
 		
-		//EAModelRule returns EAModel:
-		//    (uses += UseRule)*
-		//    instance = InstanceRule
-		//    (constraints = ConstraintRule)?
+		//OptimisationModelRule returns OptimisationModel:
+		//        (uses += UseRule)*
+		//        instance = InstanceRule
+		//        (constraints = ConstraintRule)?
 		//;
 		@Override public ParserRule getRule() { return rule; }
 		
@@ -68,7 +68,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		public RuleCall getConstraintsConstraintRuleParserRuleCall_2_0() { return cConstraintsConstraintRuleParserRuleCall_2_0; }
 	}
 	public class UseRuleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.UseRule");
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ol.dsl.OptimisationLanguage.UseRule");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Keyword cUseKeyword_0 = (Keyword)cGroup.eContents().get(0);
 		private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1);
@@ -76,7 +76,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		
 		//UseRule returns Use:
-		//    'use' importURI = STRING ';'
+		//        'use' importURI = STRING ';'
 		//;
 		@Override public ParserRule getRule() { return rule; }
 		
@@ -96,7 +96,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
 	}
 	public class ConstraintRuleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintRule");
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintRule");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Action cConstraintAction_0 = (Action)cGroup.eContents().get(0);
 		private final Keyword cConstraintsKeyword_1 = (Keyword)cGroup.eContents().get(1);
@@ -106,15 +106,15 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
 		//ConstraintRule returns Constraint:
-		//    {Constraint}
-		//    "constraints" "{"
-		//        (statements += ConstraintStatementRule)*
-		//    "}";
+		//        {Constraint}
+		//        "constraints" "{"
+		//                (statements += ConstraintStatementRule)*
+		//        "}";
 		@Override public ParserRule getRule() { return rule; }
 		
 		//{Constraint}
 		//"constraints" "{"
-		//    (statements += ConstraintStatementRule)*
+		//        (statements += ConstraintStatementRule)*
 		//"}"
 		public Group getGroup() { return cGroup; }
 		
@@ -137,14 +137,14 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
 	}
 	public class ConstraintStatementRuleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.ConstraintStatementRule");
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ol.dsl.OptimisationLanguage.ConstraintStatementRule");
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Assignment cConstraintExpressionAssignment_0 = (Assignment)cGroup.eContents().get(0);
 		private final RuleCall cConstraintExpressionCallRuleParserRuleCall_0_0 = (RuleCall)cConstraintExpressionAssignment_0.eContents().get(0);
 		private final Keyword cSemicolonKeyword_1 = (Keyword)cGroup.eContents().get(1);
 		
 		//ConstraintStatementRule returns ConstraintStatement:
-		//    constraintExpression = CallRule ';'
+		//        constraintExpression = CallRule ';'
 		//;
 		@Override public ParserRule getRule() { return rule; }
 		
@@ -161,14 +161,14 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		public Keyword getSemicolonKeyword_1() { return cSemicolonKeyword_1; }
 	}
 	public class FunctionNameRuleElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage.FunctionNameRule");
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.ol.dsl.OptimisationLanguage.FunctionNameRule");
 		private final Assignment cDefinitionAssignment = (Assignment)rule.eContents().get(1);
 		private final CrossReference cDefinitionFunctionDefinitionCrossReference_0 = (CrossReference)cDefinitionAssignment.eContents().get(0);
 		private final RuleCall cDefinitionFunctionDefinitionIDTerminalRuleCall_0_1 = (RuleCall)cDefinitionFunctionDefinitionCrossReference_0.eContents().get(1);
 		
 		//@Override
 		//FunctionNameRule returns FunctionName:
-		//    definition = [dl::FunctionDefinition]
+		//        definition = [dl::FunctionDefinition]
 		//;
 		@Override public ParserRule getRule() { return rule; }
 		
@@ -183,7 +183,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	}
 	
 	
-	private final EAModelRuleElements pEAModelRule;
+	private final OptimisationModelRuleElements pOptimisationModelRule;
 	private final UseRuleElements pUseRule;
 	private final ConstraintRuleElements pConstraintRule;
 	private final ConstraintStatementRuleElements pConstraintStatementRule;
@@ -198,7 +198,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	private final TerminalsGrammarAccess gaTerminals;
 
 	@Inject
-	public EvolutionaryAlgorithmLanguageGrammarAccess(GrammarProvider grammarProvider,
+	public OptimisationLanguageGrammarAccess(GrammarProvider grammarProvider,
 			InstanceLanguageGrammarAccess gaInstanceLanguage,
 			ExpressionLanguageGrammarAccess gaExpressionLanguage,
 			TerminalsGrammarAccess gaTerminals) {
@@ -206,7 +206,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 		this.gaInstanceLanguage = gaInstanceLanguage;
 		this.gaExpressionLanguage = gaExpressionLanguage;
 		this.gaTerminals = gaTerminals;
-		this.pEAModelRule = new EAModelRuleElements();
+		this.pOptimisationModelRule = new OptimisationModelRuleElements();
 		this.pUseRule = new UseRuleElements();
 		this.pConstraintRule = new ConstraintRuleElements();
 		this.pConstraintStatementRule = new ConstraintStatementRuleElements();
@@ -216,7 +216,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
 		Grammar grammar = grammarProvider.getGrammar(this);
 		while (grammar != null) {
-			if ("de.evoal.languages.model.eal.dsl.EvolutionaryAlgorithmLanguage".equals(grammar.getName())) {
+			if ("de.evoal.languages.model.ol.dsl.OptimisationLanguage".equals(grammar.getName())) {
 				return grammar;
 			}
 			List<Grammar> grammars = grammar.getUsedGrammars();
@@ -248,21 +248,21 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	}
 
 	
-	//EAModelRule returns EAModel:
-	//    (uses += UseRule)*
-	//    instance = InstanceRule
-	//    (constraints = ConstraintRule)?
+	//OptimisationModelRule returns OptimisationModel:
+	//        (uses += UseRule)*
+	//        instance = InstanceRule
+	//        (constraints = ConstraintRule)?
 	//;
-	public EAModelRuleElements getEAModelRuleAccess() {
-		return pEAModelRule;
+	public OptimisationModelRuleElements getOptimisationModelRuleAccess() {
+		return pOptimisationModelRule;
 	}
 	
-	public ParserRule getEAModelRuleRule() {
-		return getEAModelRuleAccess().getRule();
+	public ParserRule getOptimisationModelRuleRule() {
+		return getOptimisationModelRuleAccess().getRule();
 	}
 	
 	//UseRule returns Use:
-	//    'use' importURI = STRING ';'
+	//        'use' importURI = STRING ';'
 	//;
 	public UseRuleElements getUseRuleAccess() {
 		return pUseRule;
@@ -273,10 +273,10 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	}
 	
 	//ConstraintRule returns Constraint:
-	//    {Constraint}
-	//    "constraints" "{"
-	//        (statements += ConstraintStatementRule)*
-	//    "}";
+	//        {Constraint}
+	//        "constraints" "{"
+	//                (statements += ConstraintStatementRule)*
+	//        "}";
 	public ConstraintRuleElements getConstraintRuleAccess() {
 		return pConstraintRule;
 	}
@@ -286,7 +286,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	}
 	
 	//ConstraintStatementRule returns ConstraintStatement:
-	//    constraintExpression = CallRule ';'
+	//        constraintExpression = CallRule ';'
 	//;
 	public ConstraintStatementRuleElements getConstraintStatementRuleAccess() {
 		return pConstraintStatementRule;
@@ -298,7 +298,7 @@ public class EvolutionaryAlgorithmLanguageGrammarAccess extends AbstractElementF
 	
 	//@Override
 	//FunctionNameRule returns FunctionName:
-	//    definition = [dl::FunctionDefinition]
+	//        definition = [dl::FunctionDefinition]
 	//;
 	public FunctionNameRuleElements getFunctionNameRuleAccess() {
 		return pFunctionNameRule;
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/AbstractEvolutionaryAlgorithmLanguageValidator.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/AbstractOptimisationLanguageValidator.java
similarity index 77%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/AbstractEvolutionaryAlgorithmLanguageValidator.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/AbstractOptimisationLanguageValidator.java
index 47613137d85a7e84392e358b96d1941d66f8d509..938c62cfe691f8bbe483726a0c2b5fb0bf592baa 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/AbstractEvolutionaryAlgorithmLanguageValidator.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/AbstractOptimisationLanguageValidator.java
@@ -1,8 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.validation;
+package de.evoal.languages.model.ol.dsl.validation;
 
 import de.evoal.languages.model.instance.dsl.validation.InstanceLanguageValidator;
 import java.util.ArrayList;
@@ -12,12 +12,12 @@ import org.eclipse.xtext.validation.ComposedChecks;
 import org.eclipse.xtext.validation.ImportUriValidator;
 
 @ComposedChecks(validators = {ImportUriValidator.class})
-public abstract class AbstractEvolutionaryAlgorithmLanguageValidator extends InstanceLanguageValidator {
+public abstract class AbstractOptimisationLanguageValidator extends InstanceLanguageValidator {
 	
 	@Override
 	protected List<EPackage> getEPackages() {
 		List<EPackage> result = new ArrayList<EPackage>(super.getEPackages());
-		result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/eal/1.0.0"));
+		result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/ol/1.0.0"));
 		result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/instance/1.0.0"));
 		result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/el/1.0.0"));
 		return result;
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageConfigurableIssueCodesProvider.java
similarity index 70%
rename from src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageConfigurableIssueCodesProvider.java
index b938580df43c80505e70f5d1d7158d28e8ae5c81..a72373da424e2e7c916d59abdd36e17060c7d3ff 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src-gen/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src-gen/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageConfigurableIssueCodesProvider.java
@@ -1,17 +1,16 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
  * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.validation;
+package de.evoal.languages.model.ol.dsl.validation;
 
 import org.eclipse.xtext.preferences.PreferenceKey;
 import org.eclipse.xtext.util.IAcceptor;
 import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
 import org.eclipse.xtext.validation.SeverityConverter;
 
-@SuppressWarnings("restriction")
-public class EvolutionaryAlgorithmLanguageConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider {
-	protected static final String ISSUE_CODE_PREFIX = "de.evoal.languages.model.eal.dsl.";
+public class OptimisationLanguageConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider {
+	protected static final String ISSUE_CODE_PREFIX = "de.evoal.languages.model.ol.dsl.";
 
 	public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart";
 
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/GenerateOptimisationLanguage.mwe2 b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/GenerateOptimisationLanguage.mwe2
new file mode 100644
index 0000000000000000000000000000000000000000..af200e045e7ad3f7678ea64adbadfd0c6ee57cd1
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/GenerateOptimisationLanguage.mwe2
@@ -0,0 +1,53 @@
+module de.evoal.languages.model.ol.dsl.GenerateOptimisationLanguage
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+        component = XtextGenerator {
+                configuration = {
+                        project = StandardProjectConfig {
+                                baseName = "de.evoal.languages.model.ol.dsl"
+                                rootPath = rootPath
+                                eclipsePlugin = {
+                                        enabled = true
+                                }
+                                createEclipseMetaData = true
+                        }
+                        code = {
+                                encoding = "UTF-8"
+                                lineDelimiter = "\n"
+                                fileHeader = "/*\n * generated by Xtext \${version}\n * (c) EvoAl Project\n */"
+                                preferXtendStubs = false
+                        }
+                }
+                language = StandardLanguage {
+                        name = "de.evoal.languages.model.ol.dsl.OptimisationLanguage"
+                        fileExtensions = "eal"
+                        referencedResource = "platform:/resource/de.evoal.languages.model.instance/model/model.genmodel"
+                        referencedResource = "platform:/resource/de.evoal.languages.model.ol/model/model.genmodel"
+                        referencedResource = "platform:/resource/de.evoal.languages.model.dl/model/model.genmodel"
+                        referencedResource = "platform:/resource/de.evoal.languages.model.ddl/model/model.genmodel"
+                        referencedResource = "platform:/resource/de.evoal.languages.model.el/model/model.genmodel"
+
+                        serializer = {
+                                generateStub = false
+                        }
+                        validator = {
+                                // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+                                // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+                                generateDeprecationValidation = true
+                                composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+                        }
+                        generator = {
+                                generateXtendStub = true
+                        }
+                        junitSupport = {
+                                junitVersion = "5"
+                        }
+                }
+        }
+}
\ No newline at end of file
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtext b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtext
new file mode 100644
index 0000000000000000000000000000000000000000..54983d327ae5d4eb2c2272fea29aeca8b8c180e5
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguage.xtext
@@ -0,0 +1,36 @@
+grammar de.evoal.languages.model.ol.dsl.OptimisationLanguage with de.evoal.languages.model.instance.dsl.InstanceLanguage
+
+import "https://www.evoal.de/languages/ol/1.0.0" 
+
+import "https://www.evoal.de/languages/dl/1.0.0" as dl
+import "https://www.evoal.de/languages/ddl/1.0.0" as ddl
+import "https://www.evoal.de/languages/instance/1.0.0" as instance
+import "https://www.evoal.de/languages/el/1.0.0" as el
+
+OptimisationModelRule returns OptimisationModel:
+        (uses += UseRule)*
+
+        instance = InstanceRule
+
+        (constraints = ConstraintRule)?
+;
+
+UseRule returns Use:
+        'use' importURI = STRING ';'
+;
+
+ConstraintRule returns Constraint:
+        {Constraint}
+        "constraints" "{"
+                (statements += ConstraintStatementRule)*
+        "}";
+
+
+ConstraintStatementRule returns ConstraintStatement:
+        constraintExpression = CallRule ';'
+;
+
+@Override
+FunctionNameRule returns FunctionName:
+        definition = [dl::FunctionDefinition]
+;
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageRuntimeModule.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageRuntimeModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3b65d41a6757f16052138fe2e4973f5b9edb700
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageRuntimeModule.java
@@ -0,0 +1,26 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl;
+
+import org.eclipse.xtext.conversion.IValueConverterService;
+import org.eclipse.xtext.scoping.IGlobalScopeProvider;
+
+import de.evoal.languages.model.ol.dsl.converter.ValueConverterService;
+import de.evoal.languages.model.ol.dsl.utils.OLGlobalScopeProvider;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class OptimisationLanguageRuntimeModule extends AbstractOptimisationLanguageRuntimeModule {
+    @Override
+    public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() {
+            return OLGlobalScopeProvider.class;
+    }
+
+	@Override
+	public Class<? extends IValueConverterService> bindIValueConverterService() {
+	        return ValueConverterService.class;
+	}
+}
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetup.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetup.java
new file mode 100644
index 0000000000000000000000000000000000000000..8c1ef5c4622ccb8e556dac6dc1fd3f33e1ff7a31
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/OptimisationLanguageStandaloneSetup.java
@@ -0,0 +1,16 @@
+/*
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
+ */
+package de.evoal.languages.model.ol.dsl;
+
+
+/**
+ * Initialization support for running Xtext languages without Equinox extension registry.
+ */
+public class OptimisationLanguageStandaloneSetup extends OptimisationLanguageStandaloneSetupGenerated {
+
+	public static void doSetup() {
+		new OptimisationLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
+	}
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/StringStripperConverter.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/StringStripperConverter.java
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/StringStripperConverter.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/StringStripperConverter.java
index caa5b5599a8e19f5d4334abf788735dcd8d3f7c3..ad7da7f865a96dcf7049d26fd7db25afcedbfa21 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/StringStripperConverter.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/StringStripperConverter.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.converter;
+package de.evoal.languages.model.ol.dsl.converter;
 
 import java.util.regex.Pattern;
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/ValueConverterService.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/ValueConverterService.java
similarity index 88%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/ValueConverterService.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/ValueConverterService.java
index c87e1d4b829fac6135c222ac37f6ff8179468597..ea636fc19f8af82bc8d596af380fe074971dc203 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/converter/ValueConverterService.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/converter/ValueConverterService.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.converter;
+package de.evoal.languages.model.ol.dsl.converter;
 
 import org.eclipse.xtext.common.services.DefaultTerminalConverters;
 import org.eclipse.xtext.conversion.IValueConverter;
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/generator/EvolutionaryAlgorithmLanguageGenerator.xtend b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/generator/OptimisationLanguageGenerator.xtend
similarity index 79%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/generator/EvolutionaryAlgorithmLanguageGenerator.xtend
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/generator/OptimisationLanguageGenerator.xtend
index 8396c36ac7e0dd27a0531427845dedb13d9c794e..174fd76a6b15c237cea4b4455441ac328b926f68 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/generator/EvolutionaryAlgorithmLanguageGenerator.xtend
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/generator/OptimisationLanguageGenerator.xtend
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.generator
+package de.evoal.languages.model.ol.dsl.generator
 
 import org.eclipse.emf.ecore.resource.Resource
 import org.eclipse.xtext.generator.AbstractGenerator
@@ -13,7 +14,7 @@ import org.eclipse.xtext.generator.IGeneratorContext
  * 
  * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation
  */
-class EvolutionaryAlgorithmLanguageGenerator extends AbstractGenerator {
+class OptimisationLanguageGenerator extends AbstractGenerator {
 
 	override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
 //		fsa.generateFile('greetings.txt', 'People to greet: ' + 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/scoping/EvolutionaryAlgorithmLanguageScopeProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/scoping/OptimisationLanguageScopeProvider.java
similarity index 69%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/scoping/EvolutionaryAlgorithmLanguageScopeProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/scoping/OptimisationLanguageScopeProvider.java
index 4fc6e46c3930663462768d09b0642f761fe010ab..d844cff8bd93a08c8769ed92b402dbbae3a169e7 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/scoping/EvolutionaryAlgorithmLanguageScopeProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/scoping/OptimisationLanguageScopeProvider.java
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.scoping;
+package de.evoal.languages.model.ol.dsl.scoping;
 
 import java.util.Collections;
 
@@ -11,20 +12,19 @@ import org.eclipse.xtext.resource.IEObjectDescription;
 import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.scoping.Scopes;
 
-import de.evoal.languages.model.eal.EAModel;
 import de.evoal.languages.model.instance.InstancePackage;
+import de.evoal.languages.model.ol.OptimisationModel;
 
 /**
  * This class contains custom scoping description.
  * 
  * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping
  * on how and when to use it.
- */	
-public class EvolutionaryAlgorithmLanguageScopeProvider extends AbstractEvolutionaryAlgorithmLanguageScopeProvider {
-	 
+ */
+public class OptimisationLanguageScopeProvider extends AbstractOptimisationLanguageScopeProvider {
 	@Override
 	public IScope getScope(final EObject context, final EReference reference) {
-		if(context instanceof EAModel && InstancePackage.eINSTANCE.getInstance_Name().equals(reference)) {
+		if(context instanceof OptimisationModel && InstancePackage.eINSTANCE.getInstance_Name().equals(reference)) {
 			for( IEObjectDescription element : getDelegate().getScope(context, reference).getAllElements()) {
 				return Scopes.scopeFor(Collections.singleton(element.getEObjectOrProxy()));
 			}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinDSLInfo.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinDSLInfo.java
similarity index 91%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinDSLInfo.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinDSLInfo.java
index b6a36f69d29480566bacab2743547e01fbbcf670..5e091d311e24cba77d1993fc1d4ef0e3ee7151c7 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinDSLInfo.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinDSLInfo.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.utils;
+package de.evoal.languages.model.ol.dsl.utils;
 
 import java.io.File;
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinMapProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinMapProvider.java
similarity index 82%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinMapProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinMapProvider.java
index 766a19f7930afc08dc7679cf7fae0c2e5742a642..0c6813b6af79806ddeda6cd88f82e85909313f7a 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/BuiltinMapProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/BuiltinMapProvider.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.utils;
+package de.evoal.languages.model.ol.dsl.utils;
 
 import java.util.function.Supplier;
 import java.util.stream.Stream;
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/ClasspathDefaultGlobalScopeProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/ClasspathDefaultGlobalScopeProvider.java
similarity index 95%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/ClasspathDefaultGlobalScopeProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/ClasspathDefaultGlobalScopeProvider.java
index 5cf3fed40b6c4985b54bfee18b1e37fc273ad93d..27bb559b5f9f7342f8a44d884f313c6056de4c34 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/ClasspathDefaultGlobalScopeProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/ClasspathDefaultGlobalScopeProvider.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.utils;
+package de.evoal.languages.model.ol.dsl.utils;
 
 import java.util.LinkedHashSet;
 
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EvoalReleaseBuiltinDSLProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/EvoalReleaseBuiltinDSLProvider.java
similarity index 97%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EvoalReleaseBuiltinDSLProvider.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/EvoalReleaseBuiltinDSLProvider.java
index 6217f44db1ea79e151c313169ff2674b10b2a880..a97a8f7dc7faa34eb305d99b2b70a80f9966f80c 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/utils/EvoalReleaseBuiltinDSLProvider.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/EvoalReleaseBuiltinDSLProvider.java
@@ -1,4 +1,4 @@
-package de.evoal.languages.model.eal.dsl.utils;
+package de.evoal.languages.model.ol.dsl.utils;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/OLGlobalScopeProvider.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/OLGlobalScopeProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4105232b725dff090fa0967ffa34ae4e8f1f1350
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/utils/OLGlobalScopeProvider.java
@@ -0,0 +1,10 @@
+package de.evoal.languages.model.ol.dsl.utils;
+
+public class OLGlobalScopeProvider extends ClasspathDefaultGlobalScopeProvider {
+	public OLGlobalScopeProvider() {
+		super(new EvoalReleaseBuiltinDSLProvider());
+		
+		getProvider().setBasePath("definitions/ea");
+		getProvider().setExtension(".dl");
+	}
+}
diff --git a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidator.java b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidator.java
similarity index 63%
rename from src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidator.java
rename to src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidator.java
index 7978d7e4dda20756cfcbccbdc28508ffaf920a75..f06d5c328da82967f76034da5d1e9594b1e930c0 100644
--- a/src/languages/de.evoal.languages.model.eal.dsl/src/de/evoal/languages/model/eal/dsl/validation/EvolutionaryAlgorithmLanguageValidator.java
+++ b/src/languages/de.evoal.languages.model.ol.dsl/src/de/evoal/languages/model/ol/dsl/validation/OptimisationLanguageValidator.java
@@ -1,7 +1,8 @@
 /*
- * generated by Xtext 2.25.0
+ * generated by Xtext 2.29.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.dsl.validation;
+package de.evoal.languages.model.ol.dsl.validation;
 
 
 /**
@@ -9,7 +10,7 @@ package de.evoal.languages.model.eal.dsl.validation;
  *
  * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation
  */
-public class EvolutionaryAlgorithmLanguageValidator extends AbstractEvolutionaryAlgorithmLanguageValidator {
+public class OptimisationLanguageValidator extends AbstractOptimisationLanguageValidator {
 	
 //	public static final String INVALID_NAME = "invalidName";
 //
@@ -17,7 +18,7 @@ public class EvolutionaryAlgorithmLanguageValidator extends AbstractEvolutionary
 //	public void checkGreetingStartsWithCapital(Greeting greeting) {
 //		if (!Character.isUpperCase(greeting.getName().charAt(0))) {
 //			warning("Name should start with a capital",
-//					EvolutionaryAlgorithmLanguagePackage.Literals.GREETING__NAME,
+//					OptimisationLanguagePackage.Literals.GREETING__NAME,
 //					INVALID_NAME);
 //		}
 //	}
diff --git a/src/languages/de.evoal.languages.model.eal/.classpath b/src/languages/de.evoal.languages.model.ol/.classpath
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal/.classpath
rename to src/languages/de.evoal.languages.model.ol/.classpath
diff --git a/src/languages/de.evoal.languages.model.eal.dsl.ide/.gitignore b/src/languages/de.evoal.languages.model.ol/.gitignore
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal.dsl.ide/.gitignore
rename to src/languages/de.evoal.languages.model.ol/.gitignore
diff --git a/src/languages/de.evoal.languages.model.eal/.project b/src/languages/de.evoal.languages.model.ol/.project
similarity index 97%
rename from src/languages/de.evoal.languages.model.eal/.project
rename to src/languages/de.evoal.languages.model.ol/.project
index ed75cd5c1a4e9747355c8c3fb42b8c089516c805..e32c182c64f841caf333717c7baf4d2a26836677 100644
--- a/src/languages/de.evoal.languages.model.eal/.project
+++ b/src/languages/de.evoal.languages.model.ol/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>de.evoal.languages.model.eal</name>
+	<name>de.evoal.languages.model.ol</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/src/languages/de.evoal.languages.model.eal/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.ol/META-INF/MANIFEST.MF
similarity index 69%
rename from src/languages/de.evoal.languages.model.eal/META-INF/MANIFEST.MF
rename to src/languages/de.evoal.languages.model.ol/META-INF/MANIFEST.MF
index 8b18adf97d6797c6757c07ad3d6a3a0588ee3bc4..0fc96abaca198da0a3cde8fad91c01288d067bda 100644
--- a/src/languages/de.evoal.languages.model.eal/META-INF/MANIFEST.MF
+++ b/src/languages/de.evoal.languages.model.ol/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
-Bundle-SymbolicName: de.evoal.languages.model.eal;singleton:=true
-Automatic-Module-Name: de.evoal.languages.model.eal
+Bundle-SymbolicName: de.evoal.languages.model.ol;singleton:=true
+Automatic-Module-Name: de.evoal.languages.model.ol
 Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
@@ -15,6 +15,6 @@ Require-Bundle: org.eclipse.core.runtime,
 Eclipse-LazyStart: true
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-17
-Export-Package: de.evoal.languages.model.eal,
- de.evoal.languages.model.eal.impl,
- de.evoal.languages.model.eal.util
+Export-Package: de.evoal.languages.model.ol,
+ de.evoal.languages.model.ol.impl,
+ de.evoal.languages.model.ol.util
diff --git a/src/languages/de.evoal.languages.model.eal/build.properties b/src/languages/de.evoal.languages.model.ol/build.properties
similarity index 100%
rename from src/languages/de.evoal.languages.model.eal/build.properties
rename to src/languages/de.evoal.languages.model.ol/build.properties
diff --git a/src/languages/de.evoal.languages.model.eal/model/model.ecore b/src/languages/de.evoal.languages.model.ol/model/model.ecore
similarity index 92%
rename from src/languages/de.evoal.languages.model.eal/model/model.ecore
rename to src/languages/de.evoal.languages.model.ol/model/model.ecore
index a6f6d574d6952c7b3fc1f93038c8c574dd44124e..d6bab4847297b43ec20f4d12fe8d48951dd690c5 100644
--- a/src/languages/de.evoal.languages.model.eal/model/model.ecore
+++ b/src/languages/de.evoal.languages.model.ol/model/model.ecore
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="eal" nsURI="https://www.evoal.de/languages/eal/1.0.0" nsPrefix="eal">
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="ol" nsURI="https://www.evoal.de/languages/ol/1.0.0" nsPrefix="ol">
   <eAnnotations source="http://www.eclipse.org/OCL/Import">
     <details key="ddl" value="platform:/resource/de.evoal.languages.model.ddl/model/model.ecore#/"/>
     <details key="dl" value="platform:/resource/de.evoal.languages.model.dl/model/model.ecore#/"/>
     <details key="el" value="platform:/resource/de.evoal.languages.model.el/model/model.ecore#/"/>
     <details key="instance" value="platform:/resource/de.evoal.languages.model.instance/model/model.ecore#/"/>
   </eAnnotations>
-  <eClassifiers xsi:type="ecore:EClass" name="EAModel">
+  <eClassifiers xsi:type="ecore:EClass" name="OptimisationModel">
     <eStructuralFeatures xsi:type="ecore:EReference" name="uses" upperBound="-1" eType="#//Use"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="instance" eType="ecore:EClass ../../de.evoal.languages.model.instance/model/model.ecore#//Instance"
diff --git a/src/languages/de.evoal.languages.model.eal/model/model.genmodel b/src/languages/de.evoal.languages.model.ol/model/model.genmodel
similarity index 76%
rename from src/languages/de.evoal.languages.model.eal/model/model.genmodel
rename to src/languages/de.evoal.languages.model.ol/model/model.genmodel
index 8b0daad6c5b1e7639bd4b342ad236cdfa8a6615a..233d3186d3ca866298c7c5eccafd484513f0b9ed 100644
--- a/src/languages/de.evoal.languages.model.eal/model/model.genmodel
+++ b/src/languages/de.evoal.languages.model.ol/model/model.genmodel
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.25.0" modelDirectory="/de.evoal.languages.model.eal/src-gen"
-    modelPluginID="de.evoal.languages.model.eal" forceOverwrite="true" modelName="eal"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="(c) EvoAl Project" modelDirectory="/de.evoal.languages.model.ol/src-gen"
+    modelPluginID="de.evoal.languages.model.ol" forceOverwrite="true" modelName="ol"
     updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
     runtimeVersion="2.20" usedGenPackages="../../de.evoal.languages.model.ddl/model/model.genmodel#//ddl ../../de.evoal.languages.model.dl/model/model.genmodel#//dl ../../de.evoal.languages.model.el/model/model.genmodel#//el ../../de.evoal.languages.model.instance/model/model.genmodel#//instance">
   <foreignModel>model.ecore</foreignModel>
-  <genPackages prefix="EAL" basePackage="de.evoal.languages.model" disposableProviderFactory="true"
-      fileExtensions="eal" ecorePackage="model.ecore#/">
-    <genClasses ecoreClass="model.ecore#//EAModel">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//EAModel/uses"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//EAModel/instance"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//EAModel/constraints"/>
+  <genPackages prefix="OL" basePackage="de.evoal.languages.model" disposableProviderFactory="true"
+      fileExtensions="ol" ecorePackage="model.ecore#/">
+    <genClasses ecoreClass="model.ecore#//OptimisationModel">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//OptimisationModel/uses"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//OptimisationModel/instance"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model.ecore#//OptimisationModel/constraints"/>
     </genClasses>
     <genClasses ecoreClass="model.ecore#//Use">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model.ecore#//Use/importURI"/>
diff --git a/src/languages/de.evoal.languages.model.ol/plugin.properties b/src/languages/de.evoal.languages.model.ol/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..abc34eea1de5479d6de2a25a08fc278ad61b2c75
--- /dev/null
+++ b/src/languages/de.evoal.languages.model.ol/plugin.properties
@@ -0,0 +1,2 @@
+pluginName = EvoAl's Optimization Language
+providerName = EvoAl Project
diff --git a/src/languages/de.evoal.languages.model.eal/plugin.xml b/src/languages/de.evoal.languages.model.ol/plugin.xml
similarity index 69%
rename from src/languages/de.evoal.languages.model.eal/plugin.xml
rename to src/languages/de.evoal.languages.model.ol/plugin.xml
index 6f3f859ce64351155c0fcefc06f8847bc64a8739..3429c09d9277c327c303cb99c19081a66b484e6f 100644
--- a/src/languages/de.evoal.languages.model.eal/plugin.xml
+++ b/src/languages/de.evoal.languages.model.ol/plugin.xml
@@ -8,8 +8,8 @@
    <extension point="org.eclipse.emf.ecore.generated_package">
       <!-- @generated model -->
       <package
-            uri="https://www.evoal.de/languages/eal/1.0.0"
-            class="de.evoal.languages.model.eal.EALPackage"
+            uri="https://www.evoal.de/languages/ol/1.0.0"
+            class="de.evoal.languages.model.ol.OLPackage"
             genModel="model/model.genmodel"/>
    </extension>
 
diff --git a/src/languages/de.evoal.languages.model.eal/pom.xml b/src/languages/de.evoal.languages.model.ol/pom.xml
similarity index 91%
rename from src/languages/de.evoal.languages.model.eal/pom.xml
rename to src/languages/de.evoal.languages.model.ol/pom.xml
index ec0df4c0792ce8cae215cf495473dc7d293cd478..d86f0ea42a48662bab0813277294862457bde99d 100644
--- a/src/languages/de.evoal.languages.model.eal/pom.xml
+++ b/src/languages/de.evoal.languages.model.ol/pom.xml
@@ -9,6 +9,6 @@
       <relativePath>../de.evoal.languages.releng.parent</relativePath>
   </parent>
 
-  <artifactId>de.evoal.languages.model.eal</artifactId>
+  <artifactId>de.evoal.languages.model.ol</artifactId>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Constraint.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Constraint.java
similarity index 69%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Constraint.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Constraint.java
index f60142c6a24f575c13a04170344aa589a565e655..b64986c4a9855c96efbabc93a2ffeba85e6355fa 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Constraint.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Constraint.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import org.eclipse.emf.common.util.EList;
 
@@ -16,21 +16,21 @@ import org.eclipse.emf.ecore.EObject;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.Constraint#getStatements <em>Statements</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.Constraint#getStatements <em>Statements</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getConstraint()
+ * @see de.evoal.languages.model.ol.OLPackage#getConstraint()
  * @model
  * @generated
  */
 public interface Constraint extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Statements</b></em>' containment reference list.
-	 * The list contents are of type {@link de.evoal.languages.model.eal.ConstraintStatement}.
+	 * The list contents are of type {@link de.evoal.languages.model.ol.ConstraintStatement}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Statements</em>' containment reference list.
-	 * @see de.evoal.languages.model.eal.EALPackage#getConstraint_Statements()
+	 * @see de.evoal.languages.model.ol.OLPackage#getConstraint_Statements()
 	 * @model containment="true"
 	 * @generated
 	 */
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/ConstraintStatement.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/ConstraintStatement.java
similarity index 66%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/ConstraintStatement.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/ConstraintStatement.java
index 094f0c41dbdcacc4c2259158615831621f9e36d6..a673631b6cc64c1dee285356ad90f64994d34569 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/ConstraintStatement.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/ConstraintStatement.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import de.evoal.languages.model.el.Call;
 
@@ -16,10 +16,10 @@ import org.eclipse.emf.ecore.EObject;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getConstraintStatement()
+ * @see de.evoal.languages.model.ol.OLPackage#getConstraintStatement()
  * @model
  * @generated
  */
@@ -30,14 +30,14 @@ public interface ConstraintStatement extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Constraint Expression</em>' containment reference.
 	 * @see #setConstraintExpression(Call)
-	 * @see de.evoal.languages.model.eal.EALPackage#getConstraintStatement_ConstraintExpression()
+	 * @see de.evoal.languages.model.ol.OLPackage#getConstraintStatement_ConstraintExpression()
 	 * @model containment="true"
 	 * @generated
 	 */
 	Call getConstraintExpression();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}' containment reference.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Constraint Expression</em>' containment reference.
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/DataReference.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/DataReference.java
similarity index 68%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/DataReference.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/DataReference.java
index c79310b1e2b172ea6ff161af922e9a75c016e3ac..1efe1dc332be1af15828797f0bd40ddd4d5d47a8 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/DataReference.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/DataReference.java
@@ -1,12 +1,12 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
-
-import de.evoal.languages.model.el.ValueReference;
+package de.evoal.languages.model.ol;
 
 import de.evoal.languages.model.ddl.DataDescription;
 
+import de.evoal.languages.model.el.ValueReference;
+
 /**
  * <!-- begin-user-doc -->
  * A representation of the model object '<em><b>Data Reference</b></em>'.
@@ -16,10 +16,10 @@ import de.evoal.languages.model.ddl.DataDescription;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.DataReference#getDefinition <em>Definition</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.DataReference#getDefinition <em>Definition</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getDataReference()
+ * @see de.evoal.languages.model.ol.OLPackage#getDataReference()
  * @model
  * @generated
  */
@@ -30,14 +30,14 @@ public interface DataReference extends ValueReference {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Definition</em>' reference.
 	 * @see #setDefinition(DataDescription)
-	 * @see de.evoal.languages.model.eal.EALPackage#getDataReference_Definition()
+	 * @see de.evoal.languages.model.ol.OLPackage#getDataReference_Definition()
 	 * @model
 	 * @generated
 	 */
 	DataDescription getDefinition();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.DataReference#getDefinition <em>Definition</em>}' reference.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.DataReference#getDefinition <em>Definition</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Definition</em>' reference.
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/FunctionName.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/FunctionName.java
similarity index 68%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/FunctionName.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/FunctionName.java
index 6fe3613d1220afe433a691562fee6eb0107ac4fe..59f44d1acd7ed33955025f9af6f505c36f54df3b 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/FunctionName.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/FunctionName.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import de.evoal.languages.model.dl.FunctionDefinition;
 
@@ -14,10 +14,10 @@ import de.evoal.languages.model.dl.FunctionDefinition;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.FunctionName#getDefinition <em>Definition</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.FunctionName#getDefinition <em>Definition</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getFunctionName()
+ * @see de.evoal.languages.model.ol.OLPackage#getFunctionName()
  * @model
  * @generated
  */
@@ -28,14 +28,14 @@ public interface FunctionName extends de.evoal.languages.model.el.FunctionName {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Definition</em>' reference.
 	 * @see #setDefinition(FunctionDefinition)
-	 * @see de.evoal.languages.model.eal.EALPackage#getFunctionName_Definition()
+	 * @see de.evoal.languages.model.ol.OLPackage#getFunctionName_Definition()
 	 * @model
 	 * @generated
 	 */
 	FunctionDefinition getDefinition();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.FunctionName#getDefinition <em>Definition</em>}' reference.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.FunctionName#getDefinition <em>Definition</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Definition</em>' reference.
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALFactory.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLFactory.java
similarity index 80%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALFactory.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLFactory.java
index 22cb70838e4c8bb9aaf79530289698e9221c8d91..2e7bf69d5d9d24edd33e0e7e8b1b919388de2c3b 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALFactory.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLFactory.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import org.eclipse.emf.ecore.EFactory;
 
@@ -10,26 +10,26 @@ import org.eclipse.emf.ecore.EFactory;
  * The <b>Factory</b> for the model.
  * It provides a create method for each non-abstract class of the model.
  * <!-- end-user-doc -->
- * @see de.evoal.languages.model.eal.EALPackage
+ * @see de.evoal.languages.model.ol.OLPackage
  * @generated
  */
-public interface EALFactory extends EFactory {
+public interface OLFactory extends EFactory {
 	/**
 	 * The singleton instance of the factory.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	EALFactory eINSTANCE = de.evoal.languages.model.eal.impl.EALFactoryImpl.init();
+	OLFactory eINSTANCE = de.evoal.languages.model.ol.impl.OLFactoryImpl.init();
 
 	/**
-	 * Returns a new object of class '<em>EA Model</em>'.
+	 * Returns a new object of class '<em>Optimisation Model</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>EA Model</em>'.
+	 * @return a new object of class '<em>Optimisation Model</em>'.
 	 * @generated
 	 */
-	EAModel createEAModel();
+	OptimisationModel createOptimisationModel();
 
 	/**
 	 * Returns a new object of class '<em>Use</em>'.
@@ -83,6 +83,6 @@ public interface EALFactory extends EFactory {
 	 * @return the package supported by this factory.
 	 * @generated
 	 */
-	EALPackage getEALPackage();
+	OLPackage getOLPackage();
 
-} //EALFactory
+} //OLFactory
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALPackage.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLPackage.java
similarity index 69%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALPackage.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLPackage.java
index 1162808cf345633866d3b01582d17953c3135f1a..636e74bc73021bb55715dd698dde3c5ef3a8ed49 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EALPackage.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OLPackage.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import de.evoal.languages.model.el.ELPackage;
 
@@ -21,19 +21,19 @@ import org.eclipse.emf.ecore.EReference;
  *   <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * @see de.evoal.languages.model.eal.EALFactory
+ * @see de.evoal.languages.model.ol.OLFactory
  * @model kind="package"
  *        annotation="http://www.eclipse.org/OCL/Import ddl='platform:/resource/de.evoal.languages.model.ddl/model/model.ecore#/' dl='platform:/resource/de.evoal.languages.model.dl/model/model.ecore#/' el='platform:/resource/de.evoal.languages.model.el/model/model.ecore#/' instance='platform:/resource/de.evoal.languages.model.instance/model/model.ecore#/'"
  * @generated
  */
-public interface EALPackage extends EPackage {
+public interface OLPackage extends EPackage {
 	/**
 	 * The package name.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNAME = "eal";
+	String eNAME = "ol";
 
 	/**
 	 * The package namespace URI.
@@ -41,7 +41,7 @@ public interface EALPackage extends EPackage {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_URI = "https://www.evoal.de/languages/eal/1.0.0";
+	String eNS_URI = "https://www.evoal.de/languages/ol/1.0.0";
 
 	/**
 	 * The package namespace name.
@@ -49,7 +49,7 @@ public interface EALPackage extends EPackage {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	String eNS_PREFIX = "eal";
+	String eNS_PREFIX = "ol";
 
 	/**
 	 * The singleton instance of the package.
@@ -57,17 +57,17 @@ public interface EALPackage extends EPackage {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	EALPackage eINSTANCE = de.evoal.languages.model.eal.impl.EALPackageImpl.init();
+	OLPackage eINSTANCE = de.evoal.languages.model.ol.impl.OLPackageImpl.init();
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.EAModelImpl <em>EA Model</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.OptimisationModelImpl <em>Optimisation Model</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.EAModelImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getEAModel()
+	 * @see de.evoal.languages.model.ol.impl.OptimisationModelImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getOptimisationModel()
 	 * @generated
 	 */
-	int EA_MODEL = 0;
+	int OPTIMISATION_MODEL = 0;
 
 	/**
 	 * The feature id for the '<em><b>Uses</b></em>' containment reference list.
@@ -76,7 +76,7 @@ public interface EALPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int EA_MODEL__USES = 0;
+	int OPTIMISATION_MODEL__USES = 0;
 
 	/**
 	 * The feature id for the '<em><b>Instance</b></em>' containment reference.
@@ -85,7 +85,7 @@ public interface EALPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int EA_MODEL__INSTANCE = 1;
+	int OPTIMISATION_MODEL__INSTANCE = 1;
 
 	/**
 	 * The feature id for the '<em><b>Constraints</b></em>' containment reference.
@@ -94,23 +94,23 @@ public interface EALPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int EA_MODEL__CONSTRAINTS = 2;
+	int OPTIMISATION_MODEL__CONSTRAINTS = 2;
 
 	/**
-	 * The number of structural features of the '<em>EA Model</em>' class.
+	 * The number of structural features of the '<em>Optimisation Model</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EA_MODEL_FEATURE_COUNT = 3;
+	int OPTIMISATION_MODEL_FEATURE_COUNT = 3;
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.UseImpl <em>Use</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.UseImpl <em>Use</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.UseImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getUse()
+	 * @see de.evoal.languages.model.ol.impl.UseImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getUse()
 	 * @generated
 	 */
 	int USE = 1;
@@ -134,11 +134,11 @@ public interface EALPackage extends EPackage {
 	int USE_FEATURE_COUNT = 1;
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.ConstraintImpl <em>Constraint</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.ConstraintImpl <em>Constraint</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.ConstraintImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getConstraint()
+	 * @see de.evoal.languages.model.ol.impl.ConstraintImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getConstraint()
 	 * @generated
 	 */
 	int CONSTRAINT = 2;
@@ -162,11 +162,11 @@ public interface EALPackage extends EPackage {
 	int CONSTRAINT_FEATURE_COUNT = 1;
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.ConstraintStatementImpl <em>Constraint Statement</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.ConstraintStatementImpl <em>Constraint Statement</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.ConstraintStatementImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getConstraintStatement()
+	 * @see de.evoal.languages.model.ol.impl.ConstraintStatementImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getConstraintStatement()
 	 * @generated
 	 */
 	int CONSTRAINT_STATEMENT = 3;
@@ -190,11 +190,11 @@ public interface EALPackage extends EPackage {
 	int CONSTRAINT_STATEMENT_FEATURE_COUNT = 1;
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.FunctionNameImpl <em>Function Name</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.FunctionNameImpl <em>Function Name</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.FunctionNameImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getFunctionName()
+	 * @see de.evoal.languages.model.ol.impl.FunctionNameImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getFunctionName()
 	 * @generated
 	 */
 	int FUNCTION_NAME = 4;
@@ -218,11 +218,11 @@ public interface EALPackage extends EPackage {
 	int FUNCTION_NAME_FEATURE_COUNT = ELPackage.FUNCTION_NAME_FEATURE_COUNT + 1;
 
 	/**
-	 * The meta object id for the '{@link de.evoal.languages.model.eal.impl.DataReferenceImpl <em>Data Reference</em>}' class.
+	 * The meta object id for the '{@link de.evoal.languages.model.ol.impl.DataReferenceImpl <em>Data Reference</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see de.evoal.languages.model.eal.impl.DataReferenceImpl
-	 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getDataReference()
+	 * @see de.evoal.languages.model.ol.impl.DataReferenceImpl
+	 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getDataReference()
 	 * @generated
 	 */
 	int DATA_REFERENCE = 5;
@@ -247,148 +247,148 @@ public interface EALPackage extends EPackage {
 
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.EAModel <em>EA Model</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.OptimisationModel <em>Optimisation Model</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>EA Model</em>'.
-	 * @see de.evoal.languages.model.eal.EAModel
+	 * @return the meta object for class '<em>Optimisation Model</em>'.
+	 * @see de.evoal.languages.model.ol.OptimisationModel
 	 * @generated
 	 */
-	EClass getEAModel();
+	EClass getOptimisationModel();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.eal.EAModel#getUses <em>Uses</em>}'.
+	 * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.ol.OptimisationModel#getUses <em>Uses</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Uses</em>'.
-	 * @see de.evoal.languages.model.eal.EAModel#getUses()
-	 * @see #getEAModel()
+	 * @see de.evoal.languages.model.ol.OptimisationModel#getUses()
+	 * @see #getOptimisationModel()
 	 * @generated
 	 */
-	EReference getEAModel_Uses();
+	EReference getOptimisationModel_Uses();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.eal.EAModel#getInstance <em>Instance</em>}'.
+	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.ol.OptimisationModel#getInstance <em>Instance</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference '<em>Instance</em>'.
-	 * @see de.evoal.languages.model.eal.EAModel#getInstance()
-	 * @see #getEAModel()
+	 * @see de.evoal.languages.model.ol.OptimisationModel#getInstance()
+	 * @see #getOptimisationModel()
 	 * @generated
 	 */
-	EReference getEAModel_Instance();
+	EReference getOptimisationModel_Instance();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.eal.EAModel#getConstraints <em>Constraints</em>}'.
+	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.ol.OptimisationModel#getConstraints <em>Constraints</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference '<em>Constraints</em>'.
-	 * @see de.evoal.languages.model.eal.EAModel#getConstraints()
-	 * @see #getEAModel()
+	 * @see de.evoal.languages.model.ol.OptimisationModel#getConstraints()
+	 * @see #getOptimisationModel()
 	 * @generated
 	 */
-	EReference getEAModel_Constraints();
+	EReference getOptimisationModel_Constraints();
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.Use <em>Use</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.Use <em>Use</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>Use</em>'.
-	 * @see de.evoal.languages.model.eal.Use
+	 * @see de.evoal.languages.model.ol.Use
 	 * @generated
 	 */
 	EClass getUse();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.evoal.languages.model.eal.Use#getImportURI <em>Import URI</em>}'.
+	 * Returns the meta object for the attribute '{@link de.evoal.languages.model.ol.Use#getImportURI <em>Import URI</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Import URI</em>'.
-	 * @see de.evoal.languages.model.eal.Use#getImportURI()
+	 * @see de.evoal.languages.model.ol.Use#getImportURI()
 	 * @see #getUse()
 	 * @generated
 	 */
 	EAttribute getUse_ImportURI();
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.Constraint <em>Constraint</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.Constraint <em>Constraint</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>Constraint</em>'.
-	 * @see de.evoal.languages.model.eal.Constraint
+	 * @see de.evoal.languages.model.ol.Constraint
 	 * @generated
 	 */
 	EClass getConstraint();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.eal.Constraint#getStatements <em>Statements</em>}'.
+	 * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.ol.Constraint#getStatements <em>Statements</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference list '<em>Statements</em>'.
-	 * @see de.evoal.languages.model.eal.Constraint#getStatements()
+	 * @see de.evoal.languages.model.ol.Constraint#getStatements()
 	 * @see #getConstraint()
 	 * @generated
 	 */
 	EReference getConstraint_Statements();
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.ConstraintStatement <em>Constraint Statement</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.ConstraintStatement <em>Constraint Statement</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>Constraint Statement</em>'.
-	 * @see de.evoal.languages.model.eal.ConstraintStatement
+	 * @see de.evoal.languages.model.ol.ConstraintStatement
 	 * @generated
 	 */
 	EClass getConstraintStatement();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.eal.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}'.
+	 * Returns the meta object for the containment reference '{@link de.evoal.languages.model.ol.ConstraintStatement#getConstraintExpression <em>Constraint Expression</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the containment reference '<em>Constraint Expression</em>'.
-	 * @see de.evoal.languages.model.eal.ConstraintStatement#getConstraintExpression()
+	 * @see de.evoal.languages.model.ol.ConstraintStatement#getConstraintExpression()
 	 * @see #getConstraintStatement()
 	 * @generated
 	 */
 	EReference getConstraintStatement_ConstraintExpression();
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.FunctionName <em>Function Name</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.FunctionName <em>Function Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>Function Name</em>'.
-	 * @see de.evoal.languages.model.eal.FunctionName
+	 * @see de.evoal.languages.model.ol.FunctionName
 	 * @generated
 	 */
 	EClass getFunctionName();
 
 	/**
-	 * Returns the meta object for the reference '{@link de.evoal.languages.model.eal.FunctionName#getDefinition <em>Definition</em>}'.
+	 * Returns the meta object for the reference '{@link de.evoal.languages.model.ol.FunctionName#getDefinition <em>Definition</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Definition</em>'.
-	 * @see de.evoal.languages.model.eal.FunctionName#getDefinition()
+	 * @see de.evoal.languages.model.ol.FunctionName#getDefinition()
 	 * @see #getFunctionName()
 	 * @generated
 	 */
 	EReference getFunctionName_Definition();
 
 	/**
-	 * Returns the meta object for class '{@link de.evoal.languages.model.eal.DataReference <em>Data Reference</em>}'.
+	 * Returns the meta object for class '{@link de.evoal.languages.model.ol.DataReference <em>Data Reference</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for class '<em>Data Reference</em>'.
-	 * @see de.evoal.languages.model.eal.DataReference
+	 * @see de.evoal.languages.model.ol.DataReference
 	 * @generated
 	 */
 	EClass getDataReference();
 
 	/**
-	 * Returns the meta object for the reference '{@link de.evoal.languages.model.eal.DataReference#getDefinition <em>Definition</em>}'.
+	 * Returns the meta object for the reference '{@link de.evoal.languages.model.ol.DataReference#getDefinition <em>Definition</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the reference '<em>Definition</em>'.
-	 * @see de.evoal.languages.model.eal.DataReference#getDefinition()
+	 * @see de.evoal.languages.model.ol.DataReference#getDefinition()
 	 * @see #getDataReference()
 	 * @generated
 	 */
@@ -401,7 +401,7 @@ public interface EALPackage extends EPackage {
 	 * @return the factory that creates the instances of the model.
 	 * @generated
 	 */
-	EALFactory getEALFactory();
+	OLFactory getOLFactory();
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -417,14 +417,14 @@ public interface EALPackage extends EPackage {
 	 */
 	interface Literals {
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.EAModelImpl <em>EA Model</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.OptimisationModelImpl <em>Optimisation Model</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.EAModelImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getEAModel()
+		 * @see de.evoal.languages.model.ol.impl.OptimisationModelImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getOptimisationModel()
 		 * @generated
 		 */
-		EClass EA_MODEL = eINSTANCE.getEAModel();
+		EClass OPTIMISATION_MODEL = eINSTANCE.getOptimisationModel();
 
 		/**
 		 * The meta object literal for the '<em><b>Uses</b></em>' containment reference list feature.
@@ -432,7 +432,7 @@ public interface EALPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference EA_MODEL__USES = eINSTANCE.getEAModel_Uses();
+		EReference OPTIMISATION_MODEL__USES = eINSTANCE.getOptimisationModel_Uses();
 
 		/**
 		 * The meta object literal for the '<em><b>Instance</b></em>' containment reference feature.
@@ -440,7 +440,7 @@ public interface EALPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference EA_MODEL__INSTANCE = eINSTANCE.getEAModel_Instance();
+		EReference OPTIMISATION_MODEL__INSTANCE = eINSTANCE.getOptimisationModel_Instance();
 
 		/**
 		 * The meta object literal for the '<em><b>Constraints</b></em>' containment reference feature.
@@ -448,14 +448,14 @@ public interface EALPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference EA_MODEL__CONSTRAINTS = eINSTANCE.getEAModel_Constraints();
+		EReference OPTIMISATION_MODEL__CONSTRAINTS = eINSTANCE.getOptimisationModel_Constraints();
 
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.UseImpl <em>Use</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.UseImpl <em>Use</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.UseImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getUse()
+		 * @see de.evoal.languages.model.ol.impl.UseImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getUse()
 		 * @generated
 		 */
 		EClass USE = eINSTANCE.getUse();
@@ -469,11 +469,11 @@ public interface EALPackage extends EPackage {
 		EAttribute USE__IMPORT_URI = eINSTANCE.getUse_ImportURI();
 
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.ConstraintImpl <em>Constraint</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.ConstraintImpl <em>Constraint</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.ConstraintImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getConstraint()
+		 * @see de.evoal.languages.model.ol.impl.ConstraintImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getConstraint()
 		 * @generated
 		 */
 		EClass CONSTRAINT = eINSTANCE.getConstraint();
@@ -487,11 +487,11 @@ public interface EALPackage extends EPackage {
 		EReference CONSTRAINT__STATEMENTS = eINSTANCE.getConstraint_Statements();
 
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.ConstraintStatementImpl <em>Constraint Statement</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.ConstraintStatementImpl <em>Constraint Statement</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.ConstraintStatementImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getConstraintStatement()
+		 * @see de.evoal.languages.model.ol.impl.ConstraintStatementImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getConstraintStatement()
 		 * @generated
 		 */
 		EClass CONSTRAINT_STATEMENT = eINSTANCE.getConstraintStatement();
@@ -505,11 +505,11 @@ public interface EALPackage extends EPackage {
 		EReference CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION = eINSTANCE.getConstraintStatement_ConstraintExpression();
 
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.FunctionNameImpl <em>Function Name</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.FunctionNameImpl <em>Function Name</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.FunctionNameImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getFunctionName()
+		 * @see de.evoal.languages.model.ol.impl.FunctionNameImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getFunctionName()
 		 * @generated
 		 */
 		EClass FUNCTION_NAME = eINSTANCE.getFunctionName();
@@ -523,11 +523,11 @@ public interface EALPackage extends EPackage {
 		EReference FUNCTION_NAME__DEFINITION = eINSTANCE.getFunctionName_Definition();
 
 		/**
-		 * The meta object literal for the '{@link de.evoal.languages.model.eal.impl.DataReferenceImpl <em>Data Reference</em>}' class.
+		 * The meta object literal for the '{@link de.evoal.languages.model.ol.impl.DataReferenceImpl <em>Data Reference</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see de.evoal.languages.model.eal.impl.DataReferenceImpl
-		 * @see de.evoal.languages.model.eal.impl.EALPackageImpl#getDataReference()
+		 * @see de.evoal.languages.model.ol.impl.DataReferenceImpl
+		 * @see de.evoal.languages.model.ol.impl.OLPackageImpl#getDataReference()
 		 * @generated
 		 */
 		EClass DATA_REFERENCE = eINSTANCE.getDataReference();
@@ -542,4 +542,4 @@ public interface EALPackage extends EPackage {
 
 	}
 
-} //EALPackage
+} //OLPackage
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EAModel.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OptimisationModel.java
similarity index 61%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EAModel.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OptimisationModel.java
index 34b3ab9c64f0a4cd2d625d485ddae95cac13cf75..2b08120e82fbeaf2d56412c4a509a873c815ae2e 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/EAModel.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/OptimisationModel.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import de.evoal.languages.model.instance.Instance;
 
@@ -11,30 +11,30 @@ import org.eclipse.emf.ecore.EObject;
 
 /**
  * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>EA Model</b></em>'.
+ * A representation of the model object '<em><b>Optimisation Model</b></em>'.
  * <!-- end-user-doc -->
  *
  * <p>
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.EAModel#getUses <em>Uses</em>}</li>
- *   <li>{@link de.evoal.languages.model.eal.EAModel#getInstance <em>Instance</em>}</li>
- *   <li>{@link de.evoal.languages.model.eal.EAModel#getConstraints <em>Constraints</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.OptimisationModel#getUses <em>Uses</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.OptimisationModel#getInstance <em>Instance</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.OptimisationModel#getConstraints <em>Constraints</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getEAModel()
+ * @see de.evoal.languages.model.ol.OLPackage#getOptimisationModel()
  * @model
  * @generated
  */
-public interface EAModel extends EObject {
+public interface OptimisationModel extends EObject {
 	/**
 	 * Returns the value of the '<em><b>Uses</b></em>' containment reference list.
-	 * The list contents are of type {@link de.evoal.languages.model.eal.Use}.
+	 * The list contents are of type {@link de.evoal.languages.model.ol.Use}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Uses</em>' containment reference list.
-	 * @see de.evoal.languages.model.eal.EALPackage#getEAModel_Uses()
+	 * @see de.evoal.languages.model.ol.OLPackage#getOptimisationModel_Uses()
 	 * @model containment="true"
 	 * @generated
 	 */
@@ -46,14 +46,14 @@ public interface EAModel extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Instance</em>' containment reference.
 	 * @see #setInstance(Instance)
-	 * @see de.evoal.languages.model.eal.EALPackage#getEAModel_Instance()
+	 * @see de.evoal.languages.model.ol.OLPackage#getOptimisationModel_Instance()
 	 * @model containment="true"
 	 * @generated
 	 */
 	Instance getInstance();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.EAModel#getInstance <em>Instance</em>}' containment reference.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.OptimisationModel#getInstance <em>Instance</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Instance</em>' containment reference.
@@ -68,14 +68,14 @@ public interface EAModel extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Constraints</em>' containment reference.
 	 * @see #setConstraints(Constraint)
-	 * @see de.evoal.languages.model.eal.EALPackage#getEAModel_Constraints()
+	 * @see de.evoal.languages.model.ol.OLPackage#getOptimisationModel_Constraints()
 	 * @model containment="true"
 	 * @generated
 	 */
 	Constraint getConstraints();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.EAModel#getConstraints <em>Constraints</em>}' containment reference.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.OptimisationModel#getConstraints <em>Constraints</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Constraints</em>' containment reference.
@@ -84,4 +84,4 @@ public interface EAModel extends EObject {
 	 */
 	void setConstraints(Constraint value);
 
-} // EAModel
+} // OptimisationModel
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Use.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Use.java
similarity index 67%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Use.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Use.java
index b8cf7e30b56f54a7080f3e4d8e061e62f705fcc0..4723089c2f032ad25483ec1179383efb510e2065 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/Use.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/Use.java
@@ -1,7 +1,7 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal;
+package de.evoal.languages.model.ol;
 
 import org.eclipse.emf.ecore.EObject;
 
@@ -14,10 +14,10 @@ import org.eclipse.emf.ecore.EObject;
  * The following features are supported:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.Use#getImportURI <em>Import URI</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.Use#getImportURI <em>Import URI</em>}</li>
  * </ul>
  *
- * @see de.evoal.languages.model.eal.EALPackage#getUse()
+ * @see de.evoal.languages.model.ol.OLPackage#getUse()
  * @model
  * @generated
  */
@@ -28,14 +28,14 @@ public interface Use extends EObject {
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Import URI</em>' attribute.
 	 * @see #setImportURI(String)
-	 * @see de.evoal.languages.model.eal.EALPackage#getUse_ImportURI()
+	 * @see de.evoal.languages.model.ol.OLPackage#getUse_ImportURI()
 	 * @model
 	 * @generated
 	 */
 	String getImportURI();
 
 	/**
-	 * Sets the value of the '{@link de.evoal.languages.model.eal.Use#getImportURI <em>Import URI</em>}' attribute.
+	 * Sets the value of the '{@link de.evoal.languages.model.ol.Use#getImportURI <em>Import URI</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param value the new value of the '<em>Import URI</em>' attribute.
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintImpl.java
similarity index 81%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintImpl.java
index 56399e4ecd0d67fc6e5570ef6d4af6bcbc5d39fa..64443fcd4465a195ecc822211a9953aee8fdbef8 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintImpl.java
@@ -1,11 +1,11 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
+package de.evoal.languages.model.ol.impl;
 
-import de.evoal.languages.model.eal.Constraint;
-import de.evoal.languages.model.eal.ConstraintStatement;
-import de.evoal.languages.model.eal.EALPackage;
+import de.evoal.languages.model.ol.Constraint;
+import de.evoal.languages.model.ol.ConstraintStatement;
+import de.evoal.languages.model.ol.OLPackage;
 
 import java.util.Collection;
 
@@ -29,7 +29,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.ConstraintImpl#getStatements <em>Statements</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.ConstraintImpl#getStatements <em>Statements</em>}</li>
  * </ul>
  *
  * @generated
@@ -61,7 +61,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.CONSTRAINT;
+		return OLPackage.Literals.CONSTRAINT;
 	}
 
 	/**
@@ -72,7 +72,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public EList<ConstraintStatement> getStatements() {
 		if (statements == null) {
-			statements = new EObjectContainmentEList<ConstraintStatement>(ConstraintStatement.class, this, EALPackage.CONSTRAINT__STATEMENTS);
+			statements = new EObjectContainmentEList<ConstraintStatement>(ConstraintStatement.class, this, OLPackage.CONSTRAINT__STATEMENTS);
 		}
 		return statements;
 	}
@@ -85,7 +85,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT__STATEMENTS:
+			case OLPackage.CONSTRAINT__STATEMENTS:
 				return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -99,7 +99,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT__STATEMENTS:
+			case OLPackage.CONSTRAINT__STATEMENTS:
 				return getStatements();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -114,7 +114,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT__STATEMENTS:
+			case OLPackage.CONSTRAINT__STATEMENTS:
 				getStatements().clear();
 				getStatements().addAll((Collection<? extends ConstraintStatement>)newValue);
 				return;
@@ -130,7 +130,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT__STATEMENTS:
+			case OLPackage.CONSTRAINT__STATEMENTS:
 				getStatements().clear();
 				return;
 		}
@@ -145,7 +145,7 @@ public class ConstraintImpl extends MinimalEObjectImpl.Container implements Cons
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT__STATEMENTS:
+			case OLPackage.CONSTRAINT__STATEMENTS:
 				return statements != null && !statements.isEmpty();
 		}
 		return super.eIsSet(featureID);
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintStatementImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintStatementImpl.java
similarity index 76%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintStatementImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintStatementImpl.java
index faf4a4316a8a597116fb181f06cdd206425532e4..c72657d4d34824f5f687d720b74834e33346b30c 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/ConstraintStatementImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/ConstraintStatementImpl.java
@@ -1,12 +1,12 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
+package de.evoal.languages.model.ol.impl;
 
 import de.evoal.languages.model.el.Call;
 
-import de.evoal.languages.model.eal.ConstraintStatement;
-import de.evoal.languages.model.eal.EALPackage;
+import de.evoal.languages.model.ol.ConstraintStatement;
+import de.evoal.languages.model.ol.OLPackage;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.NotificationChain;
@@ -25,7 +25,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.ConstraintStatementImpl#getConstraintExpression <em>Constraint Expression</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.ConstraintStatementImpl#getConstraintExpression <em>Constraint Expression</em>}</li>
  * </ul>
  *
  * @generated
@@ -57,7 +57,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.CONSTRAINT_STATEMENT;
+		return OLPackage.Literals.CONSTRAINT_STATEMENT;
 	}
 
 	/**
@@ -79,7 +79,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 		Call oldConstraintExpression = constraintExpression;
 		constraintExpression = newConstraintExpression;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, oldConstraintExpression, newConstraintExpression);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, oldConstraintExpression, newConstraintExpression);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -95,14 +95,14 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 		if (newConstraintExpression != constraintExpression) {
 			NotificationChain msgs = null;
 			if (constraintExpression != null)
-				msgs = ((InternalEObject)constraintExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, null, msgs);
+				msgs = ((InternalEObject)constraintExpression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, null, msgs);
 			if (newConstraintExpression != null)
-				msgs = ((InternalEObject)newConstraintExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, null, msgs);
+				msgs = ((InternalEObject)newConstraintExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, null, msgs);
 			msgs = basicSetConstraintExpression(newConstraintExpression, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, newConstraintExpression, newConstraintExpression));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION, newConstraintExpression, newConstraintExpression));
 	}
 
 	/**
@@ -113,7 +113,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
+			case OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
 				return basicSetConstraintExpression(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -127,7 +127,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
+			case OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
 				return getConstraintExpression();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -141,7 +141,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
+			case OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
 				setConstraintExpression((Call)newValue);
 				return;
 		}
@@ -156,7 +156,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
+			case OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
 				setConstraintExpression((Call)null);
 				return;
 		}
@@ -171,7 +171,7 @@ public class ConstraintStatementImpl extends MinimalEObjectImpl.Container implem
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
+			case OLPackage.CONSTRAINT_STATEMENT__CONSTRAINT_EXPRESSION:
 				return constraintExpression != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/DataReferenceImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/DataReferenceImpl.java
similarity index 79%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/DataReferenceImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/DataReferenceImpl.java
index ad5bafaf02a43335c7c9c1b26c76c7cbf8db3d90..a0e0008c14e0eaba82b8d56753886689837ac637 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/DataReferenceImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/DataReferenceImpl.java
@@ -1,14 +1,14 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
-
-import de.evoal.languages.model.el.impl.ValueReferenceImpl;
+package de.evoal.languages.model.ol.impl;
 
 import de.evoal.languages.model.ddl.DataDescription;
 
-import de.evoal.languages.model.eal.DataReference;
-import de.evoal.languages.model.eal.EALPackage;
+import de.evoal.languages.model.el.impl.ValueReferenceImpl;
+
+import de.evoal.languages.model.ol.DataReference;
+import de.evoal.languages.model.ol.OLPackage;
 
 import org.eclipse.emf.common.notify.Notification;
 
@@ -25,7 +25,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.DataReferenceImpl#getDefinition <em>Definition</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.DataReferenceImpl#getDefinition <em>Definition</em>}</li>
  * </ul>
  *
  * @generated
@@ -57,7 +57,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.DATA_REFERENCE;
+		return OLPackage.Literals.DATA_REFERENCE;
 	}
 
 	/**
@@ -72,7 +72,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 			definition = (DataDescription)eResolveProxy(oldDefinition);
 			if (definition != oldDefinition) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EALPackage.DATA_REFERENCE__DEFINITION, oldDefinition, definition));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, OLPackage.DATA_REFERENCE__DEFINITION, oldDefinition, definition));
 			}
 		}
 		return definition;
@@ -97,7 +97,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 		DataDescription oldDefinition = definition;
 		definition = newDefinition;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.DATA_REFERENCE__DEFINITION, oldDefinition, definition));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.DATA_REFERENCE__DEFINITION, oldDefinition, definition));
 	}
 
 	/**
@@ -108,7 +108,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.DATA_REFERENCE__DEFINITION:
+			case OLPackage.DATA_REFERENCE__DEFINITION:
 				if (resolve) return getDefinition();
 				return basicGetDefinition();
 		}
@@ -123,7 +123,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.DATA_REFERENCE__DEFINITION:
+			case OLPackage.DATA_REFERENCE__DEFINITION:
 				setDefinition((DataDescription)newValue);
 				return;
 		}
@@ -138,7 +138,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.DATA_REFERENCE__DEFINITION:
+			case OLPackage.DATA_REFERENCE__DEFINITION:
 				setDefinition((DataDescription)null);
 				return;
 		}
@@ -153,7 +153,7 @@ public class DataReferenceImpl extends ValueReferenceImpl implements DataReferen
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.DATA_REFERENCE__DEFINITION:
+			case OLPackage.DATA_REFERENCE__DEFINITION:
 				return definition != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/FunctionNameImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/FunctionNameImpl.java
similarity index 79%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/FunctionNameImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/FunctionNameImpl.java
index b39ce898fb72b07ebd9e68a493ac04d4798f8c92..18e18dbbf529f8e11add188f9e1bd4420c3ee286 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/FunctionNameImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/FunctionNameImpl.java
@@ -1,12 +1,12 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
+package de.evoal.languages.model.ol.impl;
 
 import de.evoal.languages.model.dl.FunctionDefinition;
 
-import de.evoal.languages.model.eal.EALPackage;
-import de.evoal.languages.model.eal.FunctionName;
+import de.evoal.languages.model.ol.FunctionName;
+import de.evoal.languages.model.ol.OLPackage;
 
 import org.eclipse.emf.common.notify.Notification;
 
@@ -23,7 +23,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.FunctionNameImpl#getDefinition <em>Definition</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.FunctionNameImpl#getDefinition <em>Definition</em>}</li>
  * </ul>
  *
  * @generated
@@ -55,7 +55,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.FUNCTION_NAME;
+		return OLPackage.Literals.FUNCTION_NAME;
 	}
 
 	/**
@@ -70,7 +70,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 			definition = (FunctionDefinition)eResolveProxy(oldDefinition);
 			if (definition != oldDefinition) {
 				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, EALPackage.FUNCTION_NAME__DEFINITION, oldDefinition, definition));
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, OLPackage.FUNCTION_NAME__DEFINITION, oldDefinition, definition));
 			}
 		}
 		return definition;
@@ -95,7 +95,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 		FunctionDefinition oldDefinition = definition;
 		definition = newDefinition;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.FUNCTION_NAME__DEFINITION, oldDefinition, definition));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.FUNCTION_NAME__DEFINITION, oldDefinition, definition));
 	}
 
 	/**
@@ -106,7 +106,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.FUNCTION_NAME__DEFINITION:
+			case OLPackage.FUNCTION_NAME__DEFINITION:
 				if (resolve) return getDefinition();
 				return basicGetDefinition();
 		}
@@ -121,7 +121,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.FUNCTION_NAME__DEFINITION:
+			case OLPackage.FUNCTION_NAME__DEFINITION:
 				setDefinition((FunctionDefinition)newValue);
 				return;
 		}
@@ -136,7 +136,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.FUNCTION_NAME__DEFINITION:
+			case OLPackage.FUNCTION_NAME__DEFINITION:
 				setDefinition((FunctionDefinition)null);
 				return;
 		}
@@ -151,7 +151,7 @@ public class FunctionNameImpl extends de.evoal.languages.model.el.impl.FunctionN
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.FUNCTION_NAME__DEFINITION:
+			case OLPackage.FUNCTION_NAME__DEFINITION:
 				return definition != null;
 		}
 		return super.eIsSet(featureID);
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALFactoryImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLFactoryImpl.java
similarity index 68%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALFactoryImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLFactoryImpl.java
index 7ec8dd700b5738b7b0215e52ff459fe4e5e015c7..5a393ac49c40e64e53f7da4d3e3edddabbdd1943 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALFactoryImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLFactoryImpl.java
@@ -1,9 +1,9 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
+package de.evoal.languages.model.ol.impl;
 
-import de.evoal.languages.model.eal.*;
+import de.evoal.languages.model.ol.*;
 
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
@@ -19,24 +19,24 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
  * <!-- end-user-doc -->
  * @generated
  */
-public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
+public class OLFactoryImpl extends EFactoryImpl implements OLFactory {
 	/**
 	 * Creates the default factory implementation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static EALFactory init() {
+	public static OLFactory init() {
 		try {
-			EALFactory theEALFactory = (EALFactory)EPackage.Registry.INSTANCE.getEFactory(EALPackage.eNS_URI);
-			if (theEALFactory != null) {
-				return theEALFactory;
+			OLFactory theOLFactory = (OLFactory)EPackage.Registry.INSTANCE.getEFactory(OLPackage.eNS_URI);
+			if (theOLFactory != null) {
+				return theOLFactory;
 			}
 		}
 		catch (Exception exception) {
 			EcorePlugin.INSTANCE.log(exception);
 		}
-		return new EALFactoryImpl();
+		return new OLFactoryImpl();
 	}
 
 	/**
@@ -45,7 +45,7 @@ public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EALFactoryImpl() {
+	public OLFactoryImpl() {
 		super();
 	}
 
@@ -57,12 +57,12 @@ public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
 	@Override
 	public EObject create(EClass eClass) {
 		switch (eClass.getClassifierID()) {
-			case EALPackage.EA_MODEL: return createEAModel();
-			case EALPackage.USE: return createUse();
-			case EALPackage.CONSTRAINT: return createConstraint();
-			case EALPackage.CONSTRAINT_STATEMENT: return createConstraintStatement();
-			case EALPackage.FUNCTION_NAME: return createFunctionName();
-			case EALPackage.DATA_REFERENCE: return createDataReference();
+			case OLPackage.OPTIMISATION_MODEL: return createOptimisationModel();
+			case OLPackage.USE: return createUse();
+			case OLPackage.CONSTRAINT: return createConstraint();
+			case OLPackage.CONSTRAINT_STATEMENT: return createConstraintStatement();
+			case OLPackage.FUNCTION_NAME: return createFunctionName();
+			case OLPackage.DATA_REFERENCE: return createDataReference();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -74,9 +74,9 @@ public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
 	 * @generated
 	 */
 	@Override
-	public EAModel createEAModel() {
-		EAModelImpl eaModel = new EAModelImpl();
-		return eaModel;
+	public OptimisationModel createOptimisationModel() {
+		OptimisationModelImpl optimisationModel = new OptimisationModelImpl();
+		return optimisationModel;
 	}
 
 	/**
@@ -140,8 +140,8 @@ public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
 	 * @generated
 	 */
 	@Override
-	public EALPackage getEALPackage() {
-		return (EALPackage)getEPackage();
+	public OLPackage getOLPackage() {
+		return (OLPackage)getEPackage();
 	}
 
 	/**
@@ -151,8 +151,8 @@ public class EALFactoryImpl extends EFactoryImpl implements EALFactory {
 	 * @generated
 	 */
 	@Deprecated
-	public static EALPackage getPackage() {
-		return EALPackage.eINSTANCE;
+	public static OLPackage getPackage() {
+		return OLPackage.eINSTANCE;
 	}
 
-} //EALFactoryImpl
+} //OLFactoryImpl
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALPackageImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLPackageImpl.java
similarity index 77%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALPackageImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLPackageImpl.java
index 1815e550e71a4f7817e40d9c14f3a1e7f542c319..94ea0b129f6796b79faae9e6d5885cf8d6e1f603 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EALPackageImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OLPackageImpl.java
@@ -1,25 +1,25 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
-
-import de.evoal.languages.model.el.ELPackage;
+package de.evoal.languages.model.ol.impl;
 
 import de.evoal.languages.model.ddl.DdlPackage;
 
 import de.evoal.languages.model.dl.DlPackage;
 
-import de.evoal.languages.model.eal.Constraint;
-import de.evoal.languages.model.eal.ConstraintStatement;
-import de.evoal.languages.model.eal.DataReference;
-import de.evoal.languages.model.eal.EALFactory;
-import de.evoal.languages.model.eal.EALPackage;
-import de.evoal.languages.model.eal.EAModel;
-import de.evoal.languages.model.eal.FunctionName;
-import de.evoal.languages.model.eal.Use;
+import de.evoal.languages.model.el.ELPackage;
 
 import de.evoal.languages.model.instance.InstancePackage;
 
+import de.evoal.languages.model.ol.Constraint;
+import de.evoal.languages.model.ol.ConstraintStatement;
+import de.evoal.languages.model.ol.DataReference;
+import de.evoal.languages.model.ol.FunctionName;
+import de.evoal.languages.model.ol.OLFactory;
+import de.evoal.languages.model.ol.OLPackage;
+import de.evoal.languages.model.ol.OptimisationModel;
+import de.evoal.languages.model.ol.Use;
+
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EPackage;
@@ -33,13 +33,13 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
  * <!-- end-user-doc -->
  * @generated
  */
-public class EALPackageImpl extends EPackageImpl implements EALPackage {
+public class OLPackageImpl extends EPackageImpl implements OLPackage {
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass eaModelEClass = null;
+	private EClass optimisationModelEClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -87,14 +87,13 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see de.evoal.languages.model.eal.EALPackage#eNS_URI
+	 * @see de.evoal.languages.model.ol.OLPackage#eNS_URI
 	 * @see #init()
 	 * @generated
 	 */
-	private EALPackageImpl() {
-		super(eNS_URI, EALFactory.eINSTANCE);
+	private OLPackageImpl() {
+		super(eNS_URI, OLFactory.eINSTANCE);
 	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105,7 +104,7 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	/**
 	 * 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 EALPackage#eINSTANCE} when that field is accessed.
+	 * <p>This method is used to initialize {@link OLPackage#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 -->
@@ -114,12 +113,12 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @see #initializePackageContents()
 	 * @generated
 	 */
-	public static EALPackage init() {
-		if (isInited) return (EALPackage)EPackage.Registry.INSTANCE.getEPackage(EALPackage.eNS_URI);
+	public static OLPackage init() {
+		if (isInited) return (OLPackage)EPackage.Registry.INSTANCE.getEPackage(OLPackage.eNS_URI);
 
 		// Obtain or create and register package
-		Object registeredEALPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
-		EALPackageImpl theEALPackage = registeredEALPackage instanceof EALPackageImpl ? (EALPackageImpl)registeredEALPackage : new EALPackageImpl();
+		Object registeredOLPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		OLPackageImpl theOLPackage = registeredOLPackage instanceof OLPackageImpl ? (OLPackageImpl)registeredOLPackage : new OLPackageImpl();
 
 		isInited = true;
 
@@ -130,17 +129,17 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 		InstancePackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
-		theEALPackage.createPackageContents();
+		theOLPackage.createPackageContents();
 
 		// Initialize created meta-data
-		theEALPackage.initializePackageContents();
+		theOLPackage.initializePackageContents();
 
 		// Mark meta-data to indicate it can't be changed
-		theEALPackage.freeze();
+		theOLPackage.freeze();
 
 		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(EALPackage.eNS_URI, theEALPackage);
-		return theEALPackage;
+		EPackage.Registry.INSTANCE.put(OLPackage.eNS_URI, theOLPackage);
+		return theOLPackage;
 	}
 
 	/**
@@ -149,8 +148,8 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @generated
 	 */
 	@Override
-	public EClass getEAModel() {
-		return eaModelEClass;
+	public EClass getOptimisationModel() {
+		return optimisationModelEClass;
 	}
 
 	/**
@@ -159,8 +158,8 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @generated
 	 */
 	@Override
-	public EReference getEAModel_Uses() {
-		return (EReference)eaModelEClass.getEStructuralFeatures().get(0);
+	public EReference getOptimisationModel_Uses() {
+		return (EReference)optimisationModelEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -169,8 +168,8 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @generated
 	 */
 	@Override
-	public EReference getEAModel_Instance() {
-		return (EReference)eaModelEClass.getEStructuralFeatures().get(1);
+	public EReference getOptimisationModel_Instance() {
+		return (EReference)optimisationModelEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -179,8 +178,8 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @generated
 	 */
 	@Override
-	public EReference getEAModel_Constraints() {
-		return (EReference)eaModelEClass.getEStructuralFeatures().get(2);
+	public EReference getOptimisationModel_Constraints() {
+		return (EReference)optimisationModelEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -289,8 +288,8 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 	 * @generated
 	 */
 	@Override
-	public EALFactory getEALFactory() {
-		return (EALFactory)getEFactoryInstance();
+	public OLFactory getOLFactory() {
+		return (OLFactory)getEFactoryInstance();
 	}
 
 	/**
@@ -312,10 +311,10 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 		isCreated = true;
 
 		// Create classes and their features
-		eaModelEClass = createEClass(EA_MODEL);
-		createEReference(eaModelEClass, EA_MODEL__USES);
-		createEReference(eaModelEClass, EA_MODEL__INSTANCE);
-		createEReference(eaModelEClass, EA_MODEL__CONSTRAINTS);
+		optimisationModelEClass = createEClass(OPTIMISATION_MODEL);
+		createEReference(optimisationModelEClass, OPTIMISATION_MODEL__USES);
+		createEReference(optimisationModelEClass, OPTIMISATION_MODEL__INSTANCE);
+		createEReference(optimisationModelEClass, OPTIMISATION_MODEL__CONSTRAINTS);
 
 		useEClass = createEClass(USE);
 		createEAttribute(useEClass, USE__IMPORT_URI);
@@ -371,10 +370,10 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 		dataReferenceEClass.getESuperTypes().add(theELPackage.getValueReference());
 
 		// Initialize classes and features; add operations and parameters
-		initEClass(eaModelEClass, EAModel.class, "EAModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getEAModel_Uses(), this.getUse(), null, "uses", null, 0, -1, EAModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getEAModel_Instance(), theInstancePackage.getInstance(), null, "instance", null, 0, 1, EAModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getEAModel_Constraints(), this.getConstraint(), null, "constraints", null, 0, 1, EAModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEClass(optimisationModelEClass, OptimisationModel.class, "OptimisationModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getOptimisationModel_Uses(), this.getUse(), null, "uses", null, 0, -1, OptimisationModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getOptimisationModel_Instance(), theInstancePackage.getInstance(), null, "instance", null, 0, 1, OptimisationModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getOptimisationModel_Constraints(), this.getConstraint(), null, "constraints", null, 0, 1, OptimisationModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(useEClass, Use.class, "Use", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getUse_ImportURI(), ecorePackage.getEString(), "importURI", null, 0, 1, Use.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -418,4 +417,4 @@ public class EALPackageImpl extends EPackageImpl implements EALPackage {
 		   });
 	}
 
-} //EALPackageImpl
+} //OLPackageImpl
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EAModelImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OptimisationModelImpl.java
similarity index 70%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EAModelImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OptimisationModelImpl.java
index 3fa8969c88fd7b88925457f4dad9f3225d55b7af..9e55a03f5165d5213ac15016056610495416bd06 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/EAModelImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/OptimisationModelImpl.java
@@ -1,15 +1,15 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
-
-import de.evoal.languages.model.eal.Constraint;
-import de.evoal.languages.model.eal.EALPackage;
-import de.evoal.languages.model.eal.EAModel;
-import de.evoal.languages.model.eal.Use;
+package de.evoal.languages.model.ol.impl;
 
 import de.evoal.languages.model.instance.Instance;
 
+import de.evoal.languages.model.ol.Constraint;
+import de.evoal.languages.model.ol.OLPackage;
+import de.evoal.languages.model.ol.OptimisationModel;
+import de.evoal.languages.model.ol.Use;
+
 import java.util.Collection;
 
 import org.eclipse.emf.common.notify.Notification;
@@ -28,20 +28,20 @@ import org.eclipse.emf.ecore.util.InternalEList;
 
 /**
  * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>EA Model</b></em>'.
+ * An implementation of the model object '<em><b>Optimisation Model</b></em>'.
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.EAModelImpl#getUses <em>Uses</em>}</li>
- *   <li>{@link de.evoal.languages.model.eal.impl.EAModelImpl#getInstance <em>Instance</em>}</li>
- *   <li>{@link de.evoal.languages.model.eal.impl.EAModelImpl#getConstraints <em>Constraints</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.OptimisationModelImpl#getUses <em>Uses</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.OptimisationModelImpl#getInstance <em>Instance</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.OptimisationModelImpl#getConstraints <em>Constraints</em>}</li>
  * </ul>
  *
  * @generated
  */
-public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel {
+public class OptimisationModelImpl extends MinimalEObjectImpl.Container implements OptimisationModel {
 	/**
 	 * The cached value of the '{@link #getUses() <em>Uses</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -77,7 +77,7 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected EAModelImpl() {
+	protected OptimisationModelImpl() {
 		super();
 	}
 
@@ -88,7 +88,7 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.EA_MODEL;
+		return OLPackage.Literals.OPTIMISATION_MODEL;
 	}
 
 	/**
@@ -99,7 +99,7 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public EList<Use> getUses() {
 		if (uses == null) {
-			uses = new EObjectContainmentEList<Use>(Use.class, this, EALPackage.EA_MODEL__USES);
+			uses = new EObjectContainmentEList<Use>(Use.class, this, OLPackage.OPTIMISATION_MODEL__USES);
 		}
 		return uses;
 	}
@@ -123,7 +123,7 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 		Instance oldInstance = instance;
 		instance = newInstance;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EALPackage.EA_MODEL__INSTANCE, oldInstance, newInstance);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OLPackage.OPTIMISATION_MODEL__INSTANCE, oldInstance, newInstance);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -139,14 +139,14 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 		if (newInstance != instance) {
 			NotificationChain msgs = null;
 			if (instance != null)
-				msgs = ((InternalEObject)instance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EALPackage.EA_MODEL__INSTANCE, null, msgs);
+				msgs = ((InternalEObject)instance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OLPackage.OPTIMISATION_MODEL__INSTANCE, null, msgs);
 			if (newInstance != null)
-				msgs = ((InternalEObject)newInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EALPackage.EA_MODEL__INSTANCE, null, msgs);
+				msgs = ((InternalEObject)newInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OLPackage.OPTIMISATION_MODEL__INSTANCE, null, msgs);
 			msgs = basicSetInstance(newInstance, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.EA_MODEL__INSTANCE, newInstance, newInstance));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.OPTIMISATION_MODEL__INSTANCE, newInstance, newInstance));
 	}
 
 	/**
@@ -168,7 +168,7 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 		Constraint oldConstraints = constraints;
 		constraints = newConstraints;
 		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EALPackage.EA_MODEL__CONSTRAINTS, oldConstraints, newConstraints);
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, OLPackage.OPTIMISATION_MODEL__CONSTRAINTS, oldConstraints, newConstraints);
 			if (msgs == null) msgs = notification; else msgs.add(notification);
 		}
 		return msgs;
@@ -184,14 +184,14 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 		if (newConstraints != constraints) {
 			NotificationChain msgs = null;
 			if (constraints != null)
-				msgs = ((InternalEObject)constraints).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EALPackage.EA_MODEL__CONSTRAINTS, null, msgs);
+				msgs = ((InternalEObject)constraints).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - OLPackage.OPTIMISATION_MODEL__CONSTRAINTS, null, msgs);
 			if (newConstraints != null)
-				msgs = ((InternalEObject)newConstraints).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EALPackage.EA_MODEL__CONSTRAINTS, null, msgs);
+				msgs = ((InternalEObject)newConstraints).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - OLPackage.OPTIMISATION_MODEL__CONSTRAINTS, null, msgs);
 			msgs = basicSetConstraints(newConstraints, msgs);
 			if (msgs != null) msgs.dispatch();
 		}
 		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.EA_MODEL__CONSTRAINTS, newConstraints, newConstraints));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.OPTIMISATION_MODEL__CONSTRAINTS, newConstraints, newConstraints));
 	}
 
 	/**
@@ -202,11 +202,11 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
 		switch (featureID) {
-			case EALPackage.EA_MODEL__USES:
+			case OLPackage.OPTIMISATION_MODEL__USES:
 				return ((InternalEList<?>)getUses()).basicRemove(otherEnd, msgs);
-			case EALPackage.EA_MODEL__INSTANCE:
+			case OLPackage.OPTIMISATION_MODEL__INSTANCE:
 				return basicSetInstance(null, msgs);
-			case EALPackage.EA_MODEL__CONSTRAINTS:
+			case OLPackage.OPTIMISATION_MODEL__CONSTRAINTS:
 				return basicSetConstraints(null, msgs);
 		}
 		return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -220,11 +220,11 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.EA_MODEL__USES:
+			case OLPackage.OPTIMISATION_MODEL__USES:
 				return getUses();
-			case EALPackage.EA_MODEL__INSTANCE:
+			case OLPackage.OPTIMISATION_MODEL__INSTANCE:
 				return getInstance();
-			case EALPackage.EA_MODEL__CONSTRAINTS:
+			case OLPackage.OPTIMISATION_MODEL__CONSTRAINTS:
 				return getConstraints();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -239,14 +239,14 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.EA_MODEL__USES:
+			case OLPackage.OPTIMISATION_MODEL__USES:
 				getUses().clear();
 				getUses().addAll((Collection<? extends Use>)newValue);
 				return;
-			case EALPackage.EA_MODEL__INSTANCE:
+			case OLPackage.OPTIMISATION_MODEL__INSTANCE:
 				setInstance((Instance)newValue);
 				return;
-			case EALPackage.EA_MODEL__CONSTRAINTS:
+			case OLPackage.OPTIMISATION_MODEL__CONSTRAINTS:
 				setConstraints((Constraint)newValue);
 				return;
 		}
@@ -261,13 +261,13 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.EA_MODEL__USES:
+			case OLPackage.OPTIMISATION_MODEL__USES:
 				getUses().clear();
 				return;
-			case EALPackage.EA_MODEL__INSTANCE:
+			case OLPackage.OPTIMISATION_MODEL__INSTANCE:
 				setInstance((Instance)null);
 				return;
-			case EALPackage.EA_MODEL__CONSTRAINTS:
+			case OLPackage.OPTIMISATION_MODEL__CONSTRAINTS:
 				setConstraints((Constraint)null);
 				return;
 		}
@@ -282,14 +282,14 @@ public class EAModelImpl extends MinimalEObjectImpl.Container implements EAModel
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.EA_MODEL__USES:
+			case OLPackage.OPTIMISATION_MODEL__USES:
 				return uses != null && !uses.isEmpty();
-			case EALPackage.EA_MODEL__INSTANCE:
+			case OLPackage.OPTIMISATION_MODEL__INSTANCE:
 				return instance != null;
-			case EALPackage.EA_MODEL__CONSTRAINTS:
+			case OLPackage.OPTIMISATION_MODEL__CONSTRAINTS:
 				return constraints != null;
 		}
 		return super.eIsSet(featureID);
 	}
 
-} //EAModelImpl
+} //OptimisationModelImpl
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/UseImpl.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/UseImpl.java
similarity index 84%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/UseImpl.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/UseImpl.java
index 8c2d5ddafa712133a618b642472d5490c0fa04f5..536bdf12a488849a04fc4c50f85f374f4c1847e4 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/impl/UseImpl.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/impl/UseImpl.java
@@ -1,10 +1,10 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.impl;
+package de.evoal.languages.model.ol.impl;
 
-import de.evoal.languages.model.eal.EALPackage;
-import de.evoal.languages.model.eal.Use;
+import de.evoal.languages.model.ol.OLPackage;
+import de.evoal.languages.model.ol.Use;
 
 import org.eclipse.emf.common.notify.Notification;
 
@@ -21,7 +21,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  * The following features are implemented:
  * </p>
  * <ul>
- *   <li>{@link de.evoal.languages.model.eal.impl.UseImpl#getImportURI <em>Import URI</em>}</li>
+ *   <li>{@link de.evoal.languages.model.ol.impl.UseImpl#getImportURI <em>Import URI</em>}</li>
  * </ul>
  *
  * @generated
@@ -63,7 +63,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 	 */
 	@Override
 	protected EClass eStaticClass() {
-		return EALPackage.Literals.USE;
+		return OLPackage.Literals.USE;
 	}
 
 	/**
@@ -86,7 +86,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 		String oldImportURI = importURI;
 		importURI = newImportURI;
 		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, EALPackage.USE__IMPORT_URI, oldImportURI, importURI));
+			eNotify(new ENotificationImpl(this, Notification.SET, OLPackage.USE__IMPORT_URI, oldImportURI, importURI));
 	}
 
 	/**
@@ -97,7 +97,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
-			case EALPackage.USE__IMPORT_URI:
+			case OLPackage.USE__IMPORT_URI:
 				return getImportURI();
 		}
 		return super.eGet(featureID, resolve, coreType);
@@ -111,7 +111,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 	@Override
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
-			case EALPackage.USE__IMPORT_URI:
+			case OLPackage.USE__IMPORT_URI:
 				setImportURI((String)newValue);
 				return;
 		}
@@ -126,7 +126,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 	@Override
 	public void eUnset(int featureID) {
 		switch (featureID) {
-			case EALPackage.USE__IMPORT_URI:
+			case OLPackage.USE__IMPORT_URI:
 				setImportURI(IMPORT_URI_EDEFAULT);
 				return;
 		}
@@ -141,7 +141,7 @@ public class UseImpl extends MinimalEObjectImpl.Container implements Use {
 	@Override
 	public boolean eIsSet(int featureID) {
 		switch (featureID) {
-			case EALPackage.USE__IMPORT_URI:
+			case OLPackage.USE__IMPORT_URI:
 				return IMPORT_URI_EDEFAULT == null ? importURI != null : !IMPORT_URI_EDEFAULT.equals(importURI);
 		}
 		return super.eIsSet(featureID);
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALAdapterFactory.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLAdapterFactory.java
similarity index 85%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALAdapterFactory.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLAdapterFactory.java
index d145c8f0d8ab3d2e66600b26e1ef20e734600d8d..3ed36cc94348b60803f118343160e73c5b83c98b 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALAdapterFactory.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLAdapterFactory.java
@@ -1,12 +1,12 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.util;
+package de.evoal.languages.model.ol.util;
 
 import de.evoal.languages.model.el.CallOrLiteralOrReferenceOrParantheses;
 import de.evoal.languages.model.el.ValueReference;
 
-import de.evoal.languages.model.eal.*;
+import de.evoal.languages.model.ol.*;
 
 import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notifier;
@@ -20,17 +20,17 @@ import org.eclipse.emf.ecore.EObject;
  * The <b>Adapter Factory</b> for the model.
  * It provides an adapter <code>createXXX</code> method for each class of the model.
  * <!-- end-user-doc -->
- * @see de.evoal.languages.model.eal.EALPackage
+ * @see de.evoal.languages.model.ol.OLPackage
  * @generated
  */
-public class EALAdapterFactory extends AdapterFactoryImpl {
+public class OLAdapterFactory extends AdapterFactoryImpl {
 	/**
 	 * The cached model package.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static EALPackage modelPackage;
+	protected static OLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the adapter factory.
@@ -38,9 +38,9 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EALAdapterFactory() {
+	public OLAdapterFactory() {
 		if (modelPackage == null) {
-			modelPackage = EALPackage.eINSTANCE;
+			modelPackage = OLPackage.eINSTANCE;
 		}
 	}
 
@@ -69,11 +69,11 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected EALSwitch<Adapter> modelSwitch =
-		new EALSwitch<Adapter>() {
+	protected OLSwitch<Adapter> modelSwitch =
+		new OLSwitch<Adapter>() {
 			@Override
-			public Adapter caseEAModel(EAModel object) {
-				return createEAModelAdapter();
+			public Adapter caseOptimisationModel(OptimisationModel object) {
+				return createOptimisationModelAdapter();
 			}
 			@Override
 			public Adapter caseUse(Use object) {
@@ -128,27 +128,27 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.EAModel <em>EA Model</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.OptimisationModel <em>Optimisation Model</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.EAModel
+	 * @see de.evoal.languages.model.ol.OptimisationModel
 	 * @generated
 	 */
-	public Adapter createEAModelAdapter() {
+	public Adapter createOptimisationModelAdapter() {
 		return null;
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.Use <em>Use</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.Use <em>Use</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.Use
+	 * @see de.evoal.languages.model.ol.Use
 	 * @generated
 	 */
 	public Adapter createUseAdapter() {
@@ -156,13 +156,13 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.Constraint <em>Constraint</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.Constraint <em>Constraint</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.Constraint
+	 * @see de.evoal.languages.model.ol.Constraint
 	 * @generated
 	 */
 	public Adapter createConstraintAdapter() {
@@ -170,13 +170,13 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.ConstraintStatement <em>Constraint Statement</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.ConstraintStatement <em>Constraint Statement</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.ConstraintStatement
+	 * @see de.evoal.languages.model.ol.ConstraintStatement
 	 * @generated
 	 */
 	public Adapter createConstraintStatementAdapter() {
@@ -184,13 +184,13 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.FunctionName <em>Function Name</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.FunctionName <em>Function Name</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.FunctionName
+	 * @see de.evoal.languages.model.ol.FunctionName
 	 * @generated
 	 */
 	public Adapter createFunctionNameAdapter() {
@@ -198,13 +198,13 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.eal.DataReference <em>Data Reference</em>}'.
+	 * Creates a new adapter for an object of class '{@link de.evoal.languages.model.ol.DataReference <em>Data Reference</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
 	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
 	 * <!-- end-user-doc -->
 	 * @return the new adapter.
-	 * @see de.evoal.languages.model.eal.DataReference
+	 * @see de.evoal.languages.model.ol.DataReference
 	 * @generated
 	 */
 	public Adapter createDataReferenceAdapter() {
@@ -265,4 +265,4 @@ public class EALAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-} //EALAdapterFactory
+} //OLAdapterFactory
diff --git a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALSwitch.java b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLSwitch.java
similarity index 91%
rename from src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALSwitch.java
rename to src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLSwitch.java
index 5e42ea98351739203875797b56868fe4324f9a40..22f4e811126095dfa098bb2d4201faf5bd18e466 100644
--- a/src/languages/de.evoal.languages.model.eal/src-gen/de/evoal/languages/model/eal/util/EALSwitch.java
+++ b/src/languages/de.evoal.languages.model.ol/src-gen/de/evoal/languages/model/ol/util/OLSwitch.java
@@ -1,12 +1,12 @@
 /**
- * generated by Xtext 2.25.0
+ * (c) EvoAl Project
  */
-package de.evoal.languages.model.eal.util;
+package de.evoal.languages.model.ol.util;
 
 import de.evoal.languages.model.el.CallOrLiteralOrReferenceOrParantheses;
 import de.evoal.languages.model.el.ValueReference;
 
-import de.evoal.languages.model.eal.*;
+import de.evoal.languages.model.ol.*;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
@@ -23,17 +23,17 @@ import org.eclipse.emf.ecore.util.Switch;
  * until a non-null result is returned,
  * which is the result of the switch.
  * <!-- end-user-doc -->
- * @see de.evoal.languages.model.eal.EALPackage
+ * @see de.evoal.languages.model.ol.OLPackage
  * @generated
  */
-public class EALSwitch<T> extends Switch<T> {
+public class OLSwitch<T> extends Switch<T> {
 	/**
 	 * The cached model package
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected static EALPackage modelPackage;
+	protected static OLPackage modelPackage;
 
 	/**
 	 * Creates an instance of the switch.
@@ -41,9 +41,9 @@ public class EALSwitch<T> extends Switch<T> {
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EALSwitch() {
+	public OLSwitch() {
 		if (modelPackage == null) {
-			modelPackage = EALPackage.eINSTANCE;
+			modelPackage = OLPackage.eINSTANCE;
 		}
 	}
 
@@ -70,38 +70,38 @@ public class EALSwitch<T> extends Switch<T> {
 	@Override
 	protected T doSwitch(int classifierID, EObject theEObject) {
 		switch (classifierID) {
-			case EALPackage.EA_MODEL: {
-				EAModel eaModel = (EAModel)theEObject;
-				T result = caseEAModel(eaModel);
+			case OLPackage.OPTIMISATION_MODEL: {
+				OptimisationModel optimisationModel = (OptimisationModel)theEObject;
+				T result = caseOptimisationModel(optimisationModel);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EALPackage.USE: {
+			case OLPackage.USE: {
 				Use use = (Use)theEObject;
 				T result = caseUse(use);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EALPackage.CONSTRAINT: {
+			case OLPackage.CONSTRAINT: {
 				Constraint constraint = (Constraint)theEObject;
 				T result = caseConstraint(constraint);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EALPackage.CONSTRAINT_STATEMENT: {
+			case OLPackage.CONSTRAINT_STATEMENT: {
 				ConstraintStatement constraintStatement = (ConstraintStatement)theEObject;
 				T result = caseConstraintStatement(constraintStatement);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EALPackage.FUNCTION_NAME: {
+			case OLPackage.FUNCTION_NAME: {
 				FunctionName functionName = (FunctionName)theEObject;
 				T result = caseFunctionName(functionName);
 				if (result == null) result = caseEL_FunctionName(functionName);
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case EALPackage.DATA_REFERENCE: {
+			case OLPackage.DATA_REFERENCE: {
 				DataReference dataReference = (DataReference)theEObject;
 				T result = caseDataReference(dataReference);
 				if (result == null) result = caseValueReference(dataReference);
@@ -114,17 +114,17 @@ public class EALSwitch<T> extends Switch<T> {
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>EA Model</em>'.
+	 * Returns the result of interpreting the object as an instance of '<em>Optimisation Model</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
 	 * returning a non-null result will terminate the switch.
 	 * <!-- end-user-doc -->
 	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>EA Model</em>'.
+	 * @return the result of interpreting the object as an instance of '<em>Optimisation Model</em>'.
 	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
 	 * @generated
 	 */
-	public T caseEAModel(EAModel object) {
+	public T caseOptimisationModel(OptimisationModel object) {
 		return null;
 	}
 
@@ -264,4 +264,4 @@ public class EALSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-} //EALSwitch
+} //OLSwitch
diff --git a/src/languages/de.evoal.languages.releng.feature/feature.xml b/src/languages/de.evoal.languages.releng.feature/feature.xml
index 7a0f4be92904400d55266cd6c8c656de83a70b05..c7b5d00f87d6ece409f597655a09a28ba8d3df48 100644
--- a/src/languages/de.evoal.languages.releng.feature/feature.xml
+++ b/src/languages/de.evoal.languages.releng.feature/feature.xml
@@ -49,7 +49,7 @@
       <import plugin="de.evoal.languages.model.instance" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="de.evoal.languages.model.ddl" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="de.evoal.languages.model.dl.dsl" version="1.0.0" match="greaterOrEqual"/>
-      <import plugin="de.evoal.languages.model.eal" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="de.evoal.languages.model.ol" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="de.evoal.languages.model.instance.dsl" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="de.evoal.languages.model.instance.dsl.ui" version="1.0.0" match="greaterOrEqual"/>
       <import plugin="de.evoal.languages.model.ddl.dsl" version="1.0.0" match="greaterOrEqual"/>
@@ -116,28 +116,28 @@
          unpack="false"/>
 
    <plugin
-         id="de.evoal.languages.model.eal"
+         id="de.evoal.languages.model.ol"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
 
    <plugin
-         id="de.evoal.languages.model.eal.dsl"
+         id="de.evoal.languages.model.ol.dsl"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
 
    <plugin
-         id="de.evoal.languages.model.eal.dsl.ide"
+         id="de.evoal.languages.model.ol.dsl.ide"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
 
    <plugin
-         id="de.evoal.languages.model.eal.dsl.ui"
+         id="de.evoal.languages.model.ol.dsl.ui"
          download-size="0"
          install-size="0"
          version="0.0.0"
diff --git a/src/languages/de.evoal.languages.releng.parent/pom.xml b/src/languages/de.evoal.languages.releng.parent/pom.xml
index 47d169f0575e9758fb71a87bc162d2d9c9becc98..7083040a9774b17dfd05d28705076ace2da6861c 100644
--- a/src/languages/de.evoal.languages.releng.parent/pom.xml
+++ b/src/languages/de.evoal.languages.releng.parent/pom.xml
@@ -291,10 +291,10 @@
 		<module>../de.evoal.languages.model.mll.dsl.ide</module>
 		<module>../de.evoal.languages.model.mll.dsl.ui</module>
 
-		<module>../de.evoal.languages.model.eal</module>
-		<module>../de.evoal.languages.model.eal.dsl</module>
-		<module>../de.evoal.languages.model.eal.dsl.ide</module>
-		<module>../de.evoal.languages.model.eal.dsl.ui</module>
+		<module>../de.evoal.languages.model.ol</module>
+		<module>../de.evoal.languages.model.ol.dsl</module>
+		<module>../de.evoal.languages.model.ol.dsl.ide</module>
+		<module>../de.evoal.languages.model.ol.dsl.ui</module>
 
 		<module>../de.evoal.languages.model.generator</module>
 		<module>../de.evoal.languages.model.generator.dsl</module>