Design and Implementation of Role-based Architectural Event Modules

Abstract

This diploma thesis attempts to improve the language-support for coping with the problem of negative emergence in dynamic Systems-of-Systems (SoS). Negative emergence is understood to be the emergence of unintended behaviour among constituent systems of a SoS in response to certain changes to the composition of constituent systems in the SoS. The architecture description language (ADL) "EventArch 2.0" approaches this problem by allowing the SoS-manager to define certain rules to manipulate the original behaviour of certain constituent systems at certain critical points of execution of the SoS to prevent unintended behaviour ("coordination rules"). This thesis approaches a solution to the following problem: to prevent the introduction of unintended behaviour through overly- or underly-restrictive coordination rules, more- or less-restrictive variants of a coordination rule would have to be applied to the SoS depending on the current composition of constituent systems in the SoS. This thesis has the goal to approach this problem by devising a mechanism to dynamically exchange a coordination rule depending on the current composition of constituent systems in the SoS. To achieve that goal, the ADL "EventArch 2.0" is extended to support the dynamic application of a coordination rule to a System-of-Systems. The dynamic application is achieved by connecting coordinators and constituent systems at runtime. As a special characteristic, each coordinator is dedicated to a specific constituent system and is responsible for achieving compliance of that system with respect to a specific coordination rule. It is shown that this architectural setup can be nicely modeled using concepts from the field of "role-based modeling". The solution does therefore employ concepts that are central to the "role-based modeling"-approach: "Role", "Base", and "Compartment". The applicability of the extended language to practical coordination-problems is shown by applying it to a constructed use case in the field of energy-efficient computing.:1 Introduction 1 1.1 Motivation and Problem Statement 1 1.2 Overview 2 2 Background 4 2.1 System of Systems 4 2.2 EventArch 2.0 8 2.2.1 Concepts 8 2.2.2 Implementation 10 2.2.3 Diagrams 15 2.3 Role-based Modeling 19 2.4 Coupling Strategies 22 3 Related Work 25 3.1 Requirements 25 3.2 Features 28 3.3 OT/J 29 3.4 Other Role-based Languages 31 3.5 Areas of Improvement 35 3.5.1 OT/J 35 3.5.2 Other Role-based Languages 40 4 Concepts of EventArch 3.0 45 4.1 Base, Role, and Compartment 45 4.2 Dynamic Composite AEM and Role-Binder 46 4.3 Inner Roles and Atomic Block 48 4.4 Diagrams 49 5 Internal Design of EventArch 3.0 55 5.1 Implementation of the Concepts 55 5.1.1 Base, Role, and Compartment 56 5.1.2 Dynamic Composite AEM and Role-Binder 58 5.1.3 Inner Roles and Atomic Block 60 5.1.4 Other Concepts 62 5.2 Further Discussion and Design Alternatives 63 6 Evaluation of EventArch 3.0 66 6.1 Advantages 66 6.2 Disadvantages 74 6.3 Reflections on the Fulfillment of the Requirements 77 6.4 Use case 81 6.5 Application to the Example Use case 83 6.5.1 Presentation of the implementation 83 6.5.2 Advantages shown by the implementation 90 7 Conclusion 93 7.1 Future Work 95 8 Appendix 99 8.1 Additional Source-Code 99 8.1.1 OT/J source-code 99 8.1.2 “State”-coordination rule 105 8.2 Internal Design of EventArch 2.0 109 8.2.1 Abstract 109 8.2.2 Detailed 116 8.3 Grammar of EventArch 3.0 . 123 8.4 EventArch 3.0 Diagrams 126 Bibliography 134Die vorliegende Diplomarbeit ist mit der Verbesserung der Sprachunterstützung zur Vermeidung negativer Emergenz in dynamischen Systems-of-Systems (SoS) befasst. Negative Emergenz wird dabei als unerwünschtes Verhalten von an einem SoS beteiligten Systemen verstanden, welches auf Grund von Änderungen in der Zusammensetzung des SoS (d.h. auf Grund des Eintritts oder Austritts von konstituierenden Systemen) aufgetreten ist. Die Architekturbeschreibungssprache "EventArch 2.0" unterstützt den SoS-manager bei der Lösung dieses Problems durch die Möglichkeit das Verhalten der beteiligten Systeme in bestimmten Ausführungsmomenten durch die Definition von Koordinationsregeln zu manipulieren und auf diesem Wege das Auftreten negativer Emergenz zu vermeiden. Die Diplomarbeit ist ein Beitrag zur Lösung des folgenden Problems: Um die Einführung von unerwünschtem Verhalten durch übermäßig- oder unzureichend restriktive Koordinationsregeln zu verhindern, müssten unterschiedliche Varianten einer Koordinationsregel, die sich im Grade ihrer Restriktivität unterscheiden, auf das SoS angewendet werden. Diese Anwendung müßte in Abhängigkeit der aktuellen Zusammensetzung des SoS aus konstituierenden Systemen erfolgen. In der vorliegenden Diplomarbeit wird eine Möglichkeit entwickelt um eine Koordinationsregel zur Laufzeit in Abhängigkeit der aktuellen Zusammensetzung des SoS aus konstituierenden Systemen auszutauschen. Sie leistet damit einen Beitrag zur Lösung des vorgenannten Problems. In der Arbeit wird die Architekturbeschreibungssprache "EventArch 2.0" um die Möglichkeit des dynamischen Austausches von Koordinationsregeln erweitert. Dabei werden Koordinationsregeln angewendet durch die gezielte Verbindung von Koordinatoren und konstituierenden Systemen. Die Besonderheit des Ansatzes besteht darin, dass jedem konstituierenden System ein persönlicher Koordinator zugeordnet wird, d.h. ein Koordinator der ausschließlich für die Anpassung des Verhaltens des jeweiligen Systems an eine bestimmte Koordinationsregel verantwortlich ist. In der Arbeit wird gezeigt, dass dieser architektonische Ansatz durch zentrale Konzepte des Modellierungsansatzes "rollenbasierte Modellierung" modelliert werden kann. In der entwickelten Spracherweiterung werden daher die Konzepte "Rolle", "Basis" und "Compartment" verwendet. Die Anwendbarkeit der erweiterten Sprache, wird durch deren Anwendung auf einen konstruierten Anwendungsfall aus dem Bereich der Energie-effizienten Berechnung gezeigt.:1 Introduction 1 1.1 Motivation and Problem Statement 1 1.2 Overview 2 2 Background 4 2.1 System of Systems 4 2.2 EventArch 2.0 8 2.2.1 Concepts 8 2.2.2 Implementation 10 2.2.3 Diagrams 15 2.3 Role-based Modeling 19 2.4 Coupling Strategies 22 3 Related Work 25 3.1 Requirements 25 3.2 Features 28 3.3 OT/J 29 3.4 Other Role-based Languages 31 3.5 Areas of Improvement 35 3.5.1 OT/J 35 3.5.2 Other Role-based Languages 40 4 Concepts of EventArch 3.0 45 4.1 Base, Role, and Compartment 45 4.2 Dynamic Composite AEM and Role-Binder 46 4.3 Inner Roles and Atomic Block 48 4.4 Diagrams 49 5 Internal Design of EventArch 3.0 55 5.1 Implementation of the Concepts 55 5.1.1 Base, Role, and Compartment 56 5.1.2 Dynamic Composite AEM and Role-Binder 58 5.1.3 Inner Roles and Atomic Block 60 5.1.4 Other Concepts 62 5.2 Further Discussion and Design Alternatives 63 6 Evaluation of EventArch 3.0 66 6.1 Advantages 66 6.2 Disadvantages 74 6.3 Reflections on the Fulfillment of the Requirements 77 6.4 Use case 81 6.5 Application to the Example Use case 83 6.5.1 Presentation of the implementation 83 6.5.2 Advantages shown by the implementation 90 7 Conclusion 93 7.1 Future Work 95 8 Appendix 99 8.1 Additional Source-Code 99 8.1.1 OT/J source-code 99 8.1.2 “State”-coordination rule 105 8.2 Internal Design of EventArch 2.0 109 8.2.1 Abstract 109 8.2.2 Detailed 116 8.3 Grammar of EventArch 3.0 . 123 8.4 EventArch 3.0 Diagrams 126 Bibliography 13

    Similar works