Download Software-Entwicklung für Echtzeitsysteme PDF

TitleSoftware-Entwicklung für Echtzeitsysteme
Author
LanguageEnglish
File Size2.9 MB
Total Pages274
Table of Contents
                            Software-Entwicklung für Echtzeitsysteme
	Vorwort
	Inhaltsverzeichnis
1 Einführung
	1.1 Grundlegende Begriffe
	1.2 „Echtzeitdenke“: Kategorien und Optimalität
2 Entwurf und Analyse verteilter Echtzeitsysteme
	2.1 Einleitung
	2.2 Spezifikations-PEARL
	2.3 Simulative Verifikation von S-PEARL-Systemmodellen
	2.4 UML-Profil für S-PEARL
	2.5 Beispiel: Modellierung eines verteilten Automobilbordsystems
3 Synchronisation und Konsistenz in Echtzeitsystemen
	3.1 Einführung
	3.2 Semaphore
	3.3 Monitore
	3.4 Bedingungsgesteuerte Synchronisation
4 Echtzeitbetriebssysteme
	4.1 Einführung
	4.2 Echtzeittypische Merkmale von Echtzeitbetriebssystemen
	4.3 Prozesse
	4.4 Unterbrechungsbehandlung
	4.5 Prozessorzuteilung
5 Echtzeitkommunikation
	5.1 Echtzeitanforderungen an Kommunikationssysteme
	5.2 Architektur von Echtzeitkommunikationssystemen
	5.3 Transaktionsmodelle
	5.4 Sicherungsschicht
	5.5 Uhrensynchronisation
6 Programmierung
	6.1 PEARL
	6.2 Ada
	6.3 Real-Time Specification for Java (RTSJ)
7 Qualitätssicherung von Echtzeitsystemen
	7.1 Qualitätsgerichteter Software-Entwurf
	7.2 Qualitätssicherung von Software
	7.3 Prinzipien von Programmentwurf und -codierung
	7.4 Software-Diversität
	7.5 Richtlinien zur Software-Erstellung für eingebettete Systeme
	7.6 Qualitätssicherung von Dokumentationen
	7.7 Qualitätssicherung von Programmen
	7.8 Verfahren zur Software-Prüfung
	7.9 Validierung von Echtzeitsystemen
8 Leistungsbewertung und Dienstqualität von Echtzeitsystemen
	8.1 Leistung von Echtzeitsystemen
	8.2 Leistungsbewertung von Echtzeitsystemen
	8.3 Kriterien der Dienstqualität von Echtzeitsystemen
	8.4 Schlussbemerkung
Literaturverzeichnis
                        
Document Text Contents
Page 2

Software-Entwicklung für Echtzeitsysteme

Page 137

122 5 Echtzeitkommunikation

Mit der Forderung nach einem maximal zulässigen Versatz θ:

C1(t)− C2(t)
!
≤ θ

gilt:
(1 + ρ)t− (1− ρ)t ≤ θ

Somit müssen die Uhren nach

t ≤ 1

θ

erfolgreich synchronisiert werden, um einen bestimmten Versatz θ nicht
zu überschreiten.

5.5.2 Verfahren zur Uhrensynchronisation

Algorithmus von Cristian

Ein in der Literatur sehr häufig erwähnter Algorithmus zur Synchronisation
physikalischer Uhren geht auf Cristian [28] zurück. Hierbei wird davon ausge-
gangen, dass einer der Rechnerknoten einen vertrauenswürdigen UTC-Dienst
in Anspruch nimmt und somit als Zeit-Server S die anderen Rechnerknoten
p auf die reale Zeit synchronisieren kann.

Wie in Abb. 5.17 dargestellt, fordert ein Rechnerknoten p zum Zeitpunkt
T0 die Zeit von S an. Nach Eintreffen des Anforderungstelegramms von p
am Zeit-Server S zum Zeitpunkt T1 bereitet dieser eine Antwort vor und
versendet sie zum Zeitpunkt T2. Da der Knoten p nur den Sende- und Emp-
fangszeitpunkt der beiden Nachrichten sowie den übertragenen Zeitstempel
kennt, schätzt der Knoten p die Laufzeit des Antworttelegramms TRes mit
TReq + TRes/2 ab und setzt seine lokale Uhr auf den Wert

T = TS +
1
2

(T3 − T0) (5.8)

Unter der Annahme, dass die Laufzeiten der beiden Nachrichten gleich groß
sind und die interne Verarbeitungszeit im Zeit-Server vernachlässigbar ist,
ergibt sich für den Versatz:

θ = TS +
1
2

(T3 − T0)− T3 (5.9)

In diesem Algorithmus wird die Genauigkeit der Synchronisation durch die
Größe der Laufzeiten der Nachrichten zwischen p und S bestimmt. Diese sind
aber nicht vorherbestimmbar und auch nicht konstant. Für ein unbelastetes
Netz ohne Übertragungsfehler existiert jedoch eine minimale Zeit Tmin für
TReq und TRes. Wenn die reale Verzögerungszeit der Anforderung TReq =
Tmin + α, die des Antworttelegramms TRes = Tmin + β mit α, β ≥ 0 und

Page 138

5.5 Uhrensynchronisation 123

��������

����
��



����

��

��

��

��

��

����

���

Abb. 5.17. Nachrichtenaustausch bei Verwendung des Algorithmus von Cristian

die Rundreisezeit TRTT seien, dann gilt für die reale Verzögerungszeit beider
Nachrichten:

TRTT = TReq + TRes = 2 · Tmin + α+ β
Da α und β positiv sind, gilt weiterhin:

0 ≤ β ≤ TRTT − 2 · Tmin (5.10)
Der Wert der Uhr CS(t) von S zum Zeitpunkt T3 am Knoten p ist:

CS(T3) = TS + Tmin + β

Nach Glg. 5.10 kann CS(t) nur in dem folgenden Intervall liegen:

CS(T3) ∈ [TS + Tmin, TS + TRTT − Tmin]
Hieraus ergibt sich eine Intervallgröße von TRTT − 2 · Tmin. Der Knoten p
kann seinen maximalen Fehler minimieren, wenn er die Mitte des Intervalls
zur Bestimmung der Uhrzeit von S wählt. Damit ergibt sich ein maximaler
Fehler � des Algorithmus von:

� =
1
2
TRTT − Tmin

Cristians Algorithmus ist auf Grund der Abhängigkeit der Nachrichtenlauf-
zeiten vorzugweise in lokalen Netzen einsetzbar.

Page 273

260 Literaturverzeichnis

113. National Institute of Standards and Technology: Federal Information Proces-
sing Standards Publication 197: Announcing the Advanced Encryption Stan-
dard. 2001.

114. Object Management Group: UML 2.0 Superstructure Specification, 2004.
http://www.omg.org/cgi-bin/doc?ptc/04-10-02

115. Object Management Group: UML Profile for Schedulability, Performance, and
Time Specification 1.1 (formal/05-01-02), 2005.

116. D.L. Parnas, J. van Schouwen und S.P. Kwan: Evaluation of Safety-critical
Software. Comm. ACM 33(6):636–648, 1990.

117. M.C. Paulk, B. Curtis, M.B. Chrissis und C.V. Weber: Capability Maturity
Model for Software, Version 1.1. Software Engineering Institute CMU/SEI-93-
TR-24, 1993.

118. M. Popp und K. Weber: Der Schnelleinstieg in PROFINET. Karlsruhe: Profi-
bus Nutzer-Organisation 2004.

119. Profibus User Organisation: http://www.profibus.com
120. F.J. Redmill (Hrsg.): Dependability of Critical Computer Systems. Vol. 1.

London-New York: Elsevier Applied Science 1988.
121. L. Rembold: Realzeitsysteme zur Prozeßautomation. München-Wien: Hanser

1994.
122. RTOS-UH: http://www.irt.uni-hannover.de/rtos/rtosfble.html
123. RTSJ Reference Implementation (RI) and Technology Compatibility Kit

(TCK). http://www.timesys.com/java/index.php
124. RTSJ Final Release 3. http://jcp.org/en/jsr/detail?id=1
125. RTSJ Real-Time Specification for Java. http://www.rtsj.org/
126. N.C. Schaller, G.H. Hilderink und P.H. Welch: Using Java for Parallel Com-

puting: JCSP versus CTJ, a Comparison. In Communicating Process Architec-
tures 2000, P.H. Welch und A.W.P. Bakkers (Hrsg.), S. 205–226. Amsterdam:
IOS Press 2000.

127. W. Schaufelberger et al.: Echtzeitprogrammierung bei Automatisierungssyste-
men. Stuttgart: Teubner 1985.

128. R. Schiedermeier: Programmieren mit Java – eine methodische Einführung.
München: Pearson 2005.

129. K.P. Schmidt: Rahmenprüfplan für Software: Formblätter und Anleitung für
Prüfungen von Software nach den Güte- und Prüfbestimmungen Software
RAL-GZ 901 und der Vornorm DIN 66285: Anwendungssoftware, Prüfgrund-
sätze. Forschungsbericht GMD 312. Sankt Augustin: Gesellschaft für Mathe-
matik und Datenverarbeitung 1988.

130. F.B. Schneider: On Concurrent Programming. New York: Springer-Verlag 1997.
131. S. Schneider: Concurrent and Real-Time Systems. Chichester: John Wiley and

Sons 2000.
132. G. Schrott: Ein Zuteilungsmodell für Multiprozessor-Echtzeitsysteme. Disser-

tation, Technische Universität München 1986.
133. F. Schulz v. Thun: Verständlichkeit von Informationstexten: Messung, Verbes-

serung und Validierung. Z. Sozialpsychol. 5:124–132, 1974.
134. B. Selić, G. Gullekson und P.T. Ward: Real-Time Object-Oriented Modeling.

John Wiley and Sons, Inc., 1994.
135. SIGAda: Ada Performance Issues. Ada Letters 10(3), 1990.
136. J.A. Stankovic: Misconceptions about Real-Time Computing. IEEE Computer,

pp. 10–19, Oktober 1988.

Page 274

Literaturverzeichnis 261

137. I. Steinbach, I. Langer und R. Tausch: Merkmale von Wissens- und Informati-
onstexten im Zusammenhang mit der Lerneffektivität. Z. Entwicklungspsychol.
Päd. Psychol. 4:130–139, 1972.

138. R. Steinmetz: Multimedia-Technologie: Einführung und Grundlagen. Berlin-
Heidelberg: Springer-Verlag 1993.

139. F. Stetter: Softwaretechnologie. Reihe Informatik Nr. 33. Mannheim: B.I. Wis-
senschaftsverlag 1980.

140. Sun: Java Community Process (JSP). http://jcp.org/en/home/index
141. Sun: Java Real-Time System (Java RTS).

http://java.sun.com/javase/technologies/realtime.jsp
142. A. Schürr: Vorlesung Echtzeitsysteme, Technische Universität Darmstadt.

www.es.tu-darmstadt.de/lehre/ws0607/es/download/ES.pdf
143. T. Swoyer: Balancing Responsiveness, I/O throughput, and Computation.

Real-Time Magazine 1:73–78, 1994.
144. S.T. Taft, R.A. Duff, R.L. Brukardt, E. Ploedereder und P. Leroy (Hrsg.):

Ada 2005 Reference Manual. Language and Standard Libraries. International
Standard ISO/IEC 8652/1995(E) with Technical Corrigendum 1 and Amend-
ment 1. Lecture Notes in Computer Science, Vol. 4348. Berlin-Heidelberg-New
York: Springer-Verlag 2006.

145. A.S. Tanenbaum: Moderne Betriebssyteme. München: Carl Hanser 1995.
146. A. Tanenbaum und M. van Steen: Distributed Systems. Pearson Prentice Hall,

2007.
147. T. Tempelmeier: On the Real Value of New Paradigms. In OMER – Object-

Oriented Modeling of Embedded Real-Time Systems, P.P. Hofmann und A.
Schürr (Hrsg.). Lecture Notes in Informatics, P-5. Bonn: Bonner Köllen Verlag
2002.

148. J.P. Thomesse: Time and Industrial Local Area Networks. Proc. Computers in
Design, Manufacturing, and Production, S. 365–374, 1993.

149. M. Uhle: Leistungstest für Prozeßrechner nach DIN 19242. Automatisierungs-
technische Praxis atp 31(5):224–229, 1989.

150. VDE 0116: Elektrische Ausrüstung von Feuerungsanlagen. Berlin: Beuth Verlag
1989.

151. VDI 2880: Speicherprogrammierbare Steuerungsgeräte – Sicherheitstechnische
Grundsätze. Berlin: Beuth Verlag 1985.

152. VDI/VDE-Richtlinie 3687: Auswahl von Feldbussystemen durch Bewertung
ihrer Leistungseigenschaften für verschiedene Anwendungsbereiche. Berlin:
Beuth Verlag, 1997.

153. M. Wannemacher und W.A. Halang: GPS-based Timing and Clock Synchro-
nisation for Real-time computers. IEE Electronics Letters 30(20):1653–1654,
1994.

154. D. Whiddett: Concurrent Programming for Software Engineers. Ellis Horwood
1987.

155. E. Yourdon: Structured Walkthroughs. Englewood Cliffs: Prentice-Hall 1980.
156. D. Zöbel: Echtzeitsysteme – Grundlagen der Planung. Berlin-Heidelberg: Sprin-

ger 2008.

Similer Documents