Time-Utility-Funktion
Das TUF/UA-Paradigma wurde ursprünglich entwickelt, um bestimmte zeit- und anwendungsbezogene QoS-basierte Planungsanforderungen verschiedener militärischer Anwendungen zu erfüllen, für die herkömmliche Echtzeitkonzepte und -praktiken nicht ausreichend aussagekräftig (z. B. für zeitkritische Systeme ohne Fristen) und belastbar (z. B. für Systeme, die routinemäßigen Überlastungen unterliegen) sind. Eine Beispielklasse für solche Anwendungen ist die Abwehr ballistischer Raketen (fiktiv).
In der Folge wurden in der akademischen Literatur zahlreiche Variationen des ursprünglichen TUF-Modells, des Systemmodells des TUF/UA-Paradigmas und damit der Scheduling-Techniken untersucht – z.B.,
Einige Beispiele für letztere sind: cyber-physische Systeme, KI, Multi-Roboter-Systeme, Drohnenplanung, autonome Roboter, intelligente Fahrzeug-zu-Cloud-Datenübertragungen, industrielle Prozesssteuerung, Transaktionssysteme, Hochleistungsrechner, Cloud-Systeme, heterogene Cluster, serviceorientiertes Rechnen, Netzwerke und Speicherverwaltung für reale und virtuelle Maschinen. Ein Beispiel für ein Stahlwerk ist in der Einleitung von Clarks Doktorarbeit kurz beschrieben. Informationen über kommerzielle oder militärische Instanzen des Paradigmas sind möglicherweise nicht öffentlich zugänglich (proprietär bzw. geheim).
TUFs und ihre Nutzeninterpretationen (Semantik), Skalen und Werte werden aus domänenspezifischem Fachwissen abgeleitet. Eine historisch häufige Interpretation des Nutzens ist die relative Bedeutung von Handlungen. Es wurde ein Rahmenwerk für die á priori Zuweisung statischer Nutzenwerte unter strengen Auflagen für Systemmodelle entwickelt, aber nachfolgende (wie auch frühere) TUF/UA-Forschung und -Entwicklung haben es vorgezogen, sich auf die Ausnutzung von Anwendungsspezifika zu verlassen, anstatt zu versuchen, allgemeinere Rahmenwerke zu schaffen. Solche Rahmen und Werkzeuge bleiben jedoch ein wichtiges Forschungsthema.
Nach traditioneller Konvention ist eine TUF eine konkave Funktion, einschließlich linearer Funktionen. Siehe die Darstellung einiger Beispiel-TUFs.
TUF/UA-Papiere in der Forschungsliteratur sind, mit wenigen Ausnahmen, z.B. nur für entweder lineare oder stückweise lineare (einschließlich herkömmlicher terminbasierter) TUFs, weil sie einfacher zu spezifizieren und zu planen sind. In vielen Fällen sind die TUFs nur monoton abnehmend.
Eine konstante Funktion stellt den Nutzen einer Aktion dar, der nicht mit der Abschlusszeit der Aktion zusammenhängt – zum Beispiel die konstante relative Wichtigkeit der Aktion. Dadurch können sowohl zeitabhängige als auch zeitunabhängige Aktionen kohärent geplant werden.
Eine TUF hat eine globale kritische Zeit, nach der ihr Nutzen nicht mehr zunimmt. Wenn eine TUF niemals abnimmt, ist ihre globale kritische Zeit der erste Zeitpunkt, an dem ihr maximaler Nutzen erreicht wird. Eine konstante TUF hat eine beliebige kritische Zeit für den Zweck der Zeitplanung, z. B. die Freigabezeit der Aktion oder die Endzeit der TUF. Der globalen kritischen Zeit können lokale kritische Zeiten folgen – man denke zum Beispiel an eine TUF mit einer Folge von Abwärtsschritten, vielleicht um eine glatte Abwärtskurve zu approximieren.
TUF-Nutzwerte sind in der Regel entweder ganze Zahlen oder rationale Zahlen.
TUF-Nutzwerte können negative Werte enthalten. (Eine TUF, die negative Werte in ihrem Bereich hat, wird nicht notwendigerweise von der Planung ausgeschlossen oder während ihrer Operation abgebrochen – diese Entscheidung hängt vom Planungsalgorithmus ab.)
Eine konventionelle Deadline-Zeit (d), die als TUF dargestellt wird, ist ein Spezialfall – eine abwärts gerichtete TUF mit einer Einheitsstrafe (d. h.,
Allgemeiner ausgedrückt, erlaubt eine TUF, dass Abwärts- (und Aufwärts-) Stufenfunktionen beliebige Nutzenwerte vor und nach der kritischen Zeit haben.
Die als TUF dargestellte Verspätung ist ein Spezialfall, dessen von Null verschiedener Nutzen die lineare Funktion C – d ist, wobei C die Beendigungszeit der Aktion ist – entweder die aktuelle, erwartete oder angenommene. Allgemeiner ausgedrückt, erlaubt eine TUF, dass Frühzeitigkeit und Verspätung nicht null sind – z.B. kann eine zunehmende Verspätung zu einem nicht linear abnehmenden Nutzen führen, wie z.B. bei der Erkennung einer Bedrohung.
Somit bieten TUFs eine reichhaltige Verallgemeinerung der traditionellen Zeitbeschränkungen für den Abschluss von Aktionen im Echtzeit-Computing.
Alternativ kann das TUF/UA-Paradigma eingesetzt werden, um die Rechtzeitigkeit in Bezug auf die globale kritische Zeit als Mittel zum Zweck der Nutzensteigerung zu nutzen, d.h., Quality of Service (QoS) auf Anwendungsebene – zu nutzen, anstatt dass die Aktualität an sich ein Selbstzweck ist (siehe unten).
Eine TUF (ihre Form und ihre Werte) kann von einer Anwendung oder ihrer Betriebsumgebung dynamisch angepasst werden, unabhängig von allen Aktionen, die derzeit entweder warten oder ausgeführt werden.
Diese Anpassungen erfolgen normalerweise bei diskreten Ereignissen – z. B.,
Alternativ können diese Anpassungen kontinuierlich erfolgen, z. B. für Aktionen, deren Betriebsdauer und TUFs anwendungsspezifische Funktionen sind, je nachdem, wann diese Aktionen entweder freigegeben werden oder den Betrieb aufnehmen. Die Vorgangsdauern können zunehmen oder abnehmen oder beides, und sie können nicht monoton sein. Dieser kontinuierliche Fall wird als zeitabhängige Terminierung bezeichnet. Die zeitabhängige Terminierung wurde für bestimmte militärische Echtzeitanwendungen, wie z. B. Radarverfolgungssysteme, eingeführt (ist aber nicht darauf beschränkt).