|

Trying out SysON: First steps with SysML v2 in the browser

Trying out SysON: First steps with SysML v2 in the browser

SysON is one of the most interesting SysML v2 tools at the moment: it is completely new, it runs in a web browser and it is open source. I would call it pre-beta software, but the program still has a lot of potential. In the following:

  • SysON on the radar - A web-based open source tool for SysML v2 - directly usable in the browser and developed by OBEO under the Eclipse Foundation.
  • Active exchange on Discord - The community is growing! Great exchange around SysON on the Discord server of the Systems Engineering Professionals.
  • Quick start with Docker - SysON now runs easily in a Docker container - in just a few minutes.
  • First steps & sample project - Thanks to the Batmobile demo, helpful YouTube videos and version-based documentation, getting started is quick and easy.
  • Focus on user-friendliness - Models can be created intuitively - part defs, for example, can be created directly in the editor. Not yet perfect, but promising.
  • Swagger API on board - SysON comes with a SysML v2 REST API - available locally via Swagger. Ideal for experimenting with projects & commits.
  • Not quite stable yet - Crashes and limited usability show that SysON is not (yet) a productive tool - but the potential is there.
  • Conclusion & outlook - SysON is significantly advancing SysML v2. I am curious to see when the first commercial case studies will follow!

SysON

SysON is a relatively new, web-based, open source modeling tool for SysML v2. SysON is a project of the Eclipse Foundation and is primarily used by OBEO developed. Although SysON is still in the development stage, it is already clear that the tool has potential for professional applications.

This makes SysON the third system evaluated by SE-Trends. SysML v2-tool:

Many discussions on Discord

If you would like to discuss SysON with other experts, you should definitely join the Discord server of the Systems Engineering Professionals to join. Zsolt Sándor has built up a very active community there. There are also many discussions about SysON.

I would also like to take this opportunity to refer once again to the MBSE Podcast from Tim Weilkiens and Christian Muggeo which was created during the Corona period. Here are two slightly older episodes about Discord and SysON.

Finally in a Docker container

When I had my first look at SysON last spring, installing it was still a pain. The tool can now be installed via Docker. It took me less than five minutes to get the Docker container up and running - although Docker was already installed.

The Documentation describes four different installation scenarios:

  • Local for testingTo quickly try out SysON, we only need to start a Docker container locally. The container contains the associated database, so we don't need to configure anything else. As soon as the container is running, we can use SysON in the web browser via Localhost. (Instructions).
  • Test locally with multiple users: This guide is simply a variant of the docker-based installation, extended with instructions for creating a self-signed certificate for SSL.
  • Production environment: In the Productive environment we work with a JAR file, so we need a Java Runtime Environment and a separate PostGres database.
  • Local for developmentAlso these instructions is a variant of the production environment where we start the database and application separately locally (and not in a single Docker container). The advantage here is accessibility, e.g. to the database. Of course, we can also run the application code from the IDE instead of from the container.

I chose the first option for the following evaluation. I had already installed Docker. Therefore, I had SysON running in two steps:

  • Download from docker-compose.yml
  • Start in the same folder in the appointment with :
    docker compose up

After the script had downloaded all images and was running, I was able to use SysON via localhost on port 8080:

Getting started is easy

The SysON team has endeavored to make it as easy as possible to get started. Helpful resources include:

  • Create the sample project "Batmobile" with one click.
  • Videos in the SysON YouTube channel are extremely useful and in some cases professionally produced.
  • User documentation. Important: Each new version has its own version of the documentation. Especially when searching in the documentation, results from older versions also appear.

Focus on user-friendliness

With the resources mentioned, it is then comparatively easy to start modeling, i.e. to create and link a few parts. Some of the functions familiar from professional tools can also be found in SysON: For example, I can create a part def in one step by creating a part and entering the name of the new part def after the colon. In this video from 0:30.

The typed text is parsed correctly as shown. In the video from 0:30.
The typed text is parsed correctly as shown. In the video from 0:30.
The complete 4-minute video

Unfortunately, this function has not yet been implemented everywhere. This procedure does not (yet) work for creating ports.

Validation

In addition to modeling, SysON also supports simple validation functions. However, this is very verbose at the moment. Below is a screenshot of a model consisting of one part for which the tool already generates 12 warnings:

It would be desirable if warnings with the same cause were grouped together.

SysML V2 REST API

But one of the coolest features of SysON is the availability of the SysML REST API, which can be accessed interactively via Swagger at http://localhost:8080/swagger-ui/. For example, I get a list of my projects via the endpoint /api/rest/projects:

However, the API does not allow fine-grained changes to the model, it only allows you to handle projects, branches and commits. I have not tried updating the model via a customized commit, but it should be possible.

What is still missing

There is still a lot to do: When experimenting, SysON crashed several times, including with data loss. In many places, the usability is not yet good enough for professional use. For example, multiple selection is not possible in the model tree and the auto-layout is rather mediocre.

However, we must not forget that SysON is still at an early stage of development and is open source software. It will be exciting when OBEO and others start to offer commercial solutions based on SysON.

Conclusion

Finally, it is easy to install SysON locally and in a team, without too much technical knowledge. This makes it much easier for users to try out this tool. Anyone working professionally with SysML v2 should keep an eye on the development.

For me, the next milestone would be a commercial case study: I'm curious to see when this will come.

Similar Posts

Leave a Reply