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

feat: add aspect model for Material Flow Simulation Result #135

Merged
merged 8 commits into from
Apr 18, 2023
Merged

feat: add aspect model for Material Flow Simulation Result #135

merged 8 commits into from
Apr 18, 2023

Conversation

dominikoeh
Copy link
Contributor

@dominikoeh dominikoeh commented Apr 6, 2023

adds the initial version of the Material Flow Simulation Result aspect model

Description

-->

Closes #133

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 and in GitHub
  • 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 have an example value
  • metadata.json exists with status "release"
  • file RELEASE_NOTES.md exists and contains entries for proposed model changes

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'

@dominikoeh
Copy link
Contributor Author

Generated sample data:
MaterialFlowSimulationResult-sample.json.txt

@TobiasHamacherDLR
Copy link
Contributor

TobiasHamacherDLR commented Apr 6, 2023

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 -v ). The BAMM CLI is available here and in GitHub
  • 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 have an example value
  • metadata.json exists with status "release"
  • file RELEASE_NOTES.md exists and contains entries for proposed model changes

@TobiasHamacherDLR
Copy link
Contributor

TobiasHamacherDLR commented Apr 6, 2023

  • BPNS CamelCase? => Bpns
Now lowercase everything (including acronyms), then uppercase only the first character of:
... each word, to yield upper camel case, or
... each word except the first, to yield lower camel case

@modeling_team Was not applied in the case of other models?

  • "description" missing on most Entities

  • many propertys and characteristics have the same name, e.g., dataQuality, add Characteristic postfix =>dataQualityCharacteristic

@TobiasHamacherDLR
Copy link
Contributor

modeling_team

- adds descriptions to the characteristics
- adds unique names for each modelling element
@dominikoeh
Copy link
Contributor Author

  • added unique names for each element as suggested
  • added descriptions to the elements

removes the simulation status from the model
@dominikoeh
Copy link
Contributor Author

Latest sample data

materialflowsimulationresult.json.txt

In order to make use of a generic site identifier identifying a business
partner the BPNS references have been removed
@dominikoeh
Copy link
Contributor Author

  • BPNS CamelCase? => Bpns
Now lowercase everything (including acronyms), then uppercase only the first character of:
... each word, to yield upper camel case, or
... each word except the first, to yield lower camel case

@modeling_team Was not applied in the case of other models?

  • "description" missing on most Entities
  • many propertys and characteristics have the same name, e.g., dataQuality, add Characteristic postfix =>dataQualityCharacteristic

As suggested: BPNS references have been removed from the model in favor of more general site identifiers, BusinessPartnerSite, which could also be BPNS, but are not required to be.

@bs-jokri bs-jokri added the MS2_Approved Checklist "MS2 Valid Model" is approved. label Apr 17, 2023
@bs-jokri
Copy link
Contributor

From MS3 review: Conditionally MS3 approved batch name needs a more concrete description. After adding this MS3 label can be given an model released.

Copy link
Contributor

@bs-jokri bs-jokri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification. LGTM

@bs-jokri bs-jokri added the MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br label Apr 18, 2023
@bs-jokri bs-jokri merged commit 81d0818 into eclipse-tractusx:main Apr 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MS2_Approved Checklist "MS2 Valid Model" is approved. MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[New Model]: SimResult
3 participants