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

[Model Update]: SingleLevelBomAsSpecified #274

Merged
merged 22 commits into from
Aug 29, 2023
Merged

Conversation

maxim-bo
Copy link
Contributor

@maxim-bo maxim-bo commented Aug 7, 2023

Description

With the model update of the SingleLevelBomAsSpecified we first added a new property called "partGeometry" which essentially represents on which side a part must be mounted, i.e. left or right. Moreover, we added another property called "manufacturerId" which was not intended initially with the issue, but requested by the IRS team. This property essentially just represents the BPN of the issuing manufacturer of the AsSpecified-part and is needed for the IRS working as intended.

-->

Closes #205

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 "preferred name" and "description" in English language. The description must be comprehensible. It is not required to write full sentences but style should be consistent over the whole model
  • 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"
  • generated json schema validates against example json payload
  • file RELEASE_NOTES.md exists and contains entries for proposed model changes
  • all contributors to this model are mentioned in copyright header of model file

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'
  • The release date in the Release Note is set to the date of the MS3 approval

@github-actions
Copy link

github-actions bot commented Aug 7, 2023

Validation Report for io.catenax.single_level_bom_as_specified/2.0.0/SingleLevelBomAsSpecified.ttl

Input model is valid

@github-actions
Copy link

github-actions bot commented Aug 7, 2023

Validation Report for io.catenax.single_level_bom_as_specified/2.0.0/SingleLevelBomAsSpecified.ttl

Input model is valid

@maxim-bo
Copy link
Contributor Author

maxim-bo commented Aug 7, 2023

Review_Required

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.

check my comments

# SPDX-License-Identifier: CC-BY-4.0
#######################################################################

@prefix bamm: <urn:bamm:io.openmanufacturing:meta-model:2.0.0#>.
Copy link
Contributor

Choose a reason for hiding this comment

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

SAMM meta model is default since 7.7.2023. We should migrate the model to samm prior release

@@ -3,6 +3,14 @@ All notable changes to this model will be documented in this file.

## [Unreleased]

## [1.0.0] - 2023-08-07
Copy link
Contributor

Choose a reason for hiding this comment

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

I assume you mean 2.0.0

bamm:preferredName "Part Geometry Characteristic"@en;
bamm:description "Describes the characteristic of the left or right mark entity with its possible values (left or right)"@en;
bamm:dataType xsd:string;
bamm-c:values ("L - Left" "R - Right").
Copy link
Contributor

Choose a reason for hiding this comment

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

Depending on how the model is supposed to be used, the whitespaces in the enumeration values could be a source of error, if they are used in comparisons.


:SingleLevelBomAsSpecified a bamm:Aspect;
bamm:preferredName "Single Level BOM as Specified"@en;
bamm:description "The SingleLevelBomAsSpecified defines the view of the OEM or producer of the whole product, e.g. the OEM of a vehicle. It is free of any supplier-related information and specifies the promised and guaranteed content of the whole product to the end customer. This �top-down� view is in contrast to the �bottom-up� view of the SingleLevelBoMAsPlanned, though several sub-aspects are shared. The BomAsSpecified is merely one aspect, which is attached to the twin of the whole product and itself does neither introduce further twins nor reference them. Instead it merely comprises all functional information required by dismantlers, workshops or requestors for used parts to search for and to make a match on the market place."@en;
Copy link
Contributor

Choose a reason for hiding this comment

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

it seems the document is not saved with uff-8 encoding. would it be possible to resave in utf-8. Otherwise special characters like the quotation marks are not processed properly. BTW quotation marks can be escaped with a \ in the description

@LuisRickert
Copy link
Contributor

@bs-jokri pls review again

@LuisRickert
Copy link
Contributor

@bs-jokri pls review again

I looked into the failed check. The check looks for a bamm version since we changed to samm may this be the reason why the check failed? The error message does not provide a lot of useful information

@LuisRickert
Copy link
Contributor

LuisRickert commented Aug 17, 2023

@bs-jokri pls review again

I looked into the failed check. The check looks for a bamm version since we changed to samm may this be the reason why the check failed? The error message does not provide a lot of useful information

additionally, in the action.yaml the specified bamm version is 2.3.1 but the logs show 2.1.1. If I try to download the 2.1.1 version i get a 404 otherwise with the 2.3.1 i receive a jar and it confirms a valid model. requesting the 2.3.1 redirects you to 2.1.1 version but directly requesting 2.1.1 results in a 404.
https://github.com/eclipse-esmf/esmf-sdk/releases/download/v2.1.1/samm-cli-2.1.1.jar
https://github.com/eclipse-esmf/esmf-sdk/releases/download/v2.3.1/samm-cli-2.3.1.jar

@LuisRickert
Copy link
Contributor

@bs-jokri

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.

I found some validation problems and other quirks. Please have a look. The one validation thing with the measurement unit I am currently investigating and keep you informed about my findings.

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

modeling_team

@bs-jokri
Copy link
Contributor

@LuisRickert the MS3 approval will be conditionally given under the condition that

  • it is checked if childPart needs to be renamed to childItems according to some discussion with IRS. @BenediktMuellerIML could support here as there were a similar discussion for the other traceability models.

@LuisRickert
Copy link
Contributor

adjustment made as discussed @bs-jokri

@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 Aug 29, 2023
@bs-jokri bs-jokri merged commit 03331dd into eclipse-tractusx:main Aug 29, 2023
2 of 3 checks passed
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.

[Model Update]: SingleLevelBomAsSpecified
3 participants