ebook img

Software-Entwicklung für Echtzeitsysteme PDF

274 Pages·2009·2.94 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software-Entwicklung für Echtzeitsysteme

Software-Entwicklung für Echtzeitsysteme Juliane T. Benra • Wolfgang A. Halang Software-Entwicklung für Echtzeitsysteme BA C Prof. Dr. Juliane T. Benra Prof. Dr. Dr. Wolfgang A. Halang Fachhochschule Oldenburg/Ostfriesland/ Lehrstuhl für Informationstechnik Wilhelmshaven Fernuniversität in Hagen Friedrich-Paffrath-Straße 101 58084 Hagen 26389 Wilhelmshaven Deutschland Deutschland Den Mitgliedern des gemeinsamen Fachausschusses Echtzeitsysteme der Gesellschaft für Informatik und der VDI/VDE-Gesellschaft für Mess- und Automatisierungstechnik in Erinnerung an viele interessante Gespräche auf den jährlichen Workshops in Boppard Herausgeber Prof. Dr. Juliane T. Benra studierte Mathematik mit dem Nebenfach Infor- matik an der Universität des Saarlandes in Saarbrücken und später an der Universität Hannover. Nach dem Diplom war sie als Software-Ingenieurin und Projektleiterin in Industrieunternehmen in Bremen, Hannover und Ol- denburg tätig und beschäftigte sich dabei hauptsächlich mit Echtzeitanwen- dungen. Berufsbegleitend wurde sie an der Carl von Ossietzky-Universität Ol- denburg zum Dr. rer. nat. in Informatik promoviert. Im Jahre 1997 wurde sie zur Professorin im Fachbereich Ingenieurwissenschaften der Fachhochschule in Wilhelmshaven berufen und widmet sich seither der Ingenieursausbildung insbesondere in der Echtzeitdatenverarbeitung. Prof. Dr. Dr. Wolfgang A. Halang studierte an der Ruhr-Universität Bochum Mathematik und Theoretische Physik und wurde dort in Mathematik und später an der Universität Dortmund in Informatik promoviert. Er war im In- genieurbereich Prozessleittechnik der Bayer AG tätig, bevor er auf den Lehr- stuhl für Angewandte Informatik an der Reichsuniversität zu Groningen in den Niederlanden berufen wurde. Seit 1992 ist er Inhaber des Lehrstuhls für Informationstechnik, insbesondere Realzeitsysteme, im Fachbereich Elektro- technik der Fernuniversität in Hagen, dessen Dekan er von 2002 bis 2006 war. Er nahm Gastprofessuren an den Universitäten Maribor und Rom II wahr, gründete die Zeitschrift Real-Time Systems und leitete 1992 das NATO Ad- vanced Study Institute on Real-Time Computing. Weiterhin war und ist er in mehreren wissenschaftlichen Organisationen aktiv, so z.B. als Vorsitzender eines Koordinierungskomitees in der International Federation of Automatic Control. Autoren Juliane Benra Fachhochschule Oldenburg/Ostfriesland/Wilhelmshaven Vorwort Im März 1991 schrieb Konrad Zuse im Vorwort zum ersten Buch eines der Herausgeber [57]: ... auf das erste programmgesteuerte Rechengerät Z3, das der Unter- zeichner im Jahre 1941 in Berlin vorführen konnte, folgte unter an- derem ein Spezialgerät zur Flügelvermessung, das man als den ersten Prozessrechner bezeichnen kann. Es wurden etwa vierzig als Analog- Digital-Wandler arbeitende Messuhren vom Rechnerautomaten abge- lesen und im Rahmen eines Programms als Variable verarbeitet. Dieses Zitat zeigt, dass elektronische Datenverarbeitungsanlagen praktisch seit Anbeginn im Echtzeitbetrieb eingesetzt werden. Solche Echtzeitsysteme haben mit der Zeit immer weitere Verbreitung in einer unübersehbaren Viel- zahl von Anwendungsgebieten gefunden. Sie werden beispielsweise in der Me- dizintechnik ebenso eingesetzt wie in der Fabrikautomation. Das verbindende Merkmal aller solcher unterschiedlichen Anwendungen sind immer besondere zeitliche Anforderungen, denen Echtzeitsysteme gerecht werden müssen. Für die Entwickler solcher Systeme ergibt sich – unabhängig vom kon- kreten Anwendungsfeld – die Notwendigkeit der genauen Kenntnis der für diese Anforderungen notwendigen Methoden, Verfahren und Techniken. Da- her haben sich die Autoren dieses Buches am Rande eines Workshops des GI/GMA-Fachausschusses Echtzeitsysteme zusammengefunden, um verschie- dene relevante Themen zur Echtzeitproblematik zu behandeln. Das daraus entstandene Buch richtet sich sowohl an Praktiker in Informatikfirmen und Ingenieurbüros, die bereits einige Zeit im Berufsleben stehen und einen zusam- menfassenden Überblick über viele Aspekte der Echtzeitdatenverarbeitung zur Abwicklung eigener Projekte benötigen, als auch an Forscher, die sich mit ak- tuellen Entwicklungen des Themengebietes vertraut machen möchten, ohne eine Vielzahl von Einzelliteratur bearbeiten zu müssen. Insbesondere aber ist der Band als Lehrbuch für Studierende höherer Semester der Informatik so- wie verschiedener ingenieurwissenschaftlicher Disziplinen gedacht, die sich den Herausforderungen von Echtzeitsystemen stellen wollen. X Vorwort Zur Ergänzung dieses Buches bietet sich eine Reihe weiterer Werke an, von denen hier nur einige erwähnt werden sollen. Den Schwerpunkt auf die Planung von Echtzeitsystemen legt ein Buch von Zöbel [156]. Ebenfalls einen Überblick über Echtzeitsysteme bietet das Buch von Wörn und Brinkschul- te [23], das ergänzend zum vorliegenden Band zu Aspekten der Architektur von Echtzeitbetriebssystemen zu Rate gezogen werden kann. Eine Weiter- führung in Richtung Prozessinformatik findet sich bei Heidepriem [60]. Wer daran interessiert ist, Aspekte der C-Programmierung von Echtzeitsystemen kennenzulernen, sollte das Werk von Kienzle und Friedrich [92] zu Rate ziehen. Dieses Buch hat den Anspruch, einen Überblick über die der Echtzeitda- tenverarbeitung zu Grunde liegenden Prinzipien zu geben. Seine acht Kapitel beleuchten jeweils einen wesentlichen Aspekt der Entwicklung und des Auf- baus von Echtzeitsystemen. 1. Zunächst werden die sich aus der Natur des Echtzeitbetriebs für das Gebiet ergebenden grundlegenden Begriffe Recht- und Gleichzeitkeit, Vorherseh- barkeit und Verlässlichkeit sowie harte und weiche Zeitanforderungen de- finiert, aus denen Echtzeitsystemen angemessene Denk- und Beurteilungs- kategorien abgeleitet werden. Weiterhin wird das für Implementierungen fundamentale Konzept nebenläufiger Rechenprozesse eingeführt. 2. Eine ganzheitliche Methodik zu Analyse und Entwurf von Echtzeitsys- temen wird vorgestellt. Sie beruht auf der Unified Modeling Language (UML), die sich als Standard für den objektorientierten Entwurf durchzu- setzen scheint. Weil UML und seinen bisherigen Erweiterungen ein nur un- zureichendes Verständnis der Anforderungen und Merkmale des Echtzeit- betriebs zugrunde liegt, werden Stereotypen definiert, um das in der Spra- che Mehrrechner-PEARL enthaltene umfassende Domänenwissen und die von keinem anderen Ansatz erreichten klaren Konzepte für Entwurf und Analyse verteilter Echtzeitsysteme in UML einzubringen. 3. In Echtzeitsystemen werden nebenläufige Rechenprozesse als zur Inter- aktion mit den in der Umgebung parallel ablaufenden Prozessen jeglicher Art geeignetes Konstrukt eingesetzt. Das Zusammenwirken und der Infor- mationsaustausch dieser Rechenprozesse muss so organisiert werden, dass dadurch keine Fehler verursacht und die Echtzeitsysteme in konsistenten Zuständen gehalten werden. Zu diesem Zweck werden kritische Bereiche, die beiden häufigsten für nebenläufige Prozesse auftretenden Synchronisa- tionsaufgaben Kooperation und gegenseitiger Ausschluss sowie Problem- lösungsstrategien mit Hilfe von Semaphoren und Monitoren behandelt. 4. Die echtzeitspezifischen Konzepte von Echtzeitbetriebssystemen werden eingeführt und am Beispiel von RTOS-UH näher betrachtet, da es frei verfügbar und anderen marktgängigen Echtzeitbetriebssystemen technisch weit überlegen ist und weil ihm der legale Status der Betriebsbewährtheit verliehen wurde, weshalb es auch für sicherheitsgerichtete Anwendungen eingesetzt werden darf. Ausführliche Dokumentationen stehen kostenlos und in deutscher Sprache im Internet zur Verfügung. Vorwort XI 5. Wegen der Verteiltheit von Echtzeitsystemen sowie der mehr und mehr de- zentralen Anordnung von Sensoren, Aktoren und Verarbeitungseinheiten werden diese Komponenten untereinander verbindende Kommunikations- netze benötigt, die so ausgelegt sein müssen, dass die darüber laufenden Übertragungen und Transaktionen vorgegebene Zeitschranken einhalten, um trotz Netzverkehrs Regelungen und zeitgerechte Ereignisreaktionen zu ermöglichen. Weiterhin werden in diesem Kapitel Erkennungsverfah- ren für Übertragungsfehler und Methoden zur Synchronisation der Uhren in den Knotenrechnern verteilter Systeme behandelt. 6. Das asynchrone Paradigma zur Programmierung von Echtzeitsystemen wird vorgestellt. In ihrer täglichen Praxis als Hochschullehrer haben die Autoren immer wieder festgestellt, dass Studierende Denkweise und Kon- zepte der Echtzeitprogrammierung am leichtesten verstehen, wenn sie am Beispiel von PEARL darstellt werden, denn diese von Automatisierungs- technikern konzipierte originäre Echtzeitprogrammiersprache besitzt im Vergleich mit anderen im Echtzeitbereich eingesetzten Sprachen die klars- ten und mächtigsten anwendungsbezogenen Sprachkonstrukte. Das hat positive Konsequenzen auf Qualität und Sicherheit der damit erstellten Systeme. Durch Einsatz von PEARL lässt sich auch ein Wettbewerbs- und Produktivitätsvorsprung erzielen, denn um eine einzige problembezogene und selbstdokumentierende PEARL-Anweisung bspw. in C auszudrücken, bedarf es dort oft bis zu 30 Zeilen völlig unverständlichen Codes. 7. Wegen ihrer großen Bedeutung wird die Qualitätssicherung von Program- men und Dokumentationen recht ausführlich behandelt. Dabei wird von der grundsätzlich anderen Natur dieser Artefakte gegenüber materiellen Konstrukten ausgegangen und besonderes Augenmerk auf den Sicherheits- bezug von Software für eingebettete Systeme gelegt, der für andere Soft- ware nicht gilt. Es werden komplementär wirkende konstruktive und ana- lytische Maßnahmen, deren Einsatz die Software-Qualität zu erhöhen ver- spricht, und als Richtlinie ein Regelwerk zur Programmierung eingebet- teter Systeme für sicherheitsgerichtete Automatisierungsaufgaben vorge- stellt. Weiterhin werden praktisch anwendbare Verfahren zur funktiona- len Prüfung von Programmen und zum Nachweis ihres Echtzeitverhaltens auch bei Einsatz in verteilten Systemen beschrieben. 8. Das Buch schließt mit der Betrachtung von Kriterien und Verfahren zur Bewertung der Leistung und Dienstequalität von Echtzeitsystemen – ei- nem Aspekt, dem bisher kaum Aufmerksamkeit geschenkt wurde, da im- mer Geschwindigkeit und Kosten von Rechnern im Vordergrund standen. Aber gerade für eingebettete Systeme sind Sicherheit, Echtzeitfähigkeit, Wartbarkeit oder System- und Folgekosten viel bedeutsamer. Deshalb wer- den Leistungsbewertung von und Dienstgütekriterien für Echtzeitsysteme detailliert erläutert, mit denen sich jede Entwurfsalternative ganz spezi- fisch nach dem Anforderungsprofil der Anwendung bewerten lässt.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.