catch up with dev
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7b5d075
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,39 @@
+**/bin/
+**/target/
+***._trace
+**.log
+**git.properties
+**log.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.classpath b/org.eclipse.osbp.utils.functionnormalizer.feature/.classpath
new file mode 100644
index 0000000..f6bb40b
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.classpath
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.gitignore b/org.eclipse.osbp.utils.functionnormalizer.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.project b/org.eclipse.osbp.utils.functionnormalizer.feature/.project
index cdcf4f1..4661d38 100644
--- a/org.eclipse.osbp.utils.functionnormalizer.feature/.project
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.project
@@ -6,6 +6,11 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -16,17 +21,18 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..abec6ca
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.utils.functionnormalizer.feature/feature.xml b/org.eclipse.osbp.utils.functionnormalizer.feature/feature.xml
index 6063ffc..95bf36f 100644
--- a/org.eclipse.osbp.utils.functionnormalizer.feature/feature.xml
+++ b/org.eclipse.osbp.utils.functionnormalizer.feature/feature.xml
@@ -14,7 +14,8 @@
         id="org.eclipse.osbp.utils.functionnormalizer.feature"
         label="%featureName"
         version="0.9.0.qualifier"
-        provider-name="%providerName">
+        provider-name="%providerName"
+		plugin="org.eclipse.osbp.utils.functionnormalizer">
         
     <description>
         %description
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.classpath b/org.eclipse.osbp.utils.functionnormalizer.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.gitignore b/org.eclipse.osbp.utils.functionnormalizer.tests/.gitignore
new file mode 100644
index 0000000..09e3bc9
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.project b/org.eclipse.osbp.utils.functionnormalizer.tests/.project
index b3fe4cb..d472335 100644
--- a/org.eclipse.osbp.utils.functionnormalizer.tests/.project
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.project
@@ -6,6 +6,11 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -32,6 +37,7 @@
 		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..7a53139
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
+encoding/src=UTF-8
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..6e80039
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.classpath b/org.eclipse.osbp.utils.functionnormalizer/.classpath
new file mode 100644
index 0000000..4ff52d4
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src-gen"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.gitignore b/org.eclipse.osbp.utils.functionnormalizer/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.utils.functionnormalizer/META-INF/MANIFEST.MF b/org.eclipse.osbp.utils.functionnormalizer/META-INF/MANIFEST.MF
index 8381867..a9376f7 100644
--- a/org.eclipse.osbp.utils.functionnormalizer/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.utils.functionnormalizer/META-INF/MANIFEST.MF
@@ -6,21 +6,22 @@
 Bundle-Version: 0.9.0.qualifier
 Bundle-Activator: org.eclipse.osbp.utils.functionnormalizer.Activator
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: javax.validation,
- javax.validation.constraints,
- org.osgi.framework;version="1.3.0"
+Import-Package: org.osgi.framework;version="1.3.0"
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.11.0,2.12.0)",
  org.eclipse.osbp.dsl.datatype.lib;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  javax.persistence;bundle-version="2.1.0",
  org.eclipse.osbp.xtext.i18n;bundle-version="[0.9.0,0.10.0)",
  org.slf4j.api;bundle-version="1.7.2",
- org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)"
+ org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)",
+ javax.validation.api;bundle-version="1.1.0"
 Export-Package: org.eclipse.osbp.utils.functionnormalizer;version="0.9.0",
  org.eclipse.osbp.utils.functionnormalizer.api;version="0.9.0",
  org.eclipse.osbp.utils.functionnormalizer.entities
 OSBP-RuntimeBuilder-BundleSpace: 
 OSBP-ECView-I18nProvider: 
