Modellbasierte Software-Entwicklung eingebetteter Systeme

Slides:



Advertisements
Ähnliche Präsentationen
Philos II - Workshop VES-Lock-In-Schutz.
Advertisements

Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
1 Workshop: Grundlagen des IT-Projektmanagements - Version /2004Modul: Aufwand – Ergänzung FP Copyright: Dr. Klaus Röber Modul Ergänzungen zur.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Qualitätssicherung von Software (SWQS)
Herzzentrum Osnabrück-Bad Rothenfelde 1 Epidemiologie Vorhofflimmern ist die häufigste anhaltende Herzrhythmus- störung und wird bei insgesamt 0,4–2 %
Produktmodelle im Service Engineering
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Prof. Dr. Holger Schlingloff
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Rational Unified Process (RUP) - Definitionen
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
12a Produktkonfigurator
Kundenspezifische Anpassungen - Ändern von Objekten
12 Produktkonfiguration
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Vorgehensmodelle: Schwergewichtige Modelle
Spezifikation von Anforderungen
Software-Projektführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Fünf-Fünf-Zwei der 3. Vorlesung/Übung Requirements Engineering WS 10/11 Marin Zec.
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
Zentralübung Automotive Software Engineering – Übungsblatt 8
Präsentation der Software FlexPDE5
Agenda 13: Begrüßung & Einführung in das Thema
Vorgehensweise bei der Software-Entwicklung des Publication Managers
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Engineering tools for the NEO engineer
Vorlesung: 1 Workgroup Computing 2003 Prof. Dr. G. Hellberg Studiengang WI FHDW Vorlesung: Workgroup Computing 2. Quartal 2003.
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
Seminar Wien Einführung.
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Copulas (1) András Bárdossy IWS Universität Stuttgart.
How Does Fuzzy Arithmetic Work ? © Hartwig Jeschke Institut für Mikroelektronische Schaltungen und Systeme Universität Hannover
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
VO D6/G6: Einführung in die Politikfeldanalyse
Institut Experimentelles Software Engineering Fraunhofer IESE Vorstellung des neuen GI Arbeitskreis: Produktlinientools Isabel John, Fraunhofer IESE
Einfaches Erstellen von Präsentationen aus Einzelfolien heraus.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Requirements Engineering Universität zu Köln Medienkulturwissenschaften/Medieninformatik Kurzreferat in Planung von Softwareprojekten bei Herrn Christoph.
Stephanie Müller, Rechtswissenschaftliches Institut, Universität Zürich, Rämistrasse 74/17, 8001 Zürich, Criminal liability.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Institut für Angewandte Mikroelektronik und Datentechnik Course and Contest Results of Phase 5 Eike Schweißguth Selected Topics in VLSI Design (Module.
Nachweis von B 0 s -Oszillationen mit dem ATLAS Detektor am LHC B. Epp 1, V.M. Ghete 2, E. Kneringer 1, D. Kuhn 1, A. Nairz 3 1 Institut für Experimentalphysik,
Rules of Play - Game Design Fundamentals by Katie Salen and Eric Zimmerman Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
Fakultät für Gesundheitswissenschaften Gesundheitsökonomie und Gesundheitsmanagement Universität Bielefeld WP 3.1 and WP 4.1: Macrocost.
DI Dr.med.univ.Gregor de Lijzer
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Englisch Grundlagen, Modal Verbs
Get your Project started
„Förderwolke“ A Cloud-based exchange platform for the qualitative enhancement and improvement of inclusive education Dipl. Reha-Päd. Hanna Linke scientific.
 Präsentation transkript:

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

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

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 http://www.youtube.com/watch?v=JA0Wb3gc4mE http://www.youtube.com/watch?v=rguztY8aqpk http://www.youtube.com/watch?v=JA0Wb3gc4mE http://www.youtube.com/watch?v=rguztY8aqpk

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

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 500.000 Schrittmacher implantiert

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 http://www.youtube.com/watch?v=SMXBR_YFocs

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

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.)

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

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.

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

Anforderungen (Boston Scientific)

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. 5.7.1 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 5.7.2 Activity Threshold The activity threshold is the value the accelerometer sensor output shall exceed before the pacemaker’s rate is affected by activity data. 5.7.3 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. 5.7.4 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. 5.7.5 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.

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.

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 69901-5: 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)

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

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

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) http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PPT/ch6.ppt

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, …

Requirements Engineering – Tools Industriestandard: DOORS® 3-8K€/Lizenz Open Source Varianten verfügbar http://www.jiludwig.com/Requirements_Management_Tools.html

Polarion Requirements / ALM