Abstract
This paper describes and evaluates a framework that allows adaptive behaviour to be applied to systems by using a combination of dynamic Aspect-Oriented Programming (AOP), parameterisation and policies. Our approach allows the operator to create policies to define adaptive behaviour based on Event-Condition-Action rules. The combination of dynamic AOP with parameterisation aids reuse and allows aspects to be generated to suit the current system conditions; these aspects can then be woven at run time to adapt the application behaviour. This approach is evaluated in two ways; firstly performance measurements are presented to show that such behaviour does not add a substantial overhead to the target system. Secondly, Aspect-Oriented software metrics are applied to the adaptations applied to illustrate their reusability and flexibility.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Longtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Gupta, D.: A Formal Framework for On-Line Software Version Change. IEEE Transaction on Software Engineering 22(2), 120–131 (1996)
Duzan, G., Loyall, J., Schantz, R., Shapiro, R., Zinky, J.: Building Adaptive Distributed Applications with Middleware and Aspects. In: 3rd International Conference on Aspect-Oriented Software Development, pp. 66–73. ACM Press, Lancaster (2004)
Falcarin, P., Alonso, G.: Software Architecture Evolution through Dynamic AOP. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 57–73. Springer, Heidelberg (2004)
Greenwood, P., Blair, L.: Policies for an AOP Based Auto-Adaptive Framework. In: NODe Conference in conjunction with Net.ObjectDays, Erfurt, Germany. Lecture Notes in Informatics (LNI), pp. 76–93 (2005)
Hirschfeld, R., Kawamura, K.: Dynamic Service Adaptation. In: ICDCSW, vol. 2, pp. 290–297 (2004)
Popovici, A., Gross, T., Alonso, G.: A Proactive Middleware Platform for Mobile Computing. In: ACM/IFIP/USENIX International Middleware Conference, Rio de Janeiro, Brazil, pp. 455–473. ACM, New York (2003b)
Warren, I.: A Model for Dynamic Configuration which Preserves Application Integrity. In: Computing 2000. Lancaster University, Lancaster (2000)
Popovici, A., Gross, T., Alonso, G.: Dynamic Weaving for Aspect-Oriented Programming. In: 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, pp. 141–147. ACM, New York (2002)
Lupu, E.C., Sloman, M.: Conflicts in Policy Based Distributed Systems Management. IEEE Transaction on Software Engineering 25(6), 852–869 (1999)
Basset, P.: Framing Software Reuse - Lessons from Real World. Yourdon Press/Prentice Hall (1997)
Demers, F.-N., Malenfant, J.: Reflection in logic, functional and object-oriented programming: a short comparative study. In: Proceedings of the IJCAI 1995 Workshop on Reflection and Metalevel Architectures and their Applications in AI, pp. 29–38 (1995)
Hillman, J., Warren, I.: An Open Framework for Dynamic Adaptation. In: 6th International Conference on Software Engineering (ICSE 2004), Edinburgh, Scotland, pp. 594–603. IEEE Computer Society, Los Alamitos (2004)
Moreira, R.S., Blair, G.S., Carra, E.: Supporting Adaptable Distributed Systems with FORMAware. In: 4th International Workshop on Distributed Auto-adaptive Reconfigurable Systems (DARES 2004) - ICDCS 2004, Tokyo, Japan, pp. 320–325 (2004)
Duran-Limon, H., Blair, G.S., Coulson, G.: Adaptive Resource Management in Middleware: A Survey. IEEE Distributed Systems Online 5(7), 1 (2004)
Falacarin, P., Alonso, G.: Software Architecture Evolution through Dynamic AOP. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 57–73. Springer, Heidelberg (2004)
Blair, G., Coulson, G., Blair, L., Duran-Limon, H., Grace, P., Moreira, R., Parlavantzas, N.: Reflection, Self-Awareness and Self-Healing in OpenORB. In: Proceedings of the first workshop on Self-healing systems, Charleston, South Carolina, pp. 9–14. ACM, New York (2002)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)
David, P., Ledoux, T.: Towards a Framework for Self-adaptive Component-Based Applications. In: Stefani, J.-B., Demeure, I., Hagimont, D. (eds.) DAIS 2003. LNCS, vol. 2893, pp. 1–14. Springer, Heidelberg (2003)
Yang, Z.e.a.: An Aspect-Oriented Approach to Dynamic Adaptation. In: Proceedings of the first workshop on Self-healing systems, Charleston, South Carolina, pp. 85–92. ACM, New York (2002)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Keeney, J., Cahill, V.: Chisel: A Policy-Driven, Context-Aware, Dynamic Adaptation Framework. In: Workshop on Policies for Distributed Systems and Networks, pp. 3–14. IEEE Computer Society, Los Alamitos (2003)
Diaz, O., Jaime, A.: EXACT: An Extensible Approach to Active Object-Oriented Databases. VLDB 6(4), 282–295 (1997)
Filman, R., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
Douence, R., Muller, G., Sudholt, M.: A Framework for the Detection and Resolution of Aspect Interactions. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 173–188. Springer, Heidelberg (2002)
Van Gurp, J., Bosch, J.: Design Erosion: Problems and Causes. Journal of Systems and Software 61(2), 105–119 (2002)
Loughran, N., Rashid, A.: Framed Aspects: Supporting Variability and Configurability for AOP. In: Bosch, J., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 127–140. Springer, Heidelberg (2004)
XVCL. XVCL Homepage (Web Site, 2005) (cited 2005), Available from: http://fxvcl.sourceforge.net
Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: 3rd International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, pp. 26–35 (2004)
Vasseur, A.: Java Dynamic AOP and Runtime Weaving - How Does AspectWerkz Address It? In: Dynamic Aspects Workshop held in conjunction with AOSD 2004, Lancaster, UK, pp. 135–145 (2004)
Coulson, G., Grace, P., Blair, G., Mathy, L., Duce, D., Cooprt, C., Yeung, W.K., Cai, W.: Towards a Component-Based Middleware Framework for Configurable and Reconfigurable Grid Computing. In: Proceedings of the 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 291–296. IEEE Computer Society, Los Alamitos (2004)
Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: 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)
Burke, B.: JBoss Tutorial. In: 3rd International Conference on Aspect-Oriented Software Development, Lancaster, UK, p. 1 (2004)
Greenwood, P., Blair, L.: Using Dynamic AOP to Implement an Autonomic System. In: Dynamic Aspects Workshop, Lancaster, UK, pp. 76–88 (2004)
Maes, P.: Concepts and Experiments in Computational Reflection. In: Conference proceedings on Object-oriented programming systems, languages and applications, Orlando, USA, pp. 146–155. ACM, New York (1987)
Dmitriev, M.: Safe Class and Data Evolution in Large and Longed-Live Java Applications, Glasgow (2001)
Cheverst, K., Davies, N., Mitchell, K., Friday, A., Efstratiou, C.: Developing a Context-aware Electronic Tourist Guide: Some Issues and Experiences. In: Proceedings of CHI 2000, Netherlands, pp. 17–24 (2000)
Pang, J., Blair, L.: An Adaptive Run Time Manager for the Dynamic Integration and Interaction Resolution of Feature. In: 22nd International Conference on Distributed Computing Systems Workshops, Vienna, Austria, pp. 445–450. IEEE Computer Society, Los Alamitos (2002)
Sanen, F., Truyen, E., De Win, B., Joosen, W., Loughran, N., Coulson, G., Rashid, A., Nedos, A., Jackson, A., Clarke, S.: Study On Interaction Issues, Katholieke Universiteit Leuven, Leuven, Belgium (2006)
AWBench. AWBench: AOP Benchmark (Web Site) (2004) (cited, April 2005), Available from: http://docs.codehaus.org/display/AW/AOP+Benchmark
Chidamber, S., Kemerer, C.: A Metrics Suite for Object-Oriented Design. IEE Transactions on Software Engineering 20(6), 476–493 (1994)
Fenton, N., Pfleeger, S.: Software Metrics: A Rigorous and Practical Approach. PWS, London (1997)
Garcia, A.F., Kuleska, U., Sant’Anna, S., Chavez, C., Lucena, C.: Aspects in Agent-Oriented Software Engineering: Lessons Learned. In: Müller, J.P., Zambonelli, F. (eds.) AOSE 2005. LNCS, vol. 3950, pp. 231–247. Springer, Heidelberg (2006)
Hannemann, J., Kiczales, G.: Design Pattern Implementation in Java and AspectJ. In: Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, Seattle, Washington, USA, pp. 161–173. ACM, New York (2002)
Garcia, A.F.: From Objects to Agents: An Aspect-Oriented Approach. Computer Science Department, p. 319. Rio de Janeiro, PUC-Rio (2004)
Sant’ Anna, C., Garcia, A., Chavez, C., Lucena, C., von Staa, A.: On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework. In: Brazilian Symposium on Software Engineering, Manaus, Brazil, pp. 19–34 (2003)
Garcia, A., Sant’Anna, S., Figueiredo, E., Kuleska, U., Lucena, C., Von Staa, A.: Modularizing Design Patterns with Aspects: A Quantative Study. In: 4th International Conference on Aspect-Oriented Software Development (AOSD), Chicago, USA, pp. 3–14 (2005)
Dashofy, E.: A Highly-Extensible XML Based Architecture Description Language. In: WICSA, pp. 103–112 (2001)
Frei, A., Alonso, G.: A Dynamic Lightweight Platform for Ad-Hoc Infrastructures. In: Third IEEE International Conference on Pervasive Computing and Communications, Kauai Island, Hawaii, pp. 373–382 (2005)
Nanning. Nanning AOP (2005) (cited, April 2005), Available from: http://nanning.codehaus.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Greenwood, P., Blair, L. (2006). 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. Lecture Notes in Computer Science, vol 4242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11922827_2
Download citation
DOI: https://doi.org/10.1007/11922827_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-48890-3
Online ISBN: 978-3-540-48891-0
eBook Packages: Computer ScienceComputer Science (R0)