Skip to main content

Weaving the Fabric of the Control Loop through Aspects

  • Conference paper
Self-Organizing Architectures (SOAR 2009)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 6090))

Included in the following conference series:

Abstract

Self-adaptive systems are systems that are able to autonomously adapt to changing circumstances without human intervention. A number of frameworks exist that can ease the design and development of such systems by providing a generic architecture that can be reused across multiple application domains. In this paper, we study the applicability of aspect-oriented programming (AOP) to see where and how AOP can provide an interesting alternative for implementing parts of the architecture of self-adaptive frameworks. In particular, we relate two existing self-adaptive frameworks to the body of work on aspect-oriented programming techniques for self-adaptation. We present an aspect-oriented architecture for self-adaptive systems to show how AOP can be used for framework customization, event brokering and event aggregation. The potential of AOP for efficiency is shown by evaluating the architecture in a case study on decentralized traffic monitoring. Finally, we explore the potential and challenges of AOP for building scalable and decentralized self-adaptive systems.

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. Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 27–47. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  2. abc, The AspectBench Compiler for Aspect/J, http://aspectbench.org

  3. Allan, C., et al.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005 (2005)

    Google Scholar 

  4. Charfi, A., Dinkelaker, T., Mezini, M.: A plug-in architecture for self-adaptive web service compositions. In: IEEE International Conference on Web Services (ICWS 2009), pp. 35–42. IEEE, Los Alamitos (2009)

    Chapter  Google Scholar 

  5. Cheng, S.-W.: Rainbow: Cost-Effective Software Architecture-Based Self-Adaptation. PhD thesis, School of Computer Science, Carnegie Mellon University, CMU-ISR-08-113 (2008); Chapter: Limitations and Issues

    Google Scholar 

  6. David, P.-C., Ledoux, T.: An aspect-oriented approach for developing self-adaptive fractal components. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 82–97. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Douence, R., Fritz, T., Loriant, N., Menaud, J.-M., Ségura-Devillechaise, M., Südholt, M.: An expressive aspect language for system applications with arachne. In: 4th International Conference on Aspect-Oriented Software Development (AOSD 2005), pp. 27–38. ACM, New York (2005)

    Chapter  Google Scholar 

  8. Douence, R., Motelet, O., Südholt, M.: A formal definition of crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) REFLECTION 2001. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. Duzan, G., Loyall, J.P., Schantz, R.E., Shapiro, R., Zinky, J.A.: Building adaptive distributed applications with middleware and aspects. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), pp. 66–73. ACM, New York (2004)

    Chapter  Google Scholar 

  10. Engel, M., Freisleben, B.: Supporting autonomic computing functionality via dynamic operating system kernel aspects. In: 4th International Conference on Aspect-Oriented Software Development (AOSD 2005), pp. 51–62. ACM, New York (2005)

    Chapter  Google Scholar 

  11. Fleissner, S., Baniassad, E.L.A.: Epi-aspects: aspect-oriented conscientious software. In: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2007), ONWARD! session, pp. 659–674. ACM, New York (2007)

    Google Scholar 

  12. Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B.R., Steenkiste, P.: Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37(10), 46–54 (2004)

    Google Scholar 

  13. Greenwood, P., Blair, L.: A framework for policy driven auto-adaptive systems using dynamic framed aspects. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development II. LNCS, vol. 4242, pp. 30–65. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  14. Hilsdale, E., Hugunin, J.: Advice weaving in aspectj. In: 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), pp. 26–35. ACM, New York (2004)

    Chapter  Google Scholar 

  15. Hiltunen, M.A., Taïani, F., Schlichting, R.D.: Reflections on aspects and configurable protocols. In: 5th International Conference on Aspect-Oriented Software Development (AOSD 2006), pp. 87–98. ACM, New York (2006)

    Chapter  Google Scholar 

  16. Huang, T., Wu, G.-Q., Wei, J.: Runtime monitoring composite web services through stateful aspect extension. Journal of Computer Science and Technology 24(3) (2009)

    Google Scholar 

  17. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., 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 

  18. Lagaisse, B., Joosen, W.: True and transparent distributed composition of aspect-components. In: van Steen, M., Henning, M. (eds.) Middleware 2006. LNCS, vol. 4290, pp. 42–61. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Malek, S., Mikic-Rakic, M., Medvidovic, N.: A style-aware architectural middleware for resource-constrained, distributed systems. IEEE Transactions on Software Engineering 31(3), 256–272 (2005)

    Article  Google Scholar 

  20. Manoel, E., Nielsen, M.J., Salahshour, A., Sampath, S., Sudarshanan, S.: Problem Determination Using Self-Managing Autonomic Technology. IBM redbooks (June 2005)

    Google Scholar 

  21. Mezini, M., Ostermann, K.: Integrating independent components with on-demand remodularization. In: OOPSLA, pp. 52–67 (2002)

    Google Scholar 

  22. Mezini, M., Ostermann, K.: Conquering aspects with caesar. In: AOSD, pp. 90–99 (2003)

    Google Scholar 

  23. Navarro, L.D.B., Südholt, M., Vanderperren, W., De Fraine, B., Suvée, D.: Explicitly distributed AOP using AWED. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development, p. 62. ACM, New York (2006)

    Google Scholar 

  24. Nishizawa, M., Chiba, S., Tatsubori, M.: Remote pointcut: a language construct for distributed AOP. In: Proceedings of the 3rd International Conference on Aspect-Oriented Software Development, p. 15. ACM, New York (2004)

    Google Scholar 

  25. Pawlak, R., Duchien, L., Florin, G., Seinturier, L.: JAC: A flexible solution for aspect-oriented programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 1–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  26. Pinto, M., Fuentes, L., Troya, J.M.: A dynamic component and aspect-oriented platform. The Computer Journal 48(4), 401 (2005)

    Article  Google Scholar 

  27. Rajan, H., Leavens, G.T.: Ptolemy: A language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  28. Rouvoy, R., Eliassen, F., Beauvois, M.: Dynamic planning and weaving of dependability concerns for self-adaptive ubiquitous services. In: Proceedings of the 2009 ACM Symposium on Applied Computing, SAC 2009, pp. 1021–1028. ACM, New York (2009)

    Google Scholar 

  29. Sant’anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.V.: On the reuse and maintenance of aspect-oriented software: An assessment framework. In: The XVII Brazilian Symposium on Software Engineering (2003)

    Google Scholar 

  30. Seiter, L., Palmer, D.W., Kirschenbaum, M.: An aspect-oriented approach for modeling self-organizing emergent structures. In: International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS 2006), pp. 59–66. ACM, New York (2006)

    Chapter  Google Scholar 

  31. Serban, C., Tyszberowicz, S., Feldman, Y.A., Minsky, N.: Developing law-governed systems using aspects. Journal of Object Technology 7(9), 25–46 (2008)

    Google Scholar 

  32. Shomrat, M., Yehudai, A.: Obvious or not?: regulating architectural decisions using aspect-oriented programming. In: AOSD, pp. 3–9 (2002)

    Google Scholar 

  33. Weyns, D., Haesevoets, R., Helleboogh, A., Holvoet, T., Joosen, W.: The MACODO Middleware for Context-Driven Dynamic Agent Organzations. ACM Transaction on Autonomous and Adaptive Systems (2010)

    Google Scholar 

  34. Yang, Z., Cheng, B.H.C., Kurt Stirewalt, R.E., Sowell, J., Sadjadi, S.M., McKinley, P.K.: An aspect-oriented approach to dynamic adaptation. In: Proceedings of the First Workshop on Self-Healing Systems (WOSS 2002), pp. 85–92. ACM, New York (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Haesevoets, R., Truyen, E., Holvoet, T., Joosen, W. (2010). Weaving the Fabric of the Control Loop through Aspects. In: Weyns, D., Malek, S., de Lemos, R., Andersson, J. (eds) Self-Organizing Architectures. SOAR 2009. Lecture Notes in Computer Science, vol 6090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14412-7_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14412-7_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14411-0

  • Online ISBN: 978-3-642-14412-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics