II-RA-HOME

  1. Einführung

  2. Systeme als Vorgänge in der Zeit

  3. Was ist Zeit?

  4. Die internationale Basiseinheit für Zeit

  5. Wichtige Zeitskalen

  6. Systemeigenschaften basierend auf Zeit

  7. Klassifikation von Realzeit-Systemen

  8. Aufgabenstellung


II-RA PROZESSRECHNER SS03 - Vorlesung mit Übung
Grundbegriffe Realzeit und Realzeitarchitektur 2

   Achtung : Skript gibt mündlichen Vortrag nur unvollständig wieder !!
   Achtung : Skript noch nicht abgeschlossen !
                        

AUTHOR: Gerd Döben-Henisch
DATE OF FIRST GENERATION: May-12, 2003
DATE OF LAST CHANGE:June-16, 2003
EMAIL: Gerd Döben-Henisch



1. Einführung


Nachdem bisher das theoretische Konzept eines Systems einführend erklärt worden ist und anhand von Beispielen illustriert wurde, wie man Problemstellungen mit Hilfe von Systemen modellieren kann, soll ab heute der Aspekt der Zeit thematisiert werden. Das Verhalten von Systemen ist ein Vorgang in der Zeit mit vielffältigsten Implikationen. Einige wichtige Aspekte sind zu besprechen (als Hintergrundliteratur zu Thema Zeit sei speziell verwiesen auf [KOPETZ 1997])..


START



2. Systeme als Vorgänge in der Zeit


Bisher wurde der Aspekt, dass Systeme Zeit brauchen, nur am Rande berücksichtigt. Tatsächlich ist aber der Aspekt, dass Systeme als Prozessrechner Vorgängen in der realen Zeit korrespondieren, von zentraler Bedeutung.

Dies sei zunächst an folgender allgemeiner Überlegung verdeutlicht (siehe Bild):



systemzeit

Systeme als Vorgänge in der Zeit



Theoretisch haben wir ein System S als Struktur mit Input-Output-Zuständen beschrieben, dessen Verhalten formal über die Systemfunktion F gesteuert wird. Von den Analysen her wissen wir, dass sich die Systemfunktion in der Regel in mehrere kleinere Funktionen f1(), ..., fs() zerlegen lässt. Solange wir uns im Bereich der formalen Modellierung aufhalten, gibt es 'Zeit' nur insoweit, als wir diese wiederum formal in die Systemmodellierung einbeziehen. 'Real' kommt Zeit erst dann ins Spiel, wenn man formale Systemmodelle auf konkreter Hardware in Form von ablauffähigen Programmen implementiert und diese Programme abarbeiten lässt. Reale Hardware (CPU, RAM, I/O-Controller usf.) benötigt aber 'reale Zeit'. Die Abarbeitung einer Teilfunktion fi() der Systemfunktion F ist immer von einer 'realen Dauer' dfi, so dass die Summe aller Abarbeitungszeiten dF einer bestimmten endlichen Dauer entspricht, die sich auf eine reale Zeitmessung als ein Intervall auf der realen Zeitachse abbilden lässt. Ist die Abarbeitung einer Systemfunktion F als eine Schleife ('loop') angelegt, in der sich eine bestimmte Abfolge von Verarbeitungsschritten fi() für die Dauer der Systemtätigkeit wiederholt, dann entspricht die Gesamtheit dieser Abarbeitungsschritte leztlich auch einer endlichen Dauer mit einem entsprechenden Abschnitt auf de realen Zeitachse.

Der Output O eines Systems S als durch die Systemfunktion F bestimmte 'Antwort' auf einen bestimmten Input I erfolgt also niemals 'direkt', sondern immer verzögert um diejenige Dauer, die durch die Abarbeitung der zu F benötigten Abarbeitungsschritte. Sei t der Zeitpunkt eines bestimmten Inputs I und t' der Zeitpunkt einer zu I gehörigen Antwort O aufgrund der Systemfunktion Fs von System S, dann kann man sagen dass für die Antwortverzögerung gilt:

dFs = t' - t


Da Systeme sehr oft (meistens?) nie völlig identische Bedingungen für eine bestimmte Systemantwort haben, muss man im allgemeinen einen sogenannten 'Jitter' unterscheiden:

jitterS = max(dFs) - min(dFs)


Bei der Planung eines zeitkritischen Systemeinsatzes ist der Jitter immer zu berücksichtigen.


START



3. Was ist Zeit?


