Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle

34
© Zühlke 2011 Dr. Daniel Mölle Modellgetriebene Ansätze in Medizintechnikprojekten 5. Oktober 2011

Transcript of Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle

Page 1: Med conf2011 modellgetriebene_ansätze_in_medizintechnikprojekten_moelle

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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“