The Role of Synthesis Constraints in Role Modeling

To reuse existing specifications and increase the speed of development, modern development methods widely use design patterns and collaborations. Both, design patterns and collaborations, use the concept of role as a basic modeling concept. To specify models where one object may play several roles, a synthesis operation (the composition of two base roles in a third role) has to be specified. All role-based approaches have difficulties specifying role synthesis. As a consequence, synthesis is never specified without the description of the actual implementation of the synthesis. To specify synthesis at a higher level of abstraction, independent of implementation, requires the proper understanding of relationships between roles, when they are put together in one common context. In this paper we define the concept of synthesis constraints that shows relations between roles. We show how synthesis constraints can be used to specify the role synthesis operation. Using synthesis constraints allows a designer to make explicit his decisions about how the synthesis is done in an abstract and implementation independent way. Specifying synthesis with synthesis constraints is a powerful technique that can be used in many different domains, especially in business engineering. The use of roles allows a developer to specify separately certain concerns of a business system. This enables the discovery of new business models for a business system by means of different disassembling and assembling of roles.

[1]  Elizabeth A. Kendall,et al.  Role model designs and implementations with aspect-oriented programming , 1999, OOPSLA '99.

[2]  Alain Wegmann,et al.  A Formal Foundation of the RM-ODP Conceptual Framework , 2001 .

[3]  Trygve Reenskaug,et al.  Working with objects - the OOram software engineering method , 1995 .

[4]  Liping Zhao,et al.  A set approach to role modeling , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[5]  Yuri Gurevich,et al.  The Sequential ASM Thesis , 2001, Bull. EATCS.

[6]  Friedrich Steimann,et al.  On the representation of roles in object-oriented and conceptual modelling , 2000, Data Knowl. Eng..

[7]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[8]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[9]  Alain Wegmann,et al.  Conceptual modeling of complex systems using an RM-ODP based ontology , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[10]  Dirk Riehle Composite design patterns , 1997, OOPSLA '97.

[11]  Dirk Riehle,et al.  Role model based framework design and integration , 1998, OOPSLA '98.

[12]  Guy Genilloud,et al.  A foundation for the concept of role in object modelling , 2000, Proceedings Fourth International Enterprise Distributed Objects Computing Conference. EDOC2000.

[13]  Michel Wermelinger,et al.  A Mathematical Semantics for Architectural Connectors , 2003, Generic Programming.

[14]  Alain Wegmann,et al.  From RM-ODP to the Formal Behavior Representation , 2003, OOPSLA 2003.

[15]  Elizabeth A. Kendall,et al.  Role modeling for agent system analysis, design, and implementation , 2000, IEEE Concurr..