A Framework for Policy Driven Auto-adaptive Systems Using Dynamic Framed Aspects

  • Phil Greenwood
  • Lynne Blair
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4242)

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.

Keywords

dynamic AOP frames dynamic adaptation auto-adaptive parameterisation policies aspect interaction 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Gupta, D.: A Formal Framework for On-Line Software Version Change. IEEE Transaction on Software Engineering 22(2), 120–131 (1996)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Hirschfeld, R., Kawamura, K.: Dynamic Service Adaptation. In: ICDCSW, vol. 2, pp. 290–297 (2004)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Warren, I.: A Model for Dynamic Configuration which Preserves Application Integrity. In: Computing 2000. Lancaster University, Lancaster (2000)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Lupu, E.C., Sloman, M.: Conflicts in Policy Based Distributed Systems Management. IEEE Transaction on Software Engineering 25(6), 852–869 (1999)CrossRefGoogle Scholar
  11. 11.
    Basset, P.: Framing Software Reuse - Lessons from Real World. Yourdon Press/Prentice Hall (1997)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Duran-Limon, H., Blair, G.S., Coulson, G.: Adaptive Resource Management in Middleware: A Survey. IEEE Distributed Systems Online 5(7), 1 (2004)CrossRefGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)Google Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Diaz, O., Jaime, A.: EXACT: An Extensible Approach to Active Object-Oriented Databases. VLDB 6(4), 282–295 (1997)CrossRefGoogle Scholar
  24. 24.
    Filman, R., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    Van Gurp, J., Bosch, J.: Design Erosion: Problems and Causes. Journal of Systems and Software 61(2), 105–119 (2002)CrossRefGoogle Scholar
  27. 27.
    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)CrossRefGoogle Scholar
  28. 28.
    XVCL. XVCL Homepage (Web Site, 2005) (cited 2005), Available from: http://fxvcl.sourceforge.net
  29. 29.
    Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: 3rd International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, pp. 26–35 (2004)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)CrossRefGoogle Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    Burke, B.: JBoss Tutorial. In: 3rd International Conference on Aspect-Oriented Software Development, Lancaster, UK, p. 1 (2004)Google Scholar
  34. 34.
    Greenwood, P., Blair, L.: Using Dynamic AOP to Implement an Autonomic System. In: Dynamic Aspects Workshop, Lancaster, UK, pp. 76–88 (2004)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Dmitriev, M.: Safe Class and Data Evolution in Large and Longed-Live Java Applications, Glasgow (2001)Google Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    AWBench. AWBench: AOP Benchmark (Web Site) (2004) (cited, April 2005), Available from: http://docs.codehaus.org/display/AW/AOP+Benchmark
  41. 41.
    Chidamber, S., Kemerer, C.: A Metrics Suite for Object-Oriented Design. IEE Transactions on Software Engineering 20(6), 476–493 (1994)CrossRefGoogle Scholar
  42. 42.
    Fenton, N., Pfleeger, S.: Software Metrics: A Rigorous and Practical Approach. PWS, London (1997)Google Scholar
  43. 43.
    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)CrossRefGoogle Scholar
  44. 44.
    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)CrossRefGoogle Scholar
  45. 45.
    Garcia, A.F.: From Objects to Agents: An Aspect-Oriented Approach. Computer Science Department, p. 319. Rio de Janeiro, PUC-Rio (2004)Google Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    Dashofy, E.: A Highly-Extensible XML Based Architecture Description Language. In: WICSA, pp. 103–112 (2001)Google Scholar
  49. 49.
    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)Google Scholar
  50. 50.
    Nanning. Nanning AOP (2005) (cited, April 2005), Available from: http://nanning.codehaus.org/

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Phil Greenwood
    • 1
  • Lynne Blair
    • 1
  1. 1.Computing DepartmentLancaster UniversityLancasterUK

Personalised recommendations