Gewerkt aan opdracht 4

Co-authored-by: Aryan Lala (19097727) <A.E.Lala@student.hhs.nl>
This commit is contained in:
Shaquille Soekhlal 2023-06-08 07:28:57 +02:00
parent 4d26a6eb8b
commit f709a5c3c4
24 changed files with 329 additions and 141 deletions

View File

View File

@ -0,0 +1 @@
#include "Machine.h"

View File

@ -0,0 +1,4 @@
#ifndef __Machine_H
#define __Machine_H
#endif __Machine_H

View File

@ -0,0 +1 @@
#include "Mone.h"

4
Opdracht_4/Domein/Mone.h Normal file
View File

@ -0,0 +1,4 @@
#ifndef __Mone_H
#define __Mone_H
#endif

View File

@ -0,0 +1 @@
#include "Motor.h"

View File

@ -0,0 +1,4 @@
#ifndef __Motor_H
#define __Observer_H
#endif

View File

@ -0,0 +1 @@
#include "Mtwo.h"

4
Opdracht_4/Domein/Mtwo.h Normal file
View File

@ -0,0 +1,4 @@
#ifndef __Mtwo_H
#define __Mtwo_H
#endif

View File

@ -0,0 +1 @@
#include "Sensor.h"

View File

@ -0,0 +1,4 @@
#ifndef __Sensor_H
#define __Sensor_H
#endif

View File

@ -0,0 +1 @@
#include "MachineImpl.h"

View File

@ -0,0 +1,4 @@
#ifndef __MachioneImpl_H
#define __MachineImpl_H
#endif

View File

@ -0,0 +1 @@
#include "MoneImpl.h"

View File

@ -0,0 +1,4 @@
#ifndef __MoneImpl_H
#define __MoneImpl_H
#endif

View File

@ -0,0 +1 @@
#include "MtwoImpl.h"

View File

@ -0,0 +1,4 @@
#ifndef __MtwoImpl_H
#define __MtwoImpl_H
#endif

View File

@ -0,0 +1 @@
#include "SensorImpl.h"

View File

@ -0,0 +1,4 @@
#ifndef __SensorImpl_H
#define __SensorImpl_H
#endif

View File

@ -0,0 +1,13 @@
#include "Observer.h"
void Subject::notify ( ){
for ( list<Observer*>::iterator i=L.begin( ); i!=L.end( ); ++i ) (*i)->update( );
}
Observer::Observer ( Subject* s ) : S(s){
getSubject( )->insert(this);
}
Observer::~Observer ( ){
getSubject( )->remove ( this );
}

View File

@ -0,0 +1,26 @@
#ifndef __Observer_H
#define __Observer_H
#include <list>
using namespace std;
class Subject;
class Observer{
private: Subject* S;
protected: Subject* getSubject ( ) const { return S; }
public: Observer (Subject* s);
virtual ~Observer ( );
virtual void update ( ) = 0;
};
class Subject{
private: list<Observer*> L;
protected: virtual void notify ( );
public: Subject ( ) { }
virtual ~Subject ( ) { }
virtual void insert (Observer* s) { L.push_front(s); }
virtual void remove (Observer* s) { L.remove(s); }
};
#endif

View File

@ -0,0 +1 @@
#include "UI.h"

View File

@ -0,0 +1,4 @@
#ifndef __UI_H
#define __UI_H
#endif

View File

@ -1,262 +1,361 @@
<mxfile host="65bd71144e">
<diagram id="KfANXQmF8nHkjfM11mp0" name="Page-1">
<mxGraphModel dx="1341" dy="720" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<mxGraphModel dx="900" dy="514" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="65" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#001DBC;fontSize=16;fillColor=#0050ef;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="350" y="750" width="950" height="510" as="geometry"/>
</mxCell>
<mxCell id="127" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="370" y="780" width="920" height="440" as="geometry"/>
</mxCell>
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d80073;strokeColor=#A50040;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry y="100" width="360" height="1000" as="geometry"/>
<mxGeometry y="100" width="360" height="1160" as="geometry"/>
</mxCell>
<mxCell id="3" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Infrastructure Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="120" y="100" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="12" value="Observer &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxCell id="12" value="Observer &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="120" y="150" width="160" height="86" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="13" value="# getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="12">
<mxCell id="13" value="# getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="12" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="15" value="+ update() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="12">
<mxCell id="15" value="+ update() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="12" vertex="1">
<mxGeometry y="56" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="20" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;" vertex="1" parent="1">
<mxCell id="20" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="120" y="340" width="160" height="160" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="21" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 0, 115);&quot;&gt;- L : list&amp;lt;Observer*&amp;gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="20">
<mxCell id="21" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 0, 115);&quot;&gt;- L : list&amp;lt;Observer*&amp;gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="20" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="22" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="20">
<mxCell id="22" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="20" vertex="1">
<mxGeometry y="56" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="23" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="20">
<mxCell id="23" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="20" vertex="1">
<mxGeometry y="64" width="160" height="24" as="geometry"/>
</mxCell>
<mxCell id="24" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="20">
<mxCell id="24" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="20" vertex="1">
<mxGeometry y="88" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="25" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 0, 115);&quot;&gt;+ remove (Observer*) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="20">
<mxCell id="25" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 0, 115);&quot;&gt;+ remove (Observer*) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="20" vertex="1">
<mxGeometry y="96" width="160" height="32" as="geometry"/>
</mxCell>
<mxCell id="26" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer*) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" vertex="1" parent="20">
<mxCell id="26" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer*) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="20" vertex="1">
<mxGeometry y="128" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="28" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.653;entryY=0.003;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.647;exitY=0.989;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="15" target="20">
<mxCell id="28" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.653;entryY=0.003;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.647;exitY=0.989;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="15" target="20" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="380.00000000000017" y="290" as="targetPoint"/>
<mxPoint x="219" y="260" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="29" style="edgeStyle=none;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.249;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="20" target="15">
<mxCell id="29" style="edgeStyle=none;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.249;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="20" target="15" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="161" y="259" as="targetPoint"/>
<mxPoint x="504.8100000000001" y="470.0100000000002" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#B20000;fontSize=16;fillColor=#FF0000;fontColor=#ffffff;" vertex="1" parent="1">
<mxGeometry x="360" y="100" width="880" height="210" as="geometry"/>
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#B20000;fontSize=16;fillColor=#FF0000;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="360" y="100" width="940" height="210" as="geometry"/>
</mxCell>
<mxCell id="31" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Interface Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxCell id="31" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Interface Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="375" y="100" width="130" height="30" as="geometry"/>
</mxCell>
<mxCell id="32" value="UI" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="610" y="140" width="160" height="106" as="geometry">
<mxCell id="32" value="UI" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="930" y="155" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="33" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="32">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
<mxCell id="34" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="32" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="34" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="32">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
<mxCell id="98" value="+ update() : void" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="32">
<mxGeometry y="40" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="35" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#2D7600;fontSize=16;fillColor=#60a917;fontColor=#ffffff;" vertex="1" parent="1">
<mxGeometry x="360" y="310" width="1740" height="440" as="geometry"/>
<mxCell id="35" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#2D7600;fontSize=16;fillColor=#60a917;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="360" y="310" width="940" height="440" as="geometry"/>
</mxCell>
<mxCell id="70" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d80073;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="370" y="320" width="830" height="410" as="geometry"/>
<mxCell id="36" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Domain Implementatie Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="360" y="320" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="36" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Domain Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="365" y="320" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="37" value="Machine &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="410" y="361" width="160" height="196" as="geometry">
<mxCell id="37" value="Machine &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="380" y="930" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="38" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="37">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
<mxCell id="38" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="37" vertex="1">
<mxGeometry y="26" width="160" height="4" as="geometry"/>
</mxCell>
<mxCell id="39" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="37">
<mxGeometry y="66" width="160" height="70" as="geometry"/>
<mxCell id="39" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="37" vertex="1">
<mxGeometry y="30" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="40" value="Motor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="680" y="330" width="160" height="126" as="geometry">
<mxCell id="40" value="Motor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="780" y="950" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="41" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="40">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
<mxCell id="41" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="40" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="42" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="40">
<mxGeometry y="66" width="160" height="60" as="geometry"/>
<mxCell id="42" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="40" vertex="1">
<mxGeometry y="40" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="43" value="TSensor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="980" y="330" width="160" height="106" as="geometry">
<mxCell id="43" value="TSensor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="1110" y="790" width="160" height="80" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="44" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="43">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
<mxCell id="44" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="43" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="45" value="+read(): void&lt;br&gt;+temperatuur(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="43">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
<mxCell id="45" value="+read(): void&lt;br&gt;+temperatuur(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="43" vertex="1">
<mxGeometry y="40" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="46" value="Mone &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="630" y="497" width="160" height="106" as="geometry">
<mxCell id="46" value="Mone &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="530" y="787" width="160" height="83" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="47" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="46">
<mxCell id="47" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="46" vertex="1">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="48" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="46">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="49" value="Mtwo &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="820" y="497" width="160" height="106" as="geometry">
<mxCell id="49" value="Mtwo &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="810" y="803.5" width="160" height="83" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="50" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="49">
<mxCell id="50" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="49" vertex="1">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="51" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="49">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="52" value="" style="endArrow=none;html=1;fontSize=16;" edge="1" parent="1">
<mxCell id="52" value="" style="endArrow=none;html=1;fontSize=16;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="840" y="390" as="sourcePoint"/>
<mxPoint x="980" y="390" as="targetPoint"/>
<mxPoint x="970" y="830" as="sourcePoint"/>
<mxPoint x="1110" y="830" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="53" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;M&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="840" y="360" width="30" height="30" as="geometry"/>
<mxCell id="53" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;M&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="970" y="800" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="54" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;S&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="950" y="361" width="30" height="30" as="geometry"/>
<mxCell id="54" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;S&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="1080" y="801" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="55" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="950" y="390" width="30" height="30" as="geometry"/>
<mxCell id="55" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1080" y="830" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="56" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="840" y="390" width="30" height="30" as="geometry"/>
<mxCell id="56" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="970" y="830" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="57" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.528;entryY=1.019;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="49" target="42">
<mxCell id="57" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="40" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="870" y="562" as="sourcePoint"/>
<mxPoint x="760" y="460" as="targetPoint"/>
<mxPoint x="890" y="890" as="sourcePoint"/>
<mxPoint x="890" y="900" as="targetPoint"/>
<Array as="points">
<mxPoint x="830" y="480"/>
<mxPoint x="960" y="920"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="58" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="46">
<mxCell id="58" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="46" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="700" y="620" as="sourcePoint"/>
<mxPoint x="770" y="480" as="targetPoint"/>
<mxPoint x="830" y="1060" as="sourcePoint"/>
<mxPoint x="880" y="920" as="targetPoint"/>
<Array as="points">
<mxPoint x="710" y="480"/>
<mxPoint x="610" y="920"/>
<mxPoint x="840" y="920"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;dashed=1;labelBackgroundColor=none;startFill=0;endArrow=open;endFill=0;endSize=10;fontFamily=Verdana;fontSize=10;" edge="1" parent="1">
<mxCell id="59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;dashed=1;labelBackgroundColor=none;startFill=0;endArrow=open;endFill=0;endSize=10;fontFamily=Verdana;fontSize=10;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1" target="40">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="600" y="382.58000000000004"/>
<mxPoint x="600" y="382.58000000000004"/>
<mxPoint x="780" y="950"/>
</Array>
<mxPoint x="570" y="382.58000000000004" as="sourcePoint"/>
<mxPoint x="680" y="382.58000000000004" as="targetPoint"/>
<mxPoint x="540" y="949.4999999999999" as="sourcePoint"/>
<mxPoint x="650" y="949.4999999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="62" value="" style="endArrow=none;html=1;fontSize=12;entryX=0.013;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.807;exitY=0.984;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="39" target="48">
<mxCell id="62" value="" style="endArrow=none;html=1;fontSize=12;exitX=1;exitY=0;exitDx=0;exitDy=0;" parent="1" source="37" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="540" y="500" as="sourcePoint"/>
<mxPoint x="626" y="563" as="targetPoint"/>
<Array as="points">
<mxPoint x="540" y="563"/>
</Array>
<mxPoint x="527" y="903" as="sourcePoint"/>
<mxPoint x="540" y="870" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="64" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.807;exitY=0.984;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.465;entryY=1.03;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="51">
<mxCell id="66" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;Domain&amp;nbsp;Layer&lt;br&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="350" y="750" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="67" value="Mone &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="560" y="540" width="160" height="126" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="68" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="67" vertex="1">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="69" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="67" vertex="1">
<mxGeometry y="66" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="73" value="Machine &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=20;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="1" vertex="1">
<mxGeometry x="410" y="380" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="74" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="73" vertex="1">
<mxGeometry y="20" width="160" height="10" as="geometry"/>
</mxCell>
<mxCell id="75" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="73" vertex="1">
<mxGeometry y="30" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="82" value="Main" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="580" y="160" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="83" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="82">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="84" value="+ main(): void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="82">
<mxGeometry y="66" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="85" value="Mtwo &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="830" y="540" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="86" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="85">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="87" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="85">
<mxGeometry y="40" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="88" value="Tsensor &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="1110" y="550" width="160" height="80" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="90" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="88">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="97" value="+read(): void&lt;br&gt;+temperatuur(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="88">
<mxGeometry y="40" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="100" value="" style="endArrow=classic;html=1;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" target="98">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="497" as="sourcePoint"/>
<mxPoint x="640" y="810.377358490566" as="targetPoint"/>
<mxPoint x="740" y="210" as="sourcePoint"/>
<mxPoint x="790" y="160" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="101" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="32" target="12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1000" y="100" as="sourcePoint"/>
<mxPoint x="670" y="70" as="targetPoint"/>
<Array as="points">
<mxPoint x="440" y="670"/>
<mxPoint x="894" y="670"/>
<mxPoint x="600" y="130"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="65" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#001DBC;fontSize=16;fillColor=#0050ef;fontColor=#ffffff;" vertex="1" parent="1">
<mxGeometry x="360" y="750" width="880" height="350" as="geometry"/>
</mxCell>
<mxCell id="66" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;Domain Implentatie&lt;br&gt;Layer&lt;br&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="360" y="750" width="160" height="50" as="geometry"/>
</mxCell>
<mxCell id="67" value="Mone &lt;implentation&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="570" y="780" width="160" height="106" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
<mxCell id="102" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="98" target="75">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="260" y="650" as="sourcePoint"/>
<mxPoint x="310" y="600" as="targetPoint"/>
<Array as="points">
<mxPoint x="1010" y="330"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="68" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="67">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="69" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="67">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="71" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d80073;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1220" y="325" width="830" height="410" as="geometry"/>
</mxCell>
<mxCell id="72" value="DomeinImplementatie" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1220" y="330" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="73" value="Machine" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="1250" y="371" width="160" height="196" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
<mxCell id="108" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.004;exitY=0.298;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="75" target="23">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1020" y="265" as="sourcePoint"/>
<mxPoint x="1020" y="400" as="targetPoint"/>
<Array as="points">
<mxPoint x="350" y="416"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="74" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="73">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="75" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="73">
<mxGeometry y="66" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="76" value="Mone &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="1390" y="590" width="160" height="106" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
<mxCell id="109" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.563;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#e51400;strokeColor=#B20000;" edge="1" parent="1" source="97">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1220" y="700" as="sourcePoint"/>
<mxPoint x="1190" y="790" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="77" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="76">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="78" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="76">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="79" value="Mtwo &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" vertex="1" parent="1">
<mxGeometry x="1580" y="590" width="160" height="106" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
<mxCell id="110" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;fillColor=#e51400;strokeColor=#B20000;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="49">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="900" y="640" as="sourcePoint"/>
<mxPoint x="890" y="770" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="80" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="79">
<mxGeometry y="26" width="160" height="40" as="geometry"/>
<mxCell id="111" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#e51400;strokeColor=#B20000;" edge="1" parent="1" target="46">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="640" y="666" as="sourcePoint"/>
<mxPoint x="630" y="806" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="81" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" vertex="1" parent="79">
<mxGeometry y="66" width="160" height="40" as="geometry"/>
<mxCell id="113" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.471;exitY=1.022;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#e51400;strokeColor=#B20000;" edge="1" parent="1" source="75" target="37">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="490.0799999999999" y="480" as="sourcePoint"/>
<mxPoint x="480" y="640" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="115" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="90" y="135" width="230" height="390" as="geometry"/>
</mxCell>
<mxCell id="116" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="380" y="1030" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="117" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="530" y="900" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="118" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="960" y="886.5" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="119" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="530" y="870" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="120" value="M" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="510" y="900" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="121" value="&amp;nbsp;M" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="400" y="1030" width="40" height="30" as="geometry"/>
</mxCell>
<mxCell id="122" value="mone" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="500" y="870" width="50" height="30" as="geometry"/>
</mxCell>
<mxCell id="123" value="mtwo" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="910" y="886.5" width="50" height="30" as="geometry"/>
</mxCell>
<mxCell id="124" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="900" y="140" width="230" height="140" as="geometry"/>
</mxCell>
<mxCell id="125" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="390" y="370" width="890" height="300" as="geometry"/>
</mxCell>
<mxCell id="126" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="550" y="140" width="230" height="140" as="geometry"/>
</mxCell>
<mxCell id="64" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.184;exitY=1.005;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400.44000000000005" y="1029.3500000000001" as="sourcePoint"/>
<mxPoint x="961" y="886" as="targetPoint"/>
<Array as="points">
<mxPoint x="401" y="1156"/>
<mxPoint x="961" y="1156"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="144" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;" vertex="1" parent="1">
<mxGeometry x="60" y="1530" width="147" height="73" as="geometry">
<mxRectangle width="147" height="73" as="alternateBounds"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>