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

Migrate existing diagrams in mermaid #347

Merged
merged 2 commits into from
Mar 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
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
85 changes: 72 additions & 13 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,56 @@ A consumer is searching for an endpoint for a Digital Twin. For this he uses the
Because now the DTR is deployed decentralized on each Data Provider side. There are some new services to help to find twins.
The whole search and the embedding of the now decentralized Digital Twin is shown below:

### decentralized Digital Twin Registry environment
### Architectural Overview- Decentralized Digital Twin Registry environment
```mermaid
graph TD
subgraph Consumer_Environment [Consumer Environment]
Consumer_Application[Consumer Application] --> Consumer_EDC[Consumer EDC]
end

subgraph Central_Environment [Portal]
Portal_SSI[SSI]
end

![](img/decentralEnviroment.PNG)
subgraph Provider_Environment[Provider Environment]
Provider_EDC --> Decentralized_DTR[Decentralized DTR]
Provider[Provider] --> |create twins| Decentralized_DTR
Keycloak -.->|get token| Provider
Keycloak -.->|get token| Provider_EDC
end

### Architectural Overview
![](img/Architecture_dDTR.PNG)
Consumer_EDC -->|request twins| Provider_EDC
Consumer_EDC --> Central_Environment
Provider_EDC --> Central_Environment
```

## Asset Administration Shell Domain Model
The Asset Administration Shell Registry is an address book for Asset Administration Shell Descriptors. The diagram below, shows the domain model of the Asset Administration Shell Registry (AAS Registry).Only the main fields are shown.
```mermaid
classDiagram
AssetAdministrationShellDescriptor -- SubmodelDescriptor
AssetAdministrationShellDescriptor -- SpecificAssetId
SubmodelDescriptor -- Endpoint
Endpoint -- ProtocolInformation

class AssetAdministrationShellDescriptor{
+String id
}

![](img/Model_with_impotant_fields.PNG)
class SubmodelDescriptor{
+String id
}
class Endpoint{
-String id
}
class ProtocolInformation{
+String href
}
class SpecificAssetId{
+String name
+String value
}
```

The following table shows the synonyms for each of the domain objects above.

Expand Down Expand Up @@ -209,7 +248,12 @@ To be able to register a DigitalTwin the following prerequisites must be met.

#### Register Twins (simplified without token management by IDM)

![](img/POST_Register_Twin_simplified.PNG)
```mermaid
sequenceDiagram
Client->>+Decentralized digital Twin registry: POST /api/v3.0/shell-descriptors
Decentralized digital Twin registry->>+Client: 200 Ok Response success
Note left of Client: Registers the AAS Descriptor by providing <br>- assetIds to make discovery possible (e.g. VIN)<br>- Submodel Descriptor Endpoint
```

### Data Provider

Expand Down Expand Up @@ -330,9 +374,28 @@ At last both EDCs do the final negotiation and the consumer EDC receives the edr


#### Search for Twins (simplified)

![](img/GET_Endpoint_simplified.PNG)

```mermaid
sequenceDiagram
participant Service
participant ConsumerEDC as Consumer EDC
participant ProviderEDC as Provider EDC
participant DecentralDigitalTwinRegistry as Decentral Digital Twin Registry

Service->>+ConsumerEDC: GET EDR Token
ConsumerEDC->+ProviderEDC: EDC Negotiations
ConsumerEDC-->>-Service: EDR Token
Service->>+ProviderEDC: GET lookup/shells/assetIds
ProviderEDC->>+DecentralDigitalTwinRegistry: GET lookup/shells/assetIds
DecentralDigitalTwinRegistry-->>-ProviderEDC: AssetAdministrationShellIds
ProviderEDC-->>-Service: AssetAdministrationShellIds
Service->>+ProviderEDC: GET /shell-descriptors/{aasIdentifier}
ProviderEDC->>+DecentralDigitalTwinRegistry: GET /shell-descriptors/{aasIdentifier}
DecentralDigitalTwinRegistry-->>-ProviderEDC: AssetAdministrationShellDescriptor
ProviderEDC-->>-Service: AssetAdministrationShellDescriptor
Service->>Service: Extract Endpoint
Service->>ProviderEDC: Get Endpoint (from Submodel Descriptor)
ProviderEDC-->>-Service: Endpoint
```
## 5 Deployment-view

For Deployment needed:
Expand Down Expand Up @@ -423,10 +486,6 @@ Depending on being a Data Provider or a Data Consumer there are different tokens

### Authentication on behalf of a user
The AAS Registry can be accessed on behalf of a user. The token has to be obtained via the OpenID Connect flow. The AAS Registry will validate these tokens.

#### Postman configuration
![](img/image005.png)

*Support contact* [email protected]

### Access control to Digital Twins Based on the BPN (Business Partner Number)/ TenantId
Expand Down
Binary file removed docs/img/Architecture_dDTR.PNG
Binary file not shown.
Binary file removed docs/img/GET_Endpoint_simplified.PNG
Binary file not shown.
Binary file removed docs/img/Model_with_impotant_fields.PNG
Binary file not shown.
Binary file removed docs/img/POST_Register_Twin_simplified.PNG
Binary file not shown.
Binary file removed docs/img/image005.png
Binary file not shown.
Loading