11. Anlage
 
zurück
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.



 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.