Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellbasierte Software-Entwicklung eingebetteter Systeme

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software-Entwicklung eingebetteter Systeme"—  Präsentation transkript:

1 Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

2 Wiederholung System- versus Anforderungsanalyse?
Abstraktionsebenen cyber-physischer Systeme? Prozesse und Aufwandsverteilung? Inputs zur Lastenhefterstellung? Stakeholder beim Pedelec? Inhalt des Lastenhefts? Funktionale und nichtfunktionale Anforderungen?

3 Das menschliche Herz “Motor” des kardiovaskulären Systems
Zwei Kreise: Lungenkreislauf (rechte Seite) und Körperkreislauf (linke Seite des Herzens) Jede Seite besteht aus Atrium (Vorhof) und Ventrikel (Kammer) Das Herz wirkt als doppelte Pumpe, wobei beide Teile synchronisiert sind anfangs sind die Muskeln entspannt und das Blut fließt in die Atria dann ziehen sich die Atria zusammen und pressen das Blut in die Ventrikel danach kontrahieren sich die Ventrikel und das Blut fließt in die Lunge bzw. den Körper schließlich entspannen sich die Muskeln wieder und der Zyklus beginnt von vorn

4 Kardiovaskuläre Krankheiten ...
... sind eine der Haupt-Todesursachen weltweit. Herzrhythmusstörungen können sein: Bradykardie: das Herz schlägt zu langsam Tachykardie: das Herz schlägt zu schnell Flimmern (Fibrillation): das Herz schlägt unregelmäßig Stillstand: das Herz schlägt überhaupt nicht mehr Das Herz schlägt, indem elektrische Impulse vom Sinusknoten (im Atrium) generiert und durch den Atrioventrikularknoten (AV-Knoten, im Ventrikel) propagiert werden; diese verursachen das Zusammenziehen der Herzmuskeln Beide diese Knoten können künstlich stimuliert werden Therapie für chronische Herzrhythmusstörungen

5 Geschichte der Schrittmacher
Erfunden in den 1920’s externe Geräte mit implantierter Elektrode seit den 1930s Erstes Voll-Implantat 1958 bestand aus einem Kondensator mit zwei Transistoren und einer Energiequelle (Akku oder Batterie) in einer Schuhcremedose mit Gießharz versiegelt Probleme Energieversorgung Plutoniumbatterien halten bis zu 40+ Jahre, aber sind umweltschädlich Aktuelle Batteriekapazität reicht 5-8 Jahre, “problem solved” Gleichmäßige Stimulation kann zu Herzflimmern führen (“Schrittmacherkrankheit”), falls der künstliche Impuls dem natürlichen zuwider läuft. Idee: die Elektroden können auch als Sensoren genutzt werden, um natürliche Elektrizität zu messen!  Regelelektronik erforderlich, die Aktuator vom Sensor abhängig macht Heutzutage werden weltweit jährlich mehr als Schrittmacher implantiert

6 Moderne Schrittmacher
Korrektheitsbedingung: Stimulus dann und nur dann wenn nötig Elektrode wird nicht nur zum Stimulieren, sondern auch zum Aufzeichnen eines EKGs verwendet Messung der sportlichen Aktivität eines Patienten und entsprechende Adaption der Pulsrate Training der Herzmuskulatur Neusynchronisierung und verbesserte Synchronisierung zwischen linker und rechter Herzhälfte Therapie für bestimmte Herzerkrankungen Aktuelle Trends: Implantierbare integrierte Schrittmacher – Defibrillatoren (ICDs) Drahtlose intrakardiale Schrittmacher, subkutane Kardioverter-Defibrillatoren Telemedizinische Überwachung, Diagnose und Nachsorge

7 Die Boston Scientific Spezifikation
Drei Komponenten Puls-Generator (PG) Steuer-Elektronik Energieversorgung (Lithium-Iodine) Titangehäuse, implantiert in der rechten Brust Beschleunigungssensor (Accelerometer) Elektroden (Leads) ein oder zwei Elektroden (atrial / ventrikulär) Standard- Steckverbindung (PG-Wechsel!) Durch eine Vene ins Herz geführt Externer Device Controller Monitor (DCM) Für Programmier- und Diagnosezwecke Separates Gerät, zum Setzen und Anpassen der Parameter durch den behandelnden Arzt Ringmagnet (donut-shaped magnet) für Notfallzwecke

8 Stimulationsmodi (Pacing Modes)
Z.B. Typ DDDR, VDDR, DDIR, D00R, AAIR, D00, V00, VVI, VVT, ... X = “don’t care”; DXXX sind Zweikammermodi, 0X0 sind reine Diagnosemodi etc. Triggered: Puls wird generiert wenn Herzaktivität gemessen wird (um den natürlichen Impuls zu verstärken) Inhibited: Puls wird unterdrückt wenn Herzaktivität gemessen wird (um Interferenz mit dem natürlichen Stimulus zu vermeiden); d.h., Puls wird nur dann generiert wenn keine Herzaktivität gemessen wird Tracked (D): gemessene atriale Aktivität löst nach definierter Verzögerungszeit (AV delay) einen ventrikulären Puls aus Rate modulation: dynamische Adaption der Pulsrate an die sportlichen Aktivitäten des Patienten (nur im Modell DR1 verfügbar) Multisite: kann mehrere Stellen innerhalb der gewählten Kammer stimulieren (n.a.)

9 Beispiel-Modi VVIR DDD Sonderfälle: Atriale Tachykardie-Reaktion
Nur eine Elektrode nötig Puls nach Bedarf: falls genügend Eigenaktivität vorhanden, keine Stimulation; falls die ventrikuläre Aktivität ausbleibt, wird ein Puls generiert Nachdem eine Aktivität gemessen wurde oder ein Puls generiert wurde, löst der Schrittmacher nach einer festgelegten Zeit einen Puls aus, falls bis dahin keine Aktivität gemessen werden kann Die Zeit zwischen zwei Pulsen wird durch die Werte des Beschleunigungssensors beeinflusst DDD Ständige Überwachung von Atrium und Ventrikel Falls eine erwartete atriale Aktivität ausbleibt, wird ein Puls im Atrium ausgelöst Nachdem eine Aktivität im Atrium gemessen oder stimuliert wurde, wird nach einer festgelegten Zeit (AV delay) ein ventrikulärer Puls ausgelöst, falls bis dahin keine vertrikuläre Aktivität gemessen werden konnte also: eine Aktivität im Atrium oder Ventrikel verhindert die Stimulation; eine gemessene Vorhofaktivität löst einen Puls im Ventrikel aus Sonderfälle: Atriale Tachykardie-Reaktion Falls eine unakzeptabel hohe Aktivitätsrate im Atrium erkannt wird, muss die Stimulation vorübergehend eingestellt werden

10 Relevante Parameter im PG
The Lower Rate Limit (LRL) is the number of generator pace pulses delivered per minute (atrium or ventricle) in the absence of sensed intrinsic activity. i.e. determines maximal time to wait until delivery of the next pulse The Upper Rate Limit (URL) is the maximum rate at which the paced ventricular rate will track sensed atrial events. The URL interval is the minimum time between a ventricular event and the next ventricular pace.

11 Lebenszyklus und Betriebsmodi
Permanent: normale Betriebsart; die eingestellten Parameter werden verwendet Temporary: zu Testzwecken; alle Parameter können vom Arzt (innerhalb vorgegebener Grenzen) beliebig gesetzt und ausprobiert werden Pace-Now: kommandierter Notbetrieb; ein fester Modus und feste Standardparameter werden verwendet Power-on Reset: bei nachlassender Spannung; auch „sicherer” Betriebszustand wenn die Spannung sich wieder erhöht Magnet: ähnlich wie „Pace-Now“, aber durch Notfallambulanz durch einen externen Magneten ausgelöst (bei Elektroschock oder Herzflimmern); keine Messung mehr, aber die Pulsrate kann durch den Batteriestatus beeinflusst werden

12 Anforderungen (Boston Scientific)

13 Strukturiert 5.7 Rate-Adaptive Pacing The device shall have the ability to adjust the cardiac cycle in response to metabolic need as measured from body motion using an accelerometer Maximum Sensor Rate (MSR) The Maximum Sensor Rate is the maximum pacing rate allowed as a result of sensor control. The Maximum Sensor Rate shall be 1. Required for rate adaptive modes 2. Independently programmable from the URL Activity Threshold The activity threshold is the value the accelerometer sensor output shall exceed before the pacemaker’s rate is affected by activity data. Response Factor The accelerometer shall determine the pacing rate that occurs at various levels of steady state patient activity. Based on equivalent patient activity: 1. The highest response factor setting (16) shall allow the greatest incremental change in rate. 2. The lowest response factor setting (1) shall allow a smaller change in rate. Reaction Time The accelerometer shall determine the rate of increase of the pacing rate. The reaction time is the time required for an activity to drive the rate from LRL to MSR. Recovery Time The accelerometer shall determine the rate of decrease of the pacing rate. The recovery time shall be the time required for the rate to fall from MSR to LRL when activity falls below the activity threshold.

14 Umformuliert (Kordon et al.)
E.g., for rate-adaptive pacing: (34)/P (Adapting the stimulation rate) The pacemaker must be able to adjust the cardiac cycles as a function of the metabolic needs such as those measured by the accelerometer. The following parameters are defined: (35)/P (Maximum sensor rate (or MSR)) The maximum sensor rate corresponds to the maximum stimulation rate in response to the sensor measurements: (1) this parameter is required in rate-adaptative modes and (2) is independently programmable from the URL. (36)/P (Activity threshold) This threshold corresponds to the minimum activity detected by the accelerometer before the cardiac stimulation is altered. (37)/P (Response factor) The accelerometer should determine the new stimulation rate as a function of the patient’s state of activity. The higher the value measured, the faster the response and modification of the stimulation rate. (38)/P (Reaction time) The accelerometer must determine the rate of increase in the stimulation rhythm. The reaction time corresponds to the time required to change from the LRL to the MSR. (39)/P (Recovery time) The accelerometer must determine the recovery rate that corresponds to the time interval required to change from the MSR value to the LRL, until activity drops below the activity threshold.

15 Anforderungsanalyse Analyse der (Nutzer / Stakeholder-) Anforderungen und Umformung in Entwickler-Sicht INCOSE: „The purpose of the Requirements Analysis Process is to transform the stakeholder, requirement-driven view of desired services into a technical view of a required product that could deliver those services.” DIN : Pflichtenheft = „die vom Auftragnehmer erarbeiteten Realisierungsvorgaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts“ Systemspezifikation (System Specification, System Requirements Specification): beschreibt das System aus der Innensicht Keine Festlegung auf spezifische Lösungswege, aber Definition interner Parameter und Schnittstellen Funktionen und externe funktionale Schnittstellen des Gesamtsystems Grundlage für die Systementwicklung Pflichtenhefterstellung Iterative und rekursive Vorgehensweise Strukturierung und Verlinkung von Anforderungen Benennung von Evaluationskriterien (Measures of Performance)

16

17 Eigenschaften von Anforderungen
verständlich von allen Akteuren (nicht nur den Entwicklern) lesbar, klar eindeutig kein Interpretationsspielraum, präzise aber nicht notwendigerweise: nur auf eine Art implementierbar! verifizierbar/testbar wie kann die korrekte Implementierung festgestellt werden? nachvollziehbar warum ist die Anforderung vorhanden, ist sie notwendig? konsistent keine Widersprüche zu anderen Anforderungen realisierbar, d.h. nicht in sich widersprüchlich abstrakt keine unzulässige Einschränkung des Implementierungsraumes adaptierbar kann ggf. erweitert, ersetzt oder gelöscht werden

18 Gängige Probleme in Spezifikationen
Mangelnde Klarheit Präzision versus Lesbarkeit shall / will / must / should / is to / ought to / … Konfusion Vermischung funktionaler und nichtfunktionaler Anforderungen Amalgamation Vermischung verschiedener Belange in einer Anforderung Ambiguität Verschiedene Interpretationsmöglichkeiten Überspezifikation Selber Sachverhalt mehrfach beschrieben Unterspezifikation Sachverhalte unvollständig oder gar nicht beschrieben Mangelnde Modularisierung Strukturierung in Prosa ist schwierig

19 Traceability (Verfolgbarkeit)
Wichtigste Eigenschaft an Spezifikationen (neben Konsistenz & Vollständigkeit) Anforderungen können ohne Bezüge nicht sinnvoll verwaltet werden! Verfolgbar bedeutet, dass die folgenden Informationen da sind wer die Anforderung aufgestellt hat (Bezug zu Stakeholder) warum die Anforderung existiert (Bezug zu Lastenheft) welche anderen Anforderungen damit zusammenhängen (Querbezüge) wie die Anforderung weiter verwendet wird in Systementwurf / Architektur, Implementierung / Code, Test / Testfälle, und Dokumentation (Material from I. Sommerville, Software Engineering)

20 Funktionalität von RM Tools
Kernfunktionalität: Datenbank (jede Anforderung ist ein Eintrag) Sammlung und Speicherung, Versionierung und Verwaltung, Verlinkung Zusätzliche Funktionalität Versionsmanagement (e.g. CVS) Konfigurationsmanagement (e.g. configurator) Groupware (CSCW, Task lists usw.) Anforderungserhebungshilfe Checklisten, Tabellen, Schablonen, …, Importfunktionen Interaktion zu Texteditoren und Dokumentgenerierungssystemen Interaktion zu Modellierungswerkzeugen Validierungshilfe Formalisierung, Transformation & Verfeinerung, Modellprüfung, …

21 Requirements Engineering – Tools
Industriestandard: DOORS® 3-8K€/Lizenz Open Source Varianten verfügbar

22 Polarion Requirements / ALM


Herunterladen ppt "Modellbasierte Software-Entwicklung eingebetteter Systeme"

Ähnliche Präsentationen


Google-Anzeigen