An Analysis of Composability and Composition Anomalies

The separation of concerns principle aims at decomposing a given design problem into concerns that are mapped to multiple independent software modules. The application of this principle eases the composition of the concerns and as such supports composability. Unfortunately, a clean separation (and composition of concerns) at the design level does not always imply the composability of the concerns at the implementation level. The composability might be reduced due to limitations of the implementation abstractions and composition mechanisms. The paper introduces the notion of composition anomaly to describe a general set of unexpected composition problems that arise when mapping design concerns to implementation concerns. To distinguish composition anomalies from other composition problems the requirements for composability at the design level is provided. The ideas are illustrated for a distributed newsgroup system.

[1]  Lobel Crnogorac,et al.  Classifying Inheritance Mechanisms in Concurrent Object Oriented Programming , 1998, ECOOP.

[2]  Lodewijk Bergmans,et al.  Composing Synchronization and Real-Time Constraints , 1995, J. Parallel Distributed Comput..

[3]  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).

[4]  Herbert A. Simon,et al.  The Sciences of the Artificial - 3rd Edition , 1981 .

[5]  Satoshi Matsuoka,et al.  Analysis of inheritance anomaly in object-oriented concurrent programming languages , 1993 .

[6]  Antonio Vallecillo,et al.  Object Interoperability , 1999, ECOOP Workshops.

[7]  Mehmet Aksit,et al.  Aspects and Crosscutting in Layered Middleware Systems , 2000 .

[8]  Bedir Tekinerdogan,et al.  Component Composability Issues in Object-Oriented Programming , 1997 .

[9]  Panos Y. Papalambros,et al.  A Hypergraph Framework for Optimal Model-Based Decomposition of Design Problems , 1997, Comput. Optim. Appl..

[10]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.

[11]  Jan Bosch,et al.  Real-Time Specification Inheritance Anomalies and Real-Time Filters , 1994, ECOOP.

[12]  Philip J. Koopman A TAXONOMY OF DECOMPOSITION STRATEGIES BASED ON STRUCTURES, BEHAVIORS, AND GOALS , 1995 .

[13]  Lodewijk Bergmans Aspects of AOP: Scalability and application to domain modelling , 1996 .

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

[15]  Ken Wakita,et al.  Synchronization Constraints With Inheritance: What Is Not Possible --- So What Is? , 1990 .

[16]  Louis Marie Johannes Bergmans,et al.  Composing Concurrent Objects , 1994 .

[17]  Bedir Tekinerdogan,et al.  Synthesis - Based Software Architecture Design , 2001 .

[18]  M. Chi,et al.  From things to processes: A theory of conceptual change for learning science concepts , 1994 .

[19]  Dimitri Konstantas,et al.  Interoperation of object-oriented applications , 1995 .

[20]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[21]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[22]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

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

[24]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[25]  Mehmet Aksit,et al.  Analyzing Multi-Dimensional Programming in AOP and Composition Filters , 1999 .