02 - Modelling of Embedded Real-Time Systems Flashcards

1
Q

Was ist bei der Model Konstruktion wichtig? (5)

A
  • auf wesentliche Eigenschaften konzentrieren
  • Elemente des Modells und die Beziehungen zwischen den Elementen müssen gut spezifiziert sein
  • Verständlichkeit der Struktur und der Funktionen des Modells
  • formale Notation zur Beschreibung der Eigenschaften des Modells sollte eingeführt werden, um Genauigkeit zu erhöhen
  • Modellannahmen müssen explizit angegeben werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist Assumption Coverage?

A

Ist die Wahrscheinlichkeit, dass die Annahmen das reale Szenario abdecken. Sie limitiert den Nutzen einer formalen Überprüfung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist eine Load Hypothesis?

A

Spezifikation des peak load, den das System handhaben muss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist eine Fault Hypothesis?

A

Spezifikation der Anzahl und Arten von Fehlern, die ein fehlertolerantes System tolerieren muss. Der Fehlerraum wird dabei in zwei Bereiche unterteilt: die Fehler, die toleriert werden müssen, und die Fehler, die nicht unter die Fehlertoleranzmechanismen fallen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche Strategie wird außerhalb der Fault Hypothesis verwendet?

A

Die Never-give-up (NGU) Strategy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind wichtige Elemente eines RT System Models? (3)

A
  • Representation of Real-Time
  • Semantic Properties of Data Transformations
  • Ausführungsdauer (Durations of the executions)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Strukturen umfasst ein RT System grob? (3)

A
  • Computer System
  • Controlled Object
  • Operator
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist ein Cluster?

A

Ist ein Subsystem eines RT-Systems mit hoher interner Vernetzung. Ein Cluster ist ein Set aus Nodes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist ein Prozess?

A

Der Prozess ist die Ausführung eines Programms. Er beginnt mit dem Lesen der Input Daten und endet mit der Erzeugung der Output Daten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche zwei Prozesstypen gibt es? (2)

A
  • Simple (S) Prozess: keine Synchronisationspunkte, kann einen internal state haben
  • Complex (C) Prozess: hat mindestens einen internal Synchronisationspunkt (Bsp.
    “wait on condition” (P) Statement)
  • ohne weitere Angabe ist mit dem Wort Prozess ein S-Prozess gemeint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist eine Node?

A

Ist eine Hardware-Software Einheit, die aus mehreren Elementen besteht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Woraus setzt sich eine Node zusammen? (5)

A
  • Hardware: CPU, Speicher, communication interface, etc.
  • Betriebssystem (Operating System): CPU Management, I/O support, communication support, etc.
  • i-state (initialization state)
  • h-state (history state)
  • g-state (ground state)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist der History State (h-state)?

A
  • umfasst alle Informationen, die erforderlich sind, um einen “leeren” Knoten (oder Prozess) zu einem bestimmten Zeitpunkt zu starten
  • Größe hängt vom gewählten Zeitpunkt ab, Größe des h-Zustands sinkt mit zunehmender Granularität der Aktionen
  • relatives Minimum unmittelbar nach Abschluss einer Berechnung (einer atomaren Aktion)
  • soll an Reintegration Points so klein wie möglich sein
  • Wenn zwischen aufeinanderfolgenden Aktivierungen kein h-state des Knotens gespeichert werden muss, wird der Knoten als “zustandslos” bezeichnet (auf der gewählten Abstraktionsebene)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist der Ground State (g-state)?

A
  • minimaler h-state eines Subsystems (Node) wo alle Prozesse inaktiv und alle Channel geleert sind
  • wird für Reintegration von Nodes benötigt
  • als Vorsorge für System-Crash: in bestimmten Abständen einen g-state speichern, auch wenn dadurch Prozessorzeit ungenutzt bleibt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist unidirectional message passing?

A
  • grundlegender Interaktionsmechanismus zwischen Nodes in einem distributed real-time System
  • jede Nachricht hat einen Sender und einen oder mehrere Empfänger (Mulitcast Support)
  • Nachrichten werden für Datenaustausch verwendet und können für Synchronisation genutzt werden
  • Shared Memory kann auf höherer Ebene realisiert werden zusätzlich zu einem grundlegenden message passing Service
  • message passing erleichtert die Kapselung und Wiederherstellung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Welche Interfaces hat eine Node (Messages)? (4)

A
  • Diagnostic and management Interface
  • Linking Interface (LIF)
  • Configuration Planning Interface
  • Local Interfaces
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was ist das wichtigste Interface in Embedded Systems?

A

Das Linking Interface (LIF), es ist als einziges Interface für die zeitliche Zusammensetzbarkeit relevant. Die LIF Spezifikation versteckt die Implementierung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was muss ein LIF (Bsp. control Algorithmus) spezifizieren?

A
  • temporal pre-conditions: zu welchem Zeitpunkt müssen die Input Informationen an ein Modul übergeben werden
  • temporal post-conditions: zu welchem Zeitpunkt müssen die Output Informationen durch das Modul generiert werden
  • a proper model: Eigenschaften der beabsichtigten Informationstransformation, die durch das Modul bereitgestellt werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Wann verhält sich eine Node wie ein Information Transducer (Informationsvermittler)?

A

Wenn eine Node ein nachrichtenbasiertes linking Interface und local Interfaces hat.

20
Q

Welche Message Classification gibt es? (7)

A
  • jeweils auch die gegenteilige Bedeutung existent
  • valid: wenn ihre Prüfsumme und ihr Inhalt übereinstimmen
  • checked: wird an der Quelle geprüft (kurz: geprüft), wenn sie die Output Assertion (Ausgangsprüfung) besteht
  • permitted: ist in Bezug auf einen Empfänger zulässig, wenn sie die Input Assertion dieses Empfängers besteht
  • timely: wenn sie der zeitlichen Spezifikation entspricht
  • value-correct: wenn sie mit der Wertespezifikation übereinstimmt
  • correct: wenn sie timely und value-correct ist
  • insidious: wenn sie permitted ist aber incorrect (also nicht timely und nicht valuecorrect)
21
Q

Welche Interface Unterscheidung gibt es bei einem unidirektionalen Datenfluss zwischen zwei Teilsystemen? (2)

A
  • Elementary Interface: Control und Data fließen in dieselbe Richtung
  • Composite Interface: Control fließt in beide Richtungen, Data nur in eine
  • Elementary Interfaces sind grundsätzlich einfacher als Composite Interfaces
22
Q

Was ist ein Information Push Interface?

A

Informationsproduzent gibt Informationen an den Informationskonsumenten weiter (z.B. Telefon, Interrupt). Ist in RT System für Sender besser.

23
Q

Was ist ein Information Pull Interface?

A

Verbraucher von Informationen fordert bei Bedarf Informationen an (z. B. per E-Mail). Ist in RT System für Empfänger besser.

24
Q

Was ist eine Real Time Entity?

A

Ist eine Zustandsvariable von Interesse für den gegebenen Zweck, die ihren Zustand in Abhängigkeit von der Echtzeit ändert. Es wird zwischen Continous RT Entity (Bsp. Strömung in einem Rohr) und Discrete RT Entity (Bsp. Postition eines Schalters) unterschieden.

25
Q

Was sind Merkmale einer RT-Entity? (2)

A
  • Static Attributes: Name, Type, Value Domain, Maximum Rate of Change
  • Dynamic Attributes: Wert der zu einem bestimmten Zeipunkt gesetzt wird
26
Q

Was ist Sphere of Control (SOC)?

A
  • Kontrollbereich
  • jede ET-Entity befindet sich in einer SOC eines Subsystems, welches die Berechtigung hat Werte der Entity zu setzen
  • außerhalb der SOC kann die RT-Entity nur beobachtet und nicht verändert werden
  • auf dieser Abstraktionsebene sind Veränderung in der Darstellung einer RT-Entity nicht wesentlich
27
Q

Wozu dient eine Observation?

A
  • Informationen über den Zustand einer RT-Einheit zu einem bestimmten Zeitpunkt werden in einer Observation (Beobachtung) festgehalten
  • Observation ist ein Atomic Triple
  • Observations werden in Messages transportiert
28
Q

Was ist State Observation?

A
  • Observation Value enthält den vollen oder teilweisen state der RT-Entity
  • der Zeitpunkt einer State Observation bezeichnet den Zeitpunkt, zu dem die RT-Entität abgetastet wurde
29
Q

Was ist Event Observation?

A
  • Observation Value enthält die Differenz zwischen dem “alten state”(dem zuletzt beobachteten state) und dem “neuen state”
  • der Zeitpunkt der Event Information bezeichnet den Zeitpunkt des L-Events des “neuen state”
30
Q

Was ist ein RT Image?

A
  • RT-Image ist ein Bild einer RT-Entity
  • RT-Image ist gültig zu einem bestimmten Zeitpunkt, wenn es eine genaue Darstellung in den Bereichen Wert und Zeit, der entsprechenden RT-Entity ist
  • kann auf Observation oder state estimation basieren
  • kann in Data Objects gespeichert werden, entwender in einem Computer (RT Objekt) oder außerhalb in einem Aktuator
31
Q

Was ist ein RT Objekt?

A
  • ist ein “container” für ein RT-Image oder einer RT-Entity in einem Computer System
  • hat eine zugehörige Echtzeituhr, die mit einer Granularität tickt. Diese Granularität
    muss mit der Dynamik der RT-Einheit, die dieses Objekt darstellen soll, übereinstimmen.
  • aktiviert eine Objektprozedur, wenn die Zeit einen voreingestellten Wert erreicht
  • wird ein RT-Objekt durch eine Observation aktualisiert wird es immer einen Delay zwischen dem state der RT-Entity und dem des RT-Objektes geben
  • synchrones RT-Objekt: wenn es keine andere Möglichkeit gibt, eine Objektprozedur zu aktivieren als durch das periodische Ticken der Uhr
32
Q

Was ist ein distributed RT Objekt?

A
  • ist ein Set replizierter RT-Objekte, die sich an verschiedenen Standorten befinden
  • jede lokale Instanz eines distributed RT-Objekts erbringt einen bestimmten Dienst für seinen lokalen Standort
  • die Qualität des Dienstes eines distributed RT-Objekts muss mit einer bestimmten Konsistenz Beschränkung übereinstimmen
  • Beispiele: Clock Synchronisierung mit einer bestimmten Genaugikeit, Membership Service mit einem bestimmten Delay
33
Q

Was ist State Estimation?

A
  • eine gute Genauigkeit eines RT-Objekts kann durch häufiges Abtasten des RT-Objekts oder durch State Estimation erreicht werden
  • State Estimation: innerhalb eines RT-Objekts wird regelmäßig eine Schätzung des aktuellen Zustands des RT-Objekts berechnet (auf Grundlage eines Berechnungsmodells der Dynamik des RT-Objekts)
  • häufig besteht die Möglichkeit, einen Kompromiss zwischen Rechen- und Kommunikationsressourcen zu finden
34
Q

Was sind Timing Requirements für State Estimation?

A
  • State Estimation Program benötigt den Zeitpunkt der Beobachtung einer RT-Einheit und den geplanten Zeitpunkt der Betätigung, um den Delay ausgleichen zu können
  • Qualität der State Estimation hängt ab von:
    – Genauigkeit der Clock Synchronisation
    – Größe der Latenz und Qualität der Latenz-Messung
    – Qualität des State Estimation Model
35
Q

Wozu kann die Latency Guarantee verwendet werden und wie wird sie erreicht?

A
  • die Zusammensetzbarkeit einer verteilten Time-Triggered Architektur kann verbessert werden, wenn der Absender die Latenzzeit zwischen dem Punkt der Abtastung und dem Punkt der Übertragung garantiert
  • der Empfänger kann diese bekannte Latenzzeit in seinem State Estimation Model
    korrigieren
  • alternativ kann der Sender “zeitgesteuerte” Nachrichten senden, die das Intervall zwischen Beobachtung und Übertragung enthalten
36
Q

Was ist Permanence (Beständigkeit)?

A
  • Permanenz ist eine Beziehung zwischen einer bestimmten Nachricht Mi die bei einem RT-Objekt O angekommen ist, und allen Nachrichten Mi−1, Mi−2, … die vor (in der zeitlichen Reihenfolge) der Nachricht Mi an dieses Objekt gesendet wurden.
  • die Nachricht Mi wird im Objekt O permanent, sobald alle zuvor gesendeten Nachrichten bei O angekommen sind
  • werden Aktionen auf nicht permanente Nachrichten durchgeführt, kann dies zu einem inkonsistenten Verhalten führen
  • die Aktionsverzögerung ist das Intervall zwischen dem Zeitpunkt, zu dem eine Nachricht vom Sender gesendet wird, und dem Zeitpunkt, zu dem der Empfänger weiß, dass die Nachricht permanent ist
37
Q

Was ist ein Action Delay?

A
  • in distributed RT Systemen ohne globale Zeit ist das maximale Action Delay: dmax + Jitter = 2dmax − dmin
  • Jitter = dmax − dmin
  • mit globaler Zeit: dmax + 2g
38
Q

Wodurch wird die Reaktionsfähigkeit in distributed RT Systemen bestimmt?

A

In verteilten Echtzeitsystemen bestimmt die maximale Protokollausführungszeit und nicht die “mittlere” Protokollausführungszeit die Reaktionsfähigkeit.

39
Q

Was sind Unterschiede zwischen Accuracy und Action Delay?

A
  • ActionDelay < dacc
  • accuracy ist ein anwendungsspezifischer Parameter
  • action delay ist ein implementierungsspezifischer Parameter
  • wenn die Bedingung nicht erfüllt ist wird state estimation gebraucht
40
Q

Was ist Idempotence?

A
  • Idempotence ist eine Beziehung zwischen einem Set aus Messages
  • ein Set aus Messages ist idempotent, wenn die Wirkung des Empfangs mehrere Nachrichten dieser Messages die gleiche Wirkung haben wie die Wirkung des Empfangs einer einzigen Nachricht
  • duplizierte state Messages sind idempotent
  • duplizierte event Messages sind nicht idempotent
  • wenn die Idempotenz eines Sets redundanter Nachrichten gegeben ist, wird der Entwurf fehlertoleranter Systeme vereinfacht
41
Q

Was ist Replica Determinism?

A
  • ist eine gewünschte Beziehung zwischen replizierten RT-Objekten
  • ein Set replizierter RT-Objekte ist replica determinate, wenn alle Objekte des Sets innerhalb eines bestimmten Intervalls der Echtzeit denselben Zustand einnehmen
  • in einem time-triggered System wird dieses Zeitintervall durch die Genauigkeit der Uhrensynchronisation bestimmt
42
Q

Wofür wird Replica Determinism verwendet?

A
  • konsistent verteilte Aktionen

- die Implementierung von Fault Tolerance bei aktiver Redundanz

43
Q

Warum brauchen wir Replica Determinism?

A
  • Verbesserung der Testbarkeit von Systemen → Tests sind nur reproduzierbar, wenn die Replikate deterministisch sind
  • die Implementierung von Fehlertoleranz wird durch aktive Replikation erleichtert
  • Replikat-Determinismus hilft, Systeme intelligenter zu machen
44
Q

Wodurch kann Replica Determinism zerstört werden? (6)

A
  • inconsistent inputs
  • inconsistent order
  • non-deterministic program constructs
  • explicit synchronization statements (Bsp. wait)
  • uncontrolled access to the global time and timeouts
  • consistent comparison problem (software diversity)
45
Q

Wann tritt ein consistent Comparison Problem auf?

A

Tritt immer dann auf, wenn eine reale Größe in eine diskrete Darstellung umgewandelt wird und diese Darstellung als Eingabe für eine binäre Entscheidung dient (Bsp. Zeit, Sensor Input).