Skip to content

Latest commit

 

History

History

language

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

SysML v2 Official

Project for the SysML v2 language family in MontiCore. It is compatible with the general standard. The language is a strict compatible superset of the SysML v2 syntax.

Further Information

mvn clean install : Builds and tests everything.

mvn install -DskipTests : Only builds the project.

mvn install -Pdev-skip-slow-tests: Activates profile which skips slow tests, but should be used carefully, since this command skips the SysMLToolTest, which combines all software components. This testing is especially useful when developing the parser.

SysMLTool

We provide the class SysMLTool to use our implementation of SysML v2. The main method takes the following parameters:

  • Model Path (required): The first argument should be a path to the directory containing the models.
  • Deactivate CoCos (optional): The argument -cocosOff disables CoCos.
  • Library Directories (optional): We can add directories containing models, which serve as a library, with the command -lib= followed by the directory path. It is possible to add multiple library directories.

We parse all models in the given directories and build the symbol table. Then we check the context conditions on the models in the model directory. If we want to check a library for well-formedness, we pass the library as the first directory. Because SysML models provide a basis for code generation or complex analysis, the SysMLTool offers the method mainForJava, which returns a list of the parsed models in the model directory. Further tools can process and transform the returned models. This method takes the same arguments as the main method.

Architecture

Package Structure

Grammars - SysMLBasics Package

SysMLCommon

Grammars - SysMLCommon Package

SysMLCommon

Grammars - Composing SysML v2

SysMLLangage

Context Conditions - Warnings instead of Errors

We fully support the official SysML v2 models but currently do not support importing KerML models and some of the implemented CoCos restrict the official syntax. Thus, CoCos for resolving importing models (possible KerML models) and CoCos, which restrict the official syntax only emit warnings and not errors. This project builds on the 2020-03 official pilot implementation of SysML v2, but is realized with a new architecture, an improved abstract syntax and new functionality, such as the additional CoCos. Since SysML v2 is currently in development, this MontiCore project is not stable and will be updated in the future according to the future releases.

Further Information