Time for Reactive System Modeling

Fuhrmann, Insa Marie-Ann

Reactive systems interact with their environment by reading inputs and computing and feeding back outputs in reactive cycles that are also called ticks. Often they are safety critical systems and are increasingly modeled with highlevel modeling tools. The concepts of the corresponding modeling languages are typically aimed to facilitate formal reasoning about program constructiveness to guarantee deterministic output and are explicitly abstracted from execution time aspects. Nevertheless, the worst-case execution time of a tick can be a crucial value, as it decides the frequency in which the system can interact with its surroundings. An excessive tick Worst Case Execution Time (WCET) can lead to lost inputs or tardy reaction to critical events. Thus, the modeler has to make sure that the timing behaviour of the system under development meets the specifications. This thesis proposes a general approach to interactive timing analysis, which enables the feedback of detailed timing values directly in the model representation to support timing aware modeling. The concept is based on a generic timing interface that enables the exchangeability of the modeling as well as the timing analysis tool for the flexible implementation of varying tool chains. This aims at enhancing the comparability of tools and facilitates the sharing of benchmark model suites. The introduced approach is applicable not only to dataflow-based systems, but also to state-based systems. The latter is enabled by a concept for communicating analysis requests and responses for arbitrary code parts instead of a restriction to function granularity. The proposed timing analysis approach includes visual highlighting and modeling pragmatics features to guide the user to WCET hotspots for timing related model revisions. The approach is practically evaluated with an open-source Eclipse-based example implementation for the modeling language SCCharts, which includes a user study.

Reaktive Systeme interagieren mit ihrer Umgebung, indem sie in Zyklen, sogenannten Ticks, Eingaben einlesen und Ausgaben errechnen und zurückgeben. Meistens sind reaktive Systeme sicherheitskritisch. Sie werden typischerweise in spezialisierten Modellierungstools entworfen und die dazugehörigen Modellierungssprachen sind auf die formale Analyse der Konstruktivität optimiert, die eindeutige Ausgaben garantiert. Dies wird unter anderem durch eine bewusste Abstraktion von Laufzeitaspekten erreicht. Dennoch ist die maximale Laufzeit eines Ticks ein bedeutender Aspekt, denn sie bestimmt die mögliche Interaktionsfrequenz zwischen Umwelt und System und damit die Rechtzeitigkeit von Reaktionen. Dementsprechend muss bei der Systementwicklung darauf geachtet werden, dass die Spezifikationen bezüglich der maximalen Ausführungszeit eines Ticks gewahrt bleiben. In dieser Arbeit wird ein genereller Ansatz der interaktiven Ausführungszeitanalyse vorgeschlagen, der diese Aufgabe durch die Anzeige aktueller und detaillierter Zeitwerte in der Modelldarstellung erleichtert. Das Konzept hierzu beruht auf einer übergreifenden Schnittstelle, über die wechselnde Modellierungs- und Analysewerkzeuge flexibel miteinander verbunden werden können, welches Vergleiche und die Wiederverwendung von Testmodellen erleichtert. Der vorgestellte Ansatz ist sowohl für datenflussbasierte als auch für zustandsbasierte Systeme geeignet. Dies wird durch das Konzept ermöglicht, dass anstelle von Funktionen beliebige Codeabschnitte unter Analyse gestellt werden können. Der vorgeschlagene Ansatz umfasst zusätzlich die optische Hervorhebung von zeitkritischen Modellbereichen und den Einsatz von Konzepten aus der Modellierungspragmatik. Das Konzept wurde praktisch mit einer Eclipse-basierten Implementierung in Open-Source-Software ausgewertet; dies schließt die Anwendung in einer Benutzerstudie ein.

Preview

Cite

Citation style:

Fuhrmann, Insa: Time for Reactive System Modeling. 2018.

Rights

Use and reproduction:
No CC License (german copyright law applies)

Export