Modellbasierte SoftwareEntwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS Wochenquiz • • • • • Was sind BDDs, IBDs? Gemeinsamkeiten & Unterschiede? Wozu werden Zusicherungsdiagramme verwendet? Wie kann man Strategien formalisieren? Welche Vorgehensmodelle kennen Sie? Welche Sichten auf ein eingebettetes System werden modelliert? H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 2 A Development Process Model 1. Read the requirements specification 2. Put all information into an abstract class diagram of the subject domain 3. Identify all actors in a use case diagram 4. Define sequences of interaction for the use cases in sequence diagrams 5. Put sequence diagrams in activity diagrams / state machines 6. Derive a system class model 7. Design a communication diagram to define concrete interaction 8. Derive a design class model 9. Derive an implementation class model 10. Generate code H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 3 Example: Extended Care System • System to connect patients and health care people • Main purpose: provide quick help in the case of an emergency e.g., a fall to the ground, cardiac arrest, apnea or general immobility scenario: collapse of the patient (e.g., while walking) • Correctness: call help iff help is needed if help is needed, a call must be issued there must not be false emergency calls • Idea sensors attached to the body recognize abnormal condition (e.g., powerful acceleration, change in the barometric altitude, higher heart rate, ...) sensors exchange and consolidate their measurement results call an emergency service provider for further processing the alarm H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 4 System Structure of the ECS Components • Ventricular Assist Device (VAD) blood pump with controller and control laptop has to be protected from misusage • Body Area Network (BAN) different sensor nodes attached to the body wireless communication, ad-hoc networking, leader election not a medical device (not used for diagnosis or therapy) • Telematics Systems (TMS) telematic module, server, client software online monitoring, alert handling, data logging data protection H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 5 Challenges • Requirements specification • Design and evaluation of system architectures • Interface definitions • Not handled: early validation security analysis testing and testability functional safety H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 6 Boundaries of the System • modeled by a ibd (context diagram) • service provider as part of the environment H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 7 Goals and Requirements • Modeled via requirements diagrams H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 8 Use Cases • Main use cases of the system H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 9 Scenario “Collapse” H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 10 Structural Investigation of Requirements • Information to be exchanged in a class model H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 11 Functional Decomposition • Deployment of functionality onto nodes H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 12 Architecture • Package diagram for the distribution H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 13 Towards an Implementation • Sensor behavior as activity / state machine diagrams H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 14 A Concrete Interaction Scenario • SD H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 15 3.2 physikalische Modellierung 1. Identifikation der relevanten Umgebungsgrößen 2. Repräsentation durch mathematische Variablen 3. Eigenschaften / Relationen der Variablen festlegen die relevanten Variablen sind im Allgemeinen zeitabhängig Funktionen über der Zeit! - Zustand: Wert aller Funktionen zu einem gegebenen Zeitpunkt - Trajektorie: Veränderung des Zustandes in der Zeit Festlegung: überwachte und geregelte Variablen („monitorierte“ und „kontrollierte“ Größen) H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 16 Beispiel Füllstandsregelung Zulauf Füllstandsanzeiger max min Ablauf Variable Typ Beschreibung Werteber eich Einheit f m Füllstand 0-100 mm z c Zulauf 0-1 prozentuale Öffnung Ablauf 0-1 nicht zugänglich a min konstant Minimalfüllstand 86 mm max konstant Maximalfüllstand 95 mm Bemerku ng • Randbedingungen Füllhöhe ändert sich als Funktion von Zu- und Ablauf Überlauf wenn voll, kein Auslauf wenn leer • informelle Anforderungen für Steuerung des Zulaufs Füllstand soll zwischen min und max gehalten werden - Wenn f < min, Zulauf einschalten - Wenn f > max, Zulauf ausschalten • Stellvertretend für Heizungsthermostat, Batterieladegerät, Dämmerungslicht, … H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 17 Modellierung mit Scicos • Idee Flussdiagramme (wie ibd) Blöcke tragen mathematische Semantik (wie par) • Verbindungen signalisieren Ströme Kontinuierliche Daten wie Strom, Spannung, Fluid, Masse, … Diskrete Daten wie Events Umformung der Eingangsströme in Ausgangsströme • Industriestandard: Simulink • Alternative Scicos / Xcos Aufbauend auf numerischer Mathematik-Software Scilab des INRIA Modellierung durch Zusammenschalten von Blöcken IDE: ScicosLab H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 18 Beispiel Wassertank • f´(t)= k1*z(t) – k2*a(t) • 0 ≤ f(t) ≤ max H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Folie 19