title: Declarative adaptive interface monitoring
Creators: name: Brocanelli, Stefan
Publisher: name: TU Wien
Year: 2020
Subjects: subject: Deklarative Aktualisierungsbefehle
subject: Schnittstellenmonitoring
subject: Dynamische Konfiguration
subject: Declarative command language
subject: Interface Monitoring
subject: Dynamic Configuration

description: Mit Industry 4.0 werden enorme Datenströme generiert, welche den Weg ebnen für dynamische Optimierung. Wir bauen auf das Konzept von Dynacon, eine dynamisch konfigurierbare Architektur, auf und führen eine Schnittstellenbeschreibung ein, welche mit deklarativen Aktualisierungsbefehlen umgeändert werden kann. Dadurch, bringen wir die oft starren und schwer adaptierbaren Konfigurierungssysteme des jetzigen Stands der Technik auf ein neues Niveau, welches Änderungen in Echtzeit, basierend auf Informationen des Stream Reasoners, ermöglicht. Derzeitige Versuche, Stream Reasoner neu zu konfigurieren, haben oft keine Komponente, welche sich darum kümmert, einkommende Datenströme zu analysieren und dann anhand dieser zu entscheiden, ob eine Neukonfiguration überhaupt notwendig ist. Zusätzlich nutzen viele dynamische Systeme keine Schnittstelle um die einzelnen Komponenten zu konfigurieren und sind auch nicht kompatibel mit Regelbasierten Stream Reasoner. Daher führen wir zwei neue Komponenten ein: Der Communication Manger sorgt sich um Daten, die vom Stream Reasoner übergeben werden und passt die Kommunikation anhand der Schnittstelle an, bevor die Nachrichten zum Operator weitergesendet werden. Der Update Manager hingegen empfängt Befehle vom Operator und führte diese auf der Schnittstelle und dem Stream Reasoner aus. In der von uns entwickelten Timed-LUPS Sprache erstellen wir Regeln mit Bedingungen und Zeitdauer welche es ermöglichen anhand des Datenstroms Befehle zu aktivieren. Die Einführung von einer Zeitdauer sorgt dafür, dass der Update Manager jegliche Befehle nach einer gewissen Zeit wieder rückgängig machen kann. Zuletzt haben wir ein Java Prototyp gebaut, der Hand in Hand mit einem HexLite Stream Reasoner arbeitet um unsere Konzepte zu implementieren. Mit mehreren Experimenten beweisen wir dann die Realisierbarkeit einiger unserer Funktionalitäten, wie das wechseln von Kommunikationseinstellung ohne Neustart des Stream Reasoners und das Umändern von Regeln mit Neustarts in Bruchteilen einer Sekunde.
description: With Industry 4.0 enormous streams of sensor data are generated and open the doors to dynamic optimization. We build on the concept of DynaCon, a dynamic configuration system, and introduce an interface description that can be altered with declarative update commands. By doing so, we elevated the often static and slow to adapt state of the art configuration systems to a new level that allows performing changes in real-time based on information extracted by a stream reasoner. State of the art efforts to reconfigure stream reasoners always lacked a layer of reasoning that would analyze incoming data to decide when a reconfiguration is necessary. Besides, many dynamic systems do not make use of an interface to configure its components and they are not compatible with rule-based reasoners that play a key role in unlocking reconfiguration. We introduce two new modules: the Communication Manager deals with incoming stream reasoner messages and relays them to the Operator based on settings stored in the interface and the Update Manager executes update commands sent by the Operator. Through Timed-LUPS we create a reasoning layer through policies that regulate conditions and duration for the update commands. By defining the duration of a command, the Update Manager can retract the changes and revert the interface or stream reasoner to its previous state after the duration has expired. Lastly, we built a Java prototype working hand in hand with a HexLite Stream Reasoner to implement our concepts. With several experiments, we then prove the feasibility of many of the outlined features like changing the communication while the stream reasoner is running and performing rule changes with a fraction of a second restarts.