Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik 25.10.2005
Literatur Skripten im Internet englischsprachige Bücher Martin Fränzle: Eingebettete Systeme 1, http://ca.informatik.uni-oldenburg.de/~fraenzle/ES-I-WS0102/skript-ES-I.pdf Jan Bredereke: Safety-critical systems, http://www.informatik.uni-bremen.de/agbs/lehre/ws0203/scs4/lect.pdf Robert Baumgartl: Echtzeitsysteme, http://rtg.informatik.tu-chemnitz.de/obj.php/einf.pdf?id=192&mime=application%2Fpdf Stefan Kowalewski: Formale Methoden für eingebettete Systeme, http://www2.s-inf.de/Skripte/HS/FMfeS.2005-SS-Kowalewski.(MLe).Skript.pdf Georg Färber: Eingebettete Systeme, ftp://ftp.rcs.ei.tum.de/pub/courses/UP/mikroprz_skript.pdf englischsprachige Bücher Arnold S. Berger: Embedded Systems Design Broekman, Notenboom: Testing Embedded Software Li, Yao: Real-Time Concepts for Embedded Systems Vahid, Narayan et al: Specification and Design of Embedded Systems Bouyssounouse, Sifakis: Embedded Systems Design … 25.10.2005
Literatur, Konferenzen deutschsprachige Bücher Klaus Bender: Embedded Systems - qualitätsorientierte Entwicklung Georg Thaller: Software Engineering für Echtzeit und Embedded Systems Liggesmeyer, Rombach: Software-Engineering eingebetteter Systeme Schäuffele, Zurawka: Automotive Software Engineering Tagungen und Konferenzen DATE, Design, Test and Automation Europe FTRTFT, Formal Techniques in Real Time and Fault Tolerant Systems RTSS, IEEE Real-Time Systems Symposium RTS, International Conference on Real-Time Systems RTCSA, International Conference on Real-Time and Embedded Computing Systems … 25.10.2005
Definition „eingebettetes System“ (engl.: embedded system) Ein „System“ ist etwas „Zusammengesetztes“ (also eigentlich alles, ein bedeutungsleeres Wort); speziell „von Menschen Zusammengesetztes“ in unserem Kontext immer: Informatiksystem, also informationsverarbeitende Maschine „eingebettet“ bedeutet: für einen spezifischen Zweck in einer technischen Umgebung entworfen, eingebaut und betrieben (Computer als Komponente eines technischen Systems) kennzeichnende Merkmale fester Bestandteil eines technischen Systems Zweckbestimmtheit (im Gegensatz zum Universalrechner) Interaktion mit Umgebung durch Sensorik und Aktuatorik Reaktivität, meistens Realzeitabhängigkeit sekundäre Merkmale oft für Regelungs- / Steuerungsaufgaben vorgesehen häufig Massenware, Konsumgut, billig („Kommodität“) vielfach schlecht bzw. nicht wartbar und nicht erweiterbar für viele unverzichtbar, manchmal auch sicherheitskritisch zunehmend auch vernetzt (ubiquitär) 25.10.2005
andere (schlechte) Definitionen Wikipedia Embedded Systems ist der englische Fachbegriff für eingebettete (Computer-) Systeme, die – weitestgehend unsichtbar – ihren Dienst in einer Vielzahl von Anwendungsbereichen und Geräten versehen, wie z.B. in Flugzeugen, Autos, Kühlschränken, Fernsehern, DVD-Playern oder allgemein Geräten der Unterhaltungselektronik. „Embedded Systems“ vereinigen daher durch ihre oftmals sehr hardwarenahe Konstruktion die große Flexibilität von Software mit der Leistungsfähigkeit der Hardware. Computer-Fachlexikon „Computersystem, bestehend aus Hardware und Software, das Bestandteil eines anderen Geräts, beispielsweise einer Büromaschine, eines Fahrzeugs oder eines Haushaltsgeräts, ist und einem bestimmten Zweck dient“ V-Modell XT des Bundes „Unter einem eingebetteten System versteht man ein System, das über Sensoren und Aktoren mit seiner physischen Umgebung interagiert. Ein Beispiel für ein eingebettetes System ist ein Mikrocontroller, der mit Hilfe seines Programms die Airbagauslösung im Kraftfahrzeug steuert.“ 25.10.2005
Beispiele wie viele eingebettete Systeme gibt es wohl hier im Raum? mit wie vielen sind Sie gestern in Berührung gekommen? 25.10.2005
Marktbereiche (nach [Fränzle]) Verkehrstechnik Motor/Triebwerkssteuerung, X-by-wire, Lagestabilisierung, Dynamikregelung, ABS, Insassenkomfort, … Verkehrsleitsystem, Ampelsteuerung, Radarerfassung, … Kommunikationstechnik Handy, Dect-Apparat, DSL-Modem, Vermittlungsrechner, … Bürotechnik Fax, Kopierer, Drucker, Funkmaus, … Hausgerätetechnik Uhr, Mikrowelle, Waschmaschine, Audio/Video-Equipment, Fernbedienung, Spielzeug, … Gebäudetechnik Heizungssteuerung, Lichtsteuerung, Schliessanlage, Sicherheitstechnik Produktions- und Umwelttechnik Kraftwerks- und Fabriksteuerungen, Emissionskontrolle, Robotik Medizintechnik Patientensysteme, Behandlungsgeräte, Mess- und Diagnosegeräte 25.10.2005
Marktrelevanz Eingebettete Systeme beanspruchen einen Marktanteil bei der Prozessor-Produktion von 98.2 %. Die restlichen 1.8% dienen dem Aufbau von interaktiven Systemen wie z. B. Laptops, Desktops und Servern 87,6% der gesamten Microcontroller-Jahresproduktion sind „prä-Win98-CPUs“, davon allein 57,6% 8-Bit-Prozessoren W. Schröder-Preikschat, http://www4.informatik.uni-erlangen.de/~wosch/Talks/040108HUB.pdf, zitiert Quelle: D. Tennenhouse. Proactive Computing. Communications of the ACM, 43(5):43–50, May 2000 25.10.2005
prognostizierte Entwicklung Die Schere geht weiter auseinander bereits heute mehr eingebettete Systeme als Menschen auf der Welt Elektronik als Wegwerf-Artikel (z.B. RFID, Grusspostkarten) „Ubiquitous Computing“: Der allgegenwärtige Computer Brille mit Hörgerät Jacke mit eingebautem MP3-Spieler Uhr, GPS im Ärmel? sprechende Krawatten? SoC, „System-on-Chip“ „Smart Dust“, Sensornetzwerke Intelligente autonome Systeme … 25.10.2005
Pause! 25.10.2005
spezifische Problemstellungen fester Bestandteil eines technischen Systems Notwendigkeit des mechanischen Einbaus, oft in unmittelbarer Nähe der Umgebung (Hohlräume, Motorraum, Ölwanne, Reifeninneres) physikalische Belastungen, Platz- und Energieprobleme Zweckbestimmtheit Effizienz der Funktionserbringung, minimaler Ressourceneinsatz Systemschnittstellen liegen i.a. vorher fest, nicht definierbar Interaktion mit Umgebung durch Sensorik und Aktuatorik Kenntnis der Umgebung, Schnittstellenbeschreibung Sensor- und Aktuatorverhalten, mechanische Ungenauigkeiten Rückkopplungseffekte Ausfallproblematik Reaktivität, meistens Realzeitabhängigkeit Forderungen an Betriebssystem 25.10.2005
weitere Problemstellungen oft für Regelungs- / Steuerungsaufgaben vorgesehen Interaktion Informatiker / Ingenieure häufig Massenware, Konsumgut, billig („Kommodität“) Kostendruck für die Produktion (Optimierungen im Cent-Bereich) Ressourcenbeschränktheit (z.B. Verarbeitungsbreite, Energie) vielfach schlecht bzw. nicht wartbar und nicht erweiterbar Instandsetzungskosten höher als Produktionskosten keine „Patches“, alles muss beim ersten Mal richtig funktionieren Rückruf / Garantieleistung kann Firma ruinieren für viele unverzichtbar, manchmal auch sicherheitskritisch Verlässlichkeit, Verfügbarkeit, Wiederverwendbarkeit (RAM) Fehlertoleranz zunehmend auch vernetzt (ubiquitär) Synchronisationsprobleme, Feature Interaction 25.10.2005