Skip to content

Solution Structure

samatrhea edited this page Feb 19, 2023 · 6 revisions

Solution structure

The SysML2.NET solution contains a number of projects, including unit tests projects to verify that the libraries function correctly. The following paragraphs provide a detailed description of each project/librart.

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.

For More details please navigate to SysML2.NET

SysML2.NET.Serializer.Json

A JSON serializer for the SysML v2 meta-model. The JSON serializer is code-generated and provides a statically defined and performance optimized System.Text.Json based implemenation.

For More details please navigate to SysML2.NET.Serializer.Json

NOTE the SysML2.NET.Serializer.Json.Tests project contains the Nunit test suite for the SysML2.NET.Serializer.Json project.

SysML2.NET.Serializer.Dictionary

A dictionary-based serializer for the SysML v2 meta-model. The Dictionary serializer is code-generated and provides statically defined and performance optimized Dictionary<string, Object> readers and writers

For More details please navigate to SysML2.NET.Serializer.Dictionary

NOTE the SysML2.NET.Serializer.Dictionary.Tests project contains the Nunit test suite for the SysML2.NET.Serializer.Dictionary project.

SySML2.NET.DAL

The DAL project provides the IAssembler interface that dereferences a list of DTOs into a dereferenced object graph based on POCO's

SySML2.NET.REST

A .NET implementation of the OMG SysML v2 REST/HTTP PSM

For More details please navigate to SysML2.NET.REST

NOTE the SysML2.NET.REST.Tests project contains the Nunit test suite for the SysML2.NET.REST project.

SysML2.NET.Viewer

A Blazor based web application used to interact with any implementation of the OMG SysML v2 REST/HTTP PSM.

For More details please navigate to SysML2.NET.Viewer

NOTE the SysML2.NET.Viewer.Tests project contains the Nunit test suite for the SysML2.NET.Viewer project.

SysML2.NET.CodeGenerator

Provides convention-based HandleBars.NET code generators that use the SysML2 Ecore meta-model as input for code-generation. The RHEA ecorenetto library is used to parse the SysML.ecore model

NOTE the SysML2.NET.CodeGenerator.Tests project contains unit tests for the SysML2.NET.CodeGenerator project. The unit tests are also used as entry point to generate the code.