diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/xtext/elite.mdd.plantuml.ide/.classpath b/xtext/elite.mdd.plantuml.ide/.classpath
new file mode 100644
index 0000000..a613544
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/xtext/elite.mdd.plantuml.ide/.gitignore b/xtext/elite.mdd.plantuml.ide/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/xtext/elite.mdd.plantuml.ide/.project b/xtext/elite.mdd.plantuml.ide/.project
new file mode 100644
index 0000000..103323b
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/.project
@@ -0,0 +1,34 @@
+
+
+ elite.mdd.plantuml.ide
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.core.resources.prefs b/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.jdt.core.prefs b/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7adc0fb
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/xtext/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7f10529
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.ide
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ide/build.properties b/xtext/elite.mdd.plantuml.ide/build.properties
new file mode 100644
index 0000000..5c6bbf9
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ide/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.tests/.classpath b/xtext/elite.mdd.plantuml.tests/.classpath
new file mode 100644
index 0000000..720219f
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/.classpath
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xtext/elite.mdd.plantuml.tests/.gitignore b/xtext/elite.mdd.plantuml.tests/.gitignore
new file mode 100644
index 0000000..e75a396
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/.gitignore
@@ -0,0 +1 @@
+/test-bin/
diff --git a/xtext/elite.mdd.plantuml.tests/.project b/xtext/elite.mdd.plantuml.tests/.project
new file mode 100644
index 0000000..8afd313
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/.project
@@ -0,0 +1,34 @@
+
+
+ elite.mdd.plantuml.tests
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.core.resources.prefs b/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.jdt.core.prefs b/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7adc0fb
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/xtext/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b4d91d3
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.tests
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ org.junit.jupiter.api;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.tests/build.properties b/xtext/elite.mdd.plantuml.tests/build.properties
new file mode 100644
index 0000000..5c6bbf9
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.ui.tests/.gitignore b/xtext/elite.mdd.plantuml.ui.tests/.gitignore
new file mode 100644
index 0000000..8b6c56a
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/.gitignore
@@ -0,0 +1,90 @@
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+# Xtext / Xtend
+generated/
+src-gen/
+xtend-gen/
+xtext-gen/
+
+# Eclipse
+.classpath
+.project
+.settings/
+.metadata/
+bin/
+
+# IntelliJ
+*.iml
+*.ipr
+*.iws
+.idea/
+out/
+
+# Gradle
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# ANTLR Tooling
+xyz.elite.xtext.languages.plantuml/src/main/gen/
\ No newline at end of file
diff --git a/xtext/elite.mdd.plantuml.ui.tests/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..74ac3bc
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.ui.tests
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.ui.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.ui.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml.ui,
+ org.junit.jupiter.api;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing,
+ org.eclipse.xtext.xbase.junit
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui.tests/build.properties b/xtext/elite.mdd.plantuml.ui.tests/build.properties
new file mode 100644
index 0000000..5c6bbf9
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/.gitignore b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7f10529
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.ide
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/build.properties b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/build.properties
new file mode 100644
index 0000000..5c6bbf9
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ide/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/.gitignore b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/.gitignore
new file mode 100644
index 0000000..e75a396
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/.gitignore
@@ -0,0 +1 @@
+/test-bin/
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b4d91d3
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.tests
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ org.junit.jupiter.api;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/build.properties b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/build.properties
new file mode 100644
index 0000000..5c6bbf9
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/.gitignore b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a37e73d
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.ui
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ elite.mdd.plantuml.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"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/build.properties b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/build.properties
new file mode 100644
index 0000000..323f56c
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml.ui/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/.gitignore b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/.gitignore
new file mode 100644
index 0000000..8b6c56a
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/.gitignore
@@ -0,0 +1,90 @@
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+# Xtext / Xtend
+generated/
+src-gen/
+xtend-gen/
+xtext-gen/
+
+# Eclipse
+.classpath
+.project
+.settings/
+.metadata/
+bin/
+
+# IntelliJ
+*.iml
+*.ipr
+*.iws
+.idea/
+out/
+
+# Gradle
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# ANTLR Tooling
+xyz.elite.xtext.languages.plantuml/src/main/gen/
\ No newline at end of file
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9320f24
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/build.properties b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/build.properties
new file mode 100644
index 0000000..3f6a810
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/build.properties
@@ -0,0 +1,18 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.mwe2,\
+ **/*.xtend
+additional.bundles = org.eclipse.xtext.xbase,\
+ org.eclipse.xtext.common.types,\
+ org.eclipse.xtext.xtext.generator,\
+ org.eclipse.emf.codegen.ecore,\
+ org.eclipse.emf.mwe.utils,\
+ org.eclipse.emf.mwe2.launch,\
+ org.eclipse.emf.mwe2.lib,\
+ org.objectweb.asm,\
+ org.apache.commons.logging,\
+ org.apache.log4j
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2 b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2
new file mode 100644
index 0000000..0ae80a5
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2
@@ -0,0 +1,53 @@
+module elite.mdd.plantuml.GeneratePlantUML
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "elite.mdd.plantuml"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "elite.mdd.plantuml.PlantUML"
+ fileExtensions = "plantuml"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext
new file mode 100644
index 0000000..950c58c
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui.tests/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext
@@ -0,0 +1,9 @@
+grammar elite.mdd.plantuml.PlantUML with org.eclipse.xtext.common.Terminals
+
+generate plantUML "http://www.mdd.elite/plantuml/PlantUML"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/xtext/elite.mdd.plantuml.ui/.classpath b/xtext/elite.mdd.plantuml.ui/.classpath
new file mode 100644
index 0000000..a613544
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/.classpath
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/xtext/elite.mdd.plantuml.ui/.gitignore b/xtext/elite.mdd.plantuml.ui/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/xtext/elite.mdd.plantuml.ui/.project b/xtext/elite.mdd.plantuml.ui/.project
new file mode 100644
index 0000000..a0ac56e
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/.project
@@ -0,0 +1,34 @@
+
+
+ elite.mdd.plantuml.ui
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.pde.PluginNature
+
+
diff --git a/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.core.resources.prefs b/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.jdt.core.prefs b/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7adc0fb
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/xtext/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a37e73d
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml.ui
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: elite.mdd.plantuml,
+ elite.mdd.plantuml.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"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml.ui/build.properties b/xtext/elite.mdd.plantuml.ui/build.properties
new file mode 100644
index 0000000..323f56c
--- /dev/null
+++ b/xtext/elite.mdd.plantuml.ui/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.xtend
diff --git a/xtext/elite.mdd.plantuml/.gitignore b/xtext/elite.mdd.plantuml/.gitignore
new file mode 100644
index 0000000..8b6c56a
--- /dev/null
+++ b/xtext/elite.mdd.plantuml/.gitignore
@@ -0,0 +1,90 @@
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+# Xtext / Xtend
+generated/
+src-gen/
+xtend-gen/
+xtext-gen/
+
+# Eclipse
+.classpath
+.project
+.settings/
+.metadata/
+bin/
+
+# IntelliJ
+*.iml
+*.ipr
+*.iws
+.idea/
+out/
+
+# Gradle
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# ANTLR Tooling
+xyz.elite.xtext.languages.plantuml/src/main/gen/
\ No newline at end of file
diff --git a/xtext/elite.mdd.plantuml/META-INF/MANIFEST.MF b/xtext/elite.mdd.plantuml/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9320f24
--- /dev/null
+++ b/xtext/elite.mdd.plantuml/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Automatic-Module-Name: elite.mdd.plantuml
+Bundle-ManifestVersion: 2
+Bundle-Name: elite.mdd.plantuml
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: elite.mdd.plantuml; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/xtext/elite.mdd.plantuml/build.properties b/xtext/elite.mdd.plantuml/build.properties
new file mode 100644
index 0000000..3f6a810
--- /dev/null
+++ b/xtext/elite.mdd.plantuml/build.properties
@@ -0,0 +1,18 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.mwe2,\
+ **/*.xtend
+additional.bundles = org.eclipse.xtext.xbase,\
+ org.eclipse.xtext.common.types,\
+ org.eclipse.xtext.xtext.generator,\
+ org.eclipse.emf.codegen.ecore,\
+ org.eclipse.emf.mwe.utils,\
+ org.eclipse.emf.mwe2.launch,\
+ org.eclipse.emf.mwe2.lib,\
+ org.objectweb.asm,\
+ org.apache.commons.logging,\
+ org.apache.log4j
diff --git a/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2 b/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2
new file mode 100644
index 0000000..0ae80a5
--- /dev/null
+++ b/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/GeneratePlantUML.mwe2
@@ -0,0 +1,53 @@
+module elite.mdd.plantuml.GeneratePlantUML
+
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+
+var rootPath = ".."
+
+Workflow {
+
+ component = XtextGenerator {
+ configuration = {
+ project = StandardProjectConfig {
+ baseName = "elite.mdd.plantuml"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ encoding = "UTF-8"
+ lineDelimiter = "\n"
+ fileHeader = "/*\n * generated by Xtext \${version}\n */"
+ preferXtendStubs = false
+ }
+ }
+ language = StandardLanguage {
+ name = "elite.mdd.plantuml.PlantUML"
+ fileExtensions = "plantuml"
+
+ serializer = {
+ generateStub = false
+ }
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
+ generateDeprecationValidation = true
+ }
+ generator = {
+ generateXtendStub = true
+ }
+ junitSupport = {
+ junitVersion = "5"
+ }
+ }
+ }
+}
diff --git a/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext b/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext
new file mode 100644
index 0000000..950c58c
--- /dev/null
+++ b/xtext/elite.mdd.plantuml/src/elite/mdd/plantuml/PlantUML.xtext
@@ -0,0 +1,9 @@
+grammar elite.mdd.plantuml.PlantUML with org.eclipse.xtext.common.Terminals
+
+generate plantUML "http://www.mdd.elite/plantuml/PlantUML"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';