|
11.4.6 Verzögerungsanweisung
Echtzeitsysteme erfordern, daß parallele Prozesse mit genügend
hoher Priorität sich selbst suspendieren können und daß
sie nach Ablauf der Verzögerung sofort weiter ausgeführt werden
können. Die Zeitspanne zwischen dem Beginn der Verzögerung und
der Wiederaufnahme der Ausführung des parallelen Prozesses sollte möglichst
mit einer vorhersagbaren Toleranz gleich der beabsichtigten Verzögerung
sein. Der Sprachkern von Ada spezifiziert lediglich, daß ein paralleler
Prozeß, der eine Verzögerungsanweisung (delay_statement
<BNF>) durchläuft, mindestens für die durch die Verzögerungsanweisung
spezifizierte Zeitspanne blockiert ist.
Die Anlage "Echtzeitsysteme" spezifiziert die im Ada-Kern verwirklichten
Anforderungen bezüglich der Implementierung der Verzögerungsanweisung
genauer. Dies gilt auch für die Verwendung der Verzögerungsanweisung
in einer Auswahlanweisung
(select_alternative
<BNF>). Dadurch ist eine präzisere Vorhersage des zeitlichen
Verhaltens von Echtzeit-programmen möglich.
Im einzelnen werden folgendes spezifiziert:
- Eine Verzögerungsanweisung (delay_alternative
<BNF>) mit einer nichtpositiven Verzögerungsdauer führt
nicht zu einer Blockierung eines parallelen Prozesses.
- Eine Verzögerungsalternative in einem zeitlich befristeten Eingangsaufruf
(timed_entry_call
<BNF>) oder einer selektiven Warteanweisung (selective_accept
<BNF>) wird nicht ausgewählt, selbst wenn die Verzögerungszeit
abgelaufen ist, wenn sofort mit einem Eingangsaufruf oder der Auswahl
einer offenen Annahmealternative (accept_alternative
<BNF>) fortgefahren werden kann. ersage des zeitlichen Verhaltens
von Echtzeitprogrammen möglich.
Im einzelnen werden folgendes spezifiziert:
- Eine Verzögerungsanweisung (delay_alternative
<BNF>) mit einer nichtpositiven Verzögerungsdauer führt
nicht zu einer Blockierung eines parallelen Prozesses.
- Eine Verzögerungsalternative in einem zeitlich befristeten Eingangsaufruf
(timed_entry_call
<BNF>) oder einer selektiven Warteanweisung (selective_accept
<BNF>) wird nicht ausgewählt, selbst wenn die Verzögerungszeit
abgelaufen ist, wenn sofort mit einem Eingangsaufruf oder der Auswahl
einer offenen Annahmealternative (accept_alternative
<BNF>) fortgefahren werden kann.
|