Skip to content

Commit 951fa26

Browse files
committed
Digital Twin Graph
1 parent b7a4580 commit 951fa26

File tree

1 file changed

+45
-0
lines changed
  • docs/design/modules/digital_twin_graph

1 file changed

+45
-0
lines changed

docs/design/modules/digital_twin_graph/README.md

+45
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
- [Introduction](#introduction)
44
- [Architecture](#architecture)
55
- [Identifiers](#identifiers)
6+
- [Provider Contract](#provider-contract)
67
- [Operations](#operations)
78

89
## <a name="introduction">Introduction</a>
@@ -44,6 +45,50 @@ A digital twin may be decomposed into digital twin entities. Each digital twin e
4445

4546
The provider ID is the identifier for a Digital Twin Provider. The provider ID must be universally unique and it is up to the provider to ensure this. The provider id may be associated with multiple instance IDs.
4647

48+
## <a name="provider-contract">Provider Contract</a>
49+
50+
The provider operations that will initally be supported by the digital twin graph are: Get, Set and Invoke.
51+
52+
Providers that want to participate in the digital twin graph, will need to do the following:
53+
<ul>
54+
<li>Provide the async_rpc's Request interface with an ask operation that will use a targeted payload that has the following:
55+
<ul>
56+
<li>Get:
57+
<ul>
58+
<li>instance_id: set to the the target's instance ID</li?>
59+
<li>member_path: is optional; if it is empty, then it means the entire entity; if it is not empty, then it targets a specific member</li?>
60+
<li>operation: set to "Get"</li>
61+
<li>payload: is not required</li>
62+
</ul>
63+
</li>
64+
<li>Set:
65+
<ul>
66+
<li>instance_id: set to the the target's instance ID</li>
67+
<li>member_path: is optional; if it is empty, then it means the entire entity; if it is not empty, then it targets a specific member</li>
68+
<li>operation: set to "Set"</li>
69+
<li>payload: the value</li>
70+
</ul>
71+
<li>Invoke:
72+
<ul>
73+
<li>instance_id: set to the the target's instance ID</li>
74+
<li>member_path: the name of command to invoke</li>
75+
<li>operation: set to "Invoke"</li>
76+
<li>payload: the command's request payload</li>
77+
</ul>
78+
</li>
79+
</ul>
80+
<li>Return the result from a provider operation to the aync_rpc's Response interface using with the answer operation that has a payload that has the following:
81+
<ul>
82+
<li>Get: The value of the target.
83+
</li>
84+
<li>Set: The payload is not required.
85+
</li>
86+
<li>Invoke: The command's response payload.
87+
</li>
88+
</li>
89+
</ul>
90+
</ul>
91+
4792
## <a name="operations">Operations</a>
4893

4994
The Digital Twin Graph Service will support four operations:

0 commit comments

Comments
 (0)