ppt - Institut für Informatik

Werbung
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
Herunterladen