From cc61f6a65de1608509c43156025a01c2e734dd8f Mon Sep 17 00:00:00 2001 From: Daniel Ratiu Date: Wed, 13 Nov 2024 13:22:16 +0100 Subject: [PATCH] arch: added support for forbidden dependencies --- .../languages/org.mpsqa.arch/.mps/modules.xml | 1 + .../models/org.mpsqa.arch.editor.mps | 18 ++++ .../models/org.mpsqa.arch.structure.mps | 8 ++ .../models/org.mpsqa.arch.typesystem.mps | 79 ++++++++++++++ ...end_upon.generator.templates@generator.mps | 24 +++++ ...ge_no_other_shall_depend_upon.behavior.mps | 12 +++ ...no_other_shall_depend_upon.constraints.mps | 19 ++++ ...uage_no_other_shall_depend_upon.editor.mps | 12 +++ ...e_no_other_shall_depend_upon.structure.mps | 10 ++ ..._no_other_shall_depend_upon.typesystem.mps | 11 ++ ...ch.language_no_other_shall_depend_upon.mpl | 102 ++++++++++++++++++ ...qa.arch._010_simple_dependencies@tests.mps | 89 +++++++++++++++ 12 files changed, 385 insertions(+) create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/generator/templates/test.org.mpsqa.arch.language_no_other_shall_depend_upon.generator.templates@generator.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.behavior.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.constraints.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.editor.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.structure.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.typesystem.mps create mode 100644 code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/test.org.mpsqa.arch.language_no_other_shall_depend_upon.mpl diff --git a/code/languages/org.mpsqa.arch/.mps/modules.xml b/code/languages/org.mpsqa.arch/.mps/modules.xml index 2c5d8792..b10c3c8b 100644 --- a/code/languages/org.mpsqa.arch/.mps/modules.xml +++ b/code/languages/org.mpsqa.arch/.mps/modules.xml @@ -6,6 +6,7 @@ + diff --git a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.editor.mps b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.editor.mps index 1eacddd8..81ce67a8 100644 --- a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.editor.mps +++ b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.editor.mps @@ -1169,5 +1169,23 @@ + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.structure.mps b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.structure.mps index e7bb07ae..936dd397 100644 --- a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.structure.mps +++ b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.structure.mps @@ -264,5 +264,13 @@ + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.typesystem.mps b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.typesystem.mps index a6512a14..b6832e19 100644 --- a/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.typesystem.mps +++ b/code/languages/org.mpsqa.arch/languages/org.mpsqa.arch/models/org.mpsqa.arch.typesystem.mps @@ -2738,5 +2738,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/generator/templates/test.org.mpsqa.arch.language_no_other_shall_depend_upon.generator.templates@generator.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/generator/templates/test.org.mpsqa.arch.language_no_other_shall_depend_upon.generator.templates@generator.mps new file mode 100644 index 00000000..9dadc94d --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/generator/templates/test.org.mpsqa.arch.language_no_other_shall_depend_upon.generator.templates@generator.mps @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.behavior.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.behavior.mps new file mode 100644 index 00000000..31ca6ecb --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.behavior.mps @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.constraints.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.constraints.mps new file mode 100644 index 00000000..a28ea8fc --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.constraints.mps @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.editor.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.editor.mps new file mode 100644 index 00000000..14e4b0d6 --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.editor.mps @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.structure.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.structure.mps new file mode 100644 index 00000000..c07e7ae6 --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.structure.mps @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.typesystem.mps b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.typesystem.mps new file mode 100644 index 00000000..8ce82f99 --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/models/test.org.mpsqa.arch.language_no_other_shall_depend_upon.typesystem.mps @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/test.org.mpsqa.arch.language_no_other_shall_depend_upon.mpl b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/test.org.mpsqa.arch.language_no_other_shall_depend_upon.mpl new file mode 100644 index 00000000..ca57ccd2 --- /dev/null +++ b/code/languages/org.mpsqa.arch/languages/test.org.mpsqa.arch.language_no_other_shall_depend_upon/test.org.mpsqa.arch.language_no_other_shall_depend_upon.mpl @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.mpsqa.arch/solutions/test.org.mpsqa.arch/models/test.org.mpsqa.arch._010_simple_dependencies@tests.mps b/code/languages/org.mpsqa.arch/solutions/test.org.mpsqa.arch/models/test.org.mpsqa.arch._010_simple_dependencies@tests.mps index ebddcad4..df9f9a74 100644 --- a/code/languages/org.mpsqa.arch/solutions/test.org.mpsqa.arch/models/test.org.mpsqa.arch._010_simple_dependencies@tests.mps +++ b/code/languages/org.mpsqa.arch/solutions/test.org.mpsqa.arch/models/test.org.mpsqa.arch._010_simple_dependencies@tests.mps @@ -37,6 +37,7 @@ + @@ -512,5 +513,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +