Skip to content
samatrhea edited this page Feb 5, 2023 · 11 revisions

SysML2.NET is a .NET implementation of the OMG SysML2 specification. SysML2.NET is an SDK that provides a number of libraries as well as a reference implementation in the form a web-application.

Quality Gate Status Code Smells Coverage Duplicated Lines (%) Lines of Code Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities Total alerts

Installation

The packages are available on Nuget at:

project Nuget
SysML2.NET NuGet Badge
SysML2.NET.Serializer.Json NuGet Badge
SysML2.NET.Serializer.Dictionary NuGet Badge
SysML2.NET.REST NuGet Badge

The reference web-application is available on docker-hub, a demo version is available at http://viewer.sysml2.net.

The generated HTML based meta-model documentation is availabe on docker-hub. A live version is available at https://modeldocs.sysml2.net.

Solution Structure

The solution structure is as follows:

  • Solution Items: VS2022 folder that contains files such as the project README, License information, GitHub actions and more.
  • SysML2.NET: A netstandard2.0 class library that is a .NET implementation of the OMG SysML v2 specification. Both the REST API classes (DTO and POCO) and SysML core classes (DTO and POCO) and enums are provided. Approximately 95% of the code in this library is generated using the SysML2.NET.CodeGenerator project.
  • SysML2.NET.CodeGenerator: A handlebars template code generator that used the SysML.ecore as input. The RHEA ecorenetto library is used to parse the SysML.ecore model
  • SysML2.NET.CodeGenerator.Tests: Nunit test suite for the SysML2.NET.CodeGenerator project. Used to run the code generators.
  • SySML2.NET.REST: A .NET implementation of the OMG SysML v2 REST/HTTP PSM
  • SySML2.NET.REST.Tests: Nunit test suite for the SysML2.NET.REST project.
  • SysML2.NET.Serializer.Dictionary: A dictionary-based serializer for the SysML v2 meta-model.
  • SysML2.NET.Serializer.Dictionary.Tests: Nunit test suite for the SysML2.NET.Serializer.Dictionary project.
  • SysML2.NET.Serializer.Json: A JSON serializer for the SysML v2 meta-model.
  • SysML2.NET.Serializer.Json.Tests: Nunit test suite for the SysML2.NET.Serializer.Json project.
  • SysML2.NET.Viewer: A Blazor based web application used to interact with any implementation of the OMG SysML v2 REST/HTTP PSM.
  • SysML2.NET.Viewer.Tests: Nunit test suite for the SysML2.NET.Viewer project.

Build Status

GitHub actions are used to build and test the library

Branch Build Status
Master Build Status
Development Build Status

License

The SysML2.NET libraries and reference web-application are provided to the community under the Apache License 2.0. The solution contains files that contain information about the SysML2 metamodel which are distributed with the GNU Lesser General Public License (LGPL) v3.0.

Contributions

Contributions to the code-base are welcome. However, before we can accept your contributions we ask any contributor to sign the Contributor License Agreement (CLA) and send this digitaly signed to s.gerene@rheagroup.com. You can find the CLA's in the CLA folder.

Clone this wiki locally