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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
abc, The AspectBench Compiler for Aspect/J, http://aspectbench.org
Allan, C., et al.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005 (2005)
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Manoel, E., Nielsen, M.J., Salahshour, A., Sampath, S., Sudarshanan, S.: Problem Determination Using Self-Managing Autonomic Technology. IBM redbooks (June 2005)
Mezini, M., Ostermann, K.: Integrating independent components with on-demand remodularization. In: OOPSLA, pp. 52–67 (2002)
Mezini, M., Ostermann, K.: Conquering aspects with caesar. In: AOSD, pp. 90–99 (2003)
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)
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)
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)
Pinto, M., Fuentes, L., Troya, J.M.: A dynamic component and aspect-oriented platform. The Computer Journal 48(4), 401 (2005)
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)
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)
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)
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)
Serban, C., Tyszberowicz, S., Feldman, Y.A., Minsky, N.: Developing law-governed systems using aspects. Journal of Object Technology 7(9), 25–46 (2008)
Shomrat, M., Yehudai, A.: Obvious or not?: regulating architectural decisions using aspect-oriented programming. In: AOSD, pp. 3–9 (2002)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)