Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds issue and PR templates #7

Merged
merged 1 commit into from
Dec 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/model_deprecation_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Model Deprecation Request
about: File a request to mark an existing model as deprecated
title: '[Model Deprecation]: '
labels: deprecate

---

## Update Reason
<!-- Please describe why the referenced model should be deprecated -->

## MS1 Criteria
<!-- This checklist is filled by the issue reviewer -->
- [ ] The model that should be deprecated exists and is not deprecated already
- [ ] The respective model does not affect existing use cases (aspect is either used in higher versions or replaced by a different aspect)
- [ ] A shared aspect, which will be deprecated, is not used by any released aspect model
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/model_update_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Model Update Request
about: File a request to update an existing model
title: '[Model Update]: '
labels: update

---

## Update Reason
<!-- Please describe why the current version of the aspect model is insufficient to serve the use case and how an update to the model definition could improve the use case -->

## MS1 Criteria
<!-- This checklist is filled by the issue reviewer -->
- [ ] The model that should be updated exists
- [ ] The referenced use case exists
- [ ] The potential updates are discussed with all stakeholders
- [ ] The potential update will be either
- [ ] backward compatible or
- [ ] a (chain of) migration strategy(-ies) from all non-deprecated previous versions to the new model will be developed
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/new_model_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: New Model Request
about: File a request for a new Catena-X model
title: '[New Model]: '
labels: creation

---

## Model Description
<!-- Please describe the new aspect model and how it helps you in your Catena-X use case -->

## Relevant Standards
<!-- Please provide relevant standards -->

## Example Data
<!-- How might a data exchange look like, please give an example of what kind of data is transferred -->

## MS1 Criteria
<!-- This checklist is filled by the issue reviewer -->
- [ ] The proposed aspect model does not exist already
- [ ] The proposed aspect model does not extend an existing aspect but introduces completely new functionality
- [ ] The proposal references a Catena-X use case
- [ ] Relevant standards are mentioned/linked
- [ ] A first draft of the data structure is provided in an example
35 changes: 35 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## Description
<!-- Please provide a short description about what this PR changes and reference an issue that was initially created to introduce the new aspect model -->

-->

Closes #

<!-- The MS2 and MS3 criteria are intended for merges to the main-branch. For small bug-fixes or during the model development, for instance, when merging to a feature branch, you may decide to not fill out the checklists. However, we recommend to follow the MS2 checklist during the development. The MS3 checklist becomes relevant for merges to the main-branch. -->
## MS2 Criteria
(to be filled out by PR reviewer)
- [ ] the model **validates** with the BAMM SDS SDK in the version specified in the Readme.md of this repository by the time of the MS2 check (e.g., 'java -jar bamm-cli.jar -i \<path-to-aspect-model\> -v ). The BAMM CLI is available [here](https://openmanufacturingplatform.github.io/sds-documentation/sds-developer-guide/dev-snapshot/tooling-guide/bamm-cli.html) and in [GitHub](https://github.com/OpenManufacturingPlatform/sds-sdk/releases)
- [ ] use **Camel-Case** (e.g., "MyModelElement" or "TimeDifferenceGmtId", when in doubt follow https://google.github.io/styleguide/javaguide.html#s5.3-camel-case)
- [ ] the identifiers for all model elements **start with a capital letter** except for properties
- [ ] the identifier for **properties starts with a small letter**
- [ ] all model elements **at least contain the fields "name" and "description"** in English language.
- [ ] **no duplicate names or preferredNames** within an Aspect (e.g. a Property and the referenced Characteristic should not have the same name)
- [ ] the versioning in the URN **follows semantic versioning**, where minor version bumps are backwards compatible and major version bumps are not backwards compatible.
- [ ] use **abbreviations only when necessary** and if these are sufficiently common
- [ ] **avoid redundant prefixes in property names** (consider adding properties to an enclosing Entity or even adapt the namespace of the model elements, e.g., instead of having two properties `DismantlerId` and `DismantlerName` use an Entity `Dismantler` with the properties `name` and `id` or use a URN like `io.catenax.dismantler:0.0.1`)
- [ ] fields `preferredName` and `description` are not the same
- [ ] **`preferredName` should be human readable** and follow normal orthography (e.g., no camel case but normal word separation)
- [ ] name of aspect is singular except if it only has one property which is a Collection, List or Set. In theses cases, the aspect name is plural.
- [ ] units are referenced from the BAMM unit catalog whenever possible
- [ ] **use constraints** to make known constraints from the use case explicit in the aspect model
- [ ] when relying on **external standards**, they are referenced through a **"see"** element
- [ ] all properties with an [simple type](https://openmanufacturingplatform.github.io/sds-documentation/bamm-specification/v1.0.0/datatypes.html) have an example value

## MS3 Criteria
(to be filled out by semantic modeling team before merge to main-branch)
- [ ] All required reviewers have approved this PR (see reviewers section)
- [ ] The new aspect (version) will be implemented by at least one data provider
- [ ] The new aspect (version) will be consumed by at least one data consumer
- [ ] There exists valid test data
- [ ] In case of a new (incompatible) major version to an existing version, a migration strategy has been developed
- [ ] The model has at least version '1.0.0'
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Aspect Models for Eclipse Tractus-X Semantic Layer (SLDT)
The repository contains the aspect models based on [BAMM](https://openmanufacturingplatform.github.io/sds-documentation/bamm-specification/snapshot/index.html) for the Tractus-X project for Catena-X.

**Currently, we assume the usage of the version 2.0.6 of the BAMM-CLI**.



# Using the models
The models can locally be processed with the [BAMM CLI](https://openmanufacturingplatform.github.io/sds-documentation/sds-documentation/index.html).
It allows you to generate different artifacts (diagrams, example payload, java class files) out of it.

Currently, we assume the usage of the version 2.0.6 of the BAMM-CLI.

# Status of model
Each model has its life cycle and can thus have a different status. This information always corresponds to a specific version of the model. To indicate the state of the model version in Git, one creates a file with the name `metadata.json` and places it in the same directory as the corresponding model file. It is also possible to load the models into the [Semantic Hub](https://github.com/eclipse-tractusx/sldt-semantic-hub) which has a corresponding state management. An example `metadata.json` looks like this:

Expand Down