1.4 KiB
1.4 KiB
MODIFIED Requirements
Requirement: Ereigniszustellung an Anweisungsgrenzen
Die VM SHALL an Anweisungsgrenzen prüfen, ob ein Ereignis zuzustellen
ist, und in diesem Fall das GOSUB-Ziel des zugehörigen Traps
ausführen. Der unterbrochene Zustand — Aufrufkette, Schleifen, Locals,
GOSUB-Stapel und Fehlerzustand — MUST dabei erhalten bleiben; mit
RETURN SHALL die Ausführung an der unterbrochenen Stelle fortfahren.
Die Prüfung MUST NOT pro Opcode erfolgen; solange kein Trap definiert ist,
MUST sie auf einen einzelnen Test hinauslaufen und MUST NOT die Uhr lesen.
Ohne klassische Traps, aktive Forms-Timer oder zeitabhängige Mausauswertung SHALL auch die Forms-Integration keine Hostzeit abfragen.
Scenario: Trap aus einer Prozedur heraus
- WHEN ein Ereignis zugestellt wird, während eine
SUBläuft, und das Trap-Ziel im Modulrumpf liegt - THEN läuft der Handler und nach
RETURNsetzt dieSUBan der unterbrochenen Anweisung fort
Scenario: Ohne aktiven Trap wird die Uhr nicht gelesen
- WHEN ein Programm ohne jede
ON …-Trap-Definition ausgeführt wird - THEN fragt die Ausführung an keiner Anweisungsgrenze die Zeit ab, und der Durchsatz bleibt im Rahmen der Messgenauigkeit unverändert
Scenario: Einfaches Programm liest keine Ereigniszeit
- WHEN ein Programm nur Zuweisungen und END ausführt und ein Testhost Zeitabfragen zählt
- THEN ist der Zähler am Ende 0