Compare commits

..

3 Commits

Author SHA1 Message Date
Rémi Heredero
2a155fd752 add UML PDF 2023-06-18 13:09:46 +02:00
Rémi Heredero
3d1c318b19 add clas diagram 2023-06-18 13:09:35 +02:00
Rémi Heredero
aeb2554e95 add task_description 2023-06-18 13:09:04 +02:00
11 changed files with 494 additions and 92 deletions

Binary file not shown.

BIN
02-UML/PDF/Deployement.pdf Normal file

Binary file not shown.

BIN
02-UML/PDF/ST_APP.pdf Normal file

Binary file not shown.

BIN
02-UML/PDF/ST_BLINKER.pdf Normal file

Binary file not shown.

BIN
02-UML/PDF/ST_BUTTON.pdf Normal file

Binary file not shown.

Binary file not shown.

BIN
02-UML/PDF/UseCase.pdf Normal file

Binary file not shown.

BIN
02-UML/PDF/class.pdf Normal file

Binary file not shown.

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="15.1"> <diagram program="umlet" version="15.1">
<zoom_level>15</zoom_level> <zoom_level>12</zoom_level>
<element> <element>
<id>UMLSpecialState</id> <id>UMLSpecialState</id>
<coordinates> <coordinates>
<x>600</x> <x>936</x>
<y>150</y> <y>168</y>
<w>30</w> <w>24</w>
<h>30</h> <h>24</h>
</coordinates> </coordinates>
<panel_attributes>type=initial</panel_attributes> <panel_attributes>type=initial</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -15,10 +15,10 @@
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>135</x> <x>564</x>
<y>225</y> <y>228</y>
<w>960</w> <w>768</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>WAIT</panel_attributes> <panel_attributes>WAIT</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -26,10 +26,10 @@
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>600</x> <x>936</x>
<y>165</y> <y>180</y>
<w>45</w> <w>36</w>
<h>90</h> <h>72</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt;</panel_attributes> <panel_attributes>lt=-&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;40.0</additional_attributes> <additional_attributes>10.0;10.0;10.0;40.0</additional_attributes>
@ -37,10 +37,10 @@
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>135</x> <x>564</x>
<y>420</y> <y>384</y>
<w>210</w> <w>168</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>ST_BLINKER_L</panel_attributes> <panel_attributes>ST_BLINKER_L</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -48,10 +48,10 @@
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>915</x> <x>1188</x>
<y>420</y> <y>384</y>
<w>180</w> <w>144</w>
<h>360</h> <h>288</h>
</coordinates> </coordinates>
<panel_attributes>ST_BLINKER_W</panel_attributes> <panel_attributes>ST_BLINKER_W</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -59,10 +59,10 @@
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>495</x> <x>852</x>
<y>570</y> <y>504</y>
<w>210</w> <w>168</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>ST_BLINKER_R</panel_attributes> <panel_attributes>ST_BLINKER_R</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -70,10 +70,10 @@
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>990</x> <x>1248</x>
<y>270</y> <y>264</y>
<w>150</w> <w>120</w>
<h>180</h> <h>144</h>
</coordinates> </coordinates>
<panel_attributes>lt=&lt;-&gt; <panel_attributes>lt=&lt;-&gt;
evLongClick</panel_attributes> evLongClick</panel_attributes>
@ -82,10 +82,10 @@ evLongClick</panel_attributes>
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>135</x> <x>564</x>
<y>720</y> <y>624</y>
<w>570</w> <w>456</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>ST_BLINKER_LR</panel_attributes> <panel_attributes>ST_BLINKER_LR</panel_attributes>
<additional_attributes/> <additional_attributes/>
@ -93,10 +93,10 @@ evLongClick</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>690</x> <x>1008</x>
<y>735</y> <y>636</y>
<w>255</w> <w>204</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evLongClick</panel_attributes> m1=evLongClick</panel_attributes>
@ -105,10 +105,10 @@ m1=evLongClick</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>690</x> <x>1008</x>
<y>585</y> <y>516</y>
<w>255</w> <w>204</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evLongClick</panel_attributes> m1=evLongClick</panel_attributes>
@ -117,10 +117,10 @@ m1=evLongClick</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>330</x> <x>720</x>
<y>435</y> <y>396</y>
<w>615</w> <w>492</w>
<h>60</h> <h>48</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evLongClick</panel_attributes> m1=evLongClick</panel_attributes>
@ -129,22 +129,22 @@ m1=evLongClick</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>150</x> <x>576</x>
<y>270</y> <y>264</y>
<w>120</w> <w>120</w>
<h>180</h> <h>144</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickL</panel_attributes> m1=evClickL(n)</panel_attributes>
<additional_attributes>10.0;10.0;10.0;100.0</additional_attributes> <additional_attributes>10.0;10.0;10.0;100.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>300</x> <x>696</x>
<y>270</y> <y>264</y>
<w>210</w> <w>168</w>
<h>180</h> <h>144</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickL / evEndL m1=evClickL / evEndL
@ -154,22 +154,22 @@ m1=evClickL / evEndL
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>150</x> <x>576</x>
<y>465</y> <y>420</y>
<w>120</w> <w>120</w>
<h>285</h> <h>228</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickR</panel_attributes> m1=evClickR(n)</panel_attributes>
<additional_attributes>10.0;10.0;10.0;170.0</additional_attributes> <additional_attributes>10.0;10.0;10.0;170.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>300</x> <x>696</x>
<y>465</y> <y>420</y>
<w>225</w> <w>180</w>
<h>285</h> <h>228</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickR / evEndR</panel_attributes> m1=evClickR / evEndR</panel_attributes>
@ -178,22 +178,22 @@ m1=evClickR / evEndR</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>510</x> <x>864</x>
<y>270</y> <y>264</y>
<w>120</w> <w>120</w>
<h>330</h> <h>264</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickR</panel_attributes> m1=evClickR(n)</panel_attributes>
<additional_attributes>10.0;10.0;10.0;200.0</additional_attributes> <additional_attributes>10.0;10.0;10.0;200.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>660</x> <x>984</x>
<y>270</y> <y>264</y>
<w>225</w> <w>180</w>
<h>330</h> <h>264</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickR / evEndR</panel_attributes> m1=evClickR / evEndR</panel_attributes>
@ -202,22 +202,22 @@ m1=evClickR / evEndR</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>510</x> <x>864</x>
<y>615</y> <y>540</y>
<w>120</w> <w>120</w>
<h>135</h> <h>108</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickL</panel_attributes> m1=evClickL(n)</panel_attributes>
<additional_attributes>10.0;10.0;10.0;70.0</additional_attributes> <additional_attributes>10.0;10.0;10.0;70.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>660</x> <x>984</x>
<y>615</y> <y>540</y>
<w>210</w> <w>168</w>
<h>135</h> <h>108</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
m1=evClickL / evEndL</panel_attributes> m1=evClickL / evEndL</panel_attributes>

View File

@ -4,7 +4,7 @@
<element> <element>
<id>UMLSpecialState</id> <id>UMLSpecialState</id>
<coordinates> <coordinates>
<x>700</x> <x>520</x>
<y>20</y> <y>20</y>
<w>40</w> <w>40</w>
<h>40</h> <h>40</h>
@ -15,9 +15,9 @@
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>700</x> <x>520</x>
<y>40</y> <y>40</y>
<w>180</w> <w>160</w>
<h>180</h> <h>180</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
@ -27,7 +27,7 @@ evCHInit</panel_attributes>
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>580</x> <x>400</x>
<y>180</y> <y>180</y>
<w>280</w> <w>280</w>
<h>80</h> <h>80</h>
@ -38,7 +38,7 @@ evCHInit</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>700</x> <x>520</x>
<y>240</y> <y>240</y>
<w>200</w> <w>200</w>
<h>180</h> <h>180</h>
@ -50,9 +50,9 @@ evPBPress</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>700</x> <x>520</x>
<y>440</y> <y>440</y>
<w>240</w> <w>220</w>
<h>180</h> <h>180</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
@ -62,7 +62,7 @@ evPBRelease</panel_attributes>
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>540</x> <x>360</x>
<y>380</y> <y>380</y>
<w>360</w> <w>360</w>
<h>80</h> <h>80</h>
@ -73,7 +73,7 @@ evPBRelease</panel_attributes>
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>540</x> <x>360</x>
<y>580</y> <y>580</y>
<w>360</w> <w>360</w>
<h>80</h> <h>80</h>
@ -84,7 +84,7 @@ evPBRelease</panel_attributes>
<element> <element>
<id>UMLState</id> <id>UMLState</id>
<coordinates> <coordinates>
<x>540</x> <x>360</x>
<y>780</y> <y>780</y>
<w>360</w> <w>360</w>
<h>80</h> <h>80</h>
@ -95,7 +95,7 @@ evPBRelease</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>700</x> <x>520</x>
<y>640</y> <y>640</y>
<w>200</w> <w>200</w>
<h>180</h> <h>180</h>
@ -107,7 +107,7 @@ evPBPress</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>840</x> <x>660</x>
<y>200</y> <y>200</y>
<w>560</w> <w>560</w>
<h>280</h> <h>280</h>
@ -119,7 +119,7 @@ m1=evCHtimer / chLongClick()</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>840</x> <x>660</x>
<y>200</y> <y>200</y>
<w>560</w> <w>560</w>
<h>480</h> <h>480</h>
@ -131,7 +131,7 @@ m1=evCHtimer / chSingleClick()</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>840</x> <x>660</x>
<y>200</y> <y>200</y>
<w>560</w> <w>560</w>
<h>660</h> <h>660</h>
@ -143,7 +143,7 @@ m1=evCHtimer / chDoubleClick()</panel_attributes>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>840</x> <x>660</x>
<y>200</y> <y>200</y>
<w>560</w> <w>560</w>
<h>700</h> <h>700</h>

402
02-UML/class.uxf Normal file
View File

@ -0,0 +1,402 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="15.1">
<zoom_level>9</zoom_level>
<element>
<id>UMLClass</id>
<coordinates>
<x>45</x>
<y>603</y>
<w>279</w>
<h>216</h>
</coordinates>
<panel_attributes>Button
bg=yellow
transparency=0
--
- id: uint8_t
- state: STATE
- press: callBack
- release: callBack
--
+ init(uint8_t id): void
+ init_HW(): void
+ defineCallBack(fCallBack f, void* p): callBack
+ setPressCallBack(callBack c): void
+ setReleaseCallBack(callBack c): void
+ isPressed(): void
+ startBehaviour(): void
+ processEvent(Event* ev): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>783</x>
<y>495</y>
<w>279</w>
<h>243</h>
</coordinates>
<panel_attributes>ClickHandler
bg=yellow
transparency=0
--
- state: STATE
- longClick: callBack
- singleClick: callBack
- doubleClick: callBack
--
+ init(Button b): void
+ defineCallBack(fCallBack f, void* p): callBack
+ startBehaviour(): void
+ setLongClickCallBack(callBack c): void
+ setSingleClickCallBack(callBack c): void
+ setDoubleClickCallBack(callBack c): void
+ processEvent(Event* ev): bool
-.
- buttonPress(): void
- buttonRelease(): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>387</x>
<y>729</y>
<w>180</w>
<h>108</h>
</coordinates>
<panel_attributes>Led
bg=yellow
transparency=0
--
- id: uint8_t
--
+ init(uint8_t id): void
+ init_HW(): void
-.
+ on(): void
+ off(): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>315</x>
<y>639</y>
<w>486</w>
<h>36</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-&gt;
m2=-b</panel_attributes>
<additional_attributes>520.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1098</x>
<y>468</y>
<w>279</w>
<h>369</h>
</coordinates>
<panel_attributes>Blinker
bg=yellow
transparency=0
--
- state: STATE
- tON: uint16_t
- tOFF: uint16_t
- nBlink: uint8_t
- nBlinkIsOn: bool
- remainBlinks: uint8_t
- turnOn: callBack
- turnOff: callBack
- finished: callBack
--
+ init(): void
+ defineCallBack(fCallBack f, void* p): callBack
+ setTurnOnCallBack(callBack c): void
+ setTurnOffCallBack(callBack c): void
+ setFinishedCallBack(callBack c): void
+ defineNblink(uint8_t n): void
+ setTimeOn(uint16_t t): void
+ setTimeOff(uint16_t t): void
-.
+ startBehaviour(): void
+ processEvent(Event* ev): void
+ blinkN(): void
+ blink(): void
+ endBlink(): void
+ toggle(): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>801</x>
<y>216</y>
<w>126</w>
<h>108</h>
</coordinates>
<panel_attributes>Factory
bg=yellow
transparency=0
--
+ init(): void
+ build(): void
+ start(): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>117</x>
<y>288</y>
<w>324</w>
<h>117</h>
</coordinates>
<panel_attributes>mcc_generated_files
bg=pink
transparency=0
layer=0</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>729</x>
<y>117</y>
<w>720</w>
<h>288</h>
</coordinates>
<panel_attributes>app
bg=pink
transparency=0
layer=0</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>18</x>
<y>513</y>
<w>585</w>
<h>378</h>
</coordinates>
<panel_attributes>board
bg=pink
transparency=0
layer=0</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>729</x>
<y>423</y>
<w>720</w>
<h>468</h>
</coordinates>
<panel_attributes>middleware
bg=pink
transparency=0
layer=0</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1134</x>
<y>162</y>
<w>207</w>
<h>198</h>
</coordinates>
<panel_attributes>App
bg=yellow
transparency=0
--
- state: STATE
--
+ init(): void
-.
+ startBehaviour(): void
+ processEvent(Event* ev): void
- clickL(): void
- clickLn(): void
- clickR(): void
- clickRn(): void
- endL(): void
- endR(): void
- longClick(): void</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>171</x>
<y>396</y>
<w>72</w>
<h>225</h>
</coordinates>
<panel_attributes>lt=.&gt;
m1=&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;230.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>405</x>
<y>396</y>
<w>72</w>
<h>351</h>
</coordinates>
<panel_attributes>lt=.&gt;
m1=&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;370.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>252</x>
<y>252</y>
<w>567</w>
<h>369</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2= +b1..b3</panel_attributes>
<additional_attributes>610.0;10.0;300.0;10.0;300.0;270.0;10.0;270.0;10.0;390.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>531</x>
<y>288</y>
<w>288</w>
<h>459</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2= +11..l10</panel_attributes>
<additional_attributes>300.0;10.0;200.0;10.0;200.0;340.0;10.0;340.0;10.0;490.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>846</x>
<y>315</y>
<w>81</w>
<h>198</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2=+ch1..ch3</panel_attributes>
<additional_attributes>10.0;10.0;10.0;200.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>918</x>
<y>234</y>
<w>234</w>
<h>36</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2=+app</panel_attributes>
<additional_attributes>10.0;10.0;240.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>918</x>
<y>297</y>
<w>324</w>
<h>189</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2=+blL</panel_attributes>
<additional_attributes>10.0;10.0;150.0;10.0;150.0;150.0;310.0;150.0;310.0;190.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>918</x>
<y>279</y>
<w>360</w>
<h>207</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2=+blR</panel_attributes>
<additional_attributes>10.0;10.0;160.0;10.0;160.0;160.0;350.0;160.0;350.0;210.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>918</x>
<y>261</y>
<w>396</w>
<h>225</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m2=+blB</panel_attributes>
<additional_attributes>10.0;10.0;170.0;10.0;170.0;170.0;390.0;170.0;390.0;230.0</additional_attributes>
</element>
<element>
<id>UMLPackage</id>
<coordinates>
<x>27</x>
<y>117</y>
<w>630</w>
<h>117</h>
</coordinates>
<panel_attributes>xf
bg=pink
transparency=0
layer=0</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>63</x>
<y>225</y>
<w>72</w>
<h>396</h>
</coordinates>
<panel_attributes>lt=.&gt;
&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;420.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>612</x>
<y>225</y>
<w>504</w>
<h>603</h>
</coordinates>
<panel_attributes>lt=.&gt;
&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;650.0;540.0;650.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>630</x>
<y>225</y>
<w>171</w>
<h>315</h>
</coordinates>
<panel_attributes>lt=.&gt;
&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;10.0;10.0;330.0;170.0;330.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>648</x>
<y>171</y>
<w>504</w>
<h>36</h>
</coordinates>
<panel_attributes>lt=.&gt;
&lt;&lt;import&gt;&gt;</panel_attributes>
<additional_attributes>10.0;20.0;540.0;20.0</additional_attributes>
</element>
</diagram>