Skip to main content

Sustainable System Infrastructure and Big Bang Evolution: Can Aspects Keep Pace?

  • Conference paper
ECOOP 2005 - Object-Oriented Programming (ECOOP 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3586))

Included in the following conference series:

  • 1021 Accesses

Abstract

Realistically, many rapidly evolving systems eventually require extensive restructuring in order to effectively support further evolution. Not surprisingly, these overhauls reverberate throughout the system. Though several studies have shown the benefits of aspect-oriented programming (AOP) from the point of view of the modularization and evolution of crosscutting concerns, the question remains as to how well aspects fare when the code that is crosscut undergoes extensive restructuring. That is, when evolution is a big bang, can aspects keep pace? The case study presented here considers several categories of aspects – design invariants, dynamic analysis tools, and domain specific design patterns – and shows the concrete ways in which aspects had positive, negative and neutral impact during the restructuring of the memory management subsystem of a virtual machine. Compared with best efforts in a hierarchical decomposition coupled with a preprocessor, aspects fared better than the original implementation in two out of four aspects, and no worse in the remaining two aspects.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  • Baniassad, E., Murphy, G., Schwanninger, C., Kircher, M.: Managing crosscutting con-cerns during software evolution tasks: an inquisitive study. In: The Proceedings of the In-ternational Conference on Aspect-Oriented Software Development, AOSD (2002)

    Google Scholar 

  • Blackburn, S., Chung, P., McKinley, K.: Oil and Water? High Performance Garbage Collection in Java with MMTK. In: The Proceedings of the International Conference on Software Engineering, ICSE (2004)

    Google Scholar 

  • Coady, Y., Kiczales, G.: A retroactive study of aspect evolution in operating system code. In: The Proceedings of International Conference on Aspect-Oriented Software De-velopment, AOSD (2003)

    Google Scholar 

  • Colyer, A., Clement, A.: Large-scale AOSD for Middleware. In: The Proceedings of Inter-national Conference on Aspect-Oriented Software Development, AOSD (2004)

    Google Scholar 

  • Dacapo Benchmarks, http://www-ali.cs.umass.edu/DaCapo/

  • Dijkstra, E.W.: A Discipline of Programming. Prentice Hall. Englewood Cliffs (1976)

    MATH  Google Scholar 

  • Duzan, G., Loyall, J., Schantz, R.: Building Adaptive Distributed Applications with Mid-dleware and Aspects. In: the Proceedings of International Conference on Aspect-Oriented Software Development, AOSD (2004)

    Google Scholar 

  • Engel, M., Freisleben, B.: Supporting Autonomic Computing Functionality via Dynamic Operating System Kernel Aspects. In: The Proceedings of the International Conference on Aspect-Oriented Software Development, AOSD (2005)

    Google Scholar 

  • Gibbs, C., Coady, Y.: Aspect of Memory Management. Hawaiin International Confer-ence On System Sciences, HICSS (2005)

    Google Scholar 

  • Fiuczynski, M.E., Grimm, R., Coady, Y., Walker, D.: patch(1) Considered Harmful. In: The Tenth Annual Workshop on Hot Topics on Operating Systems, HotOS (2005)

    Google Scholar 

  • Goetz, B.: How does garbage collection work?, Developerworks (2003), http://www-106.ibm.com/developerworks/java/library/j-jtp10283/

  • Hannemann, J., Kiczales, G.: Design pattern implementations in Java and AspectJ. In: ACM Conference on Object-Oriented Programming, Systems, Languages and Applica-tions, OOPSLA (2002)

    Google Scholar 

  • Haskell Compiler, http://www.haskell.org/ghc/

  • IBM, AspectJ Project (2004), http://eclipse.org/aspectj/

  • IBM, Jikes Research Virtual Machine (2004), http://www-124.ibm.com/developerworks/oss/jikesrvm/

  • IBM, Jikes Research Virtual Machine User’s Guide (2004), http://www-124.ibm.com/developerworks/oss/jikesrvm/user-guide/HTML/userguide.html

  • Kersten, M., Murphy, G.: Atlas: A case study. ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, OOPSLA (1999)

    Google Scholar 

  • Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  • Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An over-view of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 327. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  • Lehman, L.L., Belady, L.A.: Program Evolution. APIC Studies in Data Processing 3 (1985)

    Google Scholar 

  • Murphy, G.C.: Lightweight Structural Summarization as an Aid to Software Evolution, Computer Science, University of Washington, PhD Thesis (1996)

    Google Scholar 

  • Murphy, G., Lai, A., Walker, R., Robillard, M.: Separating features in source code: An Exploratory Study. In: The Proceedins of the International Conference on Software Engi-neering, ICSE (2001)

    Google Scholar 

  • OVM, http://www.ovmj.org/

  • Parnas, D.L.: On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12) (1972)

    Google Scholar 

  • Parnas, D.L., Clements, P.C.: Software State-of-the-Art: Selected Papers. In: DeMarco, T., Lister, T. (eds.) A rational design process: How and why to fake it. Dorset House Publishing, New York (1990)

    Google Scholar 

  • Rashid, A., Leidenfrost, N.A.: Supporting Flexible Object Database Evolution with As-pects. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 75–94. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  • Stevens, W.P., Meyers, G.J., Constantine, L.L.: Structured Design. IBM Systems Journal 13 (1974)

    Google Scholar 

  • Sabbah, D.: Aspects - from Promise to Realitys, Keynote. In: International Conference on Aspect-Oriented Software Development, AOSD (2004)

    Google Scholar 

  • Sun, GCspy: A Generic Heap Visualisation Framework (2004). research.sun.com/projects/GCSpy

  • Tesanovic, A., Amirijoo, M., Björk, M., Hansson, J.: Empowering Configurable QoS Man-agement in Real-Time Systems. In: International Conference on Aspect-Oriented Software Development, AOSD (2005)

    Google Scholar 

  • Walker, R., Baniassad, E., Murphy, G.: An Initial Assessment of Aspect-Oriented Pro-gramming. In: The Proceedings of the International Conference on Software. Engineering, ICSE (1999)

    Google Scholar 

  • Wulf, W., Shaw, M.: Global variable considered harmful. SIGPLAN Notices, 8(2) (1973)

    Google Scholar 

  • Zhang, C., Gao, G., Jacobsen, H.A.: Towards Just-in-time Middleware Architectures. In: Proceedings of the International Conference on Aspect-Oriented Software Development, AOSD (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gibbs, C., Liu, C.R., Coady, Y. (2005). Sustainable System Infrastructure and Big Bang Evolution: Can Aspects Keep Pace?. In: Black, A.P. (eds) ECOOP 2005 - Object-Oriented Programming. ECOOP 2005. Lecture Notes in Computer Science, vol 3586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11531142_11

Download citation

  • DOI: https://doi.org/10.1007/11531142_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-27992-1

  • Online ISBN: 978-3-540-31725-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics