Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • specifications/tr/tr-0025
1 result
Show changes
Commits on Source (2)
Showing
with 248 additions and 996 deletions
.DS_Store
......@@ -179,25 +179,7 @@ Call flows regarding the registration phase depicted in figure 7.2.1-1 are order
5. Gateway application (MN-AE) discovers the smartphone application (IN-AE) from gateway (MN-CSE) with specific filter criteria. The discovered IN-AE is granted access to the remote light control service containers.
6. Gateway application (MN-AE) creates an accessControlPolicy resource granting all the entities playing roles in the current use case including ADN-AE1, ADN-AE2, MN-AE and IN-AE access to the created container and content instance resources.
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
MNCSE ->> INCSE: 1) Gateway (MN-CSE)<br />registration into oneM2M<br />service platform (IN-CSE)
MNAE ->> MNCSE: 2) Gateway application<br />(MN-AE) registration<br />into gateway (MN-CSE)
ADNAE1 ->> MNCSE: 3-1) Light application (ADN-AE1)<br />registration into gateway (MN-CSE)
ADNAE2 ->> MNCSE: 3-2) Light application (ADN-AE2)<br />registration into gateway (MN-CSE)
INAE ->> INCSE: 4-1) Smartphone application<br />(IN-AE)registration into<br />oneM2M service platform<br />(IN-CSE)
INCSE ->> MNCSE: 4-2) Announcement of<br />IN-AE to MN-CSE<br />by IN-CSE
MNAE ->> MNCSE: 5) Discovery (GET) of<br />IN-AE announced<br />to MN-CSE
MNAE ->> MNCSE: 6) Access control policy<br />creation granting ADN-AEs,<br />MN-AE and IN-AE can<br />access to remote light<br />control service containers
```
![Figure 7.2.1-1: Registration phase call flows](media/RegistrationPhaseCallFlows.png)
**Figure 7.2.1-1: Registration phase call flows**
......@@ -210,29 +192,7 @@ Call flows regarding the initial resource creation phase depicted in figure 7.2.
3. Content Instance resources are created by light applications (ADN-AE1 and ADN-AE2) under each created container and represent the controlled light states.
4. Subscription resources are created under the containers in the gateway (MN-CSE) so that subscribers, i.e. light applications, can be notified whenever there is a new contentInstance resource created by the IN-AE.
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
MNAE ->> MNCSE: 1) Group resource<br />creation for updating<br />and retrieval of the state<br />of a group of lights
Note right of MNCSE: Group resource is created<br />with a specific access<br />control policy under MN-CSE
ADNAE1 ->> MNCSE: 2-1) Container resource<br />creation of light_1
ADNAE2 ->> MNCSE: 2-2) Container resource<br />creation of light_2
Note right of MNCSE: Container resources are<br />created with a specific access<br />control policy under MN-CSE
ADNAE1 ->> MNCSE: 3-1) ContentInstance<br />resource creation<br />under container of light_1
ADNAE2 ->> MNCSE: 3-2) ContentInstance<br />resource creation<br />under container of light_2
Note right of MNCSE: ContentInstance resources are<br />created under the containers<br />in MN-CSE
ADNAE1 ->> MNCSE: 4-1) Subscription resource<br />creation to container of light_1
ADNAE2 ->> MNCSE: 4-2) Subscription resource<br />creation to container of light_2
Note right of MNCSE: Subscription resources to<br />containers in MN-CSE are<br />created for monitoring<br />contentInstance updates
```
![Figure 7.2.2-1: Initial resource creation phase call flows](media/InitialResourceCreationPhaseCallFlows.png)
**Figure 7.2.2-1: Initial resource creation phase call flows**
......@@ -240,28 +200,11 @@ Note right of MNCSE: Subscription resources to<br />containers in MN-CSE are<br
Call flows regarding the discovery and update of group resources are depicted in figure 7.2.3-1 and ordered as follows:
1. Gateway application (MN-AE) periodically sends a RETRIEVE request including the parameter _filterUsage_ and specific filter criteria condition(s) as a query string for discovery of container resources stored in the MN-CSE of gateway. The filter criteria conditions for the discovery operation include _createdBefore, createdAfter, modifiedSince, unmodifiedSInce, label, creator, expireAfter, resourceType_ etc.
1. Gateway application (MN-AE) periodically sends a RETRIEVE request including the parameter _filterUsage_ and specific filter criteria condition(s) as a query string for discovery of container resources stored in the MN-CSE of gateway. The filter criteria conditions for the discovery operation include _createdBefore, createdAfter, modifiedSince, unmodifiedSince, label, creator, expireAfter, resourceType_ etc.
2. Gateway (MN-CSE) responds with URIs of the discovered container resources, if any, to the gateway application (MN-AE) according to the filter criteria(s).
3. Gateway application (MN-AE) sends a update request to update the list of group members within the previously created group resource with identifiers of the discovered containers.
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
MNAE ->> MNCSE: 1) Discovery (GET) with filter<br />criteria(s)
activate MNCSE
Note left of MNAE: MN-AE discovers the<br />container resources stored<br />in MN-CSE with specific<br />filter criteria(s)
MNCSE ->> MNAE: 2) IDs of discovered<br />container resources
deactivate MNCSE
MNAE ->> MNCSE: 3) Update group resource<br />members with IDs of<br />discovered container<br />resources
Note left of MNAE: MN-AE updates the<br />group resource with the<br />IDs of the discovered<br />container resources
```
![Figure 7.2.3-1: Discovery and group light state update phase call flows](media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png)
**Figure 7.2.3-1: Discovery and group light state update phase call flows**
......@@ -277,66 +220,11 @@ For the case where the IN-AE sends a Discovery request for the discovery of grou
In the case of retrieval of the latest contentInstance resources of the group of containers, the IN-AE sends a retrieve request to the _fanOutPoint_ of the discovered group resource.
5. The MN-CSE responds to the IN-AE with the latest light state(s).
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
INAE ->> INCSE: 1-1) Discovery single light<br />container with filter<br />criteria
INCSE ->> MNCSE: 1-2)
activate MNCSE
Note left of MNCSE: IN-AE discovers each<br />single light container<br />located in MN-CSE
MNCSE ->> INCSE: 2-1)
deactivate MNCSE
INCSE ->> INAE: 2-2) URIs of discovered<br />container resources<br />are responded
INAE ->> INCSE: 3-1-1) Retrieval of the latest<br />contentInstance from<br />discovered light container<br /> light_1
INCSE ->> MNCSE: 3-1-2)
activate MNCSE
Note left of MNCSE: Retrieval of the latest<br />contentInstance from<br />each discovered single<br />light container
MNCSE ->> INCSE: 4-1-1)
deactivate MNCSE
INCSE ->> INAE: 4-1-2) The latest<br />contentInstance of container<br />light_1 is responded
INAE ->> INCSE: 3-2-1) Retrieval of the latest<br />contentInstance from<br />discovered light container<br /> light_2
INCSE ->> MNCSE: 3-2-2)
activate MNCSE
MNCSE ->> INCSE: 4-2-1)
deactivate MNCSE
INCSE ->> INAE: 4-2-2) The latest<br />contentInstance of container<br />light_2 is responded
```
![Figure 7.2.4-1: Discovery and single light retrieval phase call flows](media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png)
**Figure 7.2.4-1: Discovery and single light retrieval phase call flows**
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
INAE ->> INCSE: 1-1) Discovery group resources<br />with filter criteria
INCSE ->> MNCSE: 1-2)
activate MNCSE
Note left of MNCSE: IN-AE discovery of<br />group resources stored<br />in MN-CSE
MNCSE ->> INCSE: 2-1)
deactivate MNCSE
INCSE ->> INAE: 2-2) Resond with URIs of<br />discovered group resources
INAE ->> INCSE: 3-1) Send a fanOutPoint<br />request to the group resource<br />for retrieval of latest<br />contentInstance
INCSE ->> MNCSE: 3-2)
activate MNCSE
Note left of MNCSE: IN-AE retrieves a group<br />of latest contentInstance<br />having the state of all lights
MNCSE ->> INCSE: 4-1)
deactivate MNCSE
INCSE ->> INAE: 4-2) Respond with latest<br />contentInstance
```
![Figure 7.2.4-2 Discovery and a group of lights retrieval phase call flows](media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png)
**Figure 7.2.4-2 Discovery and a group of lights retrieval phase call flows**
......@@ -353,27 +241,7 @@ _Light#1_ and _Light#2_ are controlled remotely by a human user through a smart
1. When the user updates the light state on her/his smartphone, the IN-AE creates a new contentInstance representing a new light state under the targeted container of a Light ADN-AE stored in the MN-CSE.
2. If the contentInstance is created sucessfully_,_ the MN-CSE sends a notification to the corresponsding Light ADN-AE to notify it that a new contentInstance resource was created.
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
INAE ->> INCSE: 1-1) Creation of a light_1<br>contentInstance with<br>new light state
INCSE ->> MNCSE: 1-2) Processing<br>contentInstance<br>creation
activate MNCSE
MNCSE ->> ADNAE1: 2-1) Notification with the latest light state<br>to be executed to controlled light_1
deactivate MNCSE
INAE ->> INCSE: 1-3) Creation of a light_2<br>contentInstance with<br>new light state
INCSE ->> MNCSE: 1-4) Processing<br>contentInstance<br>creation
activate MNCSE
MNCSE ->> ADNAE2: 2-2) Notification with the latest light state<br>to be executed to controlled light_2
deactivate MNCSE
```
![Figure 7.3.2-1: Single light remote control phase call flows](media/SingleLightRemoteControlPhaseCallFlows.png)
**Figure 7.3.2-1: Single light remote control phase call flows**
......@@ -385,26 +253,7 @@ Users can also remotely control multiple lights through the smartphone applicati
1. When the user updates the state of a group of lights on her/his smartphone, the IN-AE sends a contentInstance create request targeting the group resource on the MN-CSE. The MN-CSE then fans out the request to the individual Light container member resources on the MN-CSE..
2. For each contentInstances created sucessfully, the MN-CSE sends a notification to the corresponsding Light ADN-AE.
```mermaid
%%{init: { 'sequence': {'mirrorActors': false} } }%%
sequenceDiagram
Participant ADNAE1 as ADN-AE1
Participant ADNAE2 as ADN-AE2
Participant MNAE as MN-AE
Participant MNCSE as MN-CSE
Participant INCSE as IN-CSE
Participant INAE as IN-AE
Note over INCSE: Create a group of<br>contentInstances in<br>MN-CSE when state<br>of a group of lights<br> is updated on<br>user's smartphone
INAE ->> INCSE: 1-1)
INCSE ->> MNCSE: 1-2)
activate MNCSE
Note over MNCSE: processing of<br>contentInstance<br>creation
Note over MNAE: MN-CSE sends<br>notification to each<br>light ADN-AE in<br>group
MNCSE ->> ADNAE2: 2-1-1)
MNCSE ->> ADNAE1: 2-1-2)
deactivate MNCSE
```
![Figure 7.3.3-1: Multiple lights remote control phase call flows](media/MultipleLightsRemoteControlPhaseCallFlows.png)
**Figure 7.3.3-1: Multiple lights remote control phase call flows**
......@@ -463,7 +312,7 @@ The resource tree of IN-CSE starts with a CSEBase named _server_ depicted in fi
The root CSEBase has two direct child resources, a remoteCSE named _home_gateway_ and an AE named _smartphone_ae_ .
![IN-CSE resource structure](media/IN-CSEResourceStructure.png)
![Figure 8.5.1-1: IN-CSE resource structure](media/IN-CSE-ResourceStructure.png)
**Figure 8.5.1-1: IN-CSE resource structure**
......@@ -480,8 +329,7 @@ The resource tree is constructed with child resources as follows:
- an MN-AE named _gateway_ae_ which contains a group child resource,
- a group resource named _containers_group_ whose members are the _light_ containers of each AND-AEs. Smartphone application users with propper access control privileges can send a request to the _fanOutPoint_ virtual resource of this group to create and retrieve content instances in the two _light_ containers.
![MN-CSE resource tree](media/MN-CSEResourceTree.png)
![Figure 8.5.2-1: MN-CSE resource tree](media/MN-CSE-ResourceTree.png)
**Figure 8.5.2-1: MN-CSE resource tree**
......
media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png

43.6 KiB | W: 0px | H: 0px

media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png

26.5 KiB | W: 0px | H: 0px

media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png
media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png
media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png
media/DiscoveryAndAGroupFfLightsRetrievalPhaseCallFlows.png
  • 2-up
  • Swipe
  • Onion skin
@startuml
hide footbox
skinparam sequenceMessageAlign center
skinparam noteTextAlignment center
'!theme plain
'!theme mars
'autonumber "(#) "
Participant "ADN-AE1" as ADNAE1
Participant "ADN-AE2" as ADNAE2
Participant "MN-AE" as MNAE
Participant "MN-CSE" as MNCSE
Participant "IN-CSE" as INCSE
Participant "IN-AE" as INAE
INAE -> INCSE: 1-1) Discovery group resources\nwith filter criteria
INCSE -> MNCSE: 1-2)
activate MNCSE
Note left of MNCSE
IN-AE discovery of
group resources stored
in MN-CSE
end note
MNCSE -> INCSE: 2-1)
deactivate MNCSE
INCSE -> INAE: 2-2) Resond with URIs of\ndiscovered group resources
INAE -> INCSE: 3-1) Send a fanOutPoint\nrequest to the group resource\nfor retrieval of latest\ncontentInstance
INCSE -> MNCSE: 3-2)
activate MNCSE
Note left of MNCSE
IN-AE retrieves a group
of latest contentInstance
having the state of all lights
end note
MNCSE -> INCSE: 4-1)
deactivate MNCSE
INCSE -> INAE: 4-2) Respond with latest\ncontentInstance
@enduml
media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png

41.3 KiB | W: 0px | H: 0px

media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png

21.6 KiB | W: 0px | H: 0px

media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png
media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png
media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png
media/DiscoveryAndGroupLightStateUpdatePhaseCallFlows.png
  • 2-up
  • Swipe
  • Onion skin
@startuml
hide footbox
skinparam sequenceMessageAlign center
skinparam noteTextAlignment center
'!theme plain
'!theme mars
'autonumber "(#) "
Participant "ADN-AE1" as ADNAE1
Participant "ADN-AE2" as ADNAE2
Participant "MN-AE" as MNAE
Participant "MN-CSE" as MNCSE
Participant "IN-CSE" as INCSE
Participant "IN-AE" as INAE
MNAE -> MNCSE: 1) Discovery (GET) with filter\ncriteria(s)
activate MNCSE
Note left of MNAE
MN-AE discovers the
container resources stored
in MN-CSE with specific
filter criteria(s)
end note
MNCSE -> MNAE: 2) IDs of discovered\ncontainer resources
deactivate MNCSE
MNAE -> MNCSE: 3) Update group resource\nmembers with IDs of\ndiscovered container\nresources
Note left of MNAE
MN-AE updates the
group resource with the
IDs of the discovered
container resources
end note
@enduml
media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png

64.4 KiB | W: 0px | H: 0px

media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png

37.2 KiB | W: 0px | H: 0px

media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png
media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png
media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png
media/DiscoveryAndSingleLightRetrievalPhaseCallFlows.png
  • 2-up
  • Swipe
  • Onion skin
@startuml
hide footbox
skinparam sequenceMessageAlign center
skinparam noteTextAlignment center
'!theme plain
'!theme mars
'autonumber "(#) "
Participant "ADN-AE1" as ADNAE1
Participant "ADN-AE2" as ADNAE2
Participant "MN-AE" as MNAE
Participant "MN-CSE" as MNCSE
Participant "IN-CSE" as INCSE
Participant "IN-AE" as INAE
INAE -> INCSE: 1-1) Discovery single light\ncontainer with filter\ncriteria
INCSE -> MNCSE: 1-2)
activate MNCSE
Note left of MNCSE
IN-AE discovers each
single light container
located in MN-CSE
end note
MNCSE -> INCSE: 2-1)
deactivate MNCSE
INCSE -> INAE: 2-2) URIs of discovered\ncontainer resources\nare responded
INAE -> INCSE: 3-1-1) Retrieval of the latest\ncontentInstance from\ndiscovered light container\n light#1
INCSE -> MNCSE: 3-1-2)
activate MNCSE
Note left of MNCSE
Retrieval of the latest
contentInstance from
each discovered single
light container
end note
MNCSE -> INCSE: 4-1-1)
deactivate MNCSE
INCSE -> INAE: 4-1-2) The latest\ncontentInstance of container\nlight_1 is responded
INAE -> INCSE: 3-2-1) Retrieval of the latest\ncontentInstance from\ndiscovered light container\n light#2
INCSE -> MNCSE: 3-2-2)
activate MNCSE
MNCSE ->> INCSE: 4-2-1)
deactivate MNCSE
INCSE ->> INAE: 4-2-2) The latest\ncontentInstance of container\nlight#2 is responded
@enduml
media/IN-CSE-ResourceStructure.png

3.87 KiB

@startuml
skinparam Legend {
BackgroundColor transparent
BorderColor transparent
FontSize 20
}
legend
server
|_ home_gateway
|_ smartphone_ae
end legend
@enduml
\ No newline at end of file
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="125px" preserveAspectRatio="none" style="width:221px;height:125px;background:#FFFFFF;" version="1.1" viewBox="0 0 221 125" width="221px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="61" x="17" y="45.5645">server</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="152" x="41" y="70.8457">home_gateway</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="155" x="41" y="94.127">smartphone_ae</text><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="62.9219"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="63.9219" y2="63.9219"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="52.2813" y2="63.9219"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="86.2031"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="87.2031" y2="87.2031"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="63.9219" y2="87.2031"/><!--SRC=[ROv13i9030FlUKMUW7W2I9ouyO1Ln5hRgjsaoWOG5FvE2npnpHhRSXjwdSIbyX45cdacNhIJyr3SBfhtDffpk6XRSj3uSlCC_yyEfd7g7-3jXbv4usUN6lmAfsVYpYfIaS1DxgjlLJocpXH9GEk7N-KD]--></g></svg>
\ No newline at end of file
media/InitialResourceCreationPhaseCallFlows.png

76.7 KiB | W: 0px | H: 0px

media/InitialResourceCreationPhaseCallFlows.png

40.2 KiB | W: 0px | H: 0px

media/InitialResourceCreationPhaseCallFlows.png
media/InitialResourceCreationPhaseCallFlows.png
media/InitialResourceCreationPhaseCallFlows.png
media/InitialResourceCreationPhaseCallFlows.png
  • 2-up
  • Swipe
  • Onion skin
@startuml
hide footbox
skinparam sequenceMessageAlign center
skinparam noteTextAlignment center
'!theme plain
'!theme mars
'autonumber "(#) "
Participant "ADN-AE1" as ADNAE1
Participant "ADN-AE2" as ADNAE2
Participant "MN-AE" as MNAE
Participant "MN-CSE" as MNCSE
Participant "IN-CSE" as INCSE
Participant "IN-AE" as INAE
MNAE -> MNCSE: 1) Group resource\ncreation for updating\nand retrieval of the state\nof a group of lights
Note right of MNCSE
Group resource is created
with a specific access
control policy under MN-CSE
end note
ADNAE1 -> MNCSE: 2-1) Container resource\ncreation of light#1
ADNAE2 -> MNCSE: 2-2) Container resource\ncreation of light#2
Note right of MNCSE
Container resources are
created with a specific access
control policy under MN-CSE
end note
ADNAE1 -> MNCSE: 3-1) ContentInstance\nresource creation\nunder container of light#1
ADNAE2 -> MNCSE: 3-2) ContentInstance\nresource creation\nunder container of light#2
Note right of MNCSE
ContentInstance resources are
created under the containers
in MN-CSE
end note
ADNAE1 -> MNCSE: 4-1) Subscription resource\ncreation to container of light#1
ADNAE2 -> MNCSE: 4-2) Subscription resource\ncreation to container of light#2
Note right of MNCSE
Subscription resources to
containers in MN-CSE are
created for monitoring
contentInstance updates
end note
@enduml
\ No newline at end of file
media/MN-CSE-ResourceTree.png

13.3 KiB

@startuml
skinparam Legend {
BackgroundColor transparent
BorderColor transparent
FontSize 20
}
legend
home_gateway
|_ gateway_acp
|_ light_ae1
|_ light
|_ CI1
|_ CI2
|_ CIn
|_ lightstate_sub1
|_ light_ae2
|_ light
|_ CI1
|_ CI2
|_ CIn
|_ lightstate_sub2
|_ gateway_ae
|_containers_group
end legend
@enduml
\ No newline at end of file
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="451px" preserveAspectRatio="none" style="width:242px;height:451px;background:#FFFFFF;" version="1.1" viewBox="0 0 242 451" width="242px" zoomAndPan="magnify"><defs/><g><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="152" x="17" y="45.5645">home_gateway</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="131" x="41" y="70.8457">gateway_acp</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="93" x="41" y="94.127">light_ae1</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="46" x="49" y="117.4082">light</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="140.6895">CI1</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="163.9707">CI2</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="187.252">CIn</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="155" x="57" y="210.5332">lightstate_sub1</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="93" x="41" y="233.8145">light_ae2</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="46" x="49" y="257.0957">light</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="280.377">CI1</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="303.6582">CI2</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="33" x="57" y="326.9395">CIn</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="155" x="57" y="350.2207">lightstate_sub2</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="119" x="41" y="373.502">gateway_ae</text><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="174" x="43" y="396.7832">containers_group</text><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="62.9219"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="63.9219" y2="63.9219"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="52.2813" y2="63.9219"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="86.2031"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="87.2031" y2="87.2031"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="63.9219" y2="87.2031"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="40" y="109.4844"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="41" y1="110.4844" y2="110.4844"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="33" y1="87.2031" y2="110.4844"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="132.7656"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="133.7656" y2="133.7656"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="110.4844" y2="133.7656"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="156.0469"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="157.0469" y2="157.0469"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="133.7656" y2="157.0469"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="179.3281"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="180.3281" y2="180.3281"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="157.0469" y2="180.3281"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="202.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="203.6094" y2="203.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="180.3281" y2="203.6094"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="225.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="226.8906" y2="226.8906"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="87.2031" y2="226.8906"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="40" y="249.1719"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="41" y1="250.1719" y2="250.1719"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="33" y1="226.8906" y2="250.1719"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="272.4531"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="273.4531" y2="273.4531"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="250.1719" y2="273.4531"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="295.7344"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="296.7344" y2="296.7344"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="273.4531" y2="296.7344"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="319.0156"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="320.0156" y2="320.0156"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="296.7344" y2="320.0156"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="48" y="342.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="49" y1="343.2969" y2="343.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="41" x2="41" y1="320.0156" y2="343.2969"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="32" y="365.5781"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="33" y1="366.5781" y2="366.5781"/><line style="stroke:#000000;stroke-width:1.0;" x1="25" x2="25" y1="226.8906" y2="366.5781"/><rect fill="none" height="2" style="stroke:#000000;stroke-width:1.0;" width="2" x="40" y="388.8594"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="41" y1="389.8594" y2="389.8594"/><line style="stroke:#000000;stroke-width:1.0;" x1="33" x2="33" y1="366.5781" y2="389.8594"/><text fill="#000000" font-family="sans-serif" font-size="20" lengthAdjust="spacing" textLength="6" x="17" y="422.0645">&#160;</text><!--SRC=[dP192iCm34NNqIbyXCP7QA1GwAu7C6eY79D43h93wNJtsXcWXQwgrHDVF2I5pl68WeCwaILkr0DKgZtMdHK_SLFvtekAWXpI775SSYyDoU_iu3cUtPsKti4Be9-zqFg1ZCL8Lxp1qwWL3TPZRdjdssYGIYYs3egCrR7SG6_02ynJ8IQH2TEb_DJelpNwQpdAdZeTX8v9Wia_6G7oezQxtW00]--></g></svg>
\ No newline at end of file