mbe-shipyard / sysml.py

A Python package for the Systems Modeling Language (SysML) for Model-based Systems Engineering (MBSE) applications
Apache License 2.0
66 stars 19 forks source link

Still maintained ? #50

Open QuentinN42 opened 3 years ago

QuentinN42 commented 3 years ago

The last commit is was more than a year ago, is this project still maintained or have you find a better alternative ?

capsulecorplab commented 3 years ago

Hi @QuentinN42, this project is in stasis at the moment, as the SysML v2 spec is currently under pre-release. I'd check back in 6 months or so.

donpellegrino commented 1 year ago

@russkel - I can't seem to find the v2 release. Do you have a link?

I checked:

russkel commented 1 year ago

Sorry @donpellegrino - I followed the link from LinkedIn thinking it was final release. Disregard.

capsulecorplab commented 1 year ago

Hi @donpellegrino @russkel @QuentinN42 apologies for the long inactivity on this repo; I think I may circle back to this project once the SysML v2 spec has a means of file-based model interchange, which to my knowledge is still a WIP. As far as the contents of the SysML v2 spec release, I would refer to the intro/training material for the graphical & textual notation:

donpellegrino commented 1 year ago

@capsulecorplab - I thought XMI was the official model interchange and they manifest as XML files. Many SysML modeling tools input/output XML files that use XMI to describe the SysML model data. I perceive there are multiple issues out in the wild with incompatibilities, but that is the conventional approach. A native Python data model for SysML would presumably need a persistence framework that inputs/outputs the XMI encoding.

capsulecorplab commented 1 year ago

@donpellegrino I believe the XMI format is for SysML v1, not v2. There's been discussion of a JSON schema for persisting file-based SysML v2 models, but I haven't seen it in a release.

donpellegrino commented 1 year ago

@capsulecorplab - Ah, I see. Thanks. To confirm, the sysml.py persistence target would be whatever the format is used for the "*.sysml" files found at https://github.com/Systems-Modeling/SysML-v2-Release/tree/master/sysml/src/examples ?

capsulecorplab commented 1 year ago

@capsulecorplab - Ah, I see. Thanks. To confirm, the sysml.py persistence target would be whatever the format is used for the "*.sysml" files found at https://github.com/Systems-Modeling/SysML-v2-Release/tree/master/sysml/src/examples ?

That was the intent when I first started this project before realizing there was no such interchange format for SysML v2 yet. I considered implementing a kind of yaml-based file interchange format for this project, but later decided to drop that idea on the basis that I'd prefer to leave the standards/spec writing work up to industry professionals / working groups :wink:

capsulecorplab commented 1 year ago

@donpellegrino depending on your modeling needs, if you're looking for an open-source modeling tool that supports file-based model interchange and don't mind working natively in text, there's also the OML/OpenCAESAR toolchain that maps to OWL. It's got a bit of overhead to setup though, as you need to build the model as an RDF database that you then run queries against to extract views from the model, but it works https://github.com/modelware/oml-tutorial