-Factory-Model: datatype, entity, dto 
+Factory-Model: datatype,
+ entity,
+ dto
diff --git a/org.eclipse.osbp.utils.functionnormalizer/OSGI-INF/.gitignore b/org.eclipse.osbp.utils.functionnormalizer/OSGI-INF/.gitignore
new file mode 100644
index 0000000..146bf9f
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/OSGI-INF/.gitignore
@@ -0,0 +1,3 @@
+/org.eclipse.osbp.utils.functionnormalizer.dtos.mapper.FunctionNormalizerDtoMapper.xml
+/org.eclipse.osbp.utils.functionnormalizer.dtos.mapper.FunctionTypeDtoMapper.xml
+/org.eclipse.osbp.utils.functionnormalizer.dtos.mapper.FunctionTypingDtoMapper.xml
diff --git a/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.dtos.dtos_bin b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.dtos.dtos_bin
new file mode 100644
index 0000000..2e9c690
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.dtos.dtos_bin
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ASCII"?>
+<dto:LDtoModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dto="http://osbp.eclipse.org/dsl/dto/v1" xmlns:entity="http://osbp.eclipse.org/dsl/entity/v1">
+  <packages name="org.eclipse.osbp.utils.functionnormalizer.dtos">
+    <imports importedNamespace="org.eclipse.osbp.utils.functionnormalizer.entities.*"/>
+    <types xsi:type="dto:LAutoInheritDto" name="FunctionNormalizerDto">
+      <annotationInfo xsi:type="dto:LDto"/>
+      <features xsi:type="dto:LDtoInheritedAttribute">
+        <annotationInfo xsi:type="dto:LDtoFeature"/>
+        <inheritedFeature xsi:type="entity:LBeanAttribute" href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.0/@features.0"/>
+      </features>
+      <features xsi:type="dto:LDtoInheritedAttribute">
+        <annotationInfo xsi:type="dto:LDtoFeature"/>
+        <inheritedFeature xsi:type="entity:LBeanAttribute" href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.0/@features.1"/>
+      </features>
+      <wrappedType href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.0"/>
+    </types>
+    <types xsi:type="dto:LAutoInheritDto" name="FunctionTypeDto">
+      <annotationInfo xsi:type="dto:LDto"/>
+      <features xsi:type="dto:LDtoInheritedAttribute">
+        <annotationInfo xsi:type="dto:LDtoFeature"/>
+        <inheritedFeature xsi:type="entity:LBeanAttribute" href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.1/@features.0"/>
+      </features>
+      <wrappedType href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.1"/>
+    </types>
+    <types xsi:type="dto:LAutoInheritDto" name="FunctionTypingDto">
+      <annotationInfo xsi:type="dto:LDto"/>
+      <features xsi:type="dto:LDtoInheritedReference" type="//@packages.0/@types.1">
+        <annotationInfo xsi:type="dto:LDtoFeature"/>
+        <inheritedFeature xsi:type="entity:LBeanReference" href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.2/@features.0"/>
+      </features>
+      <features xsi:type="dto:LDtoInheritedReference" type="//@packages.0/@types.0">
+        <annotationInfo xsi:type="dto:LDtoFeature"/>
+        <inheritedFeature xsi:type="entity:LBeanReference" href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.2/@features.1"/>
+      </features>
+      <wrappedType href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/FunctionNormalizer.entitymodel#/0/@packages.0/@types.2"/>
+    </types>
+  </packages>
+</dto:LDtoModel>
diff --git a/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.entitymodel.entities_bin b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.entitymodel.entities_bin
new file mode 100644
index 0000000..ec2cd68
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/FunctionNormalizer.entitymodel.entities_bin
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="ASCII"?>
+<entity:LEntityModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:entity="http://osbp.eclipse.org/dsl/entity/v1" xmlns:types="http://osbp.eclipse.org/dsl/common/types/v1" xmlns:types_1="http://www.eclipse.org/xtext/common/JavaVMTypes" xmlns:xbase="http://www.eclipse.org/xtext/xbase/Xbase">
+  <packages name="org.eclipse.osbp.utils.functionnormalizer.entities">
+    <imports importedNamespace="javax.xml.bind.annotation.*"/>
+    <imports importedNamespace="org.eclipse.osbp.utils.blob.datatypes.*"/>
+    <types xsi:type="entity:LBean" name="FunctionNormalizer">
+      <annotationInfo xsi:type="types:LClass">
+        <annotations>
+          <annotation>
+            <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessorType#javax.xml.bind.annotation.XmlAccessorType"/>
+            <value xsi:type="xbase:XMemberFeatureCall">
+              <feature xsi:type="types_1:JvmEnumerationLiteral" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType.FIELD"/>
+              <memberCallTarget xsi:type="xbase:XFeatureCall">
+                <feature xsi:type="types_1:JvmEnumerationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType"/>
+              </memberCallTarget>
+            </value>
+          </annotation>
+        </annotations>
+      </annotationInfo>
+      <features xsi:type="entity:LBeanAttribute" name="name">
+        <annotationInfo xsi:type="entity:LBeanFeature">
+          <annotations>
+            <annotation>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAttribute#javax.xml.bind.annotation.XmlAttribute"/>
+            </annotation>
+          </annotations>
+        </annotationInfo>
+        <type href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/functionNormalizer.datatypes#/0/@packages.0/@types.17"/>
+      </features>
+      <features xsi:type="entity:LBeanAttribute" name="returnType">
+        <annotationInfo xsi:type="entity:LBeanFeature">
+          <annotations>
+            <annotation>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAttribute#javax.xml.bind.annotation.XmlAttribute"/>
+            </annotation>
+          </annotations>
+        </annotationInfo>
+        <type href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/functionNormalizer.datatypes#/0/@packages.0/@types.17"/>
+      </features>
+    </types>
+    <types xsi:type="entity:LBean" name="FunctionType">
+      <annotationInfo xsi:type="types:LClass">
+        <annotations>
+          <annotation>
+            <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessorType#javax.xml.bind.annotation.XmlAccessorType"/>
+            <value xsi:type="xbase:XMemberFeatureCall">
+              <feature xsi:type="types_1:JvmEnumerationLiteral" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType.FIELD"/>
+              <memberCallTarget xsi:type="xbase:XFeatureCall">
+                <feature xsi:type="types_1:JvmEnumerationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType"/>
+              </memberCallTarget>
+            </value>
+          </annotation>
+        </annotations>
+      </annotationInfo>
+      <features xsi:type="entity:LBeanAttribute" name="name">
+        <annotationInfo xsi:type="entity:LBeanFeature">
+          <annotations>
+            <annotation>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAttribute#javax.xml.bind.annotation.XmlAttribute"/>
+            </annotation>
+          </annotations>
+        </annotationInfo>
+        <type href="platform:/resource/org.eclipse.osbp.utils.functionnormalizer-mavenizing/src/org/eclipse/osbp/utils/functionnormalizer/functionNormalizer.datatypes#/0/@packages.0/@types.17"/>
+      </features>
+    </types>
+    <types xsi:type="entity:LBean" name="FunctionTyping">
+      <annotationInfo xsi:type="types:LClass">
+        <annotations>
+          <annotation>
+            <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlRootElement#javax.xml.bind.annotation.XmlRootElement"/>
+          </annotation>
+        </annotations>
+        <annotations>
+          <annotation>
+            <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessorType#javax.xml.bind.annotation.XmlAccessorType"/>
+            <value xsi:type="xbase:XMemberFeatureCall">
+              <feature xsi:type="types_1:JvmEnumerationLiteral" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType.FIELD"/>
+              <memberCallTarget xsi:type="xbase:XFeatureCall">
+                <feature xsi:type="types_1:JvmEnumerationType" href="java:/Objects/javax.xml.bind.annotation.XmlAccessType#javax.xml.bind.annotation.XmlAccessType"/>
+              </memberCallTarget>
+            </value>
+          </annotation>
+        </annotations>
+      </annotationInfo>
+      <features xsi:type="entity:LBeanReference" name="types" type="//@packages.0/@types.1">
+        <multiplicity lower="MANY"/>
+        <annotationInfo xsi:type="entity:LBeanFeature">
+          <annotations>
+            <annotation>
+              <elementValuePairs>
+                <value xsi:type="xbase:XStringLiteral" value="functionType"/>
+                <element href="java:/Objects/javax.xml.bind.annotation.XmlElementWrapper#javax.xml.bind.annotation.XmlElementWrapper.name()"/>
+              </elementValuePairs>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlElementWrapper#javax.xml.bind.annotation.XmlElementWrapper"/>
+            </annotation>
+          </annotations>
+          <annotations>
+            <annotation>
+              <elementValuePairs>
+                <value xsi:type="xbase:XStringLiteral" value="key"/>
+                <element href="java:/Objects/javax.xml.bind.annotation.XmlElement#javax.xml.bind.annotation.XmlElement.name()"/>
+              </elementValuePairs>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlElement#javax.xml.bind.annotation.XmlElement"/>
+            </annotation>
+          </annotations>
+        </annotationInfo>
+      </features>
+      <features xsi:type="entity:LBeanReference" name="normalizer" type="//@packages.0/@types.0">
+        <multiplicity lower="MANY"/>
+        <annotationInfo xsi:type="entity:LBeanFeature">
+          <annotations>
+            <annotation>
+              <elementValuePairs>
+                <value xsi:type="xbase:XStringLiteral" value="normalizer"/>
+                <element href="java:/Objects/javax.xml.bind.annotation.XmlElementWrapper#javax.xml.bind.annotation.XmlElementWrapper.name()"/>
+              </elementValuePairs>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlElementWrapper#javax.xml.bind.annotation.XmlElementWrapper"/>
+            </annotation>
+          </annotations>
+          <annotations>
+            <annotation>
+              <elementValuePairs>
+                <value xsi:type="xbase:XStringLiteral" value="function"/>
+                <element href="java:/Objects/javax.xml.bind.annotation.XmlElement#javax.xml.bind.annotation.XmlElement.name()"/>
+              </elementValuePairs>
+              <annotationType xsi:type="types_1:JvmAnnotationType" href="java:/Objects/javax.xml.bind.annotation.XmlElement#javax.xml.bind.annotation.XmlElement"/>
+            </annotation>
+          </annotations>
+        </annotationInfo>
+      </features>
+    </types>
+  </packages>
+</entity:LEntityModel>
diff --git a/org.eclipse.osbp.utils.functionnormalizer/modelsbin/functionNormalizer.datatypes.datatypes_bin b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/functionNormalizer.datatypes.datatypes_bin
new file mode 100644
index 0000000..907c63f
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/modelsbin/functionNormalizer.datatypes.datatypes_bin
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="ASCII"?>
+<types:LCommonModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:types="http://osbp.eclipse.org/dsl/common/types/v1" xmlns:types_1="http://www.eclipse.org/xtext/common/JavaVMTypes">
+  <packages name="org.eclipse.osbp.utils.blob.datatypes">
+    <types xsi:type="types:LDataType" name="boolean" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Boolean#java.lang.Boolean"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="short" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Short#java.lang.Short"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="int" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Integer#java.lang.Integer"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="long" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Long#java.lang.Long"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="double" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Double#java.lang.Double"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="float" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Float#java.lang.Float"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="character" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Character#java.lang.Character"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="byte" asPrimitive="true">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Byte#java.lang.Byte"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Boolean">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Boolean#java.lang.Boolean"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Short">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Short#java.lang.Short"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Int">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Integer#java.lang.Integer"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Long">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Long#java.lang.Long"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Double">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Double#java.lang.Double"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Float">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Float#java.lang.Float"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Character">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Character#java.lang.Character"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Byte">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.Byte#java.lang.Byte"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="BigDecimal">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.math.BigDecimal#java.math.BigDecimal"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="String">
+      <jvmTypeReference xsi:type="types_1:JvmParameterizedTypeReference">
+        <type xsi:type="types_1:JvmGenericType" href="java:/Objects/java.lang.String#java.lang.String"/>
+      </jvmTypeReference>
+    </types>
+    <types xsi:type="types:LDataType" name="Date" date="true"/>
+    <types xsi:type="types:LDataType" name="datetype" date="true"/>
+    <types xsi:type="types:LDataType" name="timetype" date="true" dateType="TIME"/>
+    <types xsi:type="types:LDataType" name="blobtype" asBlob="true"/>
+  </packages>
+</types:LCommonModel>
diff --git a/org.eclipse.osbp.utils.functionnormalizer/service-models/.gitignore b/org.eclipse.osbp.utils.functionnormalizer/service-models/.gitignore
new file mode 100644
index 0000000..06a3eeb
--- /dev/null
+++ b/org.eclipse.osbp.utils.functionnormalizer/service-models/.gitignore
@@ -0,0 +1 @@
+/FunctionNormalizer.services