SysML v2 reference implementation: A field report

There is a SysML v2 reference implementation: I had to try it out right away, because I have a thousand questions running through my head: What is the benefit? How well does it work? How quickly do we get results? Here is my experience report.
About SysML v2 I had here already written several times. For readers who are just getting to grips with SysML, the this SysML simulation video be interesting. For those switching from version 1, there is a FAQ for version 2.
Benefits of the SysML v2 reference implementation
Apart from being a pioneer: What can the SysML v2 reference implementation do, what are the benefits? Here we have to differentiate between the Eclipse-based user interface and the associated engine.
The user interface has the following benefits:
- The ability to create SysML models with text notation.
- Visualize the models in real time with PlantUML
- Verify the model, identifying errors using syntax highlighting
- Inspecting the model tree
In addition, the engine on which the user interface is based could be used for many other activities. For example:
- Model transformation from and to SysML v2: Depending on the use case, the possibilities range from Excel spreadsheets to related modeling languages (e.g. UML) to formal models.
- Analysis of the model
- Incorporate in your own tools that support or utilize SysML v2 in any form.
For some of these use cases, the SysML v2 API might be more suitable, for which there is also a reference implementation.
Installation of the SysML v2 reference implementation
The reference implementation is based on Eclipse. This means that it can be installed on all standard operating systems. The Installation instructions is easy to understand, but requires some patience and experience. I had the tool up and running in about 30 minutes. I only had the following two minor problems:
- Be sure to install the required version of the Eclipse Modeling Tools (2022-09), not the latest one.
- In step 6, I find the project differently under "Eclipse Projects" (not, as stated, under "Github Projects")
- Java 11 was installed on my computer, Java 17 is required for full functionality
Enough memory is also a must: the actual working environment is executed from the development environment. This means that we have two Eclipse instances running, each with a memory requirement of approx. 2GB.
Features of the SysML v2 reference implementation
Of course, we should not expect miracles from a reference implementation. The IDE has the following features:
- Text editor for .sysml files with syntax highlighting
- Model tree for the textual model
- Rendering the model with PlantUML (if installed, but highly recommended)
The reference implementation is based on the Eclipse Framework specifically on the Eclipse Modeling Framework (EMF). This means that the reference implementation is based on a robust engine. EMF can also be installed without the Eclipse user interface. There are also a lot of useful libraries for EMF.
As part of this evaluation, I only evaluated the user interface. But I had already worked with EMF in the past. In particular, I am the Eclipse Project Lead of the Requirements Modeling Frameworks (RMF)which is also based on EMF and forms the basis for the ReqIF reference implementation represents.
Useful modeling tables
A picture is worth a thousand words: Chapter 7 visually summarizes the relationship between model element, graphic and textual notation.
Chapter 7 of the specification has the potential to evolve into a quick reference. The tables shown there are very useful for quickly setting up a textual model. Here is an example:

A small project
The following screenshots show a simple example model in the text editor (left) and the corresponding visualization with PlantUML (middle). Anyone who has ever worked with any development environment (IDE) will quickly find their bearings here.
The structure (right), of which only a part is visible, is interesting. The structure reflects the internal model and is much more granular than the text suggests.



What is very pleasant: the visualization depends on the cursor position in the editor. If I work in line 13 in the editor, the PlantUML view only shows the "Article" part. Of course, the user can configure this behavior, like many other things.
Conclusion
We must not forget that SysML v2 has not yet been officially adopted.






