Skip to content

STARIONGROUP/Auriga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Auriga is a suite of dotnet libraries and tools that are used to deserialize (read), manipulate, and serialize (write) Eclipse Capella™ models. Capella is an open-source Model-Based Systems Engineering (MBSE) tool implementing the Arcadia method; its models are stored as Ecore-based XMI. Auriga makes the Capella semantic model (the five Arcadia architecture layers and the common packages) available as an in-memory .NET object graph, typically to support opinionated template-based code-generation and model transformation, and is a part of modeltopia.

Auriga builds on ECoreNetto for reading the Capella Ecore metamodel, and is a sibling of uml4net and SysML2.NET. Auriga provides a number of libraries that are described in the following sections.

Scope note. Version 1 targets the Capella semantic model (.capella / .melodymodeller and .capellafragment files). The Sirius diagram/representation files (.aird) are out of scope for v1.

Auriga

The core library that contains the Capella object model: the C# implementation of the Capella metamodel (the Arcadia layers — Operational Analysis, System Analysis, Logical Architecture, Physical Architecture, EPBS — and the common packages), generated from the Capella Ecore metamodel. Together with Auriga.Xmi it provides the capability to read and write Capella models and make them available as an in-memory object graph.

Auriga.Xmi

The Auriga.Xmi library provides an XMI reader implementation to read Capella semantic model files (.capella / .melodymodeller) and an XMI writer implementation to write them back. It resolves intra-file (xmi:id) and cross-file (href) references, including references that cross .capellafragment boundaries, into a fully resolved object graph.

Auriga.Extensions

The Auriga.Extensions library provides extension methods to the Auriga library to support navigation and code generation: architecture-layer accessors and LINQ-friendly query helpers that respect the Arcadia methodology semantics. This library is part of the Auriga ecosystem.

Auriga.CodeGenerator

The Auriga.CodeGenerator is an Ecore-to-C# code generator, built on ECoreNetto and ECoreNetto.HandleBars, that emits the Auriga object model from the vendored Capella .ecore files. It is a development-time tool and is not published as a package.

Code Quality

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

Installation

Auriga is in early development and has not yet had its first release. Once published, the packages will be available on NuGet:

  • Auriga — the Capella object model
  • Auriga.Xmi — the .capella / .melodymodeller reader and writer
  • Auriga.Extensions — query extension methods

Build Status

GitHub Actions are used to build and test the Auriga libraries.

Branch Build Status
Master Build Status
Development Build Status

Documentation

Background and design documentation lives in the docs folder:

Capella and Arcadia Documentation

Eclipse Capella™ is an open-source MBSE tool hosted by the Eclipse Foundation. It implements the Arcadia method, a structured engineering method for the definition and validation of complex systems architecture. Learn more at https://mbse-capella.org and https://eclipse.dev/capella/.

Software Bill of Materials (SBOM)

As part of our commitment to security and transparency, this project includes a Software Bill of Materials (SBOM) in the associated NuGet packages. The SBOM provides a detailed inventory of the components and dependencies included in the package, allowing you to track and verify the software components, their licenses, and versions.

Why SBOM?

  • Improved Transparency: Gain insight into the open-source and third-party components included in this package.
  • Security Assurance: By providing an SBOM, we enable users to more easily track vulnerabilities associated with the included components.
  • Compliance: SBOMs help ensure compliance with licensing requirements and make it easier to audit the project's dependencies.

You can find the SBOM in the NuGet package itself, which is automatically generated and embedded during the build process.

License

The Auriga libraries are provided to the community under the Apache License 2.0.

Eclipse Capella™ is a trademark of the Eclipse Foundation. Auriga is an independent project and is not affiliated with or endorsed by the Eclipse Foundation.

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 digitally signed to s.gerene@stariongroup.eu. You can find the CLA's in the CLA folder.

Contribution guidelines for this project

About

a suite of libraries used to read and write Capella™ models and make them available in the .net ecosystem

Topics

Resources

License

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors