Lies eine Zeitachse und entscheide ausdrücklich über lange Läufe.
Ein Auftrag mit anschließender Pause hat den Startabstand Laufdauer plus Pause. Bei festen Startzeiten bleibt dagegen der geplante Abstand unabhängig von der Dauer. Dauert ein Lauf länger als dieser Abstand, braucht der Vertrag eine Überlappungsregel: auslassen, nachholen oder ausdrücklich parallel starten. Nachholen braucht außerdem eine Grenze, damit sich keine unendliche Warteschlange aufbaut. Kennzeichne geplante und tatsächliche Zeiten. Eine Verspätung ist zunächst eine Abweichung vom Plan; ihre Bewertung hängt vom vereinbarten Vertrag ab. Eine künstliche Uhr macht solche Fälle prüfbar, ohne echte Minuten abzuwarten.
Ein Beispiel
Fiktiver Export: erster Lauf 09:00–09:04, danach zehn Minuten Pause; nächster Start 09:14. Der zweite Lauf dauert zwölf Minuten bis 09:26; der dritte startet nach der Pause 09:36. Bei festen Zehn-Minuten-Starts mit Auslassen beginnt der zweite Lauf 09:10, endet 09:22, der Termin 09:20 entfällt und der nächste Lauf startet 09:30.
Python 3.11 · Lehrbeispiel
start_minutes = 0
starts = []
for duration in [4, 12, 4]:
starts.append(start_minutes)
start_minutes += duration + 10
print(starts)
print(["09:" + str(value).zfill(2) for value in starts])
Erwartete Ausgabe
[0, 14, 36]
['09:00', '09:14', '09:36']