Bisher wurde zwar schon die 'reale Zeit' erwähnt, es wurde aber noch nicht gesagt, was technisch unter 'Zeit' verstanden werden soll.

Visuell wird Zeit immer als ein gerichteter Pfeil dargestellt, auf dem man gleiche Wegstrecken abträgt und sagt, dass jeder Markierung ein 'Zeitpunkt' entsprechen soll.

Formal kann man sagen, dass Zeit eine Struktur TIME darstellt mit den Forderungen:

TIME(x) gdw x = (T,<)

mit:

  1. T ist eine Menge von Zeitpunkten


  2. < ist eine Relation für die gilt:



  3. (ORDNUNG DER ZEITPUNKTE)(A:t,t') (t,t' in T ==> t < t' or t = t' )


  4. (DICHTE DER ZEITPUNKTE)(A:t,t') (t,t' in T & t < t' ==> (E:d)( t < d < t' ) )


Unter voraussetzung einer Zeit-Struktur kann man dann die Prädikate 'vorher', 'nachhier' sowie 'zur gleichen Zeit' definieren.

Technisch wird Zeit realisiert durch Uhren, die periodische Prozesse gleicher Länge erzeugen können und die in der Lage sind, das 'Auftreten eines solchen periodischen Ereignisses i' zu 'erkennen' und mittels eines Zählers zu zählen und anzuzeigen. Dies kann auf vielfältige Weise technisch realisiert werden. Das Auftreten eines solchen periodischen Ereignisses i einer Uhr u soll microtick von u genannt werden, geschrieben iu. Die Häufigkeit der microticks einer Uhr u pro Zeiteinheit t ist die Frequenz von u, geschrieben fu. Das Gegenstück zur Frequenz fu ist die Granularität 1/fu = gu. Die Granularität gibt die kürzeste Zeitdauer an, die mit einer Uhr u dargestellt werden kann.

Aus praktischer Sicht interessiert die Menge der Zeitpunkte vor allem deswegen, weil man bestimmten Ereignissen Zeitpunkte ('timestamps') zuordnen möchte, um dadurch sagen zu können, dass 'etwas' 'zum Zeitpunkt t' 'stattgefunden' hat.

Eine solche Zuordnung von Zeitpunkten einer Zeitstruktur x zu 'etwas' stellt eine Abbildung dar:

timing: E ---> Tx

wobei 'E' hier für eine beliebige Menge von benennbaren Grössen stehen soll.

t = timing(e)

würde also besagen, dass die messbare Grösse e relativ zu den Zeitpunkten ('timestamps') der Zeitstruktur x mit dem Zeitpunkt ('timestamp') t korreliert.

Würde man auf diese Weise z.B. folgende Zuordnungen vornehmen:

  1. t1 = timing(e1)


  2. t2 = timing(e2)


  3. t2 = timing(e3)


  4. t1 < t2


dann könnte man aufgrund der zugeordneten Zeitpunkte sagen, dass Grösse e1 zeitlich vor den beiden Grössen e2 und e3 aufgetreten ist und die Grössen e2 und e3 sind zeitgleich (simultan) aufgetreten. Aufgrund solch eines zeitlichen Verhältnisses könnte man vermuten, ob zwischen dem Auftreten von Grösse e1 und den zeitlich späteren Grössen e2 und e3 möglicherweise eine kausale Beziehung besteht. Solche Überlegungen wären aber nur dann sinnvoll, wenn die zuvor vorgenommen zeitlichen Zuordnungen 'genau genug' sind. Wäre die zeitliche Zuordnung nicht genau genug, dann könnte es möglicherweise sein, dass die Grössen e2 oder e3 eventuell 'in Wirklichkeit' vor der Grösse e1 aufgetreten sind.

Das Thema der Genauigkeit von zeitlichen Zuordnungen und das Verhältnis zwischen verschiedenen Uhren soll Gegenstand einer weiteren Vorlesung sein. Hier soll nur noch angesprochen werden, welches denn nun die verbindliche Einheit für eine technische Zeitmessung ist.


START



4. Die internationale Basiseinheit für Zeit


Wie zuvor schon herausgearbeitet worden ist, benötigt man zur technischen Erzeugungvon regelmässigen Zeitpunkten eine Uhr u mit einer bestimmten Granularität g = 1/fu. Um aber bei verschiedenen Uhren zu einheitlichen Aussagen bzgl. der Zuordnung eines bestimmten vergleichbaren Zeitpunktes zu kommen, benötigt man eine Referenzuhr und eine Referenzzeitdauer, um jede beliebige Uhr in Bezihung zu dieser Referenzuhr setzen zu können.

