a(MDÆ)2: A Model Driven Approach to Multi-Dimensional Separation of Concerns with OCL

Abstract A typical activity in the object-oriented software engineering process involves the construction of a class structure in terms of which the system behaviour is to be specified. The behaviour, however, commonly consists of multiple tasks, each of which usually needs only part of the information available in that class structure. Additionally, a different representation of the required information may be appropriate. Therefore, it would be useful to be able to have multiple views on the global class structure, each being suitable for the specification of the behaviour related to a certain task. This paper introduces a(MDAE) 2 , a technique to realise such a strategy. It incorporates OCL as a powerful query language and advocates a model driven development process which relieves the developer from the burden of manually writing a considerable amount of tedious and error-prone code.

[1]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[2]  Indrakshi Ray,et al.  Supporting Multi-Dimensional Separation of Design Concerns , 2003 .

[3]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[4]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[5]  Alexis Muller,et al.  A Framework for Supporting Views in Component Oriented Information Systems , 2003, OOIS.

[6]  Gregor Kiczales,et al.  Aspect-Oriented Programming The Fun Has Just Begun , 2002 .

[7]  Roger King,et al.  Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data, Denver, Colorado, USA, May 29-31, 1991 , 1991, SIGMOD 1991.

[8]  Craig Chambers,et al.  Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications , 1998, OOPSLA 1998.

[9]  Maja D'Hondt The Tyranny of the Dominant Model Decomposition , 2002 .

[10]  John Vlissides,et al.  Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications , 2001, OOPSLA 2001.

[11]  Elke A. Rundensteiner Multiview: A Methodology for Supporting Multiple Views in Object-Oriented Databases , 1992, VLDB.

[12]  Markus Tresch,et al.  Updatable Views in Object-Oriented Databases , 1991, DOOD.

[13]  Stephan Herrmann,et al.  Object Teams: Improving Modularity for Crosscutting Collaborations , 2002, NetObjectDays.

[14]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[16]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

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

[18]  P. Johnson-Laird Mental models , 1989 .

[19]  T. Tamai,et al.  An adaptive object model with dynamic role binding , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[20]  Octavian Patrascoiu,et al.  OCL 2.0 - Implementing the Standard for Multiple Metamodels , 2004, Electron. Notes Theor. Comput. Sci..

[21]  H. Ossher,et al.  Concern modeling in the concern manipulation environment , 2005, MACS@ICSE.

[22]  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.

[23]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[24]  Mira Mezini,et al.  Integrating independent components with on-demand remodularization , 2002, OOPSLA '02.

[25]  Stanley M. Sutton,et al.  Multi-Dimensional Separation of Concerns , 1999 .

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

[27]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[28]  Siobhán Clarke,et al.  Subject-oriented design: towards improved alignment of requirements, design, and code , 1999, OOPSLA '99.

[29]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[30]  Joel E. Richardson,et al.  Aspects: extending objects to support multiple, independent roles , 1991, SIGMOD '91.

[31]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.