Thanks for your interest in contributing to SysMD Notebook.
-
Requirements: JDK, Gradle, Kotlin in recent versions
-
Maybe IntelliJ IDEA if you like to use a UI
-
Clone the repo and build from the sysmd directory:
./gradlew build
-
Start SysMD Notebook
./gradlew bootRun
The project is structured in the following directories
doc- complementary documentation to SysMD.gradle- in particular the version cataloglibs.versions.toml.install- files that will be copied by SysMD Notebook into its start folder when started.src- all the sources ...generator- generator for the Metamodel and Metamodel factory classes. Reads XMI from OMG.generatorTest- some tests for the generatormain- SysMD Notebookantlr- ANTLR parser, generated from OMG EBNF.kotlin- Kotlin sources- configuration
- compiler
- model
- solver
- ui
- ...
test- Tests for the SysMD Notebook classes
build.gradle.kts(main build file for Gradle)settings.gradle.kts
The project has two folders, main and test.
- compiler (KerML, SysML parser)
- configuration (for Spring Boot, REST)
- cspsolver (CSP solver)
- exceptions
- exports (export filter)
- imports (import filter)
- model (KerML and SysML abstract model classes)
- quantities (libraries for computing with vectors of quatities)
- rest (Rest API)
- services (to be moved into model ... )
- ui
We use JUnit Jupyter for testing. Test packages should follow the hierarchy as in Main.
The main project is hosted at the gitlab of the CPS chair. To make a contribution, send a diff to
cgrimm|herzog@