Changed cardinality of connections#2
Conversation
|
Thank you for the pull-request. Since the proposed changes modify the meta-model in a way that requires dependent languages to be adapted, we will have to take a bit more time to look into the impact of merging those changes. It would help us review the changes if you could squash all commits into one or two commits since there is a lot of back and forth as well as well commented-out things. |
|
I have squashed the commits but couldn't find any comments when looking at my modifications. Please let me know if you find any comments when reviewing the changes so I can remove them. |
Thank you, that makes things easier to review. Could you also remove the following files which look as if they were added accidentally:
I think comments were introduced in one commit and removed in a later commit so that they no longer appear after squashing. It seems that the change adds other, unrelated modules to the project: modified .mps/modules.xml
@@ -5,6 +5,10 @@
<modulePath path="$PROJECT_DIR$/languages/Component/Component.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/Component/sandbox/Component.sandbox.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/Component.build/Component.build.msd" folder="" />
+ <modulePath path="$PROJECT_DIR$/../algorithm-dsl/languages/Algorithm/Algorithm.mpl" folder="" />
+ <modulePath path="$PROJECT_DIR$/../dimensions-dsl/languages/Capabilities/Capabilities.mpl" folder="" />
+ <modulePath path="$PROJECT_DIR$/../dimensions-dsl/languages/HardwarePlatforms/HardwarePlatforms.mpl" folder="" />
+ <modulePath path="$PROJECT_DIR$/../dimensions-dsl/languages/SoftwarePlatforms/SoftwarePlatforms.mpl" folder="" />
</projectModules>
</component>
</project>Could you remove those? With the simplified changes, I think we can start evaluating the impact on other languages, thanks again. |
|
Sorry for the extra the files! Didn't notice them when squashing the commits. I have also removed the project modules as requested. |
Description
The Component DSL restricted the cardinality of connections to 1:1 exclusively. This is a problem since systems in frameworks that use a publish-subscriber pattern for communications can not be properly modeled. This pull request introduces a change in the meta-model in order to model n:n connections.
This was achieved by the introduction of two new concepts:
SourceRefandTargetRef. Connections are modeled as a collection of both of these concepts. Each concept contains a reference to anIPortRefconcept. Constraints are also added to ensure that the modeling and autocomplete functionalities of the original version stay the same in the modified version.