Skip to main content

Unification of Static and Dynamic AOP for Evolution in Embedded Software Systems

  • Conference paper
Software Composition (SC 2007)

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

Included in the following conference series:

  • 288 Accesses

Abstract

This paper discusses how evolution in software systems can be supported by a unified application of both static as well as dynamic aspect-oriented technology. The support for evolution is required statically, where the applications could be taken offline and adapted, and dynamically where going offline is not an available option. While this is straightforward in the static case by taking the system offline and statically weaving the aspects, runtime evolution requires an additional dynamic aspect weaving infrastructure.

Our current implementation of the family-based dynamic aspect weaving infrastructure supports most of the features known from the static aspect weaving domain, offers a tailored dynamic aspect weaving support, and is able to target a wide range of applications including embedded systems with very small memory footprint. The availability of a single language both for static and dynamic aspects means that the decision whether an aspect is static or dynamic is postponed to the later stages of the deployment of aspects into the sytem, and is decided according to the requirements and available resources. As a case study, we will present our experiences with the static and runtime evolution of the embedded operating system eCos.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Beuche, D.: Variant management with pure:variants. Technical report, pure-systems GmbH (2003), http://www.pure-systems.com/

  2. Czarnecki, K., Eisenecker, U.W.: Generative Programming. Methods, Tools and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  3. Popovici, A., et al.: Just in Time Aspects: efficient dynamic weaving for java. In: AOSD 2003, pp. 100–109. ACM Press, New York (2003)

    Chapter  Google Scholar 

  4. Zhang, C., et al.: TinyC: Towards building a dynamic weaving aspect language for C. In: AOSD-FOAL 2003, Boston, USA (March 2003)

    Google Scholar 

  5. Bockisch, C., et al.: Virtual machine support for dynamic join points. In: AOSD 2004, Lancaster, UK, pp. 83–92. ACM Press, New York (2004)

    Chapter  Google Scholar 

  6. Lohmann, D., et al.: A quantitative analysis of aspects in the eCos kernel. In: EuroSys 2006, pp. 191–204. ACM Press, New York (2006)

    Chapter  Google Scholar 

  7. Schmidt, D.C., et al.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (2000)

    Google Scholar 

  8. Kon, F., et al.: Monitoring, Security, and Dynamic Configuration with the DynamicTAO Reflective ORB. In: Middleware 2000. IFIP/ACM Distributed Systems Platforms and Open Distributed Processing (April 2000)

    Google Scholar 

  9. Lehman, M.M., et al.: Towards a theory of software evolution - and its practical impact. In: ISPSE 2000, pp. 2–11 (November 2000)

    Google Scholar 

  10. Engel, M., et al.: Supporting Autonomic Computing Functionality via Dynamic Operating System Kernel Aspects. In: AOSD 2005, pp. 51–62 (March 2005)

    Google Scholar 

  11. Loughran, N., et al.: Supporting Product Line Evolution With Framed Aspects. In: 3rd AOSD (AOSD-ACP4IS 2004) (March 2004)

    Google Scholar 

  12. Spinczyk, O., et al.: AspectC++: An aspect-oriented extension to C++. In: Field, T., Harrison, P.G., Bradley, J., Harder, U. (eds.) TOOLS 2002. LNCS, vol. 2324, pp. 53–60. Springer, Heidelberg (2002)

    Google Scholar 

  13. Greenwood, P., et al.: Dynamic framed aspects for dynamic software evolution. In: ECOOP-RAM-SE 2004 (June 2004)

    Google Scholar 

  14. Douence, R., et al.: An expressive aspect language for system applications with Arachne. In: AOSD 2005, pp. 27–38 (March 2005)

    Google Scholar 

  15. Pawlak, R., et al.: JAC: A flexible framework for AOP in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Metalevel Architectures and Separation of Crosscutting Concerns. LNCS, vol. 2192, pp. 1–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  16. Almajali, S., et al.: Dynamic Aspect Oriented C++ for Upgrading without Restarting. In: AITA 2004 (July 2004)

    Google Scholar 

  17. Apel, S., et al.: Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution. In: ECOOP-RAM-SE 2005, pp. 3–16 (July 2005)

    Google Scholar 

  18. Aussmann, S., et al.: Axon - Dynamic AOP through Runtime Inspection and Monitoring. In: ECOOP-ASARTI 2003, Darmstadt, Germany (July 2003)

    Google Scholar 

  19. Ishio, T., et al.: Program Slicing Tool for Effective Software Evolution Using Aspect-Oriented Technique. In: PSE 2003, pp. 3–12 (November 2003)

    Google Scholar 

  20. Ledoux, T., et al.: OpenCorba: A reflective open broker. In: Cointe, P. (ed.) Reflection 1999. LNCS, vol. 1616, pp. 197–214. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  21. Cazzola, W., et al.: AOP for software evolution: a design oriented approach. In: Preneel, B., Tavares, S. (eds.) SAC 2005. LNCS, vol. 3897, pp. 1346–1350. Springer, Heidelberg (2006)

    Google Scholar 

  22. Gilani, W., et al.: Dynamic aspect weaver family for family-based adaptable systems. In: NODE 2005, pp. 94–109 (September 2005)

    Google Scholar 

  23. Schröder-Preikschat, W., et al.: Static and dynamic weaving in system software with AspectC++. In: HICSS 2006 (2006)

    Google Scholar 

  24. Sato, Y., et al.: A selective, just-in-time aspect weaver. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 189–208. Springer, Heidelberg (2003)

    Google Scholar 

  25. Gomaa, H.: Architecture-centric evolution in software product lines. In: ECOOP-ACE 2005 (July 2005)

    Google Scholar 

  26. Verhoef, C.: Towards automated modification of legacy assets. Annals of Software Engineering 9(1-4), 315–336 (2000)

    Article  Google Scholar 

  27. Wilner, D.: Vx-files: What really happened on mars? In: RTSS 1997. Keynote at the 18th IEEE Real-Time Systems Symposium (December 1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Markus Lumpe Wim Vanderperren

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gilani, W., Scheler, F., Lohman, D., Spinczyk, O., Schröder-Preikschat, W. (2007). Unification of Static and Dynamic AOP for Evolution in Embedded Software Systems. In: Lumpe, M., Vanderperren, W. (eds) Software Composition. SC 2007. Lecture Notes in Computer Science, vol 4829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77351-1_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-77351-1_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-77350-4

  • Online ISBN: 978-3-540-77351-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics