med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle
TRANSCRIPT
![Page 1: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/1.jpg)
© Zühlke 2011
Dr. Daniel Mölle
Modellgetriebene Ansätze in Medizintechnikprojekten
5. Oktober 2011
![Page 2: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/2.jpg)
© Zühlke 2011
Das Spannungsfeld zwischenEntwicklung und Regulation
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Software-Technik Medizintechnik
innovationsbetont risikobewusst
![Page 3: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/3.jpg)
© Zühlke 2011
Das Spannungsfeld zwischenEntwicklung und Regulation
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Software-Technik Medizintechnik
kreativ organisiert
![Page 4: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/4.jpg)
© Zühlke 2011
Das Spannungsfeld zwischenEntwicklung und Regulation
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Software-Technik Medizintechnik
dynamisch prozessorientiert
![Page 5: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/5.jpg)
© Zühlke 2011
Das Spannungsfeld zwischenEntwicklung und Regulation
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Software-Technik Medizintechnik
innovationsbetont
kreativ
dynamisch
risikobewusst
organisiert
prozessorientiert
![Page 6: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/6.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeDie Grundidee von MD∗
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Ausgewählte Entitäten…
Artefakte ableiten.
formal modellieren;
AnforderungenDomäneArchitekturDesign
State MachinesAlgorithmen
…
![Page 7: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/7.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeDie Grundidee von MD∗
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
menschen- und maschinenlesbar:UML, DSL, …
Ausgewählte Entitäten…
Artefakte ableiten.
formal modellieren;
![Page 8: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/8.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeDie Grundidee von MD∗
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
CodeTestfälle
Dokumentation…
Ausgewählte Entitäten…
Artefakte ableiten.
formal modellieren;
![Page 9: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/9.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeEin sehr, sehr einfaches Beispiel
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Stopped
Started
StartS
top
enum State_e { Stopped, Started };
enum Signal_e { Start, Stop };
State_e state = Stopped;
procedure Feed(Signal_e signal)
{
switch (state) {
case Stopped:
if (signal == Start)
then state := Started;
break;
case Started:
if (signal == Stop)
then state := Stopped;
break;
}
}
![Page 10: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/10.jpg)
© Zühlke 2011
MD∗
Modellgetriebene AnsätzeEin Überblick
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Model-Driven
Engineering
(MDE)
Model-DrivenArchitecture
(MDA)
Model-Driven[Software]
Development(MD[S]D)
Model-DrivenAnalysis
Model-BasedTesting
Model-DrivenDebugging
Model-DrivenDeployment
![Page 11: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/11.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeMDSD – Typische Entitäten
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Komponenten
State Machines
Klassen
![Page 12: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/12.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeMDSD – Eine Variante
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
GeneratorenTextuelle Modelle Graphische Modelle
Generierter CodeRegulärer Code
Compiler + Linker
Ausführbare Software
![Page 13: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/13.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeMDSD – Eine andere Variante
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Compiler + Linker
Ausführbare Software
Eingehängter Code Eingehängter Code
GeneratorenTextuelle Modelle Graphische Modelle
Generierter Code
![Page 14: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/14.jpg)
© Zühlke 2011
MDSD-Beispiel: Event-Driven SystemsAusgewählte Entitäten
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Modul
IF 1 IF 2
FSM
Modul
IF 1 IF 2
FSM
Modul
IF 2
FSM
IF 3 IF 3
![Page 15: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/15.jpg)
© Zühlke 2011
MDSD-Beispiel: Event-Driven SystemsFormale Modelle (1)
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
interface Lifecycle
{
## Start the module
event Start
## Stop the module
event Stop
} interface Sound
{
## Play a sound of frequency
## f Hz for a duration of t ms
event Play(uint16 f, uint16 t)
}
module AudioController
{
has Lifecycle
has Sound
}
![Page 16: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/16.jpg)
© Zühlke 2011
MDSD-Beispiel: Event-Driven SystemsFormale Modelle (2)
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
statemachine AudioController
{
initial state Stopped
{
on Lifecyle:Start enter Started
}
state Started
{
on Lifecycle:Stop enter Stopped
on Sound:Play
execute PlayAction
}
}
![Page 17: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/17.jpg)
© Zühlke 2011
MDSD-Beispiel: Event-Driven SystemsAbgeleitete Artefakte (1)
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
<h2>Interfaces</h2>
<h3>Lifecycle</h3>
<table>
<tr><th>Event</th><th>Description</th></tr>
<tr><td>Start</td><td>Start the module</td></tr>
<tr><td>Stop</td><td>Stop the module</td></tr>
</table>
<h3>Sound</h3>
<table>
...
</table>
...
![Page 18: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/18.jpg)
© Zühlke 2011
MDSD-Beispiel: Event-Driven SystemsAbgeleitete Artefakte (2)
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
procedure AudioController_HandleEvent(Event e)
{
switch (e.Interface)
{
case Lifecycle:
AudioController_HandleLifecycleEvent(e);
break;
case Sound:
AudioController_HandleSoundEvent(e);
break;
default:
FAIL(„Interface not supported.“);
}
}
![Page 19: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/19.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeMDA – Typische Entitäten
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Domäne
Architektur
Fließender Übergang zu MDSD
![Page 20: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/20.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeMDA – Das Standardmodell
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
TransformatorenPlatform-
IndependentModels(PIMs)
Platform-SpecificModels(PSMs)
PlatformDefinitionModels(PDMs)
![Page 21: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/21.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeModel-Based Testing – Typische Entitäten
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Algorithmen
State Machines
Klassen
![Page 22: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/22.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeModel-Based Testing – erste Variante
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
GeneratorenTextuelle Modelle Graphische Modelle
Testcode
![Page 23: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/23.jpg)
© Zühlke 2011
Modellgetriebene AnsätzeModel-Based Testing – zweite Variante
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
GeneratorenTextuelle Modelle Graphische Modelle
Testcode
Testfälle Testfälle
![Page 24: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/24.jpg)
© Zühlke 2011
MBT-Beispiel: State Machine CheckerModelle
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
statemachine AudioController
{
initial state Stopped
{
on Lifecyle:Start enter Started
}
state Started
{
on Lifecycle:Stop enter Stopped
on Sound:Play
execute PlayAction
}
}
checks AudioController
{
is Started always reachable?
}
![Page 25: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/25.jpg)
© Zühlke 2011
MBT-Beispiel: State Machine CheckerGenerat
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
MODULE AudioController
VAR
state: { Stopped, Started };
ASSIGN
init(state) := Stopped;
next(state) := case
state = Stopped : { Started };
state = Started : { Stopped };
esac;
SPEC AG(EF(state = Started))
![Page 26: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/26.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Der Lückenschluss
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Hardware-Treiber
Technische Dienste
Fachliche Dienste
Benutzeroberfläche
Abstraktion
AnforderungenForm
alität
Architektur + Design
![Page 27: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/27.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Die Vorzüge
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Konsistenz von Modell und Generat
Erleichterung der Kommunikation
Analysierbarkeit
![Page 28: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/28.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Spezifische Schwachstellen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
MDSD: Das Heilsversprechen
MBT: Quantität versus Qualität
MDA: Enorme Abstraktionslast
“Just state diagrams -yes of course!”[SineLaboreRT]
![Page 29: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/29.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Spezifische Schwachstellen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
“[A]n MDA tool is a tool used to develop, interpret, compare, align, measure, verify, transform, etc.
models or metamodels.”[Wikipedia]
MDSD: Das Heilsversprechen
MBT: Quantität versus Qualität
MDA: Enorme Abstraktionslast
![Page 30: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/30.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Spezifische Schwachstellen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
“[Testers] need to be familiar with the model and
its underlying […] mathematics and theories.”
[El-Far & Whittaker]
MDSD: Das Heilsversprechen
MBT: Quantität versus Qualität
MDA: Enorme Abstraktionslast
![Page 31: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/31.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Allgemeine Schwachstellen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Abstraktionsfalle
SchwergewichtigeWerkzeuge
Vermischung von EbenenÜberabstraktion
überzogene Erwartungenunterschätzter Aufwand
…
![Page 32: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/32.jpg)
© Zühlke 2011
Eine kritische Würdigung von MD∗
Allgemeine Schwachstellen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Technische AbhängigkeitOrganisatorische Abh’keitValidierung unmöglich
…
Abstraktionsfalle
SchwergewichtigeWerkzeuge
![Page 33: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/33.jpg)
© Zühlke 2011
Modellgetriebene MedizintechnikLösungswege
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
Pragmatischer Einsatz
Natürliche Modelle
Bewusste Motivation
Validierung der Generate
![Page 34: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle](https://reader031.vdocuments.pub/reader031/viewer/2022020314/58efdbff1a28ab472d8b45af/html5/thumbnails/34.jpg)
© Zühlke 2011
Es gibt einen Weg!
Für die Medizintechnik:
•MDSD ist die nützlichste Ausprägung
•Auch interessant: Test & Deployment
Gute Kriterien für den Einsatz:
•Boilerplate Code
•Konsistenz kritisch
• Strukturinformationen
5. Oktober 2011Modellgetriebene Ansätze in Medizintechnikprojekten | Dr. Daniel Mölle
iX 10/2011: „Medizinisch, praktisch, gut“