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 28.10.2005
Übersicht 0. Einleitungsbeispiel (Mars Polar Lander) 1. Eingebettete Systeme 1.1. Definitionen (eingebettetes System, Realzeit, Prozess, Steuerung, …) 1.2. Anforderungsanalyse 28.10.2005
Realzeitsysteme „meistens Realzeitabhängigkeit“ als kennzeichnendes Merkmal Begriffe „eingebettetes System“ und „Realzeitsystem“ werden manchmal gleichgesetzt umgangssprachlich „in Echtzeit“ heißt die Transformation von Daten (Encoding/Decoding) erfolgt in der selben Geschwindigkeit wie der Dateneingang Hier allgemeinere Definition nicht nur korrekte, sondern auch zeitgerechte Erbringung einer Leistung ist wichtig nicht: „möglichst schnell“ Definition nach DIN 443000 Ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. 28.10.2005
Zeitschranken „innerhalb einer vorgegebenen Zeitspanne verfügbar“ bedeutet: obere und untere Schranke können garantiert werden Beispiel Ampel Wenn der Knopf gedrückt wird, schaltet die Ampel frühestens nach 10 s und spätestens nach 120 s Beispiel Antiblockiersystem Zeitkritikalität offensichtlich untere und obere Schranken für die Druckphase Regelbereich 10-1s (langsam) Garbage collection? Multitasking? Caching? aus [Fränzle] 28.10.2005
Harte und weiche Echtzeit Oftmals spielt nur die obere Zeitschranke eine Rolle (Zeit bis zur unteren Schranke durch Wartezeit aufgefüllt) Weiche Echtzeitanforderung Wenn das Ergebnis nicht innerhalb der geforderten Zeit erbracht wird, verschlechtert sich die Dienstqualität Beispiel: streaming video decompression Harte Echtzeitanforderung Wenn das Ergebnis nicht innerhalb der geforderten Zeit erbracht wird, ist es wertlos, und der Dienst kann überhaupt nicht erbracht werden Beispiel: Reaktorabschaltung im Atomkraftwerk Anmerkungen Unterscheidung nicht immer offensichtlich Mittelharte Anforderungen möglich (boxcar-Protokoll) Superweiche Anforderungen (kaum Echtzeit) 28.10.2005
Klassifizierung von Echtzeitsystemen Härte der Zeitanforderungen Standard- versus Spezialbetriebssystem zeitgesteuert (sampling / polling) oder ereignisgesteuert (interrupts) Kontrollschleife versus Multitasking Scheduling-Verfahren … 28.10.2005
Pause! www.ariadne.ac.uk/ issue4/cartoon/ 28.10.2005
Prozess lat. procedere = voranschreiten; PPP: processus DIN 66201: „Umformung und/oder den Transport von Materie, Energie und Informationen von einem Anfangszustand in einen Endzustand nach genau festgelegten Regeln“ technischer Prozess: Verarbeitung von Materie / Energie Rechenprozess / Informatikprozess: Verarbeitung von Information Prozesse sind immer zeitabhängig! („Prozessausführung“ ist ein Pleonasmus) Prozesse werden von entsprechenden Systemen ausgeführt 28.10.2005
Prozessarten Stetige bzw. kontinuierliche Prozesse kontinuierlicher Strom von Ein/Ausgangsgrößen meist physikalische Größen mit kontinuierlichen Wertebereichen Beispiele: chemische/petrochemische Prozesse, Bewegungen, analoge Signalverarbeitung, … (Zeit-) diskrete bzw. unstetige Prozesse diskrete Elemente oder Schritte digitale Größen und Ereignisse Beispiele: Berechnungen, Stückgutfertigung, Computernetze, … Hybride Prozesse Kombination von diskreten und stetigen Prozessen Folgeprozesse, die sich wechselweise auslösen Beispiele: Stücke auf Förderband, digitale Signalverarbeitung, … kognitive Prozesse? 28.10.2005
Hybride Systeme Systeme, die hybride Prozesse ausführen Im allgemeinen erforderlich: Verarbeitung zeitkontinuierlicher Werte (Druck, Temperatur, Schall, …) AD-DA-Wandlung Beispiel: ISDN-Telefon Realzeitsysteme sind spezielle hybride Systeme Realzeituhr kann als spezielle stetige Größe aufgefasst werden (t´=1) Wert der Uhr als Eingangsgröße der Berechnung in einem Realzeitprozess Umkehrung gilt nicht immer (Beispiel?) 28.10.2005
Technische Systeme und Prozesse Wikipedia: Technik (altgriechisch τεχνη [téchne], „Fähigkeit, Kunstfertigkeit, Handwerk“) Verfahren und Fähigkeiten zur praktischen Anwendung der Naturwissenschaften und zur Produktion industrieller, handwerklicher oder künstlerischer Erzeugnisse Erinnerung: Technische Systeme: zur Verarbeitung von Materie oder Energie z.B. Aufbereitung von Materialien zu Produktions- oder Konsumgütern Umgangssprachliche Bedeutungserweiterung! Rechensysteme / Informatiksysteme: zur Verarbeitung von Informationen technische Prozesse sind daher gekennzeichnet durch materielle Zustandsgrößen (Position, Bewegung, Temperatur, Druck, Spannung, …) diese werden durch Sensoren (Messwertaufnehmer, Messfühler) erfasst, können durch Aktuatoren (Stellglieder) verändert werden Lichtsensor, Winkelgeber, Thermometer, Drucksensor, Kontaktsensor, … Motoren, Ventile, Relais 28.10.2005
Steuern und Regeln DIN 19226 Steuerung ist ein Vorgang in einem System, bei dem eine oder mehrere Größen als Eingangsgrößen die Ausgangsgrößen auf Grund der dem System eigentümlichen Gesetzmäßigkeiten beeinflussen. Regelung ist ein Vorgang, bei dem fortlaufend eine Größe, die Regelgröße (zu regelnde Größe), erfasst, mit einer anderen Größe, der Führungsgröße, verglichen und im Sinne einer Angleichung an die Führungsgröße beeinflusst wird. Unterschied: bei der Regelung liegt ein geschlossener Regelkreis vor, bei der Steuerung nicht unbedingt Im englischen immer control, Verwechslungsgefahr! (open loop control and closed loop control) 28.10.2005
Stellglied (Aktuator) Steuerung Beispiel: Heizung ohne Thermostat Regelung Beispiel: Heizung mit Thermostat Stellglied Strecke (Plant) Sollwert Stellgröße Regelgröße Regler Regelstrecke Sollwert Stellgröße Regelgröße Stellglied (Aktuator) Messglied (Sensor) Reglersignal Istwert Störgröße (Führungs- größe) (Rückführungsgröße) 28.10.2005
andere Bilder dafür Regelung Strecke Umwelt techn. System Regelung Aktuatoren Sensoren Strecke Umwelt techn. System Regelung 28.10.2005