TU Darmstadt / ULB / TUprints

Simplifying the use of event-based systems with context mediation and declarative descriptions

Freudenreich, Tobias (2015)
Simplifying the use of event-based systems with context mediation and declarative descriptions.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
Text
dissertation.pdf
Copyright Information: CC BY-NC-ND 3.0 Unported - Creative Commons, Attribution, NonCommercial, NoDerivs.

Download (3MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Simplifying the use of event-based systems with context mediation and declarative descriptions
Language: English
Referees: Buchmann, Prof. Alejandro ; Eugster, Prof. Patrick ; Eyers, David
Date: 2015
Place of Publication: Darmstadt
Date of oral examination: 26 June 2015
Abstract:

Current trends like the proliferation of sensors or the Internet of Things lead to Cyber-physical Systems (CPSs). In these systems many different components communicate by exchanging events. While events provide a convenient abstraction for handling the high load these systems generate, CPSs are very complex and require expert computer scientists to handle correctly. We realized that one of the primary reasons for this inherent complexity is that events do not carry context. We analyzed the context of events and realized that there are two dimensions: context about the data of an event and context about the event itself. Context about the data includes assumptions like systems of measurement units or the structure of the encoded information that are required to correctly understand the event. Context about the event itself is data that provides additional information to the information carried by the event. For example an event might carry positional data, the additional information could then be the room identifier belonging to this position. Context about the data helps bridge the heterogeneity that CPSs possess. Event producers and consumers may have different assumptions about the data and thus interpret events in different ways. To overcome this gap, we developed the ACTrESS middleware. ACTrESS provides a model to encode interpretation assumptions in an interpretation context. Clients can thus make their assumptions explicit and send them to the middleware, which is then able to mediate between different contexts by transforming events. Through analysis of the provided contexts, ACTrESS can generate transformers, which are dynamically loaded into the system. It does not need to rely on costly operations like reflection. To prove this, we conducted a performance study which shows that in a content-based publish/subscribe system, the overhead introduced by ACTrESS’ transformations is too small to be measurable. Because events do not carry contextual information, expert computer scientists are required to describe situations that are made up of multiple events. The fact that CPSs promise to transform our everyday life (e.g., smart homes) makes this problem even more severe in that most of the target users cannot use CPSs. In this thesis, we developed a declarative language to easily describe situations and a desired reaction. Furthermore, we provide a mechanism to translate this high-level description to executable code. The key idea is that events are contextualized, i.e. our middleware enriches the event with the missing contextual information based on the situation description. The enriched events are then correlated and combined automatically, to ultimately be able to decide if the described situation is fulfilled or not. By generating small computational units, we achieve good parallelization and are able to elegantly scale up and down, which makes our approach particularly suitable for modern cloud architectures. We conducted a usability analysis and performance study. The usability analysis shows that our approach significantly simplifies the definition of reactive behavior in CPS. The performance study shows that the achieved automatic distribution and parallelization incur a small performance cost compared to highly optimized systems like Esper.

Alternative Abstract:
Alternative AbstractLanguage

Das Internet der Dinge und das damit verbundene stark zunehmende Aufkommen von Sensoren sind Trends, die zu Cyber-physical Systems führen. Eine charakteristische Eigenschaft dieser Systeme ist, dass viele verschiedene Komponenten durch Austausch von Ereignissen kommunizieren. Diese Abstraktion ist sehr nützlich, um das hohe Datenaufkommen dieser Systeme verarbeiten zu können. Allerdings sind Cyber-physical Systems dadurch auch sehr komplex und nur speziell ausgebildete Informatiker können diese korrekt konfigurieren und verwenden. Einer der Hauptgründe für diese Komplexität ist fehlende Kontextinformation in den Ereignissen. In dieser Arbeit haben wir deshalb den Kontext von Ereignissen untersucht und haben zwei unterschiedliche Dimensionen erkannt: Kontext der Ereignisdaten und Kontext des Ereignisses selbst. Kontext der Ereignisdaten sind Annahmen die zur Interpretation der Daten beitragen, wie z.B. das verwendete Einheitensystem oder die Struktur der Daten. Kontext des Ereignisses selbst umfasst Informationen, die zum Ereignis gehören, in diesem aber nicht enthalten sind. Bei einem Ereignis, welches Positionsdaten enthält, kann dies beispielsweise der zugehörige Raum sein. Kontext der Ereignisdaten hilft die Heterogenität von Cyber-physical Systems zu überwinden. Ereignisproduzenten und -konsumenten machen oft unterschiedliche Annahmen bei der Interpretation von Ereignisdaten, was zu unterschiedlichen Interpretationen des gleichen Ereignisses führen kann. Um dies zu beheben, haben wir ACTrESS entwickelt. ACTrESS bietet eine Möglichkeit die Interpretationsannahmen explizit in einem sogenannten interpretation context zu kodieren. Dieser wird dann zur Middleware gesendet, welche damit Ereignisse zwischen unterschiedlichen Kontexten durch Transformation übersetzen kann. ACTrESS analysiert dabei die gesendeten Kontexte und generiert Transformatoren, welche dynamisch nachgeladen werden. Dadurch vermeiden wir teure Mechanismen, wie z.B. Reflection. Die Evaluation von ACTrESS bestätigt das: die Performanz lässt sich nicht von der eines reinen content-based Publish/Subscribe Systems unterscheiden. Da Ereignisse keine kontextuellen Informationen mitbringen, müssen komplexe Situationen von sehr erfahrenen Informatikern mit Hilfe von speziellen Regeln beschrieben werden. Dabei werden oft mehrere Ereignisse miteinander kombiniert. Allerdings versprechen Cyber-physical Systems unser alltägliches Leben zu verändern, was z.B. bei sogenannten intelligenten Häusern schon heute erkennbar ist. Die oben aufgezeigte Komplexität verhindert aber, dass die eigentlichen Nutzer die Systeme entsprechend nutzen können. Deshalb haben wir in dieser Arbeit eine deklarative Sprache entwickelt, mit der komplexe Situationen und entsprechende Reaktionen darauf leicht beschrieben werden können. Dazu beschreibt die Arbeit einen Mechanismus, der diese Beschreibung in ausführbaren Code umwandelt. Die Kernidee dabei ist, dass Ereignisse kontextualisiert werden. Unsere Middleware reichert eingehende Ereignisse basierend auf der Situationsbeschreibung mit fehlender kontextueller Information an. Die so angereicherten Ereignisse werden entsprechend kombiniert und korreliert, um schlussendlich die beschriebene Situation detektieren zu können. Wir generieren kleine Berechnungseinheiten, wodurch eine gute Parallelisierung erreicht werden kann. Ebenso kann man so sehr einfach hoch- und runterskalieren, wodurch unsere Middleware sehr gut zu modernen Cloudarchitekturen passt. Wir haben unseren Ansatz mit einer Usability Studie, sowie Performanzmessungen untersucht. Die Studie zeigt, dass unsere Sprache das Beschreiben reaktiven Verhaltens in Cyber-physical Systems signifikant vereinfacht. Die Performanzmessungen zeigen, dass die Möglichkeit der automatischen Skalierung und Verteilung etwas Leistung im iii Vergleich zu Esper kostet. Esper ist dabei eine hoch-optimierte Software, die jedoch die angesprochenen Vorteile nicht bietet.

German
URN: urn:nbn:de:tuda-tuprints-51319
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Databases and Distributed Systems
Date Deposited: 09 Dec 2015 09:29
Last Modified: 09 Jul 2020 01:10
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/5131
PPN: 386811075
Export:
Actions (login required)
View Item View Item