Wolfram.Kattanek @ IMMS.de
Embedded Systems und Statecharts(im Rahmen der Lehrveranstaltung »Entwurf und Validierung paralleler Systeme«)
Wolfram Kattanek
Institut für Mikroelektronik- und Mechatronik-Systeme (IMMS) gGmbHLangewiesener Str. 22 (über »K+B«)
Email: [email protected]. 03677/6783-55
Inhalt:
• Motivation zur Thematik aus industrieller Sicht• Systemklassen, Modellierung und
Beschreibungsformalismen• Statecharts als erweiterte Automaten• Beispiele und Übungen zu Statecharts• Tool-Unterstützung und Anwendungen• Ausblick
Wolfram.Kattanek @ IMMS.de
Embedded System: Definition 1
• Device designed for dedicated purposes where the correctness of the system depends not only on the logical result of the computation but also on the time at which the results are produced.
Source: CURABA 2002
Wolfram.Kattanek @ IMMS.de
Embedded System: Definition 2
• An Embedded System» uses a computer to perform function, but
» is not used (nor perceived) as a computer
• Software is used for features and flexibility• Hardware is used for performance
• Typical characteristics:» it performs a single function
» it is part of a larger (controlled) system
» cost and reliability are often the most significant aspectsSource: LAVAGNO 2002
Wolfram.Kattanek @ IMMS.de
Embedded System: Definition 3Als eingebettete Systeme (embedded systems) werden im allgemeinen Elektronik-Systeme bezeichnet, die in größere Umgebungen integriert sind. Sie werden eigens für spezielle Anwendungen entworfen und führen dedizierte Funktionen innerhalb eines Gesamtsystems aus. Eingebettete Systeme können sowohl Standard-Mikroprozessoren und -Mikrocontroller, als auch an die jeweilige Anwendung angepaßte spezielle Hard- und Software enthalten.
Der Unterschied zu einer normalen Applikationserstellung aus dem Bereich des „klassischen“ Software Engineering besteht in den, teilweise sehr restriktiven, nichtfunktionalen Anforderungen dieser Domäne. Üblicherweise entstehen diese strikten Anforderungen aufgrund der zum Einsatz kommenden Hardware. Hier sind unter anderem Echtzeitanforderungen (ein Ergebnis muss zu einem bestimmten Zeitpunkt vorhanden sein, ansonsten ist das Ergebnis nutzlos) und häufig die Hardwareanforderungen (z.B. 8-Bit Prozessor mit 4MB Flash) dominant.
Source: www.visek.de
Wolfram.Kattanek @ IMMS.de
Embedded Systems und parallele Systeme
Typische Embedded Systems sind parallele bzw. nebenläufige Systeme.
● parallel
gleichzeitige Ausführung auf physisch getrennten Verarbeitungseinheiten(z.B. verschiedene Funktionseinheiten eines ASICs)
● nebenläufig (concurrent)
"Running together"; keine Aussage über konkrete Ausführungsreihenfolge(z.B. mehrere Tasks in einem Multitasking-System)
Wolfram.Kattanek @ IMMS.de
Bsp. für Embedded System: Kfz-Steuergerät
Außerdem: Diagnose-Interface, Wake-Up Management, Watchdogs, redundante HW-Funktionalität, ...
Wolfram.Kattanek @ IMMS.de
Bsp. für Embedded System: System-on-a-Chip (SoC)
– MCU, VLIW, DSP– Memories– ASICs– Bus
– Application Software– RTOS (Real-time Operating System)– BSP (Board-Support Package)
Content elaboration(base band)
Storage
Power management
MMI
Security
Connectivity
Connectivity
Connectivity
Storage
Content elaboration(base band)
MMI
Power management
Security
Connectivity
Wolfram.Kattanek @ IMMS.de
Embedded Systems als Teil größerer Systeme
Source: VILLAR 2002
Wolfram.Kattanek @ IMMS.de
Embedded Systems: Technology Pressure
Embedded SW :doubles every 10 months
Moore’s law : IC complexitydoubles every 18 months
Nielsen’s law :bandwidth
doubles every 12months
2000 2010 time
complexity
Source: CURABA 2002
Wolfram.Kattanek @ IMMS.de
Embedded Systems: Design Productivity Gap
ITRS’99
Tran
sist
ors/
Chi
p (M
)
Tran
sist
or/P
M (K
)
Wolfram.Kattanek @ IMMS.de
Embedded Systems: Some resulting Gaps...• Design & Verification Gap
• Software Gap:“The complexity of a System-on-Chip design is not only in the million transistors packed in a square millimetre. The major challenge for technical success of a SoC is to make sure that millions lines of software fit in with millions gates.”
11982 1986 1990 1994 1998 2002
10
100
1000
10000
100000
Ability to fabricate
Kgates/chip
DesignGap
2006
Ability to design
Ability to verifyVerification
Gap
Source: MARICHAL 2002
Wolfram.Kattanek @ IMMS.de
Embedded Systems im Bereich Automobilelektronik
· Kfz-Elektronik liegt in Deutschland wertmäßig vor Telekommunikation, Datentechnik und Industrieelektronik.
· Bis zu 90% aller Neuheiten-Merkmale beruhen bei Neuwagen auf Elektronik.· Ca. 80% der Elektronikfunktionalität ist SW-basiert.
Oberklasse-PKW:
• 70+ ECUs(Electronic Control Units)
• 5+ Bussysteme• bis zu 512 kByte
SW je ECU• 4 - 32 Bit C/P
Wolfram.Kattanek @ IMMS.de
Automobilelektronik: morgen (heute?)
• Telematik und Integration von Konsumelektronik (Multimedia)• X-by-Wire• Internet Vehicle• Autonome Fahrzeuge ...
IVHS InfrastructureIVHS Infrastructure
Wireless Communications/DataWireless Communications/DataGlobal PositioningGlobal Positioning
Info/Comms/Info/Comms/AV BusAV Bus
CellularCellularPhonePhone
GPSGPS DisplayDisplay
NavigationNavigation Stereo/CDStereo/CD
Electronic Toll CollectionElectronic Toll CollectionCollision AvoidanceCollision AvoidanceVehicle ID TrackingVehicle ID Tracking
Multiplexed SystemsMultiplexed Systems
VehicleVehicleCAN BusCAN Bus
BodyBodyControlControl
ECUECU ABSABS
SuspensionSuspension TransmissionTransmission
Wolfram.Kattanek @ IMMS.de
Entwurfsziele und -probleme
• Ziele:» Funktionalität (Alleinstellungsmerkmale gegenüber Konkurrenz)» Time-to-Market (Kürzere Entwicklungszyklen)» Kosten (Geringe Stückkosten, Vermeidung von Iterationszyklen)» Qualität (Erhöhte Zuverlässigkeit und Lebensdauer)
• Probleme:» Komplexität (Steuergerätestruktur, Vernetzung, Funktionalität)» Gesetzliche Rahmenbedingungen (national / international)» Variantenvielfalt (Typ, Modell, Ländervariante, Personalisierung)
Wolfram.Kattanek @ IMMS.de
Vorteile von SW im Automobil
• Fertigungskosten:hohe Stückzahlen rechtfertigen höhere Entwicklungskosten
• Flexibilität bei der Entwicklung:Bandendeprogrammierung, Änderungsmöglichkeiten
• Gewichtsreduktion:direkt und durch verringerten Kabelaufwand
• Zuverlässigkeit:keine Alterung
• Servicemöglichkeiten:verbesserte Diagnose
• Innovation:Realisierung der meisten neuen Alleinstellungsmerkmale
Wolfram.Kattanek @ IMMS.de
SW-Entwurf für eingebettete Systeme
Bisher relativ geringe Größe des SW-Anteils und eine eingeschränkte funktionale Systemvernetzung.
Der Entwurf ist hauptsächlich dokumentenbasiert!
Phasenübergänge sind durch Medienübergänge gekennzeichnet!
Starke Orientierung am Wasserfall-Entwicklungsprozeßmodell!
Wolfram.Kattanek @ IMMS.de
Nachteile bisheriger SW-Entwicklungsmethoden
• Werkzeug- und Phasentrennung (Medienbrüche)• Schlechtes Feedback in frühen Phasen• Fehlerträchtigkeit durch mangelnde Formalisierung• Späte und mangelhafte Fehlererkennung
• Software ist extrem »unstetig«!(Man verändere nur 1 Zeichen in einem beliebig großem Programm...)Herkömmliche Test- und Simulationsmethoden versagen zunehmend!
Wolfram.Kattanek @ IMMS.de
Ausweg: modellbasierter Entwurf
• Def. (Wymore93):
»To design a system is to develop a model on the basis of which a real system can be built, developed, or deployed that will satisfy all its requirements.«
• Der Entwurfsprozeß läßt sich allgemein als eine (nach vorgegebenen Kriterien erfolgende) Erstellung und Manipulation von Modellen charakterisieren!
• Das Ergebnis von Ingenieurstätigkeit sind Modelle (physische Modelle, Zeichnungen, Konstruktionsunterlagen, mathematische Modelle, system-theoretische Modelle).
• Software Engineering erfordert Ingenieurstätigkeit!
Wolfram.Kattanek @ IMMS.de
Modellbasierter SW-Entwurf
• Modelle als Grundlage jedes ingenieursmäßigen Vorgehens• Formale Methoden zur Erstellung und Manipulation der Modelle
(Einführung einer formalen Ebene innerhalb des Entwurfsprozesses)
Wolfram.Kattanek @ IMMS.de
Modellbasierte Spezifikation
• Deskriptive Spezifikation
• Äußere, Beschreibungssicht
• Operationale Spezifikation
• Innere, Realisierungssicht
Die dabei zum Einsatz kommenden Modelle und Formalismen müssen die Spezifika der jeweiligen Systemklasse berücksichtigen (z.B. reaktive Systeme aus dem Bereich der Komfort- und Karosserieelektronik)!
Wolfram.Kattanek @ IMMS.de
Systemklasse Karosserie- und Komfortelektronik• Zustands-basiertes Verhalten (Modes)• Komplexe Interaktionsszenarien (großer Zustandsraum)• Verteilte Systeme• Reaktives Verhalten
• A: 1-10 kbps, B: 10-125kbps, C: 125 kbps-1 Mbps
Wolfram.Kattanek @ IMMS.de
Reaktive Systeme
Bei den meisten(?) existierenden Embedded Systems handelt es sichum reaktive Systeme.
● Reaktives SystemSystem-Umgebung gibt die Geschwindigkeit vor(z.B. Tür-Steuergerät im Kfz)
● Interaktives SystemSystem gibt die Geschwindigkeit vor(z.B. grafische Benutzeroberfläche)
● Transformatorisches Systemzur Laufzeit (bzgl. Ein-/ Ausgaben) von der Umgebung entkoppelt(z.B. numerisches Berechnungsprogramm)
Umgebung Steuerung
Sensoren
Aktoren
REAKTIVESSYSTEM
Wolfram.Kattanek @ IMMS.de
Eigenschaften reaktiver (eingebetteter) Systeme
● Concurrency(cooperating concurrent components)
● Real-time(response time, availability)
● Determinism(reaction is determined by environment)
● Heterogenity(implemented in different technologies)
● Reliability(correctness, robustness, fault tolerance)
Wolfram.Kattanek @ IMMS.de
FRAGE:
Mit welchen Modellen und Formalismen/Sprachen lassen sich Embedded Systems bzw. reaktive Systeme unter Einbeziehung zusätzlicher Forderungen (Komplexität, Korrektheit, Entwurfszeit) am effektivsten entwerfen???
Wolfram.Kattanek @ IMMS.de
Zusammenhang zwischen Modellen und Formalismen
Modell
● Abstraktion von physikalischen Gegebenheiten● Implementierungsunabhängig● mathematische/systemtheoretische Grundlagen
Formalismus/Sprache = Spezifikation eines Modells
● Praktische und effiziente Entwurfsdarstellung● Genaue Umsetzung des Modells● Automatische Verarbeitbarkeit
Wolfram.Kattanek @ IMMS.de
Statecharts zugrundeliegendes Modell
Physikalisches System(kontinuierliche Wertänderungen, unendlicher Zustandsraum)
Transition System(schrittweise Wertänderungen)
Finite State System(endlicher Zustandsraum)
Finite Transition Systemdigitaler Automat
Finite State Machine (FSM) / State Transition Diagram (STD)Automatengraph
Grafische Notation (bzw. Sprache)
Wolfram.Kattanek @ IMMS.de
Statecharts
"The language of Statecharts has been proposed by David Harel as a visual language for the specification and modeling of reactive systems."
Statecharts wurden Mitte der 80er Jahre von Prof. David Harel am Weizmann Institute in Israel entwickelt. Sie wurden 1987 im Rahmen eines Zeitschriftenartikels umfassend vorgestellt.
Als Sprache verfügen Statecharts über eine (grafische) Syntax und eine Semantik. Die Semantik von Statecharts basiert hauptsächlich auf einer operationalen Definition (d.h. mittels einem abstrakten Statecharts-“Interpreter“).
Wolfram.Kattanek @ IMMS.de
Bedeutung von Statecharts
Statecharts stellen einen möglichen Lösungsansatz dar,wobei jedoch damit nur bestimmte Teilaspekte und nurbestimmte Applikationsdomänen abgedeckt werden können!
Wolfram.Kattanek @ IMMS.de
„Lastenheft“ bzw. Spezifikation: Remote Control
• Eine Steuerung für einen Fernsehapparat mit Fernbedienung ist zu entwerfen.
• Die Fernbedienung soll über folgende Tasten verfügen:POWERON, POWEROFF, TXT, SOUND, MUTE, P1, P2
• Mittels POWERON wird der Fernseher eingeschaltet.• Mittels POWEROFF kann er jederzeit ausgeschaltet werden.• 2 Fernsehprogramme können ausgewählt werden.• SOUND und MUTE schalten den Ton an bzw. aus.• TXT wechselt zwischen Fernseh- und Videotextmodus.• Nach Einschalten ist der Fernsehmodus aktiv und der Ton ist an.• Beim Einschalten und beim Umschalten zwischen den
Fernsehprogrammen soll der Ton für 1s stummgeschaltet werden.