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

first version of ProvideProductionForecast #236

Conversation

wehrstedt-jan
Copy link
Contributor

@wehrstedt-jan wehrstedt-jan commented Jul 7, 2023

Description

-->

Closes #230

requires use of header #227

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

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.

please check my comments

##########################################################################################
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
# Copyright (c) 2023 Siemens AG
#
Copy link
Contributor

Choose a reason for hiding this comment

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

// # Copyright (c) 2023 Contributors to the Eclipse Foundation

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.mp_standard_unsubscribe:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.mp_standard_datatypes:1.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.

You could consider to extract this as a separate shared model, which is usually marked with a "shared" in the namespace name
namespace seems not to be used in file

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.mp_standard_unsubscribe:1.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.

we are in the folder io.catenax.mp_standard_response but the namespace points to ... unsubscribe. Which is the correct namespace? I assume ... response?

@prefix ext-header: <urn:samm:io.catenax.mp_standard_datatypes:1.0.0#> .

:timeUnit a samm:Property ;
samm:preferredName "timeUnit"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

Normal orthography, proper noun. Will not mention for the other elements but please fix everywhere.


:timeUnit a samm:Property ;
samm:preferredName "timeUnit"@en ;
samm:description "specifies the unit in which the time es represented"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

Start uppercase

samm:preferredName "positionId"@en ;
samm:description "Identifier of a position of an order"@en ;
samm:characteristic :String ;
samm:exampleValue "00000000-0000-0000-C000-000000000046" .
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a pre-defined structure of the id? If so consider providing a regex for that

:productionForecast a samm:Property ;
samm:preferredName "productionForecast"@en ;
samm:description "date of completion"@en ;
samm:characteristic :Datetime .
Copy link
Contributor

Choose a reason for hiding this comment

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

consider using th pre-defined Timestamp characteristic to save you the definition of the Datetime characteristic

:TimeValueCharacteristic a samm:Characteristic ;
samm:preferredName "TimeValueCharacteristic"@en ;
samm:description "Link to the TimeUnit Data Type"@en ;
samm:dataType ext-unsubscribe:TimeValue .
Copy link
Contributor

Choose a reason for hiding this comment

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

you can directly import the characteristic to save you the re-definition of it

samm:preferredName "Reasons4DelayEnum"@en ;
samm:description "Enum that specifies reasons for a delay of an order"@en ;
samm:dataType xsd:string ;
samm-c:values ( "supply problems" "internal problems" "other circumstances" "no Information available" ) .
Copy link
Contributor

Choose a reason for hiding this comment

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

all but the I in Information lower case? Either write all upper case or turn I to lowercase


All notable changes to this model will be documented in this file.

## [1.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.

add date of MS3 approval when present

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/DataTypes.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/ProvideProductionForecast.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/ProvideProductionForecast.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/ShopfloorInformationTypes.ttl

Validation failed:

@wehrstedt-jan wehrstedt-jan mentioned this pull request Jul 13, 2023
27 tasks
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.

please check my comments

@prefix ext-unsubscribe: <urn:samm:io.catenax.mp_standard_unsubscribe:1.0.0#> .

:ProvideProductionForecast a samm:Aspect ;
samm:preferredName "ProvideProductionForecast"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

Please still adjust to Provide Production Forecast
also all other occurrences of preferred name

samm:operations ( ) ;
samm:events ( ) .

:productionForecastResponse a samm:Property ;
samm:preferredName "productionForecastResponse"@en ;
samm:description "the concrete information about a production forecast"@en ;
samm:preferredName "production Forecast Response"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

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

Uppercase P also check all other preferred names

:forecastDate a samm:Property ;
samm:preferredName "forecast Date"@en ;
samm:description "Date/time of the forecast calculation"@en ;
samm:characteristic ext-header:Timestamp ;
Copy link
Contributor

Choose a reason for hiding this comment

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

The model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

does not contain a characteristic Timestamp. it uses
samm-c:Timestamp ;

samm:preferredName "Production Status Enumeration"@en ;
samm:description "Enumeration with all possible states of an order within MP"@en ;
samm:dataType xsd:string ;
samm-c:values ( "itemReceived" "itemPlanned" "itemInProduction" "itemCompleted" "statusUndefined" ) .
Copy link
Contributor

Choose a reason for hiding this comment

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

why are the values of the one enum separated by whitespace (Reason4Delay) and the other not (ProductionStatusEnum)? harmonize.

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.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.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shopfloor_information.provide_production_forecast:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.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.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#

@@ -0,0 +1,88 @@
##########################################################################################
Copy link
Contributor

Choose a reason for hiding this comment

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

as mentioned in the other review. Move this model to its own namespace and folder
also Order wie folgt anlegen
io.catenax.shared.shopfloor_information_types/1.0.0/
und dort die Modelldatie sowie die metadaten rein

resides now in own namespace folder and is merged in separate commit
@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/ProvideProductionForecast.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_response/1.0.0/ProvideProductionForecast.ttl

Validation failed:

@bs-jokri
Copy link
Contributor

@bs-jokri bs-jokri added the duplicate This issue or pull request already exists label Jul 14, 2023
@wehrstedt-jan
Copy link
Contributor Author

closed because of duplicate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[New Model]: SIS Shopfloor Information Model: SISReturn
2 participants