Skip to content

Commit 900c893

Browse files
committed
Added sequence diagram
1 parent 85dd3e7 commit 900c893

File tree

1 file changed

+59
-14
lines changed

1 file changed

+59
-14
lines changed

docs-kits/kits/industry-core-kit/software-development-view/digital-twins.mdx

Lines changed: 59 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -283,9 +283,40 @@ Further information about the data transfer of submodels can be found in the [Di
283283

284284
#### Cloud-to-Cloud Parquet File Transfer with EDC Cloud Extension
285285

286-
1. `Provider` has a parquet file which needs to be shared with consumer.
287-
2. `Provider` uploads the parquet file to the cloud (S3 bucket in our case)
288-
3. `Provider` creates an EDC asset for S3 bucket. The `dataAddress` includes information about the S3 bucket and the file name:
286+
```mermaid
287+
sequenceDiagram
288+
participant PRO as Data Provider
289+
participant Con as Data Consumer
290+
participant PEDC as Provider EDC <br/>Control Plane
291+
participant DTR as Digital Twin Registry
292+
participant SM as Submodel Server
293+
participant PAWS as Provider AWS Cloud
294+
participant CAWS as Consumer AWS Cloud
295+
296+
autonumber
297+
PRO->>PAWS: Provider uploads the parquet file to the cloud
298+
PRO->>PEDC: Provider creates an EDC asset for S3 bucket
299+
PRO->>PEDC: Provider creates an EDC asset for Submodel <br>pointing to Aspect Model `QualityParquetExchange`
300+
PRO->>DTR: Provider creates a shell with Shell Descriptors and the edc Asset with controlplane URL
301+
Note right of DTR: Shell Descriptor contains the<br>Submodel with above EDC asset
302+
Con->>PEDC: negotiate for DTR and retrieve token
303+
PEDC-->>Con: access token
304+
Con->>DTR: GET {{provider-data.plane}}/lookup/shells?assetIds=xyz&assetIds=abc
305+
DTR-->>Con: aas-id
306+
Con->>DTR: GET {{provider-data.plane}}/shell-descriptors/{{aas-id}} <br/> with aas-id encoded base64url
307+
DTR-->>Con: shell-descriptor including the <br/> submodel's Dataset-ID (subprotocolBody)
308+
Con->>PEDC: negotiate for Dataset and retrieve token
309+
PEDC-->>Con: access token
310+
Con->>SM: GET {{submodel-descriptor/href}}/$value
311+
SM-->>Con: data
312+
Note left of Con: Submodel contains the parquet<br>file assetID information
313+
Con->>PEDC: Consumer reads submodel data,<br>starts EDC negotiation for parquet and<br>provides its own bucket details
314+
PAWS->>CAWS: Provider uploads parquet file to consumer<br>AWS from its own AWS
315+
CAWS-->>Con: Consumer can download the file directly from its AWS cloud
316+
```
317+
318+
1. `Provider` uploads the parquet file to the cloud (S3 bucket in our case)
319+
2. `Provider` creates an EDC asset for S3 bucket. The `dataAddress` includes information about the S3 bucket and the file name:
289320

290321
```json
291322
{
@@ -299,11 +330,11 @@ Further information about the data transfer of submodels can be found in the [Di
299330

300331
See also full example here: [edc-asset for file transfer](https://eclipse-tractusx.github.io/docs-kits/kits/Quality-Kit/Software%20Development%20View/Specification%20Quality%20Kit/)
301332

302-
4. `Provider` creates another EDC asset for Submodel pointing to Aspect Model `QualityParquetExchange`. This aspect model will contain the information (assetID, Dataplane URL and Controlplane URl) for AmazonS3 EDC asset created by provider in step 3.
303-
5. `Provider` creates a shell with Shell Descriptors and the edc Asset with controlplane URL. This Shell Descriptor contains the Submodel Descriptor which refers to EDC asset created in step 4.
304-
6. `Consumer` calls the DTR via EDC Dataplane and reads the Submodel Descriptor for `QualityParquetExchange` aspect model from the Shell Descriptor.
305-
7. `Consumer` calls Submodel Server using Dataplane URL, which is setup by the provider and in response receives the information (assetID, Dataplane URl and Controlplane URL) for AmazonS3 EDC asset created by provider in step 3.
306-
8. `Consumer` starts negotiation/transfer process and provides its own bucket information:
333+
3. `Provider` creates another EDC asset for Submodel pointing to Aspect Model `QualityParquetExchange`. This aspect model will contain the information (assetID, Dataplane URL and Controlplane URl) for AmazonS3 EDC asset created by provider in step 3.
334+
4. `Provider` creates a shell with Shell Descriptors and the edc Asset with controlplane URL. This Shell Descriptor contains the Submodel Descriptor which refers to EDC asset created in step 4.
335+
5. `Consumer` calls the DTR via EDC Dataplane and reads the Submodel Descriptor for `QualityParquetExchange` aspect model from the Shell Descriptor.
336+
6. `Consumer` calls Submodel Server using Dataplane URL, which is setup by the provider and in response receives the information (assetID, Dataplane URl and Controlplane URL) for AmazonS3 EDC asset created by provider in step 3.
337+
7. `Consumer` starts negotiation/transfer process and provides its own bucket information:
307338

308339
```json
309340
{
@@ -317,8 +348,8 @@ See also full example here: [edc-asset for file transfer](https://eclipse-tractu
317348
}
318349
```
319350

320-
9. `Provider` retrieve the request and download the requested Parquet file from bucket and upload it to the consumer bucket.
321-
10. `Consumer` can download the file from their own bucket.
351+
8. `Provider` retrieve the request and download the requested Parquet file from bucket and upload it to the consumer bucket.
352+
9. `Consumer` can download the file from their own bucket.
322353

323354
#### Submodel Descriptor which provided information to retrieve/transfer Parquet file
324355

@@ -353,7 +384,7 @@ The Submodel Descriptor for Parquet file information can be defined like:
353384
"keys": [
354385
{
355386
"type": "GlobalReference",
356-
"value": "urn:bamm:io.catenax.Quality:1.0.0#QualityParquetExchange"
387+
"value": "urn:samm:io.catenax.quality.parquet_exchange:1.0.0#ParquetExchange"
357388
}
358389
]
359390
},
@@ -368,16 +399,30 @@ The Submodel Descriptor for Parquet file information can be defined like:
368399
}
369400
```
370401

371-
**Aspect model QualityParquetExchange can be found in Semantic Modeling repository [Github](https://github.com/eclipse-tractusx/sldt-semantic-models/)**
372-
373402
| Parameter | Value | Description |
374403
|-------------------------|---------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|
375404
| href | Dataplane URL | This Dataplane URl returns aspect model QualityParquetExchange |
376405
| subprotocolBody | id=edc-asset-id;dspEndpoint=controlplane-url | Includes information about provider edc controlplane and edc-asset ID |
377406
| subprotocolBodyEncoding | plain | Encoding type for Submodel response |
378-
| semanticId.keys[].value | urn:bamm:io.catenax.Quality:1.0.0#QualityParquetExchange | Aspect model which provides information (assetID, Dataplane URl and Controlplane URL) for AmazonS3 EDC asset |
407+
| semanticId.keys[].value | urn:samm:io.catenax.quality.parquet_exchange:1.0.0#ParquetExchange | Aspect model which provides information (assetID, Dataplane URl and Controlplane URL) for AmazonS3 EDC asset |
379408
| description[].text | submodel-descriptor for quality usecase which provides data for parquet file to be transferred via EDC. | Further description for the consumer. |
380409

410+
**Aspect model QualityParquetExchange can be found in Semantic Modeling repository [Github](https://github.com/eclipse-tractusx/sldt-semantic-models/)**
411+
412+
A sample payload for QualityParquetExchange aspect model is described below:
413+
```json
414+
{
415+
"mappingRule": "CX-0123",
416+
"content": "io.catenax.fleet.diagnostic_data",
417+
"dataParquetFile": {
418+
"edcAssetId": "d99cfe94-bfa0-4eba-9e31-d30c4f31831b",
419+
"dataplaneUrl": "https://semantics-edc-provider-dataplane.catenax/diagnosticdata/1",
420+
"controlplaneUrl": "dspEndpoint=https://semantics-edc-provider-controlplane.catenax.net",
421+
"encodingType": "application/octet-stream"
422+
}
423+
}
424+
```
425+
381426
### Lookup in the Digital Twin Registry
382427

383428
For a data provider following steps are currently required when they have to lookup digital twins of other partners in the Catena-X network.

0 commit comments

Comments
 (0)