The concept of role modeling has been introduced in different fields and at different times in order to model context-related information, including the dynamic change of contexts. But up to now, roles have mainly been used in an isolated way for context modeling in programming languages, in database modeling or to specify access control mechanisms. Never have they been used consistently at all levels of abstraction in the software development process, i.e. modeling of concepts, languages, applications and software systems. Only then, software can be defined as consistently context-sensitive.
The central research goal of this program is to prove the feasibility of consistent role modeling and its applicability. Consistency means that roles are used systematically for context modeling on all levels of the modeling process. This includes the concept modeling (in meta-languages), the language modeling, and the modeling on the application and software system level.
There are four aims of this program that will contribute to the main goal of research in this field:
- Formalizing the universal concept of roles. The aim is to prove that it is a feasible concept for developing context-sensitive software. This means to integrate the concept in classical, object-oriented modeling implying thus its expansion.
- Researching the dynamic aspect of roles.
- Investigating the consequences of those new attributes of role-based software on the duration. New concepts for coping with dynamic processes have to be developed. Research will focus on the influence context-specific aspects of the role-concept have on the process of developing software and the lifetime of software.
- Evaluation of context-sensitive role-modelling using practical examples. This will help to illustrate the results and to present the advantages of these concepts.
Research will focus on three topic clusters as illustrated in the following figure:
TB1: Roles in Concept- and Language Modeling
The basic and very central problem of role-based development is the need to establish formal, semantic basics of the role-concept. If the role concept is embedded in existing languages, e.g. modeling languages, data definition languages, query languages and programming languages, it must be investigated which characteristics the host language must provide. Also, the question has to be answered, which advantage the role concept provides in terms of expressiveness. Furthermore, it is not yet clear which meta-predicates with similar features already exist that lead to a broadening or that are derived from roles. Metalevel M3 (meta-meta-models) and M2 (meta-models) are in the focus of this topic cluster.
- Thomas Kühn (Alumnus, Defense March 24, 2017): A Family of Role-based Languages
- Tobias Jäkel (Alumnus, Defense March 24, 2017): Role-based Data Management
- Stephan Böhme (Alumnus, Defense October 27, 2017): Context Reasoning for Role-Based Models
- İsmail İlkan Ceylan (Alumnus, Defense November 29, 2017): Ontology-Based Probabilistic Reasoning
- Steffen Huber (Alumnus, Defense November 28, 2017): Goal-Based Workflow Adaptation for Role-Based Resources in the IoT
- Philipp Chrszon: Formal Quantitative Analysis of Role-based Systems
- Adrian Nuradiansyah: Reasoning in Description Logics for Identity Management
- Alexander Senier: PrettyCat: Adaptive Guarantee-Driven Software Partitioning of Security Protocols
TB2: Roles in Software Development
Many types that appear in programs or databases should be defined as roles rather than types in terms of entities. Therefore, it is necessary to classify them in a dynamic, context-sensitive way by roles (as types). Modern software architectures as in service-oriented structures of applications excel by a higher variability and more chances for expansion. Traditional module-concepts are not capable of this to a satisfying extent. Therefore, a dynamic, context-sensitive classification by roles should not only be used for modeling applications but also for software-architecture. There, it can be used as a basis for the dynamic configuration and extension of systems. Roles are dynamic and they are referring to a certain context. Nevertheless, they are not unspecific. Therefore important features in the process of developing – like testing correctness – can still be applied. The variability and flexibility of a role is limited within a certain frame. The boundaries of this frame have to be stated very clearly in a role-definition. The planned theses will research on how the specifications will have to work. Topic cluster 2 focusses on questions of the use of the notion of roles on an object-level. This is the basis for the development of applications with roles (modeling applications, creating schemes, modeling systems).
- Mariam Zia: Collaboration Based Modeling of System of Systems (SoS)
- Johannes Bamme: Applying the Role Concept to Particle Methods in Systems Biology
- Hendrik Schön: Role-Based Adaptation of Structural Enterprise Reference Models to Application Models
- Mandy Korzetz: Documentation of Natural Human-Computer Interaction in Ubiquitous Environments
- Romina Kühn: Intuitive Device-Based Interactions for Collaboration
- Christiane Kuhn: Role-Based Adaptation of Privacy Strategies in Mobile Environments
- Christopher Werner: Resolving Inconsistency in Role Megamodels
- Elvis Koci: From Partially Structured Documents to Relations
- Juliana Hildebrandt: Context-Driven Compressed Data Representations in Databases
TB3: Roles at Runtime
Introducing roles as „first-class citizens“ in the process of modeling and developing new software means to raise questions concerning the software runtime. As roles are very volatile, different configurations will be chosen – which one is selected will depend on the moment of examination. It will also depend on which roles certain entities have. On the one hand, these configurations will have a direct impact on the availability, storage and discoverability of data. On the other hand, it will have an influence on the connection to role-specific behaviour. A role model not only describes a dynamic system of a type. Single roles can have also their own functions and data that are not connected with their real identity. Topic cluster 3 investigates the use and the impact of the term of roles and of models depending on the runtime of roles (level of entity).
- Max Leuthäuser (Alumnus, Defense August 15, 2017): A Pure Embedding of Roles
- Kai Herrmann: Database Versioning
- Martin Weißbach: Runtime Adaptation of Role-based Software Systems
- Markus Wutzler: Utilizing Roles for On-Demand Composition of Smart Service Systems
- Nguonly Taing: Run-time Variability with Roles
- Lars Schütze: Compilation and Interpretation Techniques for Role-based Programming Languages
- Johannes Mey: Context-Sensitive Computations on Hierarchical Models
- Christian Piechnick: Smart Application Grids – SMAGs
- Jan Reubold: Bayesian Nonparametric Models for Segmentation of Time-Series