Role-based modeling and programming will become more and more important to realize big, complex, and adaptive software systems [Zhu and Alkins, 2006]. Therefore, the Object-Oriented Programming (OOP) paradigm is extended with roles, where objects can begin to play roles and drop roles dynamically at runtime. Playing a role is changing the object’s type which can add or change behavior. Roles are a dynamic view of the state and behavior of objects at runtime at a point of time highlighting their relations to other objects.
Self-adaptive systems (SAS) are naturally context-aware systems. Thus, adaption is always seen in a context e.g., because a sensor value passes a specified limit, or because the reason could be derived from the knowledge about the past and presence. However, there is currently no common concept describing the situation (e.g., the context or other conditions that lead to a specific adaption) in which objects begin to play and stop playing roles. Current role programming languages therefore suffer from the problem of tangling of different aspects i.e., the context logic, the role adaption logic, and the business logic. This leads to less understandable and unmaintainable code [Antinyan et al., 2014].
Thomas Kühn has drafted in his major thesis [Kühn, 2011] a behavioral model to describe role binding with storyboards. This allows to model concisely role reconfigurations, but the concept lacks the ability to specify context-dependent behavior which is crucial for self-adaptive systems, and is built on top of an outdated understanding of the role concept which lacks compartments.
The concept of storyboards will be extended with the ability to address context-dependent conditions. Compartments will be added in order to adapt the current wider understanding of the concept of roles. This will result in a concept for context-aware storyboards with roles which provide a separation of concerns approach w.r.t. the above named concerns. The concept will be implemented as automaton and will be evaluated on a use case. The use case is a robotic co-working scenario based on the idea of [Haddadin et al., 2009].:1. Introduction
1.1. Motivation
1.2. Outline
2. Background and Concepts
2.1. Role-Based Design
2.1.1. Roles and Role Models
2.1.2. Role Binding
2.1.3. Role Runtime Systems
2.2. Modeling Concepts for a Role-Playing Automaton
2.2.1. Models and Meta-models
2.2.2. Behavioral Diagrams and Automata
2.2.3. Storyboards
2.3. Relevant Software Architectures
2.3.1. Context-Aware Computing
2.3.2. Self-Adaptive Systems
2.3.3. Event-Based Systems
2.4. Summary
3. Requirements Analysis
3.1. Problem Analysis
3.2. Goals and Requirements
3.3. Technology Analysis and Selection
3.3.1. Pattern Matching
3.3.2. Model Execution
3.4. Summary
4. Concept for a Role-Playing Automaton for Self-Adaptive Systems
4.1. Context-Aware Storyboards with Roles
4.2. Syntax and Semantics
4.2.1. Overview
4.2.2. Story Pattern
4.2.3. Transitions, Events, and Guards
4.2.4. Control Nodes
4.2.5. Variable Binding
4.3. Meta-Model
4.4. Differences to Related Concepts
4.4.1. Relation to UML Activity Diagrams
4.4.2. Differences to Story Diagrams
4.4.3. Differences to Storyboards with Roles
4.5. Summary
5. Implementation
5.1. Architecture
5.2. Implementation
5.2.1. Grammar and Meta-model
5.2.2. Model Transformation
5.2.3. Graph Transformation
5.2.4. The Role Model
5.2.5. Context and Events
5.2.6. Model Execution and Validation
5.3. Summary
6. Related Work
6.1. Context-Aware Middleware for URC System
6.2. Context Petri Nets
6.3. Agent-Based and Context-Oriented Approach for Web Services Composition
6.4. Model Driven Design of Service-Based Context-Aware Applications
6.5. Summary
7. Evaluation
7.1. Use Case Robotic Co-Worker
7.2.Results
7.3.Summary
8. Conclusion and FutureWork
8.1.Conclusion
8.2.FutureWork
A. Appendices
A.1. Grammar for Storyboards with Roles
A.2. Exemplary of a StoryDiagram
A.3. Meta-Model of Context-Aware Storyboards With Roles
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:33757 |
Date | 16 April 2019 |
Creators | Schütze, Lars |
Contributors | Götz, Sebastian, Aßmann, Uwe, Technische Universität Dresden |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | info:eu-repo/semantics/acceptedVersion, doc-type:masterThesis, info:eu-repo/semantics/masterThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds