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

Add Initial Data Models for SysML v2 #2639

Closed
wants to merge 3 commits into from
Closed

Add Initial Data Models for SysML v2 #2639

wants to merge 3 commits into from

Conversation

danyeaw
Copy link
Member

@danyeaw danyeaw commented Aug 12, 2023

This is an initial implementation of what was discussed in #2584, to create our Python data models for SysML v2 by using the SysML Pilot Implementation EMF ecore meta models with pyecore.

I also filed Systems-Modeling/SysML-v2-Pilot-Implementation#496, since it appears that the SysML ecore doesn't actually depend on the KerML ecore, it redefines everything. To work around this, I did a lot of manual editing of the resulting pyecoregen models. We could work towards getting this fixed upstream and automating any other changes needed.

What does everyone think about this approach?

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bug fix
  • Feature
  • Chore (refactoring, formatting, local variables, other cleanup)
  • Documentation content changes

What is the current behavior?

Issue Number: #2584

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@github-actions github-actions bot added the python Pull requests that update Python code label Aug 12, 2023
@danyeaw
Copy link
Member Author

danyeaw commented Aug 13, 2023

I created pyecore/pyecore#135 to fix the Dependency Review failure.

@amolenaar
Copy link
Member

For this to really work, the code should interact with our event system and emit the right events (attribute changes, association updates, etc.).

Does this imply we should also be able to load/save ecore files in Gaphor?

@danyeaw
Copy link
Member Author

danyeaw commented Aug 18, 2023

For this to really work, the code should interact with our event system and emit the right events (attribute changes, association updates, etc.).

The intention of this was an equivalent of our UML data model that we have today but for SysML. I think you are pointing out that since Gaphor assumes that the underlying model is UML, we may need to make significant updates to accomodate a new one. Is that what you mean?

Does this imply we should also be able to load/save ecore files in Gaphor?

Potentially, but I didn't have that use case in mind.

@amolenaar amolenaar marked this pull request as draft September 5, 2023 07:26
@amolenaar
Copy link
Member

For this to really work, the code should interact with our event system and emit the right events (attribute changes, association updates, etc.).

The intention of this was an equivalent of our UML data model that we have today but for SysML. I think you are pointing out that since Gaphor assumes that the underlying model is UML, we may need to make significant updates to accomodate a new one. Is that what you mean?

I think it's fine that the model is not based on our UML model. It should be based on the Core model though, since Element contains the nitty gritty details on how changes are propagated from the model to the rest of the application.

@amolenaar
Copy link
Member

@danyeaw Do you still want to try to make Gaphor work with ECore? Or can we close thos PR?

@danyeaw danyeaw closed this Jun 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants