Skip to content

Commit

Permalink
Digital Twin Graph
Browse files Browse the repository at this point in the history
  • Loading branch information
ashbeitz committed May 10, 2024
1 parent 1a17ea6 commit 0043b28
Show file tree
Hide file tree
Showing 11 changed files with 63 additions and 59 deletions.
1 change: 1 addition & 0 deletions docs/design/modules/digital_twin_graph/.accepted_words.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Agemo
App
com
DTDL
freyja
Freyja
github
Expand Down
11 changes: 11 additions & 0 deletions docs/design/modules/digital_twin_graph/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

- [Introduction](#introduction)
- [Architecture](#architecture)
- [Identifiers](#identifiers)
- [Operations](#operations)

## <a name="introduction">Introduction</a>
Expand Down Expand Up @@ -33,6 +34,16 @@ The Managed Subscriber Service is an optional service that provides integration

![Component Diagram](diagrams/digital_twin_graph_component.svg)

## <a name="identifiers">Identifiers</a>

The Digital Twin Graph will use a variety of identifiers. We will discuss the purpose of each.

The provider ID is the identifier for a Digital Twin Provider.

The model ID is the identifier for a DTDL fragment. It is expressed as a [DTMI](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v3/DTDL.v3.md#digital-twin-model-identifier).

The instance ID is the identifier for a digital twin entity. A digital twin may be decomposed into digital twin entities. Each digital twin entity is defined by a fragment of the digital twin's model (specified in DTDL).

## <a name="operations">Operations</a>

The Digital Twin Graph Service will support four operations:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,20 @@ DIGITAL_TWIN_GRAPH -> DIGITAL_TWIN_REGISTRY: FindByModeld(model_id: "dtmi:sdv:se

DIGITAL_TWIN_GRAPH <- DIGITAL_TWIN_REGISTRY: FindByModelId - response
note left
list of EndpointInfo
list of EntityAcessInfo

[
{
model_id : "dtmi:sdv:seat;1"
provider_id: "vehicle-core"
model_id: "dtmi:sdv:seat;1"
instance_id: "front left seat"
protocol: "grpc"
operations: ["get", "invoke"]
uri: Digital Twin Provider's uri
},
{
model_id : "dtmi:sdv:seat;1"
provider_id: "vehicle-core"
model_id: "dtmi:sdv:seat;1"
instance_id: "front right seat"
protocol: "grpc"
operations: ["get", "invoke"]
Expand Down
18 changes: 10 additions & 8 deletions docs/design/modules/digital_twin_graph/diagrams/find_sequence.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ CONSUMER -> DIGITAL_TWIN_GRAPH: Get(instance_id: "the vehicle", member_path: "ve
DIGITAL_TWIN_GRAPH -> DIGITAL_TWIN_REGISTRY: FindByInstanceId(instance_id: "the vehicle") - request
DIGITAL_TWIN_GRAPH <- DIGITAL_TWIN_REGISTRY: FindByInstanceId - response
note left
list of EndpointInfo
list of EntityAccessInfo

[
{
provider_id: "vehicle-core"
model_id : "dtmi:sdv:vehicle;1"
instance_id: "the vehicle"
protocol: "grpc"
operations: ["Get"]
operations: ["get"]
uri: Digital Twin Provider's uri
}
]
Expand Down
15 changes: 8 additions & 7 deletions docs/design/modules/digital_twin_graph/diagrams/get_sequence.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ CONSUMER -> DIGITAL_TWIN_GRAPH: Invoke(instance_id: "front left seat massager",
DIGITAL_TWIN_GRAPH -> DIGITAL_TWIN_REGISTRY: FindByInstanceId(id: "front left seat massager") - request
DIGITAL_TWIN_GRAPH <- DIGITAL_TWIN_REGISTRY: FindByInstanceId - response
note left
list of EndpointInfo
list of EntityAccessInfo

[
{
provider_id: "vehicle-core"
model_id : "dtmi:sdv:premium_airbag_seat_massager;1"
instance_id: "front left seat massager"
protocol: "grpc"
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ CONSUMER -> DIGITAL_TWIN_GRAPH: Set(instance_id: "the vehicle", member_path: "ve
DIGITAL_TWIN_GRAPH -> DIGITAL_TWIN_REGISTRY: FindByInstanceId(instance_id: "the vehicle") - request
DIGITAL_TWIN_GRAPH <- DIGITAL_TWIN_REGISTRY: FindByInstanceId - response
note left
list of EndpointInfo
list of EntityAccessInfo

[
{
provider_id: "vehicle-core"
model_id : "dtmi:sdv:vehicle;1"
instance_id: "the vehicle"
protocol: "grpc"
operations: ["Get"]
operations: ["get"]
uri: Digital Twin Provider's uri
}
]
Expand Down
15 changes: 8 additions & 7 deletions docs/design/modules/digital_twin_graph/diagrams/set_sequence.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0043b28

Please sign in to comment.