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

created first version of getShopfloorInformationAspect #235

Merged
merged 4 commits into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
53 changes: 53 additions & 0 deletions io.catenax.mp_standard_request/1.0.0/DataTypes.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
##########################################################################################
Copy link
Contributor

Choose a reason for hiding this comment

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

unusual to have the datatypes separated in a different model. Should work but modelers are required to load both models into the editor, which might lead to confusion

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

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

# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This work is made available under the terms of the
# Creative Commons Attribution 4.0 International (CC-BY-4.0) license,
# which is available at
# https://creativecommons.org/licenses/by/4.0/legalcode.
#
# SPDX-License-Identifier: CC-BY-4.0
##########################################################################################

@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.0.0#> .
@prefix unit: <urn:samm:org.eclipse.esmf.samm:unit:2.0.0#> .
@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.

namespace and folder must match, so namespace must be
io.catenax.mp_standard_request
or folder must be
io.catenax.mp_standard_unsubscribe

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

: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 with uppercase

samm:characteristic :TimeUnitEnum ;
samm:exampleValue "Month" .

:TimeUnitEnum a samm-c:Enumeration ;
Copy link
Contributor

Choose a reason for hiding this comment

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

why not using the xsd timestamp as datatype or even consider using the pre-defined Timestamp characteristic and not redefining data structure.

samm:preferredName "TimeUnitEnum"@en ;
samm:description "Enumerates all possible time units"@en ;
samm:dataType xsd:string ;
samm-c:values ( "Month" "Day" "Week" "Hour" "Minute" "Second" ) .

:value a samm:Property ;
samm:preferredName "value"@en ;
samm:description "the amount of timeUnits considered"@en ;
samm:characteristic :Value ;
samm:exampleValue 5 .

:TimeValue a samm:Entity ;
samm:preferredName "TimeValue"@en ;
samm:description "Datatype to express a time value"@en ;
samm:properties ( :timeUnit :value ) .

:Value a samm:Characteristic ;
samm:preferredName "Value"@en ;
samm:description "the value of the specified timeUnit"@en ;
samm:dataType xsd:integer .

153 changes: 153 additions & 0 deletions io.catenax.mp_standard_request/1.0.0/GetShopfloorInformation.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
##########################################################################################
# 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.

also add Eclipse copyright entry

# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This work is made available under the terms of the
# Creative Commons Attribution 4.0 International (CC-BY-4.0) license,
# which is available at
# https://creativecommons.org/licenses/by/4.0/legalcode.
#
# SPDX-License-Identifier: CC-BY-4.0
##########################################################################################
@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.0.0#> .
@prefix unit: <urn:samm:org.eclipse.esmf.samm:unit:2.0.0#> .
@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:io.catenax.samm:mp_standard_request:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.0.0#> .
@prefix ext-unsubscribe: <urn:samm:mp_standard_unsubscribe:1.0.0#> .

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

Choose a reason for hiding this comment

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

should follow normal orthography so no camel case but white spaces

samm:description "Aspect Model to request the Shopfloor Information Service "@en ;
samm:properties ( [ samm:property :synchronousRequest; samm:optional true ] :cxHeader [ samm:property :notificationRequest; samm:optional true ] [ samm:property :cyclicRequest; samm:optional true ] ) ;
samm:operations ( ) ;
samm:events ( ) .

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

Choose a reason for hiding this comment

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

The preferred name is used to present the element to the user. So it should follow normal orthography. Usually the name is also a proper noun so write uppercase. Please check all elements, will not mark it again

samm:description "data model for a synchronous request"@en ;
samm:characteristic :SynchronousHeaderDataType .

:cxHeader a samm:Property ;
samm:preferredName "cxHeader"@en ;
samm:description "header that refers to the request of a customer"@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 in all descriptions

samm:characteristic :CXHeaderCharacteristic .

:notificationRequest a samm:Property ;
samm:preferredName "notificationRequest"@en ;
samm:description "data model for a notification request"@en ;
samm:characteristic :NotificationHeaderDataType .

:cyclicRequest a samm:Property ;
samm:preferredName "cyclicRequest"@en ;
samm:description "data model for a cyclicrequest"@en ;
samm:characteristic :CyclicheaderDataType .

:SynchronousHeaderDataType a samm:Characteristic ;
samm:preferredName "SynchronousHeaderDataType"@en ;
samm:description "DataType for a synchronous Header"@en ;
samm:dataType :SynchronousHeaderEntity .

:CXHeaderCharacteristic a samm:Characteristic ;
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 import the characteristic directly or even the property, if it fits

