Role-based modeling has been proposed in 1977 by Charles W. Bachman, as a means to model complex and dynamic domains, because roles are able to capture both context-dependent and collaborative behavior of objects. Consequently, they were introduced in various fields of research ranging from data modeling via conceptual modeling through to programming languages. More importantly, because current software systems are characterized by increased complexity and context-dependence, there is a strong demand for new concepts beyond object-oriented design. Although mainstream modeling languages, i.e., Entity-Relationship Model, Unified Modeling Language, are good at capturing a system's structure, they lack ways to model the system's behavior, as it dynamically emerges through collaborating objects. In turn, roles are a natural concept capturing the behavior of participants in a collaboration. Moreover, roles permit the specification of interactions independent from the interacting objects. Similarly, more recent approaches use roles to capture context-dependent properties of objects. The notion of roles can help to tame the increased complexity and context-dependence. Despite all that, these years of research had almost no influence on current software development practice.
To make things worse, until now there is no common understanding of roles in the research community and no approach fully incorporates both the context-dependent and the relational nature of roles. In this thesis, I will devise a formal model for a family of role-based modeling languages to capture the various notions of roles. Together with a software product line of Role Modeling Editors, this, in turn, enables the generation of a role-based language family for Role-based Software Infrastructures (RoSI).:I Review of Contemporary Role-based Languages
1 Introduction
1.1 Background
1.2 Motivation
1.3 Problem Definition
1.4 Outline
2 Nature of Roles
2.1 Running Example
2.2 Behavioral Nature
2.3 Relational Nature
2.4 Context-Dependent Nature
2.5 Constraints in Role-Based Languages
2.6 Classification of Roles
3 Systematic Literature Review
3.1 Method
3.2 Results
3.3 Discussion
4 Contemporary Role-Based Modeling Languages
4.1 Behavioral and Relational Modeling Languages
4.1.1 Lodwick
4.1.2 The Generic Role Model
4.1.3 Role-Based Metamodeling Language (RBML)
4.1.4 Role-Based Pattern Specification
4.1.5 Object-Role Modeling (ORM) 2
4.1.6 OntoUML
4.2 Context-Dependent Modeling Languages
4.2.1 Metamodel for Roles
4.2.2 E-CARGO Model
4.2.3 Data Context Interaction (DCI)
4.3 Combined Modeling Languages
4.3.1 Taming Agents and Objects (TAO)
4.3.2 Information Networking Model (INM)
4.3.3 Helena Approach
5 Contemporary Role-based Programming Languages
5.1 Behavioral Programming Languages
5.1.1 Chameleon
5.1.2 Java with Roles (JAWIRO)
5.1.3 Rava
5.1.4 JavaStage
5.2 Relational Programming Languages
5.2.1 Rumer
5.2.2 First Class Relationships
5.2.3 Relations
5.3 Context-Dependent Programming Languages
5.3.1 EpsilonJ and NextEJ
5.3.2 Role/Interaction/Communicative Action (RICA)
5.3.3 ObjectTeams/Java
5.3.4 PowerJava
5.3.5 Scala Roles
6 Comparison of Role-based Languages
6.1 Comparison of Role-Based Modeling Languages
6.2 Comparison of Role-Based Programming Languages
6.3 Results and Findings
II Family of Role-Based Modeling Languages
7 Foundations of Role-Based Modeling Languages
7.1 Ontological Foundation
7.1.1 Metaproperties
7.1.2 Classifying Modeling Concepts
7.2 Graphical Notation
7.2.1 Model Level Notation
7.2.2 Graphical Modeling Constraints
7.2.3 Instance Level Notation
7.3 Formalization of Roles
7.3.1 Model Level
7.3.2 Instance Level
7.3.3 Constraint Level
7.4 Reintroducing Inheritance
7.4.1 Extending the Banking Application
7.4.2 Model Level Extensions
7.4.3 Instance Level Extensions
7.4.4 Constraint Level Extensions
7.5 Reference Implementation
7.5.1 Translation of Logical Formulae
7.5.2 Structure of the Reference Implementation
7.5.3 Specifying and Verifying Role Models
7.6 Full-Fledged Role Modeling Editor
7.6.1 Software Architecture
7.6.2 Illustrative Example
7.6.3 Additional Tool Support
8 Family of Role-Based Modeling Languages
8.1 Family of Metamodels for Role-Based Modeling Languages
8.1.1 Feature Model for Role-Based Languages
8.1.2 Feature Minimal Metamodel
8.1.3 Feature Complete Metamodel
8.1.4 Mapping Features to Variation Points
8.1.5 Implementation of the Metamodel Generator
8.2 First Family of Role Modeling Editors
8.2.1 Dynamic Feature Configuration
8.2.2 Architecture of the Dynamic Software Product Line
8.2.3 Applicability of the Language Family Within RoSI
9 Conclusion
9.1 Summary
9.2 Contributions
9.3 Comparison with Contemporary Role-Based Modeling Languages
9.4 Future Research
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:30484 |
Date | 24 March 2017 |
Creators | Kühn, Thomas |
Contributors | Aßmann, Uwe, Lehner, Wolfgang, Atkinson, Colin, Technische Universität Dresden |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | doc-type:doctoralThesis, info:eu-repo/semantics/doctoralThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0118 seconds