NOTE: this is a mirror repository. The main repository is hosted here on Gitlab.
SysIDE (pronounced "seaside") is a transformational SysML v2 systems-as-code modeling tool |
SysIDE Editor is a free and open source SysML v2 textual editing and analysis system, bringing rich SysML v2 language support to Visual Studio Code. SysIDE Editor can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.
The main enabling components of SysIDE Editor are a parser and a language server for SysML v2 and KerML 2024-05 release specifications.
SysIDE Editor provides features such as:
- Semantic highlighting
- Autocompletion
- Code navigation
- Formatting
- Real-time syntax and semantic validation
- Reference search
- Folding
- Document symbols
- Renaming
- Documentation on hover
SysIDE Editor is built and maintained by Sensmetry, a company focused on ensuring the safety and reliability of mission- & safety-critical automated systems.
SysIDE Editor is an open source project with contributions from user and developer community highly encouraged and welcome. For further information about the open source license, see LICENSE. To contribute, please see the CONTRIBUTING.md document.
SysIDE tool family is quickly growing. At the moment, it includes:
- SysIDE Editor - free and open source VS Code extension, enabling modern 'as code' modeling for everyone.
- SysIDE Modeler - a premium SysML v2 modeling environment. Soon to be released for Early Adopter Program members.
- SysIDE Automator - analyse, optimise, and automate your modeling workflows by using Python. Available to Early Adopter Program members.
If you want to get in touch regarding any edition of SysIDE, reach out to Sensmetry at syside(at)sensmetry(dot)com
To get more information about the SysIDE tool family or to join the Early Adopter Program, please visit syside.sensmetry.com.
You can try out SysIDE without needing to instal it locally. To do so:
- Go to Visual Studio Code for the Web
- Open the
Extensions
tab on the right of the screen - Search for and install SysIDE Editor
- Open a folder or a
.sysml
file
This is a good way to get a taste for how SysIDE Editor works. But if you plan on using it for a longer term or for larger models, we suggest installing it locally.
- Install Visual Studio Code or VSCodium
- Open the
Extensions
tab on the right of the screen - Search for and install SysIDE Editor
- Open a SysML v2 (.sysml) file and the extension will activate.
- Link with the SysML v2 standard library:
SysIDE Editor includes the standard library from the SysML-v2-Release repository. The library is licenced under the LGPL v3.0, see LICENSE.
If you wish to use a different version of the standard library you can go to the SysIDE Editor settings and enter the path to the directory with your preferred library.
The extension provides basic features to support SysML v2 document editing:
-
Semantic and syntax checking identifies errors as they occur allowing to instantly correct mistakes and speed up workflow.
-
Semantic highlighting increases readability and allows to distinguish different parts of the code quickly.
-
Autocompletion speeds up the workflow by reducing typing errors and minimizing manual input.
-
Hovers instantly display documentation allowing to quickly understand an element.
-
Code navigation speeds up development by enabling quick access to element definitions.
-
Folding improves readability and eases navigation by organizing code into collapsible sections.
-
Auto-formatting enhances code readability and maintainability by ensuring consistent structure for:
-
Renaming saves time and reduces errors by renaming all elements with the same name with one click.
-
References enable efficient navigation and code updating by identifying all instances of an element.
-
Document symbols provide rapid model overviews, enabling efficient comprehension and navigation.
See docs/known_limitations.md.
- Install
pnpm
- Run
pnpm install
to install dependencies. - Run
pnpm run grammar:generate
to generate TypeScript code from the grammar definition. - Run
pnpm run build
to compile all TypeScript code.
- Run
pnpm run install-hooks
to install git hooks. - Run
pnpm run watch
to have the TypeScript compiler run automatically after every change of the source files. - Run
pnpm run grammar:watch
to have the Langium generator run automatically after every change of the grammar declaration. - You can relaunch the extension from the debug toolbar after making changes to the files listed above.
- You can also reload (
Ctrl+R
orCmd+R
on Mac) the VS Code window with your extension to load your changes.
To package the extension for VS Code run:
pnpm run vscode:package
See CONTRIBUTING.md.
SysIDE Editor is developed for the language that carries the name of SysML which is a trademark of OMG. SysIDE Editor has been started and continues to be maintained by Sensmetry.
The project is open source. For further information, see LICENSE.