250 likes | 480 Views
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. W-Fragen. Was versteht man unter cyber-physischen Systemen?
E N D
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
W-Fragen • Was versteht man unter cyber-physischen Systemen? • Welche besonderen Herausforderungen gibt es bei der Entwicklung von ES? • Was ist ein Realzeitsystem? • Was ist der Unterschied zwischen weichen und harten Realzeitanforderungen? • Wie ist der prinzipielle Hardware-Aufbau eines ES? • Wie werden ES programmiert? • Welche Software läuft auf einem ES?
2. System- und Anforderungsanalyse • Systemanalyse (systems engineering) • Entwurfs- und Konstruktionsprozesse komplexer Systeme • Anforderungsanalyse (requirements engineering) • Prozesse zur Anforderungserhebung, -verwaltung und –vernetzung Frühe Phasen der Systementwicklung! Entwicklungs- bzw. Lebenslauf-begleitend! nicht eingeschränkt auf eingebettete Systeme (z.B. ein Flughafenbau benötigt kompetente Systemanalysten) Komplexität beherrschbar machen
Motivation Systemanalyse • Vergleich zum Vorgehen eines Ingenieurs: • Plan auf Papier • Analyse des Plans • Bau des Systems • Software: • Wunschvorstellungen • Implementierung und Test • Ändern solange bis Ergebnis zufriedenstellend Das kann‘s nicht sein! • Wie werden Anforderungen systematisch erfasst und verwaltet? • Wie fließen sie in den Entwurf ein?
Systemanalyse • Systemanalyse ist der Prozess, ein komplexes System als Ganzes zu verstehen, zu entwerfen und zu entwickeln (im Gegensatz zur Komponentensicht). Wesentlich dafür ist die ganzheitliche Erfassung der Anforderungen, insbesondere bezüglich Integration und Betrieb des Systems im sozio-technischen Umfeld. • Herangehensweise: alle verschiedenen Aspekte berücksichtigen auch nichttechnische Gesichtspunkte: • Nutzerverhalten • kaufmännische Aspekte • Betrieb • Verwaltung • Entsorgung • Betonung der Systemziele • ständige Exploration mehrerer Lösungswege • ganzheitliche Sicht auf Prozesse und Abläufe
INCOSE International Council of Systems Engineering • Systems Engineering Professional Certification • Systems Engineering Handbook “Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, and then proceeding with design synthesis and system validation while considering the complete problem: operations, cost and schedule, performance, training and support, test, manufacturing, and disposal. Systems engineering considers both the business and the technical needs of all customers with the goal of providing a quality product that meets the user needs.”
Abstraktionsebenen von Systemen Organisationen Socio-technical systems engineering Prozesse Applikationen Software engineering Plattformen Hardware Beispiel Herzschrittmacher Quelle: http://Fifs.host.cs.st-andrews.ac.uk/Books/SE8/Syllabuses/ADVANCED-SE-SLIDES/Systems-1.ppt
Beispiel für einen Prozess • Stakeholder requirements definition process (Lastenhefterstellung)
Stakeholder (Akteure) • alle Personen oder Organisationen, die direkt oder indirekt mit dem System zu tun haben („anyentity (individual ororganization) with a legitimateinterest in thesystem“) • Beispiel „Herzschrittmacher“: • Patient • Chirurg • behandelnder Arzt • Pflegepersonal • Klinik • Entwicklungs- und Herstellungsfirma • Zulieferer • Wartungstechniker • Notfallambulanz • TÜV • ... • Systemdesigner • Entwickler SW/HW • Tester • Systemintegrator • Manualschreiber • Softwarewartung • Management • Einkaufsabteilung • Buchhaltung • ...
Lastenheft (Anforderungsspezifikation) • DIN 69901-5: „die vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers innerhalb eines Auftrages“ • Beschreibung der durch das System bereitgestellten Dienste und operationalen Randbedingungen; in der Sprache der Stakeholder verfasst und für diese verständlich • aus Vorstudie, Workshops, Interviews • Fokus auf Benutzungsanforderungen • das für die Systementwicklung wesentliche Dokument • beschreibt das System in seiner Gesamtheit • oft Grundlage für Auftragserteilung • üblicherweise ein Textdokument von 50-500 Seiten • üblicherweise streng geheim
typischer Aufbau • Titel, Dokumentenname und –ID, Verfasser, Freigabe, usw. • Änderungshistorie, Inhalts-, Abbildungs- und Tabellenverzeichnis • vorgesehener Leserkreis, Abstrakt, Dokumentenwartung • Verzeichnis von Abkürzungen, Definitionen und Fachbegriffen • Sicherheitsanforderungen und relevante Standards • System- und Schnittstellenübersicht, Nutzungsbeschreibungen • Funktionale Anforderungen • Nichtfunktionale Anforderungen • Indices und Anhänge
Anforderungen eingebetteter Systeme • Physikalische Umgebung • spezielle operationale Randbedingungen, z.B. Temperatur, Beschleunigungswerte • Abmessungen, Formfaktor, Stecker usw. • Technisches System mit SW und HW • Kosten / Leistungsbeschränkungen • Prozessor (-familie), max. Speicherausbau • Sensorik / Aktuatorik • Toleranzbereiche, Abweichungen • Leistungsgrenzen • Domänenspezifika • Fachbegriffe • Normen, Standards • Funktion als Regelkreis und Schaltfunktion • kontinuierliche und diskrete Anteile
Funktionale und nichtfunktionale Anforderungen • Funktionale Anforderungen • Beschreibung der Dienste des Systems, z.B. wie es auf bestimmte Eingaben reagiert oder sich in bestimmten Situationen verhält • z.B. was passiert wenn ein bestimmter Knopf gedrückt wird • Nicht-funktionale Anforderungen • Randbedingungen für die Dienste, z.B. zeitliche Einschränkungen, Entwicklungseinschränkungen, usw. • z.B. Lebensdauer oder Leistung • umstritten ob überhaupt NFR existieren • Domänen-Anforderungen • allgemeine Anforderungen für alle Systeme einer bestimmten Anwendungsdomäne (Medizintechnik, Schienenverkehr...) • z.B. anwendbare Standards
Funktionale Anforderungen • Funktionalität oder Dienste des Systems • Funktionale Nutzeranforderungen: Abstrakte Außensicht • Funktionale Systemanforderungen: Abstrakte Innensicht • Formulierung hängt ab von der zu erwartenden Nutzung und dem Einsatzbereich des Systems • BLACK BOX VIEW!
Das menschliche Herz • “Motor” des kardiovasculären Systems • Zwei Kreise: pulmonatorischer Kreislauf (rechte Seite) und systemischer Kreislauf (linke Seite des Herzens) • Jede Seite besteht aus Atrium und Ventrikel • 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
Kardiovasculäre Krankheiten ... • ... sind eine der Haupt-Todesursachen weltweit. • Herzrhythmusstörungen können sein: • bradycardia: das Herz schlägt zu langsam • tachycardia: 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 sinoatrialen Knoten (im Atrium) generiert und durch den atrioventrikularen 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
History of Pacemakers • Conceived in the 1920’s • external devices used since the 1930s • First implantation 1958 • consisted of a capacitor with two transistors,and a power supply (accumulator or battery) • sealed in a shoepolish-can with epoxy • Problems • power supply • plutonium batteries can last 40+ years, but are poisonous • present capacity 5-8 years, “problem solved” • constant pacing can lead to atrial fibrillation, if the artificial pace contradicts the natural one. However: leads can be used to measure the cardiac cycle control electronics needed! • Today, every year more than 500.000 pacemakers are implanted worldwide
Modern Pacemakers • Apply stimulating pulse if and only if necessary • Use of leads not only to apply the pulse, but also to measure an electrocardiogram • Measure patient’s activity and adapt the pacing rate accordingly • Improve strength of the heart • Resynchronize and improve synchronizationbetween left and right side of the heart • Cure certain cardiovascular conditions Current trends: • Implantable integrated pacemaker / defibrillators • Intracardial pacemakers, subcutaneous cardioverter defibrillators • Telemedical supervision and support http://www.youtube.com/watch?v=SMXBR_YFocs