Aspect Composition Using Composition Filters

Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 648)


This chapter first discusses a number of software reuse and extension problems in current object-oriented languages. For this purpose, a change case for a simplified mail system is presented. Each evolution step in the change case consists of the addition or refinement of certain aspects to existing classes. These examples illustrate that both inheritance and aggregation mechanisms cannot adequately express certain aspects of evolving software. This deficiency manifests itself in the number of superfluous (method) definitions that are required to realize the change case. As a solution to these problems, the composition filters model is introduced. We evaluate the effectiveness of various language mechanisms in coping with evolving software as in the presented change case.

Key words

composition aspects multiple views view partitioning view extension view refinement history sensitiveness synchronization composition filters 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Akşit, L. Bergmans & S. Vural, An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach, ECOOP ′92 Conference Proceedings, LNCS 615, Springer-Verlag, 1992, pp. 372–395.Google Scholar
  2. 2.
    M. Akşit, K. Wakita, J. Bosch, L. Bergmans and A. Yonezawa, Abstracting Object-Interactions Using Composition-Filters, In: Object-based distributed processing, R. Guerraoui, O. Nierstrasz & M. Riveill (eds), LNCS, Springer-Verlag, 1993, pp 152–184.Google Scholar
  3. 3.
    M. Akşit, J. Bosch, W. van der Sterren, L. Bergmans, Real-Time Specification Inheritance Anomalies and Real-Time Filters, ECOOP′94 Conference Proceedings, LNCS 821, Springer-Verlag, 1994, pp. 386–407.Google Scholar
  4. 4.
    L. Bergmans. Composing Concurrent Objects, Ph.D. thesis, University of Twente, The Netherlands, 1994Google Scholar
  5. 5.
    L. Bergmans and M. M. Akşit, Composing Crosscutting Concerns using Composition Filters, Communications of the ACM, Vol. 44, No. 10, (to appear) October 2001Google Scholar
  6. 6.
    S. de Bruijn, Composable Objects with Multiple Views and Layering, MSc. thesis, Dept. of Computer Science, University of Twente, March 1998Google Scholar
  7. 7.
    E.W. Dijkstra. A Discipline of Programming. Prentice Hall, Englewood Cliffs, NJ, 1976.zbMATHGoogle Scholar
  8. 8.
    J. Ferber, Computational Reflection in Class-Based Object-Oriented Languages, OOPSLA ′89, ACM SIGPLAN Notices, Vol. 24, No. 10, October 1989, pp. 317–326CrossRefGoogle Scholar
  9. 9.
    M. Glandrup, Extending C++ using the concepts of Composition Filters, MSc. thesis, Dept. of Computer Science, University of Twente, November 1995Google Scholar
  10. 10.
    G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, J. Irwin, Aspect-Oriented Programming. In proceedings of ECOOP ′97, Springer-Verlag LNCS 1241, June 1997.Google Scholar
  11. 11.
    P. Koopmans, On the design and realization of the Sina compiler, MSc. thesis, Dept. of Computer Science, University of Twente, August 1995Google Scholar
  12. 12.
    S. Matsuoka, K. Wakita & A. Yonezawa, Synchronization Constraints with Inheritance: What is Not Possible- So What is?, Tokyo University, Internal Report, 1990Google Scholar
  13. 13.
    S. Matsuoka & A. Yonezawa, Inheritance Anomaly in Object-Oriented Concurrent Programming Languages, in Research Directions in Concurrent Object-Oriented Programming, (eds.) Agha, Wegner & Yonezawa, MIT Press, April 1993, pp. 107–150Google Scholar
  14. 14.
    C. Wichman, Compose J: The Development of a Preprocessor to Facilitate Composition Filters in the Java Language, MSc. thesis, Dept. of Computer Science, University of Twente, December 1999.Google Scholar

Copyright information

© Springer Science+Business Media New York 2002

Authors and Affiliations

  1. 1.TRESE group, Department of Computer ScienceUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations