Skip to content

Commit

Permalink
Initital commit
Browse files Browse the repository at this point in the history
Signed-off-by: ClemensLinnhoff <clemens.linnhoff@partner.bmw.de>
  • Loading branch information
ClemensLinnhoff committed Oct 10, 2023
1 parent 43f7a13 commit 1a7301b
Show file tree
Hide file tree
Showing 26 changed files with 1,469 additions and 0 deletions.
40 changes: 40 additions & 0 deletions .github/workflows/antora-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Publish to GitHub Pages with Lunr Search Extension
on:
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: pages
cancel-in-progress: true
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install Antora and the Antora Lunr Extension
run: npm i antora @antora/lunr-extension
- name: Generate Site
run: npx antora --fetch antora-playbook.yml
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: build/site
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
16 changes: 16 additions & 0 deletions antora-playbook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
site:
title: OpenMSL
url: https://persival-gmbh.github.io/asciidoc-test
start_page: OpenMSL::index.adoc
content:
sources:
- url: https://github.com/Persival-GmbH/asciidoc-test.git
branches: HEAD
edit_url: false
start_path: doc
ui:
bundle:
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
#url: https://code.asam.net/common/antora-ui/-/jobs/artifacts/main/raw/build/ui-bundle.zip?job=bundle-stable
snapshot: false
supplemental_files: ./supplemental_ui
5 changes: 5 additions & 0 deletions antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Component name (without spaces!). All content repositories with the same component name are merged in Antora.
name: OpenMSL
version:
# Update version number accordingly. This is the version for the main branch
main: ''
9 changes: 9 additions & 0 deletions doc/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Component name (without spaces!). All content repositories with the same component name are merged in Antora.
name: OpenMSL
version:
# Update version number accordingly. This is the version for the main branch
main: ''
nav:
- modules/ROOT/nav.adoc
- modules/organization/nav.adoc
- modules/test-architecture/nav.adoc
Binary file added doc/modules/ROOT/images/envited.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions doc/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* xref:index.adoc[]
** xref:sub-libraries.adoc[]
** xref:related_work.adoc[]
17 changes: 17 additions & 0 deletions doc/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
= Introduction

image::envited.png[envited,800]

ENVITED stands for Environment for Virtual Test Drive encompassing all components for virtual test and validation of Advanced Driver Assistent Systems (ADAS) including but not limited to standardized data sets, e.g. digital maps, scenario data, simulation models and their respective test and validation methods.
OpenMSL aims to connect and demonstrate the seamless interaction of projects in the domain using elaborate test pipelines, also to assure the compliance of all simulation entities with relevant standards.
It also connects to projects outside of OpenMSL, you can find a list on the xref:related_work.adoc[Related Work] page.

All repositories are organized in xref:sub-libraries.adoc[Sub-Libraries] and each sub-library (SL) represents the best practices in the automotive industry on how to use, create and apply standard compliant simulation data and models regarding a specific topic or application area guided by expert maintainers of the ENVITED community.

As part of these best practices, OpenMSL provides unified test architectures for simulation components.
For OSMP compliant simulation models, an xref:test-architecture:index.adoc[OSMP Test Architecture] is defined.
The architecture is applied in the template repositories of the corresponding sub-libraries.

Learn more about the ENVITED research cluster of the Automotive Solution Center for Simulation e.V, our governance rules, contribution guidelines and our code of conduct on the xref:organization:index.adoc[Organization] page.

We are looking forward to welcome you as member of our community!
45 changes: 45 additions & 0 deletions doc/modules/ROOT/pages/related_work.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Related Work

## Standards

https://www.asam.net/standards/detail/opendrive/[ASAM OpenDrive]:
Road networks are specified in the OpenDrive format.
It is used to test simulation models in a co-simulation directly in the GitHub CI pipeline.

https://www.asam.net/standards/detail/openscenario/[ASAM OpenScenario]:
How objects move in a scene is described in the OpenScenario format.
It is used to test simulation models in a co-simulation directly in the GitHub CI pipeline.

https://github.com/OpenSimulationInterface/open-simulation-interface[ASAM OpenSimulationInterface]:
All simulation models on OpenMSL use OSI as the standard interface for model input and model output.

https://fmi-standard.org/[Modelica FMI]:
All models on OpenMSL are packaged as an FMU, compliant with the FMI standard.
This enables co-simulation of multiple models from different suppliers.

https://github.com/PMSFIT/SSPTraceability[SSP Traceability]:
To specify a system for co-simulation, the SSP standard is used.
This XML standard defines, which FMUs belong to a certain system and how they are connected in a so-called System Structure Definition (SSD).
Also, parameters can be assigned to the different FMUs.

## Other Projects

https://github.com/esmini/esmini[esmini]:
For co-simulation of OpenMSL models directly in the GitHub CI pipeline, esmini is used to play OpenScenario files as input for the models.

https://github.com/CATIA-Systems/FMPy[FMPy]:
To check, if an FMU build by the GitHub pipeline is conforming to the FMI standard, FMPy validate is used.

https://github.com/modelica-tools/FMUComplianceChecker[FMU Compliance Checker]:
Alongside the aforementioned FMPy, the official FMU Compliance Checker by Modelica is also used to ensure that all FMUs comply with the FMI standard.

https://github.com/eclipse/openmcx[OpenMCx]:
Simulations with multiple models packaged as FMUs need a co-simulation master.
To test models in the GitHub CI pipeline, OpenMCx is used to connect multiple FMUs according to a System Structure Definition (SSD).

https://github.com/OpenSimulationInterface/osi-sensor-model-packaging[OSI Sensor Model Packaging]:
OSMP is used as a template to package all models using OSI and FMI.

## Webinars

NOTE: Put webinars here?
93 changes: 93 additions & 0 deletions doc/modules/ROOT/pages/sub-libraries.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
= Sub-Libraries

## SL1 - Perception Sensor Models

This sub-library is a collection of https://github.com/OpenSimulationInterface/open-simulation-interface[OSI] compliant sensor models according to the https://github.com/OpenSimulationInterface/osi-sensor-model-packaging[OSMP] specification including a template repository
demonstrating the https://setlevel.de/assets/forschungsergebnisse/Credible-Simulation-Process-v1.0.pdf[Credible Simulation Process] by running full scale https://ssp-standard.org/[SSP] based co-simulations in the CI pipeline.

Initiated: 2022-07-25

### Maintainer

- https://github.com/LukasElster[Lukas Elster] (FZD TU Darmstadt)
- https://github.com/ClemensLinnhoff[Clemens Linnhoff] (Persival GmbH)
- https://github.com/FM-juergenW[Jürgen Wille] (FrontMod GmbH)
### Repositories

- https://github.com/openMSL/sl-1-0-sensor-model-repository-template[sl-1-0-sensor-model-repository-template]
- https://github.com/openMSL/sl-1-1-reflection-based-radar-object-model[sl-1-1-reflection-based-radar-object-model]
- https://github.com/openMSL/sl-1-2-reflection-based-lidar-object-model[sl-1-2-reflection-based-lidar-object-model]
- https://github.com/openMSL/sl-1-3-object-based-generic-perception-object-model[sl-1-3-object-based-generic-perception-object-model]
- https://github.com/openMSL/sl-1-4-object-based-camera-object-model[sl-1-4-object-based-camera-object-model]
## SL2 - Traffic Participant Models

This sub-library is a set of OSI compliant traffic participant models, which include pedestrian models, SSP based ALKS systems, automated road users and others to demonstrate closed loop simulations in combination with other sub-libraries utilizing open-source simulators such as https://github.com/esmini/esmini[esmini].

Initiated: Call for participation. Get engaged mailto:hello@envited.market[hello@envited.market]

#### Maintainer

- TBD
- TBD
- TBD
#### Repositories

- https://github.com/openMSL/sl-2-0-traffic-participant-model-repository-template[sl-2-0-traffic-participant-model-repository-template]
## SL3 - Scenario Data

This sub-library contains example scenario data following the https://www.asam.net/standards/detail/openscenario/[ASAM OpenSCENARIO] standard to provide interpretations for legislative documents such as the UN Regulation No. 157 in order to discuss them in the community.
In addition, the best practices to establish quality gates for scenario databases to clearly show the quality of scenario data are shown.

Initiated: Call for participation. Get engaged mailto:hello@envited.market[hello@envited.market]

### Maintainer

- TBD (BMW AG)
- TBD
- TBD
### Repositories

- https://github.com/asam-oss/OSC-ALKS-scenarios[sl-3-1-osc-alks-scenarios]
## SL4 - Static Environment Data

The German research project https://www.gaia-x4plcaad.info/[GaiaX 4 PLC-AAD] develops quality metrics and tools to evaluate the successful integration of https://www.asam.net/standards/detail/opendrive[ASAM OpenDRIVE] maps
with e.g. https://www.khronos.org/gltf/[glTF] 3D models and their respective material data extentions.

Initiated: Call for participation. Get engaged mailto:hello@envited.market[hello@envited.market]

### Maintainer

- TBD (BMW AG)
- TBD
- TBD
### Repositories

- In discussion
## SL5 - Tooling

This sub-library contains various tools to import, export, analyze and visualize co-simulation data.

Initiated: Call for participation. Get engaged mailto:hello@envited.market[hello@envited.market]

### Maintainer

- TBD (Persival GmbH)
- TBD
- TBD
### Repositories

- https://github.com/openMSL/sl-5-1-srmd-validator[sl-5-1-srmd-validator]
- https://github.com/openMSL/sl-5-2-osi-field-checker[sl-5-2-osi-field-checker]
- https://github.com/openMSL/sl-5-3-osmp-network-proxy[sl-5-3-osmp-network-proxy]
- https://github.com/openMSL/sl-5-4-standalone-osi-trace-file-player[sl-5-4-standalone-osi-trace-file-player]
- https://github.com/openMSL/sl-5-5-osi-trace-file-player[sl-5-5-osi-trace-file-player]
- https://github.com/openMSL/sl-5-6-osi-trace-file-writer[sl-5-6-osi-trace-file-writer]
2 changes: 2 additions & 0 deletions doc/modules/organization/nav.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* xref:index.adoc[]
** xref:governance_rules.adoc[]
119 changes: 119 additions & 0 deletions doc/modules/organization/pages/governance_rules.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
= Governance Rules

## §1 Purpose of ENVITED OpenMSL

The Open-Source Model & Simulation Library is anchored in the Data Pool of the ENVITED research cluster and is operated by the Automotive Solution Center for Simulation e.V. - ASCS.
It is thus a further, independent instance in the data pool in addition to the data marketplace.
The purpose of OpenMSL is to bundle open-source material in the area of simulation-driven product lifecycle processes for highly automated vehicles, to make it openly accessible, and to sustainably enable active and cooperative further development by stakeholders.
The GitHub-based OpenMSL supports knowledge transfer and in addition the research and development of methods and processes in the mentioned area.
This includes simulation models as well as data and software applications for the preparation, processing or evaluation of models as well as documents for knowledge transfer.
The content of OpenMSL thus favors the processing of research questions and standardization approaches in the ENVITED research cluster and beyond.

## §2 Bodies of ENVITED OpenMSL

The governing bodies of OpenMSL are the ENVITED Technical Steering Committee (TSC), the Sub Library Maintainers (SLM), and the ASCS office.

### 2.1 ENVITED Technical Steering Committee (TSC)

The ENVITED Technical Steering Committee consists of 3-5 persons from among the ENVITED members, who are democratically elected by the annual ENVITED Cluster Meeting.
The TSC passes resolutions by simple majority, which are to be documented by the ASCS office.
The tasks of the TSC include the definition of the OpenMSL Governance Rules and the approval of data clusters.
In addition, the TSC has the ability to pass resolutions to remove open-source material from OpenMSL or the public that has not been actively used or developed over an extended period of time.
TSC meetings corresponding to OpenMSL are to be documented publicly with details of the persons participating, the agenda and the contents of the discussion.

### 2.2 Sub Library Maintainers (SLMs)

Sub Library Maintainers (SLMs) monitor the activities in the corresponding sub library and define the specific governance rules.
At least three SLMs from different ENVITED members are to be designated for each sub library.
The SLMs are democratically determined by the ENVITED members during the initialization phase and subsequently annually by the ENVITED Cluster Assembly.
If a SLM resigns during his or her term of office, the SLMs of the affected sub library can appoint a successor for the remaining term of office.
The minimum number of SLMs in the sub library must always be observed.
SLMs pass resolutions by simple majority. If no clear decision can be made, e.g., due to a tie vote, the next higher decision-making bodies are called in (SLMs &rarr; ENVITED TSC &rarr; ENVITED Assembly &rarr; ASCS Board &rarr; ASCS General Meeting).
An ENVITED member may provide more than one SLM in a sub library, but the voting right remains the same.
SLM meetings are to be documented publicly with details of the persons participating, the agenda and the contents of the discussion.

### 2.3 Office of the ASCS

The ASCS office is responsible for the organization, operation and documentation of the OpenMSL.
It serves as the central contact point for inquiries regarding the OpenMSL.

## §3 Sub Libraries

Sub Libraries bundle topic-specific content of the OpenMSL.
The ENVITED TSC decides on the number and characteristics of the sub libraries in accordance with the topic orientation and resources in the ENVITED research cluster.
New sub libraries can be requested via an application to the ASCS office and approved via the TSC.The following requirements apply for this purpose.