Weltweit zuständig für den gültigen Zeitstandard und dessen Messung ist das Bureau International des Poids et Mesures (BIPM), das im Park de Saint-Cloud von Sèvres liegt, einem Vorort süd-westlich von Paris. Das BIPM beschreibt seine Aufgabe wie folgt:

The task of the BIPM is to ensure world-wide uniformity of measurements and their traceability to the International System of Units (SI).

It does this with the authority of the Convention of the Metre, a diplomatic treaty between fifty-one nations, and it operates through a series of Consultative Committees, whose members are the national metrology laboratories of the Member States of the Convention, and through its own laboratory work.

The BIPM carries out measurement-related research. It takes part in, and organizes, international comparisons of national measurement standards, and it carries out calibrations for Member States.

Die Existenz des BIPM geht zurück auf eine lange historische Entwicklung, deren Inhalt die immer klarere Herausarbeitung der heute benutzten internationalen Standards zur Bescheibung physikalischer Grössen ist. Hier eine kurze Geschichte der Entwicklung der internationalen Standards aus der Sicht des BIPM:

Wichtig ist, dass das internatinale System der Standards kein statisches System ist, sondern sich entsprechend den technischen Bedürfnissen dynamisch weiterentwickelt.

Die aktuelle Tafel der Basiseinheit nach der Darstellung des BIPM lautet wie folgt:

SI base units

Quantity

Unit

 

Definition

Length

metre

m

The metre is the length of the path travelled by light in vacuum during a time interval of 1/299 792 458 of a second.

Mass

kilogram

kg

The kilogram is the unit of mass; it is equal to the mass of the international prototype of the kilogram.

Time

second

s

The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium 133 atom.

Electric current

ampere

A

The ampere is that constant current which, if maintained in two straight parallel conductors of infinite length, of negligible circular cross-section, and placed 1 metre apart in vacuum, would produce between these conductors a force equal to 2 × 10-7 newton per metre of length.

Thermodynamic temperature

kelvin

K

The kelvin, unit of thermodynamic temperature, is the fraction 1/273.16 of the thermodynamic temperature of the triple point of water.

Amount of substance

mole

mol

The mole is the amount of substance of a system which contains as many elementary entities as there are atoms in 0.012 kilogram of carbon 12.
When the mole is used, the elementary entities must be specified and may be atoms, molecules, ions, electrons, other particles, or specified groups of such particles.

Luminous intensity

candela

cd

The candela is the luminous intensity, in a given direction, of a source that emits monochromatic radiation of frequency 540 × 1012 hertz and that has a radiant intensity in that direction of 1/683 watt per steradian.


Damit ist nun klar, dass die internationale Masseinheit für die Zeit die Sekunde ist und dass die Referenzuhr für die Messung einer Sekunde eine Uhr ist, die auf periodischen Prozessen im Cäsium-Atom beruht, d.h.

Frequenz einer Cäsium-basierten Atomuhr: fcs = 9.192.631.770 pro sec

Granularität einer Cäsium-basierten Atomuhr: gcs = 1/9.192.631.770 sec

Eine gute prinzipielle Beschreibung einer Cäsium-basierten Atomuhr" findet sich auf der Seite von Herget:

Atomic clocks work on the following principle: Atoms occur in different energy states one of which is identified by the symbol (+) and one by the symbol (-). The transition of an atom from the (+) to the (-) state can be stimulated and is connected with the emission of electromagnetic radiation of a characteristic frequency. In the ease of the caesium atom, this frequency, fcs has a value of 9.192.631.770 Hz, corresponding to an oscillation period of (1 / 9.192.631.770) seconds. According to the laws of atomic physics, fcs is equal to the energy difference between the (+) and (-) states divided by the Planck constant h. For the caesium atom in particular, the constancy in time of fcs much better than that of, for example, the oscillation period of a pendulum, the oscillation frequency of a quartz or the rotation period of the earth.

Caesium atoms are evaporated in the vacuum chamber of an atomic clock. The magnet arranged behind the oven separates the atoms such that only atoms in the (+) state enter the cavity resonator. Here exposure to a microwave field stimulates the atoms to pass into the (-) state. The second magnet then directs to the detector only these atoms. The number of atoms at the collector reaches a maximum when the frequency of the irradiation field has the value fcs. A feedback circuit ensures that the microwave oscillator Q is kept at the frequency fcs. By the counting of 9.192.631.770 periods, the time interval of one second is obtained from the oscillator signal.


Diagram of an atomic clockDiagram of an atomic clock:
O atomic bem ovenQ microwave oscillator
M sorting magnetA detector
H cavity resonatorR servo control circuit

Horizontal section through the CS2 primary time and frequency standard of the PTB
Horizontal section through the CS2 primary time and frequency standard of the PTB
O caesium beam ovenS sorting magnets
V vacuum recipientM mu-metal shields
H cavity resonatorW beam reversal manipulator
C coil to generate a homogeneous magnatic field (C-field)A detector


START



5. Wichtige Zeitskalen


Selbst wenn man jetzt mit der Einheit 'sec' einen einheitlichen Standard für die Messung der Zeit hat, reicht dies alleine noch nicht aus, um Zeit weltweit einheitlich zu messen. Das Schweizerische Bundesamtes für Metrologie und Akkreditierung (METAS) gibt einen guten Überblick über die wichtigsten Zeitskalen , die international benutzt werden:

Definition der gebräuchlichsten Zeitskalen


  • UT0
    Astronomische Weltzeit. Als Zeiteinheit von UT0 dient die mittlere Dauer eines Sonnentages, wie sie im Observatorium von Greenwich (nullter Längengrad) gemessen wird.

  • UT1

    Bestimmt man UT0 an verschiedenen Orten auf der Erde, so stellt man Unterschiede fest, die durch Bewegungen der Erd-Rotationsachse hervorgerufen werden. Wird UT0 um diese Effekte korrigiert, so erhält man UT1.

  • TAI

    Internationale Atomzeitskala: TAI basiert auf der atomaren Definition der Sekunde und wird vom Bureau International des Poids et Mesures aus den Daten von ca. 250 Cäsium-Uhren aus ca. 45 über die ganze Welt verteilten Zeitlaboratorien erarbeitet und verteilt.

    Koordinierte Universalzeit: Die Zeitskala UTC basiert wie TAI, auf der atomar definierten Sekunde und ist mit der astronomischen Zeitskala UT1 aber über folgende Beziehung verknüpft.

    UTC = TAI - n • Sekunde (n ganzzahlig) (1)
    |UTC - UT1| < 0.9 s (2)

    Die Zahl n kann positiv, negativ oder null sein. Da die zwei Zeitskalen UTC und UT1 auf ganz verschiedenen Definitionen beruhen, bleibt ihre Differenz nicht konstant. UTC muss daher so gesteuert werden, dass die Bedingung (2) immer erfüllt wird. Um dies zu erreichen, wird von Zeit zu Zeit entweder eine Sekunde eingeschaltet oder weggelassen, d.h. n ändert in Schritten von ±1. Der "International Earth Rotation Service" (IERS) überwacht die Evolution von UTC - UT1 und entscheidet, wann UTC um eine Sekunde korrigiert wird.

    An folgenden Daten wurde die Differenz zwischen UTC und TAI angepasst. Nimmt n zu, so wurde eine Sekunde eingeschaltet, d.h. die letzte Minute des Vortages war um eine Sekunde länger. Nimmt n ab, so wurde eine Sekunde ausgeschaltet.

    Datum n Datum n Accuracy of timing through history
    1. Jan 1972
    1. Juli 1972
    1. Jan 1973
    1. Jan 1974
    1. Jan 1975
    1. Jan 1976
    1. Jan 1977
    1. Jan 1978
    1. Jan 1979
    1. Jan 1980
    1. Jan 1981
    1. Juli 1982
    1. Juli 1983
    1. Juli 1985
    1. Jan 1988
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    1. Jan 1990
    1. Jan 1991
    1. Juli 1992
    1. Juli 1993
    1. Jan 1994
    1. Jan 1996
    1. Juli 1997
    1. Jan 1999
    +25
    +26
    +27
    +28
    +29
    +30
    +31
    +32

    Weiterführende Literatur:

    B. Decaux and B. Guinot
    La mesure du temps
    Reihe Que Sais-je, 97, 1969

    M. Grandveaud
    Echelles de temps atomiques
    Monographies du Bureau National de Métrologie, 11, Editions Chiron, 1986.

    National Bureau of Standards
    Time and Frequency: Theory and Fundamentals
    NBS Monograph 140, U.S. Government Priniting Office, Washington D.C., 1974.

6. Systemeigenschaften basierend auf Zeit


Berücksichtigt man die Zeit, dann kann man das Verhalten von Systemen mit speziellen Begriffen beschreiben. Einige wichtige seien hier angeführt.


6.1. Zuverlässigkeit ('reliability')


Der erste Begriff --Zuverlässigkeit ('reliability')-- hat zu tun mit der Wahrscheinlichkeit, mit der nach einem Fehler zu einem Zeitpunkt t0 zu einem späteren Zeitpunkt t wieder ein Fehler auftreten wird. Sei lambda die Anzahl der Fehler pro Stunde (Fehlerrate, 'failurrate'), dann gilt die Formel:

zuv(t,t0,lambda) = exp(-lambda(t-t0))

Die Grösse MTTF (:= mean time to failure) wird wie folgt definiert:

MTTF = 1/lambda

Ein Webserver, der 1x pro Woche ausfällt hätte also die Werte:

1 Woche = 24h * 7 = 168h

lambda = 1/168 = 0.0059524

MTTF = 1/lambda = 168h

zuv(168,1,lambda) = 0.3700757

Systemen, die ein lambda-Wert haben mit lambda < 10-9 Fehler pro Stunde, gelten als ultrahoch zuverlässig ('ultrahigh reliability'), d.h. diese Systeme haben ca. 1 Fehler pro 117000 Jahre!


6.2. Wartbarkeit ('maintainability')


Wartbarkeit hat damit zu tun, wieviel Zeit man benötigt, um ein System nach dem Auftreten eines Fehlers wieder in einen betriebsfähigen Zustand zu versetzen. Ein hier vielfach benutzter Begriff ist der Begriff Mittlere Zeit zur Wiederherstellung ('Mean Time to Repair', MTTR). Setzt man eine konstante Reparaturrate my an (Reparaturen pro Stunde), dann kann man --analog zu MTTF-- vereinbaren: MTTR = 1/my.


6.3. Verfügbarkeit ('availability')


Verfügbarkeit beschreibt die Zeit, in der ein Dienst verfügbar ist (MTTF) im Verhältnis zur Zeit in der er wegen Reparatur nicht verfügbar ist (MTTR) und verfügbar ist (MTTF), also MTTR+MTTF. Im Falle konstanter Fehler- und Reparaturraten gilt dann:

A = MTTF/(MTTF+MTTR)

mit A := AVAILABILITY.

Ferner gilt:

MTBF = MTTF+MTTR

(MTBF := Mean Time Before Failure, Mittlere Zeit vor dem nächsten Fehler), das ergibt:

A = MTTF/MTBF



avail1

Fälle von Verfügbarkeit




START



7. Klassifikation von Realzeit-Systemen


Für die Klassifikation von Realzeit-Systemen stehen zahlreiche Kategorien zur Verfügung. Einige seien hier aufgelistet:

  1. Fail-safe/Fail-operational: In einem System, das 'fail-safe' ist, kann das System mit hoher Wahrscheinlichkeit einen Fehler erkennen und dann einen sicheren Zustand ansteuern. In Situationen, in denen keine sicheren Zustände verfügbar sind, ist das System 'fail-operational'.


  2. Guaranteed-Response/ Best-Effort: eine garantierte Antwort ('guaranteed-response') liegt vor, wenn ein System so umfassend analysiert worden ist, dass es in allen voraussagbaren Belastungssituationen eine definierte Antwort zu geben vermag. Ist eine umfassende Analyse nicht verfügbar, dann kann es nur 'beste Versuche' ('best effort') geben, eine Antwort bereitzustellen; dies kann mangelhaft sein.


  3. Resource-Adequate/ Resource Inadequate: in einem ressourcenadäquaten System stehen in allen Belastungsfällen genügend Ressourcen zur Verfügung. In vielen Systemen wird aber aus Wirtschaftlichkeitsüberlegungen mit limitierten Ressourcen gearbeitet, die aufgrund von Wahrscheinlichkeitsüberlegungen dynamisch verwaltet werden. Bei schlechten Einschätzungen sind damit Störfälle wahrscheinlich.


  4. Event-triggered/ Time-triggered: in ereignisgetriebenen ('event triggered') Systemen reagiert ein System ausschliesslich auf das Auftreten bestimmter Ereignisse, die durch sogenannte Unterbrechungen ('interrupts') 'bekannt' werden. Das System muss dann dynamisch auf diese Unterbrechungen reagieren. Im Unterschied dazu orientieren