CX-0122 Item Stock Exchange 2.0.1
ABSTRACT
The raising and management of Item Stock data is the task of ERP systems. Accurate inventory management is a decisive factor for stable delivery capability for suppliersSupplier In the context of OSim, the producer of goods. and an important component of secure production capability for customersCustomer In the context of OSim, the receiver of produced goods from a supplier.. Continuous monitoring of the Item Stock between suppliersSupplier In the context of OSim, the producer of goods. and customersCustomer In the context of OSim, the receiver of produced goods from a supplier. ensures important information for the company's own production planning and management. This information exchange is key to early detect and evaluate supply shortage issues. Moreover, standardized interfaces between ERP systems often exist only for order planning and execution. However, the necessary exchanging this information manually e.g. by phone or e-mail is error-prone and slow. To mitigate inefficient and faulty communication, this document defines a standardized approach for exchanging Item Stock data in an interoperable manner. A common description of the Item Stock based on a standardized semantic definition is fundamental for facilitating such an exchange.
FOR WHOM IS THE STANDARD DESIGNED
COMPARISON WITH THE PREVIOUS VERSION OF THE STANDARD
Changes:
- integration and usage of digital twins as defined in [CX-0002] Digital Twins in Catena-X
- harmonization of aspect modelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing). in accordance with [CX-0126] Industry Core: Part Type
- discontinuation of the proprietary APIAPI An API is a way for two or more computer programs to communicate with each other. used in v1.0.0 of this standard
- grammatical, spelling and semantic improvements
New Content:
- added a note on the obligation of standard implementers to make aware that sensitive data is being handled, see [Chapter 2.1.3]
1 INTRODUCTION
This document defines the standardized exchange of Item Stock data within the Catena-X network. The Item Stock semantically is the actual quantity of reserved (here called allocated) material for a partner that has not yet been shipped from the supplierSupplier In the context of OSim, the producer of goods.'s site or has already arrived at the customerCustomer In the context of OSim, the receiver of produced goods from a supplier.'s site and has not yet been used for production. The semantic model is presented in the Aspect ModelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing). Notation with all individual fields, formats and associated JSON schema. The standardization of the ItemStock semantic model and an exchange APIAPI An API is a way for two or more computer programs to communicate with each other. enables participants in the value chain to share information about material and product stock in a timely manner, thus ensuring that the possible solution space for mitigating a supply shortage is maximized.
The Item Stock is related to a business relationship between the partners (an order / call-off exists). Legal framework conditions and business aspects play an important role, for example in the context of multi-sourcing, where no horizontal exchange of information may take place. The aim of this standard is to ensure a secure exchange of stock data for active monitoring and the associated prevention of bottlenecks and shortages.
1.1 AUDIENCE & SCOPE
This section is non-normative
This standard is relevant for the following roles defined in [CX-OMW]:
- Data Providers willing to provide Item Stock data
- Data Consumers interested in requesting and receiving Item Stock data
- Business Application Providers interested in providing solutions implementing this standard
- Consulting Services Providers interested in supporting companies fulfilling the standard
The scope of this standard is only the Item Stock aspect modelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing). and APIAPI An API is a way for two or more computer programs to communicate with each other.. It describes the exchange of Item Stock data through a connector in accordance to [CX-0018].
1.2 CONTEXT AND ARCHITECTURE FIT
This section is non-normative
A typical order-based procurement process includes a customerCustomer In the context of OSim, the receiver of produced goods from a supplier. that places an order and a supplierSupplier In the context of OSim, the producer of goods. fulfilling it. Material may be either on stock at the supplierSupplier In the context of OSim, the producer of goods.'s site when it has been produced and is ready to be shipped to the customerCustomer In the context of OSim, the receiver of produced goods from a supplier., or at the customerCustomer In the context of OSim, the receiver of produced goods from a supplier.'s site when it has been delivered and has not yet been used for production. Those kinds of inventories are referred to as Item Stock. Information about Item Stock quantities it is key to early detect and evaluate short-term supply shortages on the customerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. side. Also it can help reduce the total amount of stored material within the supply chain when partners share information on their materials inventory.
Figure 1 shows the high-level architecture of the Item Stock exchange in the Catena-X dataspace and the services that are involved. Both the data provider and the data consumer must be members of the Catena X network in order to communicate with each other. With the help of the Credential Service and the Identity Access Management (IAM) each participant can authenticate itself, verify the identity of the requesting party and decide whether to authorize the request. The Item Stock data is provisioned in accordance with [CX-0002].
Figure 1: High-level architecture of the Item Stock exchange in Catena-X
1.3 CONFORMANCE AND PROOF OF CONFORMITY
This section is non-normative
The sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. The key words MAY , MUST , MUST NOT , OPTIONAL , RECOMMENDED , REQUIRED , SHOULD and SHOULD NOT in this document are to be interpreted as described in [BCP 14] [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
All participants and their solutions will need to prove that they are conform with the Catena-X standards. To validate that the standards are applied correctly, Catena-X employs Conformity Assessment Bodies (CABs). The proof of conformity for a single semantic model is done according to the general rules for proving the conformity of data provided to a semantic model or the ability to consume the corresponding data. Furthermore participants agree to follow the normative language of this standardization document and to implement the required APIAPI An API is a way for two or more computer programs to communicate with each other.-Endpoints described in Chapter 4.
1.4 EXAMPLES
The following example shows a value-only JSON serialization of the "ItemStock" aspect modelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing).. It represents a quantity of 20 pieces for an order position of a given material.
{
"materialGlobalAssetId" : "urn:uuid:48878d48-6f1d-47f5-8ded-a441d0d879df",
"positions" : [ {
"orderPositionReference" : {
"supplierOrderId" : "M-Nbr-4711",
"customerOrderId" : "C-Nbr-4711",
"customerOrderPositionId" : "PositionId-01"
},
"allocatedStocks" : [ {
"isBlocked" : false,
"stockLocationBPNA" : "BPNA1234567890ZZ",
"lastUpdatedOnDateTime" : "2023-04-28T14:23:00.123456+14:00",
"quantityOnAllocatedStock" : {
"value" : 20.0,
"unit" : "unit:piece"
},
"stockLocationBPNS" : "BPNS1234567890ZZ"
} ]
} ],
"direction" : "INBOUND"
}
1.5 TERMINOLOGY
This section is non-normative
| Name | Abrv. | Description |
|---|---|---|
| Business Partner Number | BPNBPN A BPN is the unique identifier of a partner within Catena-X. | A BPNBPN A BPN is the unique identifier of a partner within Catena-X. is the unique identifier of a partner within Catena-X as defined in [CX-0010]. |
| Business Partner Number Legal Entity | BPNLBPNL The unique identifier of a legal entity of a partner within Catena-X (e.g., a company). | A BPNLBPNL The unique identifier of a legal entity of a partner within Catena-X (e.g., a company). is the unique identifier of a partner legal entity within Catena-X as defined in [CX-0010]. |
| Business Partner Number Site | BPNSBPNS The unique identifier of a partner site within Catena-X (e.g., a specific factory). | A BPNSBPNS The unique identifier of a partner site within Catena-X (e.g., a specific factory). is the unique identifier of a partner site within Catena-X as defined in [CX-0010]. |
| Business Partner Number Address | BPNA | A BPNA is the unique identifier of a partner address within Catena-X as defined in [CX-0010]. |
| Position | A position within an order defines the product and the quantity the supplierSupplier In the context of OSim, the producer of goods. has to manufacture / supply for a customerCustomer In the context of OSim, the receiver of produced goods from a supplier.. A single order may contain multiple positions for different products. | |
| Order | Request from a customerCustomer In the context of OSim, the receiver of produced goods from a supplier. towards a supplierSupplier In the context of OSim, the producer of goods. to manufacture / supply a given quantity of a specific product in a predefined time frame. | |
| Allocated Stock | The already manufactured and not yet been used products, components or material. They are allocated to a specific customerCustomer In the context of OSim, the receiver of produced goods from a supplier. based on the orders made by the latter and are either still in the supplierSupplier In the context of OSim, the producer of goods.'s warehouse or already in the customerCustomer In the context of OSim, the receiver of produced goods from a supplier.'s warehouse. | |
| Provider | The party providing the Item Stock data.In the context of the Item Stock exchange this is: - the supplierSupplier In the context of OSim, the producer of goods. for Item Stock of direction OUTBOUND - the customerCustomer In the context of OSim, the receiver of produced goods from a supplier. for Item Stock of direction INBOUND. | |
| Consumer | The party requesting and consuming the Item Stock data provided by the provider. In the context of the Item Stock exchange this is: - the supplierSupplier In the context of OSim, the producer of goods. for Item Stock of direction OUTBOUND - the customerCustomer In the context of OSim, the receiver of produced goods from a supplier. for Item Stock of direction INBOUND. Additional terminology used in this standard can be looked up in the glossary on the association homepage. | |
| Stock Location | The physical location of a stock specified by its corresponding BPNSBPNS The unique identifier of a partner site within Catena-X (e.g., a specific factory). and BPNA. More information on BPNBPN A BPN is the unique identifier of a partner within Catena-X./S/A is provided in [CX-0010]. | |
| CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. | The recipient of products ordered from / manufactured by a supplierSupplier In the context of OSim, the producer of goods.. | |
| SupplierSupplier In the context of OSim, the producer of goods. | The supplierSupplier In the context of OSim, the producer of goods. / manufacturer of a product. | |
| Stock | Two way direction of material on stock: - One can have a stock of material which is ready for delivery to customersCustomer In the context of OSim, the receiver of produced goods from a supplier. - One can have a stock of material which can be used for the own production | |
| Material | The term material is used as a catalogue item in the meaning of the Industry Core Part Type ([CX-0126]). Whenever referring to material also products, components or items are considered. Semi-finished goods are not intended to be covered. | |
| Production Output | The output quantity in a defined period of time for a component or material. | |
| Digital Twin | DT | Digital representation of an assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. that provides data on aspects of the represented data following [CX-0002]. |
| decentralized Digital Twin Registry | dDTR | Component providing registration and discovery APIAPI An API is a way for two or more computer programs to communicate with each other. implementations following [CX-0002]. Sometimes referred to without the "decentralized" BUT in Catena-X those are always decentralized. |
| Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. | AAS | Technical concept for Digital Twins consisting of different standards. Application in Catena-X is described in Digital Twins in Catena-X standard ([CX-0002]) |
| Shell Descriptor | Technical concept of the AAS APIAPI An API is a way for two or more computer programs to communicate with each other. describing metadata of an Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. representing a Digital Twin. It holds identification information and metadata about which submodels are available and where to get the data from (see [CX-0002], IDTA-01002-3-0). There may exist multiple Shell Descriptor for the same represented AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. (see [CX-0126]). | |
| Submodel Descriptor | Technical concept of the AAS APIAPI An API is a way for two or more computer programs to communicate with each other. describing metadata of Submodels within a Shell Descriptor (Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin.) (see [CX-0002], IDTA-01002-3-0). | |
| Specific AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IdsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. | Identifiers of the Shell Descriptor (Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin.) that refer to common identification data for an assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer./material at hand e.g., manufacturer part Id. Common specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. idsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. used for identification are described in Industry Core Part Type Standard (see [CX-0126]). | |
| Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. Identifier | AAS ID | Also referred to as Shell Descriptor ID, is the technical identifier of the Shell Descriptor. |
| Global AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. Id | Also referred to as Catena-X ID, is the Catena-X identifier for assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. represented by Digital Twins (see [CX-0126]). | |
| Aspect | A domain-specific view on information and functionality associated with a specific Digital Twin with a reference to a concrete Aspect ModelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing). (see [CX-0002]). Within Catena-X, an aspect is formally described using the Semantic Aspect Meta Model (see [CX-0003]). | |
| Semantic Id | Identifier including namespace to specify the semantic description of submodels using the Semantic Aspect Meta Model (SAMM). It allows partners to know the exact data format and semantics when e.g., browsing catalogs (see [CX-0003]). | |
| Data Space Protocol | DSP | A set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications define the schemas and protocols required for entities to publish data, negotiate Agreements, and access data as part of a Dataspace. It is governed by the International Data Spaces Association. Connectors compliant to [CX-0018] support the Data Space Protocol. |
| Shared AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. Approach | Digital twin pattern in which each party has a twin for the same assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. (Part Type). They share the same identification data in terms of specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. idsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. and global assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. id. The digital twins do have different technical identifiers. |
Table 1: Terminology Item Stock Standard
Additional terminology used in this standard can be looked up in the glossary on the association homepage.
2 RELEVANT PARTS OF THE STANDARD FOR SPECIFIC USE CASES
This section is normative
2.1 "ITEM STOCK"
2.1.1 LIST OF STANDALONE STANDARDS
The following Catena-X standards are prerequisites for the implementation of this standard and therefore MUST be considered / implemented by the relevant parties specified in each of them.
| Number | Standard | Version |
|---|---|---|
| [CX-0001] | EDC Discovery APIAPI An API is a way for two or more computer programs to communicate with each other. | 1.0.2 |
| [CX-0002] | Digital Twins in Catena-X | 2.2.0 |
| [CX-0003] | SAMM Aspect Meta Model | 1.1.0 |
| [CX-0006] | Registration and initial onboarding | 2.0.0 |
| [CX-0010] | Business Partner Number (BPNBPN A BPN is the unique identifier of a partner within Catena-X.) | 2.0.0 |
| [CX-0018] | Dataspace Connectivity | 3.0.0 |
| [CX-0126] | Industry Core Part Type | 2.0.0 |
Table 2: List of mandatory standards
The usage of this standard may be complemented with the following Catena-X standards to further extend the range of shortage prevention possibilities:
| Number | Standard | Version |
|---|---|---|
| [CX-0118] | Delivery Information Exchange | 2.0.0 |
| [CX-0120] | Short-term Material Demand Exchange | 2.0.0 |
| [CX-0121] | Planned Production Output Exchange | 1.0.0 |
| [CX-0145] | Days of Supply Exchange | 1.0.0 |
| [CX-0146] | Supply Chain Disruption Notifications | 1.0.0 |
Table 3: List of non-mandatory complementary standards
2.1.2 DATA REQUIRED
No additional data requirements.
2.1.3 POLICY CONSTRAINTS FOR DATA EXCHANGE
In alignment with our commitment to data sovereignty, a specific framework governing the utilization of data within the Catena-X use cases has been outlined. As part of this data sovereignty framework, conventions for access policies, for usage policies and for the constraints contained in the policies have been specified in standard CX-0152 Policy Constraints for Data Exchange. This standard document CX-0152 MUST be followed when providing services or apps for data sharing/consuming and when sharing or consuming data in the Catena-X ecosystem. What conventions are relevant for what roles named in 1.1 AUDIENCE & SCOPE is specified in the CX-0152 standard document as well.
REMINDER OF ANTITRUST
Notice and/or acknowledgement concepts to raise awareness of antitrust issues during use of this standard are RECOMMENDED, for example through the implementation of a help desk or pop-up info.
2.1.4 DIGITAL TWINS AND SPECIFIC ASSETAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use.
This standard builds upon the Industry Core Part Type [CX-0126] and the Digital Twins in Catena-X [CX-0002] standards. It follows the following design patterns:
- Usage of Digital Twins as shared assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. to follow a pull approach for data.
- Usage of the specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. and further identification data for the Digital Twin for the Part Type (see [CX-0126]).
- Provisioning of the PartTypeInformation on supplierSupplier In the context of OSim, the producer of goods. side (see [CX-0126]).
Because both parties may provide data regarding different aspects of the same Part Type Twin, they need to use the same identification data to pinpoint it.
- The supplierSupplier In the context of OSim, the producer of goods. of the part has a Digital Twin representation and is then able to offer Item Stock data to customersCustomer In the context of OSim, the receiver of produced goods from a supplier..
- The customerCustomer In the context of OSim, the receiver of produced goods from a supplier., who orders or uses the part, has a Digital Twin representation to offer Item Stock data to a supplierSupplier In the context of OSim, the producer of goods..
- Both twins refer to the same assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. and provide complementary information. They share the same
identification data in two partners' context.
- The supplierSupplier In the context of OSim, the producer of goods.
- MUST create the Digital Twin first.
- MUST generate the Catena-X ID and ensure that the customerCustomer In the context of OSim, the receiver of produced goods from a supplier.-specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. and submodel descriptors are only accessible by the specific customerCustomer In the context of OSim, the receiver of produced goods from a supplier..
- MAY use the Digital Twin for multiple customersCustomer In the context of OSim, the receiver of produced goods from a supplier..
- The customerCustomer In the context of OSim, the receiver of produced goods from a supplier.
- The supplierSupplier In the context of OSim, the producer of goods.
The definition of identification data (Catena-X ID, Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. ID, specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. ID) MUST follow the Industry Core Part Type [CX-0126]. Refer to Chapter 4.1.2 for further details.
Note: The Part Type Twin's data is considered sensitive. Data providers MUST implement appropriate measures ensuring that competitors-specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. and/or information about submodels is accessible only to the data consumers it concerns, but not to their competitors.
Figure 2 shows how the shared assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. approach is realized. The orange lines show which submodels belong to the respective AAS. All Item Stock specific submodels are bound to the specific Part Type's context e.g., meaning that the Item Stock aspect is described for the specific catalog item on supplierSupplier In the context of OSim, the producer of goods. and customerCustomer In the context of OSim, the receiver of produced goods from a supplier. side represented by the AASs. The orange submodels are the submodels used within this standard's context. The grey submodels are used within the Industry Core [CX-0126](PartTypeInformation, SingleLevelBomAsPlanned, SingleLevelUsageAsPlanned). The blue dashed lines show the references between DTs based on Catena-X UUIDs and BPNLBPNL The unique identifier of a legal entity of a partner within Catena-X (e.g., a company). information that may be resolved by the Item Relationship Service (see [CX-0126]).
Figure 2: Conceptual levels of provisioning digital twins in the shared assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. approach.
Figure 2 details two conceptual levels:
- The AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. level contains the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. (Industry Core Part Type) represented by a Digital Twin. The latter is provisioned as an Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. (AAS) within the decentralized Digital Twin Registry (dDTR) of the data provider (supplierSupplier In the context of OSim, the producer of goods. or customerCustomer In the context of OSim, the receiver of produced goods from a supplier.).
- The Submodel level represents the actual information that are held by a Digital Twin (DT). Those submodels follow the respective definition of the in Semantic Aspect Meta Model (SAMM) format (see Chapter 3). The dDTR only holds meta-information about the Submodel (e.g. kind of submodel via semantic ID or connector endpoint information).
3 ASPECT MODELSAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing).
This section is normative
3.1 "ITEM STOCK" ASPECT MODELAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing).
3.1.1 INTRODUCTION
This section describes the "ItemStock" semantic model used in the Catena-X network. For the complete semantics and detailed description of its properties refer to the SAMM model in Chapter 3.1.5.1.
3.1.2 SPECIFICATIONS ARTIFACTS
The modeling of the semantic model specified in this document was done in accordance to the "semantic-driven workflow" to create a submodel template specification [SMT].
This aspect modelAspect Model A formal, machine-readable semantic description (expressed with RDF/Turtle) of data accessible from an aspect. Note 1: An Aspect Model must adhere to the Semantic Aspect Meta Model (SAMM) and be compliant with its validity rules. Note 2: Aspect Models are logical data models that can be used to detail a conceptual model to describe the semantics of runtime data related to a concept; elements of an Aspect Model can/should refer to terms of a standardized Business Glossary (if existing). is written in SAMM 2.0.0 as a modeling language conformant to [CX-0003] as input for the semantic driven workflow.
Like all Catena-X data models, this model is available in a machine-readable format on GitHub conformant to [CX-0003].
3.1.3 LICENSE
This Catena-X data model is made available under the terms of the Creative Commons Attribution 4.0 International (CC-BY-4.0) license, which is available at Creative Commons.
3.1.4 IDENTIFIER OF SEMANTIC MODEL
The semantic model has the unique identifier
urn:samm:io.catenax.item_stock:2.0.0
This identifier MUST be used by the data provider to define the semantics of the data being transferred.
3.1.5 FORMATS OF SEMANTIC MODEL
3.1.5.1 RDF TURTLE
The RDF turtle file, an instance of the Semantic Aspect Meta Model, is the master for generating additional file formats and serializations. It can be found under the following link:
The open source command line tool of the Eclipse Semantic Modeling Framework is used for generation of other file formats like for example a JSON Schema, aasx for Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. Submodel Template or a HTML documentation.
3.1.5.2 JSON SCHEMA
A JSON Schema can be generated from the RDF Turtle file. The JSON Schema defines the Value-Only payload of the Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. for the APIAPI An API is a way for two or more computer programs to communicate with each other. operation "GetSubmodel".
3.1.5.3 AASX
An AASX file MUST be generated from the RDF Turtle file. The AASX file defines one of the requested artifacts for a Submodel Template Specification conformant to [SMT].
4 APPLICATION PROGRAMMING INTERFACES
This section is normative
4.1 APIAPI An API is a way for two or more computer programs to communicate with each other. USED TO EXCHANGE "ITEM STOCK" INFORMATION
As described in Chapter 2.1.4 this standard builds upon the [CX-0002] Digital Twins in Catena-X and [CX-0126] Industry Core Part Type standards. Therefore, the APIsAPI An API is a way for two or more computer programs to communicate with each other. provided by the Digital Twin standard are combined with the part identification defined in the Industry Core standard. This chapter defines how the aforementioned standards and the [CX-0018] standard MUST be used to facilitate the provisioning of Item Stock data. The usage of the Discovery Services defined in [CX-0001], [CX-0053] is not mandatory, because this standard assumes an already existing business relationship between the involved parties.
The sequence diagram in Figure 3 provides an overview of the interactions required to register the Part Type Twin following the shared assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. approach.
- Steps 1 & 2: Register the dDTR access for the partner at the connector
- Steps 3 & 4: When using the repository pattern, create the submodel (and twin)
- Steps 5 & 6: Register the submodel endpoint for the partner at the connector
- Steps 7 & 8: Register or update the twin Shell Descriptor relying on the registered Connector assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. for the submodel endpoint and the identification data of the partners.
Note: This sequence diagram is simplified and does not cover the generation of the Part Type Twin on supplierSupplier In the context of OSim, the producer of goods. side and the handling of the identification data needed. Both partners need to create a Part Type Twin of the shared assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. as well as provide Item Stock data.
Figure 3: Flow to create and register a digital twin
The sequence diagram in Figure 4 provides an overview of the interactions required when a customerCustomer In the context of OSim, the receiver of produced goods from a supplier. (acting as data provider) provisions Item Stock data to a supplierSupplier In the context of OSim, the producer of goods. (acting as data consumer).
The flow "SupplierSupplier In the context of OSim, the producer of goods. reads (updated) Submodel from CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier." visualizes the sequence of calls when consuming data:
- Steps 3 - 8: Contract dDTR usage in the connector.
- Steps 9 - 12: Lookup the Industry Core Part Type Twin for a Part Type based on the common identification data.
- Steps 13 - 18: Read the Shell Descriptor of the Industry Core Part Type Twin to extract the Item Stock submodel endpoint (registered at the connector).
- Steps 19 - 24: Contract the Item Stock data usage in the connector.
- Steps 25 - 29: Consume and use the Item Stock data.
Figure 4: Flow to look up a digital twin and get a submodel.
Note: Depending on the use of repository patterns and the design of the Digital Twins, the data may be updated manually in the Submodel endpoint.
4.1.1 CONNECTOR DATA ASSETAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. STRUCTURE
The endpoints for the dDTR and the Submodel Endpoint MUST be made available BUT they MUST NOT be directly called data consumer. Rather, for access to dDTRs and Submodels, there MUST be contracts negotiated in accordance with the DSP. Therefore, the endpoints MUST be offered as connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer.. To make these assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. easily identifiable in the connector's catalog, each assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. MUST be configured with a set of properties as described in the corresponding sections below.
The following table provides an overview of the connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. that the parties MUST offer to be able to provision and/or consume Item Stock data.
| Party | REQUIRED | AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. | Purpose |
|---|---|---|---|
| Provider | Yes | "Digital Twin Registry" | Allows a consumer to query for Part Type Twins and their Item Stock submodels. |
| Provider | Yes | "Submodel Item Stock" | Allows a consumer to read actual Item Stock information related to a Part Type Twin. |
| Consumer | Yes | "Digital Twin Registry" | Allows a consumer to query for Part Type Twins and their Item Stock submodels. |
| Consumer | Yes | "Submodel Item Stock" | Allows a consumer to read actual Item Stock information related to a Part Type Twin. |
Table 4: Connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer.
In the sections below the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. definitions of the two different kinds of assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. are defined.
CONNECTOR DATA ASSETAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. STRUCTURE FOR "Digital Twin Registry"
To allow partners to find the "Item Stock" data for a specific Industry Core Part Type Twin, the provider MUST register a connector data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. (see details in [CX-0018]) specifying the address of the Digital Twin Registry of the provider (see [CX-0002]).
The data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. MUST be configured with the set of properties as defined in the table below.
| Object | Property | Purpose | Usage & Constraints |
|---|---|---|---|
| @id | Identifier of the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. | The assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. ID MUST be unique and therefore MUST NOT be reused elsewhere. | |
| properties | httpHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes.://purl.org/dc/terms/type | Defines the "Digital Twin Registry" according to the Catena-X taxonomy. | MUST be set to {"@id": "https://w3id.org/catenax/taxonomy#DigitalTwinRegistry"} to allow filtering the data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. catalog for the respective "Digital Twin Registry". |
| properties | httpsHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes.://w3id.org/catenax/ontology/common#version | The version of the standard defining the implemented APIAPI An API is a way for two or more computer programs to communicate with each other. of the "Digital Twin Registry" | MUST correspond to the version of the standard defining the Interfaces of the "Digital Twin Registry". The value MUST be set to "3.0" for "Digital Twin Registries" used by this standard. |
| dataAddress | @type | Type of the DataAddress node. | MUST be set to "DataAddress". |
| dataAddress | baseUrl | Defines the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. endpoint of the corresponding "Digital Twin Registry Endpoint". | The {{ DIGITAL_TWIN_REGISTRY_ENDPOINT }} refers to an URL under which the APIAPI An API is a way for two or more computer programs to communicate with each other. of the "Digital Twin Registry" endpoint is available. HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. transport protocol MUST be used. |
| dataAddress | proxyBody | Defines whether the endpoint allows to proxy the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. body | SHOULD be set to "false" to not allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive a HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. body via the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. request. |
| dataAddress | proxyMethod | Defines whether the endpoint allows to proxy the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. method | SHOULD be set to "false" to only allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive GET requests. |
| dataAddress | proxyPath | Defines whether the endpoint allows to proxy paths for the URL | MUST be set to "true" to allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive appended paths of the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. request. |
| dataAddress | type | Defines the type of data plane extension handling the data exchange | MUST be set to "HttpData" to provide an APIAPI An API is a way for two or more computer programs to communicate with each other. via an HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. proxy endpoint. |
Table 5: Connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. request properties
Additionally security identification information MAY be added to secure the "Decentralized Digital Twin Registry".
When searching the Catalog of a provider, a consumer SHOULD use the following properties AND
their values to identify the Data AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. specifying "Digital Twin Registry". In the connector Data AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer.
descriptions the APIAPI An API is a way for two or more computer programs to communicate with each other. version valid for this standard is mentioned for the property
https://w3id.org/catenax/ontology/common#version. The requester of a Data AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. MUST be
able to handle multiple Data AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. for this endpoint, being differentiated only by the version.
The requester SHOULD choose the Data AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. set with the highest compatible version number implemented
by themselves. If the requester cannot find a compatible version with their own, the requester MUST
terminate the data transfer.
| Property | Value |
|---|---|
| http://purl.org/dc/terms/type | {"@id": "https://w3id.org/catenax/taxonomy#DigitalTwinRegistry"} |
Table 6: Connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. request properties values.
An example connector data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. definition is given below.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
{
"@context": {
"@vocab": "https://w3id.org/edc/v0.0.1/ns/",
"cx-common": "https://w3id.org/catenax/ontology/common#",
"cx-taxo": "https://w3id.org/catenax/taxonomy#",
"dct": "http://purl.org/dc/terms/"
},
"@id": "{{CONNECTOR_ASSET_ID}}",
"properties": {
"dct:type": {"@id": "cx-taxo:DigitalTwinRegistry"},
"cx-common:version": "3.0"
},
"privateProperties": {
},
"dataAddress": {
"@type": "DataAddress",
"type": "HttpData",
"baseUrl": "{{ DIGITAL_TWIN_REGISTRY_ENDPOINT }}",
"proxyQueryParams": "true",
"proxyBody": "false",
"proxyPath": "true",
"proxyMethod": "false",
}
}
CONNECTOR DATA ASSETAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. STRUCTURE FOR "Submodel"
To allow partners to receive the "Item Stock" data as defined in Chapter 3, the provider MUST register a connector data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. (see details in[ CX-0018]) specifying the address of the submodel endpoint (see [CX-0002]) providing the actual data.
The data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. MUST be configured with the set of properties as defined in the table below.
| Object | Property | Purpose | Usage & Constraints |
|---|---|---|---|
| @id | Identifier of the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. | The assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. ID MUST be unique and therefore MUST NOT be reused elsewhere. | |
| properties | httpHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes.://purl.org/dc/terms/type | Defines the "Submodel APIAPI An API is a way for two or more computer programs to communicate with each other." according to the Catena-X taxonomy. | MUST be set to {"@id": "https://w3id.org/catenax/taxonomy#Submodel"} to allow filtering the data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. catalog for the respective "Submodel APIAPI An API is a way for two or more computer programs to communicate with each other.". |
| properties | httpsHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes.://admin-shell.io/aas/3/0/HasSemantics/semanticId | The semantic identifier of the "Item Stock" SAMM. | MUST be set to {"@id": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock"} to externally define how the Submodel must be interpreted. MUST NOT be set, if different submodels may be returned by this APIAPI An API is a way for two or more computer programs to communicate with each other.. |
| properties | httpsHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes.://w3id.org/catenax/ontology/common#version | Version of the Submodel Interface Specification | MUST be set to "3.0" in accordance to [CX-0002]. |
| dataAddress | @type | Type of the DataAddress node. | MUST be set to "DataAddress". |
| dataAddress | baseUrl | Defines the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. Submodel endpoint provisioning the Delivery Information data | The {{ SUBMODEL_ENDPOINT }} refers to an URL under which the Submodel APIAPI An API is a way for two or more computer programs to communicate with each other. Endpoint ([CX-0002]) is available to provide the "Item Stock" . HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. transport protocol MUST be used. |
| dataAddress | proxyBody | Defines whether the endpoint allows to proxy the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. body | SHOULD be set to "false" to not allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive a HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. body via the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. request. |
| dataAddress | proxyMethod | Defines whether the endpoint allows to proxy the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. method | SHOULD be set to "false" to only allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive GET requests. |
| dataAddress | proxyPath | Defines whether the endpoint allows to proxy paths for the URL | MUST be set to "true" to allow the APIAPI An API is a way for two or more computer programs to communicate with each other. endpoint to receive appended paths of the HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. request. Setting this parameter depends on the implementation of the submodel lookup. |
| dataAddress | type | Defines the type of data plane extension handling the data exchange | MUST be set to "HttpData" to provide an APIAPI An API is a way for two or more computer programs to communicate with each other. via an HTTPSHTTP HTTP is an application-layer protocol for transmitting hypermedia documents (such as HTML). It was designed for communication between web browsers and web servers, but can also be used for other purposes. proxy endpoint. |
Table 7: Connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. request properties
Additionally security identification information MAY be added to secure the "Submodel APIAPI An API is a way for two or more computer programs to communicate with each other.".
When searching the data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. catalog of a provider, a consumer SHOULD use the assetId previously
determined via subprotocolBody of the SubmodelDescriptor's endpoint definition of subprotocol type "DSP".
Refer to Chapter 4.1.2 for the definition of the subprotocolBody.
| Property | Value |
|---|---|
| https://w3id.org/edc/v0.0.1/ns/id | {{CONNECTOR_ASSET_ID}} specified in the DSP endpoint of the SubmodelDescriptor (see Chapter 4.1.2) |
Table 8: Connector data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. request properties values
An example connector data assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. definition is given below.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
{
"@context": {
"@vocab": "https://w3id.org/edc/v0.0.1/ns/",
"cx-common": "https://w3id.org/catenax/ontology/common#",
"cx-taxo": "https://w3id.org/catenax/taxonomy#",
"dct": "http://purl.org/dc/terms/",
"aas-semantics": "https://admin-shell.io/aas/3/0/HasSemantics/"
},
"@id": "{{CONNECTOR_ASSET_ID}}",
"properties": {
"dct:type": {"@id": "cx-taxo:Submodel"},
"cx-common:version": "3.0",
"aas-semantics:semanticId": {"@id": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock"} },
"privateProperties": {
},
"dataAddress": {
"@type": "DataAddress",
"type": "HttpData",
"baseUrl": "{{ SUBMODEL_ENDPOINT }}",
"proxyQueryParams": "false",
"proxyBody": "false",
"proxyPath": "true",
"proxyMethod": "false",
}
}
4.1.2 INDUSTRY CORE PART TYPE TWIN REGISTRATION AND DEFINITION
4.1.2.1 SHELL DESCRIPTOR REGISTRATION
To allow partners to receive the actual "Item Stock" data as defined in Chapter 3, the provider MUST register a Shell Descriptor in the dDTR (see [CX-0002]) so that a partner:
- May lookup the Industry Core Part Type Twin based on known identification data.
- May identify the connector endpoint providing access to the "Item Stock" submodel data.
The Shell Descriptors represent each an Industry Core Part Type Twin and MUST follow the rules as defined in Chapter 2.1.4.
The Shell Descriptor MUST be configured with the set of properties as defined in the table below.
| Object in ShellDescriptor | Property | Purpose | Usage & Constraints |
|---|---|---|---|
| id | Defines the technical ID of the Asset Administration ShellAsset Administration Shell The AAS is a digital representation of an asset; it is a form of a digital twin. representing a partner's twin. | MUST be unique following Industry Core Part Type standard ([CX-0126]) and is a technical Id randomly assigned as multiple Part Type Twins may be created for one Part Type. E.g. this number differs for the twins created at supplierSupplier In the context of OSim, the producer of goods. and customerCustomer In the context of OSim, the receiver of produced goods from a supplier. side. | |
| globalAssetId | Defines the Catena-X ID of the twin. | MUST be aligned with the partner's material. When referring to the same Part Type Twin, the same number MUST be used (see [CX-0126]). | |
| specificAssetIds | Identifiers that may be used to lookup Part Type Twins. | MUST be set to according to the Industry Core Part Type standard ([CX-0126]). See Table 10 for respective specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use.. The "customerPartId" MUST be set by CustomersCustomer In the context of OSim, the receiver of produced goods from a supplier. and SHOULD be set by SuppliersSupplier In the context of OSim, the producer of goods.. | |
| submodelDescriptor | id | Technical identifier of a SubmodelDescriptor. | MUST be set to a unique identifier. |
| submodelDescriptor | semanticId | The semantic identifier of the "Item Stock" SAMM. | MUST be set to { "type": "ExternalReference", "keys": [{ "type": "GlobalReference", "value": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock" }] } to externally define how the Submodel must be interpreted. |
| submodelDescriptor > endpoint | interface | Defines the Submodel Interface [CX-0002] and the version. | MUST be set to "SUBMODEL-3.0" to rely on current specification. |
| submodelDescriptor > endpoint > protocolInformation | href | Defines the direct link to the public APIAPI An API is a way for two or more computer programs to communicate with each other. of the connector's data plane with a path that SHOULD be appended by the proxy, if needed. | MUST be set to the public APIAPI An API is a way for two or more computer programs to communicate with each other. of the dataplane providing the data with the path appended to directly access the submodel. |
| submodelDescriptor > endpoint > protocolInformation | subprotocol | Defines the usage of the connector based on DSP to access and use the submodel. | MUST be set to "DSP" to define the connector endpoint of the subprotocol. |
| submodelDescriptor > endpoint > protocolInformation | subprotocolBody | Defines the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. id in the connector and the connector address to access and use the submodel. | MUST be set to "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}" to provide the necessary information for contracting the submodel endpoint. Refer to Chapter 4.1.2 for the definition of the assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. of the subprotocolBody. |
Table 9: Properties relevant for the Shell Descriptor definition
When searching the submodel in the dDTR of a provider, a consumer SHOULD use the specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. as defined in [CX-0126]. Table 10 gives an overview of the specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. that the data provider added to the ShellDescriptor so that the data consumer may find the Industry Core Part Type Twin.
| Specific AssetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. Id | Value |
|---|---|
| digitalTwinType | "PartType". Set to identify twins compliant to the Industry Core Part Type (see [CX-0126]). |
| manufacturerId | SupplierSupplier In the context of OSim, the producer of goods. / Manufacturer partner BPNLBPNL The unique identifier of a legal entity of a partner within Catena-X (e.g., a company). (see [CX-0010]) |
| manufacturerPartId | SupplierSupplier In the context of OSim, the producer of goods. / Manufacturer partner identification number of the part. |
| customerPartId | CustomerCustomer In the context of OSim, the receiver of produced goods from a supplier. partner identification number of the part. |
Table 10: Specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. of Industry Core Part Type Twins proposed to be used to lookup a twin in the dDTR
The Shell Descriptor defines the metadata of the Industry Core Part Type Twin. The following example Shell Descriptor represents a supplierSupplier In the context of OSim, the producer of goods.'s Shell Descriptor of a supplierSupplier In the context of OSim, the producer of goods. who provides two customersCustomer In the context of OSim, the receiver of produced goods from a supplier. access to an "Item Stock" submodel. For further information on the creation of Part Type Twins, refer to Chapter 2.1.4.
Following [CX-0002], when searching the data assetsAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. catalog of a provider, a consumer SHOULD
use the assetId determined via subprotocolBody of the SubmodelDescriptor's endpoint definition
of subprotocol type "DSP" of the Submodel Descriptor of interest.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
{
"id": "{{TECHNICAL_TWIN_ID}}",
"globalAssetId": "{{MATERIAL_NUMBER_CX}}",
"idShort": "Semiconductor",
"specificAssetIds": [
{
"name": "digitalTwinType",
"value": "PartType",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{SUPPLIER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{CUSTOMER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{OTHER_CUSTOMER_BPNL}}"
}
]
}
},
{
"name": "manufacturerPartId",
"value": "{{MATERIAL_NUMBER_SUPPLIER}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{SUPPLIER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{CUSTOMER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{OTHER_CUSTOMER_BPNL}}"
}
]
}
},
{
"name": "manufacturerId",
"value": "{{SUPPLIER_BPNL}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{SUPPLIER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{CUSTOMER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{OTHER_CUSTOMER_BPNL}}"
}
]
}
},
{
"name": "customerPartId",
"value": "{{MATERIAL_NUMBER_CUSTOMER}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{SUPPLIER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{CUSTOMER_BPNL}}"
}
]
}
},
{
"name": "customerPartId",
"value": "{{MATERIAL_NUMBER_OTHER_CUSTOMER}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{SUPPLIER_BPNL}}"
},
{
"type":"GlobalReference",
"value":"{{OTHER_CUSTOMER_BPNL}}"
}
]
}
}
],
"submodelDescriptors": [
{
"id": "e5c96ab5-896a-482c-8761-efd74777ca97",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock"
}
]
},
"endpoints": [
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "DSP",
"subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}",
"subprotocolBodyEncoding": "plain",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
]
},
{
"id": "a6c96ab5-896a-482c-8761-efd74777ca99",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "urn:samm:io.catenax.item_stock:2.0.0#ItemStock"
}
]
},
"endpoints": [
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "{{SUPPLIER_CONNECTOR_DATAPLANE_PUBLIC_API}}/{{PATH_IF_NEEDED}}",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "DSP",
"subprotocolBody": "id={{CONNECTOR_ASSET_ID}};dspEndpoint={{SUPPLIER_CONNECTOR_DSP_ENDPOINT}}",
"subprotocolBodyEncoding": "plain",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
]
}
]
}
4.1.2.2 LOOKING UP A PART TYPE TWIN IN THE DDTR
To query the dDTR of a data provider, after contracting the usage via the data provider's connector (see [CX-0018]), the lookup APIAPI An API is a way for two or more computer programs to communicate with each other. (see [CX-0002]) can be used relying on the specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use. defined by the Industry Core Part Type (see [CX-0126]) that can be seen in Table 10 (table of shellDescriptorRegistration with specific assetAsset On the Data Provider side, an Asset describes the data set which will be shared or can be consumed by a Data Consumer. IDsIDS The International Data Space enables 'smart services' and business processes across companies and industries while ensuring data sovereignty and self-determined control of data use.).
An example call relying on all information is given in the code sample below.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
GET: {{PARTNER_CONNECTOR_DATA_PLANE}}/lookup/shells?assetIds={"name":"digitalTwinType", "value": "PartType"},{"name":"manufacturerPartId", "value": "{{MATERIAL_NUMBER_SUPPLIER}}"},{"name":"manufacturerId", "value": "{{SUPPLIER_BPNL}}"},{"name":"customerPartId", "value": "{{MATERIAL_NUMBER_CUSTOMER}}"}
As a result identifiers of the ShellDescriptors will be returned. With this data, a data provider can read the ShellDescriptor to extract the endpoint data of the data provider. An example is given in the code sample below.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
GET: {{PARTNER_CONNECTOR_DATA_PLANE}}/shell-descriptors/{{AAS_IDENTIFIER}}
4.1.2.3 FETCHING SUBMODEL DATA
To fetch the Item Stock Submodel data at the submodel endpoint of a data provider, after contracting the usage via the data provider's connector (see [CX-0018]), the submodel APIAPI An API is a way for two or more computer programs to communicate with each other. (see [CX-0002]) can be used.
An example call relying on all information is given in the code sample below.
Note: Expressions in double curly braces {{}} must be substituted with a corresponding value.
GET: {{HREF_PATH}}/$value
5 PROCESSES
This section is normative
5.1 GENERAL INFORMATION ON THE USE OF ITEM STOCK
A prerequisite to build up an Item Stock and allocate it to a specific customerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. is an existing order / call-off (build-to-order). This standard, must not be used in case of building stock without any allocation to a customerCustomer In the context of OSim, the receiver of produced goods from a supplier. or supplierSupplier In the context of OSim, the producer of goods. (build-to-stock).
In contrast to the Demand and Capacity Management standard [CX-0128], this information relates to short-term planning periods of 1-4 weeks. Accordingly, neither long-term planning nor strategic planning is included in the scope. This means that only the current/actual Item Stock quantities are transmitted in this standard.
We distinguish between exactly two scenarios in multi sourcing. On the one hand, the exchange of information from supplierSupplier In the context of OSim, the producer of goods. to customerCustomer In the context of OSim, the receiver of produced goods from a supplier. and, on the other hand, from customerCustomer In the context of OSim, the receiver of produced goods from a supplier. to supplierSupplier In the context of OSim, the producer of goods.. In both scenarios, information must not be shared horizontally under any circumstances. This means that the Item Stock in relation to other customersCustomer In the context of OSim, the receiver of produced goods from a supplier. or suppliersSupplier In the context of OSim, the producer of goods. must not be shared.
The data exchange between the C-X participants refers to the direct business relationship among each other. In the case of consignation, the warehouse is specified via the real location - the customerCustomer In the context of OSim, the receiver of produced goods from a supplier./supplierSupplier In the context of OSim, the producer of goods. site. In this case the allocated stock is not considered as taken and according to our definition as not delivered (have not yet been shipped).