### 3.1 Requirements for contributing open-source material to the OpenMSL

Contribution of open-source material to the OpenMSL may be made under the following conditions:

1. data contributors are clearly identifiable:
- Members in Automotive Solution Center for Simulation e.V.
- Companies / organizations stating their DUNS number
- Publicly funded projects (under confirmation by the consortium leader)
2. the open-source material to be contributed must be assignable to a sub library or be placed in a new sub library,
3. the open-source material to be contributed must be licensed under a common open-source license as listed on https://opensource.org/[opensource.org] and documented in a LICENSE file,
4. the open-source material to be contributed must be presented to the appropriate SLMs and comply with the rules of the sub library,
5. the ENVITED OpenMSL disclaimer must be agreed to and documented in a DISCLAIMER file.
All intellectual property remains with the original contributors and is subject to the original license terms described in the LICENSE file.

> **DISCLAIMER for GitHub libraries**
>
> This open-source material has been classified by the Sub Library Maintainers - SLMs of the sub library `<name of sub library>` on `<date>` as directly supporting the activities in the ENVITED research cluster.
> For this reason, the open source material is hosted by the Automotive Solution Center for Simulation e.V. (ASCS) in this Open Source Model & Simulation Library (OpenMSL).
> This open-source material was created by `<name of data provider>` and is monitored by the SLMs of the `<name of sub library>`.
>
> The open-source material is not directly maintained or managed by ASCS.
> The owners or maintainers of this open-source material can be found in the GitHub sub library of the same name. All intellectual property remains with the original contributors and is subject to the original license terms listed in the LICENSE file.
>
> The ASCS reserves the right to remove open-source material and associated repositories from its ENVITED OpenMSL at any time.
> ASCS, as well as the appropriate SLMs, regularly monitor the activity of open-source material to ensure that it is still relevant to the ENVITED Research Cluster.
> Open-source material that no longer meets this will be removed from the platform by decision of the ENVITED TSC.
>
> This open-source material will be made available under open-source licenses and as is.
> This is done for the protection of the creators without any warranty and under exclusion of liability for damages resulting from any use.
>
> Creators of additional open-source material that may be relevant to the ENVITED OpenMSL are welcome to contact the ASCS office at [hello@envited.market](mailto:hello@envited.market)

### 3.2 Repository naming scheme

Each repository within OpenMSL is assigned a unique identifier.
This identifier combines the ID of the sub-library with a consecutive repository ID within the sub-library conforming to the schema:

`sl-<sub library ID>-<consecutive repo ID>`

This identifier string is the prefix of every repository within OpenMSL.
The second part is an individual name for the material contained in the repository.
The name shall give concise information about the repository's contents.
The general repository naming scheme therefore reads:

`sl-<sub-library ID>-<consecutive repo ID>-<concise name>`

## §4 Implementation phases of the OpenMSL

Implementation phases define different stages in which data sub libraries or parts of them can be located.

### 4.1 Initialization Phase

In the initialization phase, the new sub library and its model(s) or data are first proposed or presented.
All ENVITED members can participate in this phase after invitation by the ASCS and express their interest as SLM.
The ENVITED TSC decides on the initiation of the new sub library.
Before filling the repository, the SLMs define governance rules on how and under which structure and quality metrics the data are to be entered.

### 4.2 Active Phase

In the active phase, after approval by the SLMs, the open-source data is entered into the repository.
This is usually done by the data providers, the SLMs, or the ASCS office.
The active phase allows public access to the data sets as well as the comment function regarding applicability, functionality and necessary updates.
Change proposals (pull requests) can be decided or accepted by the SLMs.

### 4.3 Project Phase

If more extensive measures are required to update or expand open-source data in a sub library, the project phase provides a formal definition of an implementation project.
Here, a concrete project plan with motivation, objectives, and implementation time frame must be defined with the involvement of participating or supporting ENVITED members.
The initiation is done by the SLMs.
All ENVITED members are informed about the initiation of a project phase by the ASCS office and given the opportunity to participate.
In addition to resources / funds of the members, third-party funds as well as funds from the ENVITED Research Cluster can be used in the project phase.
The latter also applies to the awarding of contracts to external service providers, whereby the awarding guidelines of the ASCS must be observed here.
The final decision on the allocation of funds is made by the ASCS Executive Board after recommendation by the ENVITED TSC.
Loading

0 comments on commit 1a7301b

Please sign in to comment.