samm:preferredName "CXHeaderCharacteristic"@en ;
samm:description "all information required for a header specified by CX"@en ;
samm:dataType ext-header:MessageHeader .

:NotificationHeaderDataType a samm:Characteristic ;
samm:preferredName "NotificationHeaderDataType"@en ;
samm:description "DataType for a Notification Header"@en ;
samm:dataType :NotificationHeaderEntity .

:CyclicheaderDataType a samm:Characteristic ;
samm:preferredName "CyclicheaderDataType"@en ;
samm:description "Data Type for a Cyclic header"@en ;
samm:dataType :CyclicHeaderEntity .

:SynchronousHeaderEntity a samm:Entity ;
samm:preferredName "SynchronousHeaderEntity"@en ;
samm:description "Header for a synchronous request of the SIS"@en ;
samm:properties ( :offset :customerId [ samm:property :precisionOfForecast; samm:optional true ] :productionForecast4All :orderId :communicationMode ) .

:NotificationHeaderEntity a samm:Entity ;
samm:extends :CyclicHeaderEntity ;
samm:preferredName "NotificationHeaderEntity"@en ;
samm:description "The Header for a notification communication mode"@en ;
samm:properties ( :deviationOfSchedule ) .

:CyclicHeaderEntity a samm:Entity ;
samm:extends :SynchronousHeaderEntity ;
samm:preferredName "CyclicHeaderEntity"@en ;
samm:description "the header for a cyclic communication Mode"@en ;
samm:properties ( :notificationInterval ) .

:offset a samm:Property ;
samm:preferredName "offset"@en ;
samm:description "Meaning: Send/start time of the first message/notification\n- \"0\" ==> immediate response"@en ;
samm:characteristic :TimeValueCharacteristic .

:customerId a samm:Property ;
samm:preferredName "customerId"@en ;
samm:description "internal customerId"@en ;
samm:characteristic :Bpn .

:precisionOfForecast a samm:Property ;
samm:preferredName "precisionOfForecast"@en ;
samm:description "Accuracy of the time specification of the completion date.\n- default: implicitly defined by production\n- only as a REQUEST of the requester, since it cannot be guaranteed that the store floor can provide the data in this accuracy."@en ;
samm:characteristic :TimeValueCharacteristic .

:productionForecast4All a samm:Property ;
samm:preferredName "productionForecast4All"@en ;
samm:description "boolean variable that detemines whether the customer request information about each position of an order, or information about the complete order"@en ;
samm:characteristic samm-c:Boolean ;
samm:exampleValue 0 .

:orderId a samm:Property ;
samm:preferredName "orderId"@en ;
samm:description "The Id identifying subject of the request"@en ;
samm:characteristic :Uuid ;
samm:exampleValue "uuid = 00000000-0000-0000-C000-000000000046" .

:communicationMode a samm:Property ;
samm:preferredName "communicationMode"@en ;
samm:description "Value to select the communication mode"@en ;
samm:characteristic :CommunicationModeEnum ;
samm:exampleValue "Notification" .

:deviationOfSchedule a samm:Property ;
samm:preferredName "deviationOfSchedule"@en ;
samm:description "'- relevant for CommunicationMode = \"notification\".\n- 2-stage:\n 1. synchronous response with delivery date\n 2. if deviation from targeted delivery date"@en ;
samm:characteristic :TimeValueCharacteristic .

:notificationInterval a samm:Property ;
samm:preferredName "notificationInterval"@en ;
samm:description "Interval time that either specifies the cyclic send time or limits the notification time"@en ;
samm:characteristic :TimeValueCharacteristic .

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

:Bpn a samm:Characteristic ;
samm:preferredName "Bpn"@en ;
samm:description "Bpn"@en ;
samm:dataType xsd:string .

:Uuid a samm:Characteristic ;
samm:preferredName "Uuid"@en ;
samm:description "Uuid"@en ;
samm:dataType xsd:string .

:CommunicationModeEnum a samm-c:Enumeration ;
samm:preferredName "CommunicationModeEnum"@en ;
samm:description "Specifies a communication Mode based on predefined enum values"@en ;
samm:dataType xsd:string ;
samm-c:values ( "synchronous" "cyclic" "notification" ) .

1 change: 1 addition & 0 deletions io.catenax.mp_standard_request/1.0.0/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "status" : "release" }
7 changes: 7 additions & 0 deletions io.catenax.mp_standard_request/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog

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

## [1.0.0]

- initial version of the aspect model for GetShopfloorInformation