Thomas Kühn

A Family of Role-Based Languages

Dokumente und Dateien

Hinweis

Bitte nutzen Sie beim Zitieren immer folgende Url:

http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-228027

Kurzfassung in Englisch

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).

weitere Metadaten

Schlagwörter
(Deutsch)
Rollenbasierte Modellierung, Sprachen, Rollen, Modellierung, Software
Schlagwörter
(Englisch)
role-based modeling language, roles, modeling, software
DDC Klassifikation004
RVK KlassifikationST 265, ST 270
Institution(en) 
HochschuleTechnische Universität Dresden
FakultätFakultät Informatik
ProfessurProfessur für Softwaretechnologie
BetreuerProf. Dr. Uwe Aßmann
Prof. Dr.-Ing. Wolfgang Lehner
GutachterProf. Dr. Colin Atkinson
DokumententypDissertation
SpracheEnglisch
Tag d. Einreichung (bei der Fakultät)03.03.2017
Tag d. Verteidigung / Kolloquiums / Prüfung24.03.2017
Veröffentlichungsdatum (online)29.08.2017
persistente URNurn:nbn:de:bsz:14-qucosa-228027
InhaltsverzeichnisI 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

Hinweis zum Urheberrecht

Diese Website ist eine Installation von Qucosa - Quality Content of Saxony!
Sächsische Landesbibliothek Staats- und Universitätsbibliothek Dresden