Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changed cardinality of connections #2

Open
wants to merge 1 commit into
base: 2019.3
Choose a base branch
from

Conversation

samuelpg
Copy link

@samuelpg samuelpg commented Jun 9, 2021

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: SourceRef and TargetRef. Connections are modeled as a collection of both of these concepts. Each concept contains a reference to an IPortRef concept. Constraints are also added to ensure that the modeling and autocomplete functionalities of the original version stay the same in the modified version.

@scymtym
Copy link
Contributor

scymtym commented Jun 14, 2021

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.

@samuelpg
Copy link
Author

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.

@scymtym
Copy link
Contributor

scymtym commented Jun 15, 2021

I have squashed the commits.

Thank you, that makes things easier to review.

Could you also remove the following files which look as if they were added accidentally:

.../shelved.patch                                  |   63 +
.../shelved.patch                                  |    0
...out_at_18_11_20__21_33__Default_Changelist_.xml |    4 +
d                                                  |  421 ++++

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.

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.

@samuelpg
Copy link
Author

Sorry for the extra the files! Didn't notice them when squashing the commits. I have also removed the project modules as requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants