add umlet diagram
This commit is contained in:
1 parent
a4058a2882
commit
1bb25ec1c1
3 files changed
+403
-8
No files matched your search
@@ -112,6 +112,7 @@
|
|||||||
"vegalite",
|
"vegalite",
|
||||||
"wavedrom",
|
"wavedrom",
|
||||||
"wireviz",
|
"wireviz",
|
||||||
|
"umlet",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
plantuml: {
|
plantuml: {
|
||||||
|
|||||||
@@ -0,0 +1,340 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<diagram program="umlet" version="15.1">
|
||||||
|
<zoom_level>11</zoom_level>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>759</x>
|
||||||
|
<y>99</y>
|
||||||
|
<w>242</w>
|
||||||
|
<h>198</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>AppE
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
+dataIndication
|
||||||
|
+advIndication
|
||||||
|
+connIndication
|
||||||
|
+connConfirmation
|
||||||
|
+discIndication
|
||||||
|
+discConfirmation
|
||||||
|
|
||||||
|
+setNWE(NWE*)</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>374</x>
|
||||||
|
<y>396</y>
|
||||||
|
<w>242</w>
|
||||||
|
<h>154</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>iNWE
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
+dataIndication(Data*)
|
||||||
|
+advIndication(Advertise*)
|
||||||
|
+connIndication(Connection*)
|
||||||
|
+connConfirmation(Connection*)
|
||||||
|
+discIndication(Connection*)
|
||||||
|
+discConfirmation(Connection*)</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>759</x>
|
||||||
|
<y>693</y>
|
||||||
|
<w>242</w>
|
||||||
|
<h>99</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>RTX
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
+send(Frame*)
|
||||||
|
|
||||||
|
+subscribe(iRTX*)</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>759</x>
|
||||||
|
<y>396</y>
|
||||||
|
<w>242</w>
|
||||||
|
<h>198</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>NWE
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
+dataRequest(Data*)
|
||||||
|
+advRequest(Advertise*)
|
||||||
|
+connRequest(Connection*)
|
||||||
|
+discRequest(Connection*)
|
||||||
|
+discConfirmation(Connection*)
|
||||||
|
+receive
|
||||||
|
|
||||||
|
+subscribe(iNWE*)
|
||||||
|
setRTX(RTX*)</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>374</x>
|
||||||
|
<y>693</y>
|
||||||
|
<w>242</w>
|
||||||
|
<h>99</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>iRTX
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
+receive(Frame*)</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>1144</x>
|
||||||
|
<y>165</y>
|
||||||
|
<w>143</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Node
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>1144</x>
|
||||||
|
<y>297</y>
|
||||||
|
<w>143</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Advertise
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
n: Node
|
||||||
|
channel: int</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>1144</x>
|
||||||
|
<y>418</y>
|
||||||
|
<w>143</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Connection
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
n1: Node
|
||||||
|
n2: Node
|
||||||
|
channel: int</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>1144</x>
|
||||||
|
<y>539</y>
|
||||||
|
<w>143</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Data
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
Byte: data[]</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>UMLClass</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>1144</x>
|
||||||
|
<y>704</y>
|
||||||
|
<w>143</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>Frame
|
||||||
|
fg=gray
|
||||||
|
--
|
||||||
|
conn: Connection
|
||||||
|
data: Data</panel_attributes>
|
||||||
|
<additional_attributes/>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>869</x>
|
||||||
|
<y>286</y>
|
||||||
|
<w>99</w>
|
||||||
|
<h>132</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<<<->
|
||||||
|
fg=gray
|
||||||
|
m1=-theNWE</panel_attributes>
|
||||||
|
<additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>869</x>
|
||||||
|
<y>583</y>
|
||||||
|
<w>88</w>
|
||||||
|
<h>132</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<<<->
|
||||||
|
fg=gray
|
||||||
|
m1=-theRTX</panel_attributes>
|
||||||
|
<additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>484</x>
|
||||||
|
<y>176</y>
|
||||||
|
<w>297</w>
|
||||||
|
<h>242</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>10.0;200.0;10.0;10.0;250.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>484</x>
|
||||||
|
<y>561</y>
|
||||||
|
<w>297</w>
|
||||||
|
<h>154</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>10.0;120.0;10.0;10.0;250.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>605</x>
|
||||||
|
<y>429</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>44</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray
|
||||||
|
<<include>></panel_attributes>
|
||||||
|
<additional_attributes>10.0;20.0;140.0;20.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>605</x>
|
||||||
|
<y>704</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>44</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray
|
||||||
|
<<include>></panel_attributes>
|
||||||
|
<additional_attributes>10.0;20.0;140.0;20.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>132</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>88</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;60.0;10.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>209</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>242</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;10.0;10.0;200.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>165</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>187</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;150.0;10.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>341</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>132</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;10.0;10.0;100.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>462</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>33</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;10.0;10.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>484</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>110</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;80.0;10.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>583</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>176</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;10.0;10.0;140.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
<element>
|
||||||
|
<id>Relation</id>
|
||||||
|
<coordinates>
|
||||||
|
<x>990</x>
|
||||||
|
<y>748</y>
|
||||||
|
<w>176</w>
|
||||||
|
<h>33</h>
|
||||||
|
</coordinates>
|
||||||
|
<panel_attributes>lt=<.
|
||||||
|
fg=gray</panel_attributes>
|
||||||
|
<additional_attributes>140.0;10.0;10.0;10.0</additional_attributes>
|
||||||
|
</element>
|
||||||
|
</diagram>
|
||||||
@@ -24,13 +24,13 @@ et effectue des opérations pour assurer une communication efficace et fiable.
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Element de protocol
|
# Element de protocol
|
||||||
Un protocole est un ensemble de règles qui définit le format et la séquence des messages échangés entre les entités
|
Un protocole est un ensemble de règles qui définit le format et la séquence des messages échangés entre les entités
|
||||||
d'un système de communication. Les entités communiquent entre elles en échangeant des messages. Chaque message est
|
d'un système de communication. Les entités communiquent entre elles en échangeant des messages. Chaque message est
|
||||||
composé d'un en-tête et d'un corps. L'en-tête contient des informations de contrôle et le corps contient les données
|
composé d'un en-tête et d'un corps. L'en-tête contient des informations de contrôle et le corps contient les données
|
||||||
à transférer. Les entités peuvent être des processus, des machines, des systèmes, etc.
|
à transférer. Les entités peuvent être des processus, des machines, des systèmes, etc.
|
||||||
|
|
||||||
### Notions en rapport avec les protocoles
|
## Notions en rapport avec les protocoles
|
||||||
Les notions suivantes sont essentielles en rapport avec la spécification des protocoles :
|
Les notions suivantes sont essentielles en rapport avec la spécification des protocoles :
|
||||||
|
|
||||||
- **(N)-service :**
|
- **(N)-service :**
|
||||||
@@ -77,11 +77,11 @@ Paquet virtuel de donnée qui est transporté à l'autre entité paire au moyen
|
|||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|
||||||
## Stratégie de conception de protocoles
|
# Stratégie de conception de protocoles
|
||||||
Un modèle OSI à 7 couches est souvent trop complexe pour les systèmes embarqués. Il est donc nécessaire de définir
|
Un modèle OSI à 7 couches est souvent trop complexe pour les systèmes embarqués. Il est donc nécessaire de définir
|
||||||
une stratégie de conception de protocoles adaptée aux contraintes de ces systèmes.
|
une stratégie de conception de protocoles adaptée aux contraintes de ces systèmes.
|
||||||
|
|
||||||
### Stratégie 3 Couches
|
## Stratégie 3 Couches
|
||||||
La stratégie 3 couches définit trois couches de communication. Elle facilite le codage avec moins d'interfaces.
|
La stratégie 3 couches définit trois couches de communication. Elle facilite le codage avec moins d'interfaces.
|
||||||
|
|
||||||
1. **Couche Application :**
|
1. **Couche Application :**
|
||||||
@@ -101,7 +101,7 @@ La stratégie 3 couches définit trois couches de communication. Elle facilite l
|
|||||||
Cette stratégie divise les responsabilités de communication en trois niveaux distincts, facilitant la modularité,
|
Cette stratégie divise les responsabilités de communication en trois niveaux distincts, facilitant la modularité,
|
||||||
la maintenance et l'interchangeabilité des composants du système.
|
la maintenance et l'interchangeabilité des composants du système.
|
||||||
|
|
||||||
### Stratégie RX-TX
|
## Stratégie RX-TX
|
||||||
La stratégie RX-TX définit deux processus par couche :
|
La stratégie RX-TX définit deux processus par couche :
|
||||||
|
|
||||||
1. **Processus RX :**
|
1. **Processus RX :**
|
||||||
@@ -120,7 +120,7 @@ Chaque processus peut avoir un ou plusieurs SAP pour l'accès aux différents pr
|
|||||||
Cette stratégie permet de séparer les processus de réception et d'émission des données, facilitant la maintenance
|
Cette stratégie permet de séparer les processus de réception et d'émission des données, facilitant la maintenance
|
||||||
et l'interchangeabilité des composants du système.
|
et l'interchangeabilité des composants du système.
|
||||||
|
|
||||||
### Stratégie SAP
|
## Stratégie SAP
|
||||||
La stratégie SAP définit la manière dont les services sont accessibles à l'extérieur. Il existe deux approches possibles :
|
La stratégie SAP définit la manière dont les services sont accessibles à l'extérieur. Il existe deux approches possibles :
|
||||||
|
|
||||||
1. **Single SAP :**
|
1. **Single SAP :**
|
||||||
@@ -140,7 +140,7 @@ La stratégie SAP définit la manière dont les services sont accessibles à l'e
|
|||||||
Cette stratégie permet de définir l'accès aux services de communication, facilitant la modularité et l'interchangeabilité
|
Cette stratégie permet de définir l'accès aux services de communication, facilitant la modularité et l'interchangeabilité
|
||||||
des composants du système.
|
des composants du système.
|
||||||
|
|
||||||
### Stratégie de mémoire
|
## Stratégie de mémoire
|
||||||
La stratégie de mémoire définit la manière dont les données sont transférées entre les couches. Il existe deux approches
|
La stratégie de mémoire définit la manière dont les données sont transférées entre les couches. Il existe deux approches
|
||||||
possibles :
|
possibles :
|
||||||
|
|
||||||
@@ -159,7 +159,7 @@ possibles :
|
|||||||
Cette stratégie permet de gérer efficacement la mémoire, facilitant la maintenance et l'interchangeabilité des composants
|
Cette stratégie permet de gérer efficacement la mémoire, facilitant la maintenance et l'interchangeabilité des composants
|
||||||
du système.
|
du système.
|
||||||
|
|
||||||
### Stratégie de découplage
|
## Stratégie de découplage
|
||||||
La stratégie de découplage définit la manière dont les données sont traitées entre les couches.
|
La stratégie de découplage définit la manière dont les données sont traitées entre les couches.
|
||||||
Il existe deux approches possibles :
|
Il existe deux approches possibles :
|
||||||
|
|
||||||
@@ -178,5 +178,59 @@ Il existe deux approches possibles :
|
|||||||
Cette stratégie permet de traiter les données de manière efficace, facilitant la maintenance et l'interchangeabilité
|
Cette stratégie permet de traiter les données de manière efficace, facilitant la maintenance et l'interchangeabilité
|
||||||
des composants du système.
|
des composants du système.
|
||||||
|
|
||||||
|
# Implémentation de protocoles par un example
|
||||||
|
|
||||||
|
Soient les classes AppE, NWE et RTXE. La lettre E signifié Entity.
|
||||||
|
###### Exercice 1
|
||||||
|
|
||||||
|
<b><i><u>Question</u></i></b><br>
|
||||||
|
Dessinez un premier diagramme de classe qui montre les différentes couches de votre système et leurs classes respectives. Esquissez les dépendances.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><b><i><u>Réponse</u></i></b></summary>
|
||||||
|
|
||||||
|
```plantuml
|
||||||
|
@startuml
|
||||||
|
Application.AppE .-down-> Network.NWE
|
||||||
|
Network.NWE .up-> Application.AppE
|
||||||
|
|
||||||
|
Network.NWE .-down-> RTX.RTXE
|
||||||
|
RTX.RTXE .up-> Network.NWE
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###### Exercice 2
|
||||||
|
Dans une prochaine étape, il s’agit d’ajouter aux classes les méthodes nécessaires.
|
||||||
|
|
||||||
|
<b><i><u>Question</u></i></b><br>
|
||||||
|
Présentez dans un tableau les services offerts, respectivement utilisés par chaque couche.
|
||||||
|
<details>
|
||||||
|
<summary><b><i><u>Réponse</u></i></b></summary>
|
||||||
|
|
||||||
|
| Services | Application | Network | RTX |
|
||||||
|
|-----------------|-------------|-----------|----------|
|
||||||
|
| *Data* | required | provided | |
|
||||||
|
| *Advertise* | | provided | |
|
||||||
|
| *Connection* | required | provided | |
|
||||||
|
| *Disconnection* | required | provided | |
|
||||||
|
| *Transfer* | | required | provided |
|
||||||
|
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
###### Exercice 3
|
||||||
|
<b><i><u>Question</u></i></b><br>
|
||||||
|
Appliquez maintenant la méthode de découplage présentée ci-dessus pour réaliser les services dans les différentes couches.
|
||||||
|
<details>
|
||||||
|
<summary><b><i><u>Réponse</u></i></b></summary>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
Reference in new issue
Block a user