diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed901cb289..caf6d375ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,6 +30,10 @@ Semantic Versioning and the changes are simply documented in reverse chronologic
- Hyperlink: `HyperlinkUtil.openInBrowser()` behaves like no-op instead of raising an exception on null or empty URLs.
- Asynccell: Stops polling for the calculated value in case the poll-request throws an exception and shows to the user, that the calculation has failed together with the thrown exception, instead of spamming the log on each poll with the exception.
+### Added
+
+- The comparator language now supports a diff tool that can be activated through the `show diff` checkbox.
+
# March 2024
## com.mbeddr.mpsutil
@@ -142,7 +146,15 @@ Semantic Versioning and the changes are simply documented in reverse chronologic
### Changed
-- Added possiblity to update the ToolWindow contents of context action 2 evenif the Window is not visible.
+- Added possibility to update the ToolWindow contents of context action 2 even if the Window is not visible.
+
+## com.mbeddr.doc.aspect
+
+### Added
+
+* For documentation annotations of concepts there is a new flag `override children` in the inspector. It allows to show the document of a node even if the currently selected child node would have its own documentation.
+* By default, this new behavior is switched off. The `documentationAspectConfiguration` extension point now has a configuration option `allowOverrideChildren` which has to be set to true in order to use the override functionality.
+* A cache has been added to speed up the look-up and display of concept-specific documentation in the documentation view.
# September 2023
diff --git a/code/languages/com.mbeddr.build/solutions/com.mbeddr.platform/models/com/mbeddr/platform/build.mps b/code/languages/com.mbeddr.build/solutions/com.mbeddr.platform/models/com/mbeddr/platform/build.mps
index 688cf972c7..de28708ddd 100644
--- a/code/languages/com.mbeddr.build/solutions/com.mbeddr.platform/models/com/mbeddr/platform/build.mps
+++ b/code/languages/com.mbeddr.build/solutions/com.mbeddr.platform/models/com/mbeddr/platform/build.mps
@@ -7620,6 +7620,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7643,16 +7678,21 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -7733,6 +7773,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8345,6 +8405,9 @@
+
+
+
@@ -18644,6 +18707,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/com.mbeddr.doc.aspect.exampleLanguage.mpl b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/com.mbeddr.doc.aspect.exampleLanguage.mpl
index dbd278eeec..86dffeca88 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/com.mbeddr.doc.aspect.exampleLanguage.mpl
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/com.mbeddr.doc.aspect.exampleLanguage.mpl
@@ -14,6 +14,8 @@
f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)
+ 38a074ed-e5ad-4b2d-be31-ca436911b8aa(com.mbeddr.doc.aspect)
+ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
@@ -29,6 +31,7 @@
+
@@ -43,8 +46,11 @@
+
+
+
@@ -59,13 +65,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com.mbeddr.doc.aspect.exampleLanguage.plugin.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com.mbeddr.doc.aspect.exampleLanguage.plugin.mps
new file mode 100644
index 0000000000..2d2f045ba8
--- /dev/null
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com.mbeddr.doc.aspect.exampleLanguage.plugin.mps
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/documentation.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/documentation.mps
index 696aa6393c..dd981c1a39 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/documentation.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/documentation.mps
@@ -20,6 +20,7 @@
+
@@ -242,6 +243,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/editor.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/editor.mps
index fe1c45355e..5190a287d0 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/editor.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/editor.mps
@@ -18,6 +18,7 @@
+
@@ -31,6 +32,7 @@
+
@@ -201,6 +203,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -218,5 +252,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/structure.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/structure.mps
index fdbbd2f948..d12e99d33a 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/structure.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/models/com/mbeddr/doc/aspect/exampleLanguage/structure.mps
@@ -93,6 +93,13 @@
+
+
+
+
+
+
+
@@ -131,5 +138,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/sandbox/models/com/mbeddr/doc/aspect/exampleLanguage/sandbox.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/sandbox/models/com/mbeddr/doc/aspect/exampleLanguage/sandbox.mps
index e60e28f462..37e2705614 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/sandbox/models/com/mbeddr/doc/aspect/exampleLanguage/sandbox.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect.exampleLanguage/sandbox/models/com/mbeddr/doc/aspect/exampleLanguage/sandbox.mps
@@ -12,6 +12,11 @@
+
+
+
+
+
@@ -20,6 +25,9 @@
+
+
+
@@ -28,6 +36,7 @@
+
@@ -88,6 +97,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/editor.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/editor.mps
index 1cacfcdf3d..5dbb7f6866 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/editor.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/editor.mps
@@ -43,6 +43,7 @@
+
@@ -54,6 +55,7 @@
+
@@ -282,15 +284,28 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/plugin.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/plugin.mps
index 55c5d9ea10..96341750c2 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/plugin.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/plugin.mps
@@ -6,9 +6,12 @@
+
-
+
+
+
@@ -23,13 +26,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
@@ -47,6 +85,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -54,6 +105,9 @@
+
+
+
@@ -90,8 +144,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/structure.mps b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/structure.mps
index 01902e6b24..c5412f0664 100644
--- a/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/structure.mps
+++ b/code/languages/com.mbeddr.doc.aspect/languages/com.mbeddr.doc.aspect/models/com/mbeddr/doc/aspect/structure.mps
@@ -60,6 +60,11 @@
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/com.mbeddr.doc.aspect.runtime.msd b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/com.mbeddr.doc.aspect.runtime.msd
index c4c50ef479..c69f9c126c 100644
--- a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/com.mbeddr.doc.aspect.runtime.msd
+++ b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/com.mbeddr.doc.aspect.runtime.msd
@@ -16,6 +16,9 @@
2374bc90-7e37-41f1-a9c4-c2e35194c36a(com.mbeddr.doc)
38a074ed-e5ad-4b2d-be31-ca436911b8aa(com.mbeddr.doc.aspect)
c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)
+ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
+ af65afd8-f0dd-4942-87d9-63a55f2a9db1(jetbrains.mps.lang.behavior)
+ ecfb9949-7433-4db5-85de-0f84d172e4ce(de.q60.mps.collections.libs)
@@ -50,6 +53,7 @@
+
@@ -60,6 +64,7 @@
+
diff --git a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/models/com/mbeddr/doc/aspect/runtime.mps b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/models/com/mbeddr/doc/aspect/runtime.mps
index f70aab17af..de28711a24 100644
--- a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/models/com/mbeddr/doc/aspect/runtime.mps
+++ b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.runtime/models/com/mbeddr/doc/aspect/runtime.mps
@@ -20,8 +20,14 @@
+
+
+
+
+
+
@@ -42,6 +48,10 @@
+
+
+
+
@@ -49,6 +59,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,6 +81,7 @@
+
@@ -79,6 +102,9 @@
+
+
+
@@ -102,6 +128,7 @@
+
@@ -109,7 +136,9 @@
-
+
+
+
@@ -128,9 +157,13 @@
+
+
+
+
@@ -141,6 +174,7 @@
+
@@ -181,13 +215,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -204,16 +254,22 @@
+
+
+
+
+
+
@@ -235,6 +291,9 @@
+
+
+
@@ -301,6 +360,7 @@
+
@@ -311,35 +371,1297 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -352,14 +1674,14 @@
-
+
-
+
@@ -458,10 +1780,10 @@
-
+
-
+
@@ -492,6 +1814,7 @@
+
@@ -523,13 +1846,13 @@
-
+
-
+
-
+
@@ -623,28 +1946,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
@@ -657,13 +1961,12 @@
-
+
-
@@ -878,7 +2181,7 @@
-
+
@@ -1613,23 +2916,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1641,41 +2927,54 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1684,26 +2983,25 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
-
+
+
-
+
@@ -1722,9 +3020,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1801,6 +3201,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1947,6 +3458,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/com.mbeddr.doc.aspect.ui.msd b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/com.mbeddr.doc.aspect.ui.msd
index af9bb6ecc6..7ffb96cfc8 100644
--- a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/com.mbeddr.doc.aspect.ui.msd
+++ b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/com.mbeddr.doc.aspect.ui.msd
@@ -34,7 +34,6 @@
-
diff --git a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/models/com/mbeddr/doc/aspect/ui/plugin.mps b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/models/com/mbeddr/doc/aspect/ui/plugin.mps
index 717a5d848d..2b2a50bcca 100644
--- a/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/models/com/mbeddr/doc/aspect/ui/plugin.mps
+++ b/code/languages/com.mbeddr.doc.aspect/solutions/com.mbeddr.doc.aspect.ui/models/com/mbeddr/doc/aspect/ui/plugin.mps
@@ -15,7 +15,6 @@
-
@@ -555,6 +554,13 @@
+
+
+
+
+
+
+
@@ -973,13 +979,6 @@
-
-
-
-
-
-
-
@@ -1212,11 +1211,8 @@
-
-
-
-
-
+
+
@@ -2877,19 +2873,19 @@
-
-
-
-
-
+
+
+
+
-
+
+
-
-
+
+
-
+
@@ -2897,8 +2893,8 @@
-
-
+
+
@@ -3230,16 +3226,15 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -3248,24 +3243,24 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
-
+
@@ -3354,7 +3349,7 @@
-
+
@@ -3511,7 +3506,7 @@
-
+
diff --git a/code/languages/com.mbeddr.mpsutil/.mps/modules.xml b/code/languages/com.mbeddr.mpsutil/.mps/modules.xml
index 3558bb6a49..b2932a27b4 100644
--- a/code/languages/com.mbeddr.mpsutil/.mps/modules.xml
+++ b/code/languages/com.mbeddr.mpsutil/.mps/modules.xml
@@ -6,6 +6,7 @@
+
@@ -109,6 +110,8 @@
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/com.mbeddr.demo.comparator.diff.mpl b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/com.mbeddr.demo.comparator.diff.mpl
new file mode 100644
index 0000000000..912737708d
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/com.mbeddr.demo.comparator.diff.mpl
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/generator/templates/com.mbeddr.demo.comparator.diff.generator.templates@generator.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/generator/templates/com.mbeddr.demo.comparator.diff.generator.templates@generator.mps
new file mode 100644
index 0000000000..97ecb348e5
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/generator/templates/com.mbeddr.demo.comparator.diff.generator.templates@generator.mps
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.behavior.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.behavior.mps
new file mode 100644
index 0000000000..c788c7224e
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.behavior.mps
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.constraints.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.constraints.mps
new file mode 100644
index 0000000000..01f550af1d
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.constraints.mps
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.editor.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.editor.mps
new file mode 100644
index 0000000000..ee7792a15e
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.editor.mps
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.structure.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.structure.mps
new file mode 100644
index 0000000000..a045ff271f
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.structure.mps
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.typesystem.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.typesystem.mps
new file mode 100644
index 0000000000..42dbc59d2c
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.demo.comparator.diff/models/com.mbeddr.demo.comparator.diff.typesystem.mps
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/compare.mpl b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/compare.mpl
index 0f43baad5e..1d30779d3d 100644
--- a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/compare.mpl
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/compare.mpl
@@ -29,9 +29,17 @@
c6420b75-4569-420d-aaf7-9bc590ad7b2a(com.mbeddr.mpsutil.comparator)
83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)
985c8c6a-64b4-486d-a91e-7d4112742556(jetbrains.mps.baseLanguage#1129914002933)
+ 498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)
+ ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)
+ 6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)
+ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
+ c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)
+ 8585453e-6bfb-4d80-98de-b16074f1d86c(jetbrains.mps.lang.test)
+ 8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
+
@@ -40,30 +48,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -87,9 +111,10 @@
c6420b75-4569-420d-aaf7-9bc590ad7b2a(com.mbeddr.mpsutil.comparator)
- 7866978e-a0f0-4cc7-81bc-4d213d9375e1(jetbrains.mps.lang.smodel)
83888646-71ce-4f1c-9c53-c54016f6ad4f(jetbrains.mps.baseLanguage.collections)
c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)
+ 8585453e-6bfb-4d80-98de-b16074f1d86c(jetbrains.mps.lang.test)
+ 498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)
@@ -132,10 +157,12 @@
+
+
@@ -145,10 +172,9 @@
-
-
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/generator/template/main@generator.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/generator/template/main@generator.mps
index 2e270519de..4a9aca6005 100644
--- a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/generator/template/main@generator.mps
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/generator/template/main@generator.mps
@@ -4,6 +4,8 @@
+
+
@@ -12,8 +14,18 @@
+
+
+
+
+
+
+
+
+
+
@@ -33,11 +45,18 @@
+
+
+
+
+
+
+
@@ -92,6 +111,9 @@
+
+
+
@@ -100,20 +122,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -157,16 +220,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -178,10 +254,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -192,137 +284,141 @@
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -340,48 +436,48 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -399,44 +495,83 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
@@ -769,5 +904,485 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/behavior.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/behavior.mps
index 4ca84c472c..d83fda52ae 100644
--- a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/behavior.mps
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/behavior.mps
@@ -5,7 +5,188 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/editor.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/editor.mps
index 92df2d727b..befcfe03ea 100644
--- a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/editor.mps
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/editor.mps
@@ -13,6 +13,11 @@
+
+
+
+
+
@@ -34,6 +39,7 @@
+
@@ -49,6 +55,9 @@
+
+
+
@@ -85,6 +94,7 @@
+
@@ -97,22 +107,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -120,11 +179,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -277,7 +351,152 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/structure.mps b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/structure.mps
index 6f759b6967..d6a1b212f9 100644
--- a/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/structure.mps
+++ b/code/languages/com.mbeddr.mpsutil/languages/com.mbeddr.mpsutil.compare/languageModels/structure.mps
@@ -2,7 +2,6 @@
-
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/com.mbeddr.mpsutil.comparator.diff.demo.genplan.msd b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/com.mbeddr.mpsutil.comparator.diff.demo.genplan.msd
new file mode 100644
index 0000000000..edd8c2d476
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/com.mbeddr.mpsutil.comparator.diff.demo.genplan.msd
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/models/com.mbeddr.demo.comparator.diff.genplan.mps b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/models/com.mbeddr.demo.comparator.diff.genplan.mps
new file mode 100644
index 0000000000..a795596070
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.genplan/models/com.mbeddr.demo.comparator.diff.genplan.mps
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/com.mbeddr.mpsutil.comparator.diff.demo.tests.msd b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/com.mbeddr.mpsutil.comparator.diff.demo.tests.msd
new file mode 100644
index 0000000000..877fcccd75
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/com.mbeddr.mpsutil.comparator.diff.demo.tests.msd
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
+ 6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)
+ 2c9058b6-7cd8-4623-82a3-e4c07c3eddff(com.mbeddr.mpsutil.generatorfacade)
+ ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)
+ 8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
+ 7ab1a6fa-0a11-4b95-9e48-75f363d6cb00(jetbrains.mps.lang.generator.plan)
+ f3061a53-9226-4cc5-a443-f952ceaf5816(jetbrains.mps.baseLanguage)
+ 742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)
+ a83addf6-6ea9-4504-83d6-0211dab89b0f(com.mbeddr.mpsutil.comparator.diff.demo.genplan)
+ 479c7a8c-02f9-43b5-9139-d910cb22f298(jetbrains.mps.core.xml)
+ 215c4c45-ba99-49f5-9ab7-4b6901a63cfd(MPS.Generator)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.diffs@tests.mps b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.diffs@tests.mps
new file mode 100644
index 0000000000..853627e317
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.diffs@tests.mps
@@ -0,0 +1,931 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.input.mps b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.input.mps
new file mode 100644
index 0000000000..8ad132d689
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator.diff.demo.tests/models/com.mbeddr.demo.compafator.diff.tests.input.mps
@@ -0,0 +1,327 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/comparator.msd b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/comparator.msd
index 4ac393eec3..1847f3e6ff 100644
--- a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/comparator.msd
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/comparator.msd
@@ -17,6 +17,10 @@
6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)
8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)
+ 742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)
+ 6fd1293f-7f65-4ffd-99dc-4719eca7c171(jetbrains.mps.ide.vcs.platform)
+ 8585453e-6bfb-4d80-98de-b16074f1d86c(jetbrains.mps.lang.test)
+ 498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)
@@ -24,6 +28,8 @@
+
+
@@ -33,18 +39,24 @@
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/.model b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/.model
index a814c64377..7ea8bd48f2 100644
--- a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/.model
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/.model
@@ -10,6 +10,8 @@
+
+
@@ -19,6 +21,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/DiffView.mpsr b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/DiffView.mpsr
new file mode 100644
index 0000000000..a743ad32b0
--- /dev/null
+++ b/code/languages/com.mbeddr.mpsutil/solutions/com.mbeddr.mpsutil.comparator/models/DiffView.mpsr
@@ -0,0 +1,1388 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/tests/com.mbeddr.mpsutil.compare.pattern.test/models/com/mbeddr/mpsutil/compare/pattern/test/basic@tests.mps b/code/languages/com.mbeddr.mpsutil/tests/com.mbeddr.mpsutil.compare.pattern.test/models/com/mbeddr/mpsutil/compare/pattern/test/basic@tests.mps
index fb5e028f1e..54d94b7f1c 100644
--- a/code/languages/com.mbeddr.mpsutil/tests/com.mbeddr.mpsutil.compare.pattern.test/models/com/mbeddr/mpsutil/compare/pattern/test/basic@tests.mps
+++ b/code/languages/com.mbeddr.mpsutil/tests/com.mbeddr.mpsutil.compare.pattern.test/models/com/mbeddr/mpsutil/compare/pattern/test/basic@tests.mps
@@ -279,6 +279,10 @@
+
+
+
+
@@ -2186,6 +2190,10 @@
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/models/test/com/mbeddr/mpsutil/compare/ts@tests.mps b/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/models/test/com/mbeddr/mpsutil/compare/ts@tests.mps
index 148fdfea86..940391ca32 100644
--- a/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/models/test/com/mbeddr/mpsutil/compare/ts@tests.mps
+++ b/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/models/test/com/mbeddr/mpsutil/compare/ts@tests.mps
@@ -5,7 +5,6 @@
-
@@ -168,6 +167,10 @@
+
+
+
+
@@ -614,6 +617,10 @@
+
+
+
+
diff --git a/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/test.com.mbeddr.mpsutil.compare.msd b/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/test.com.mbeddr.mpsutil.compare.msd
index 4ec9fd68d7..679e72973c 100644
--- a/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/test.com.mbeddr.mpsutil.compare.msd
+++ b/code/languages/com.mbeddr.mpsutil/tests/test.com.mbeddr.mpsutil.compare/test.com.mbeddr.mpsutil.compare.msd
@@ -14,13 +14,12 @@
c6420b75-4569-420d-aaf7-9bc590ad7b2a(com.mbeddr.mpsutil.comparator)
- 6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)
6bbe9909-811d-4431-b023-f60f7e6d7891(test.com.mbeddr.mpsutil.compare.testlang)
+
-