Context-Aware Aspects

  • Éric Tanter
  • Kris Gybels
  • Marcus Denker
  • Alexandre Bergel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4089)

Abstract

Context-aware applications behave differently depending on the context in which they are running. Since context-specific behavior tends to crosscut base programs, it can advantageously be implemented as aspects. This leads to the notion of context-aware aspects, i.e., aspects whose behavior depends on context. This paper analyzes the issue of appropriate support from the aspect language to both restrict the scope of aspects according to the context and allow aspect definitions to access information associated to the context. We propose an open framework for context-aware aspects that allows for the definition of first-class contexts and supports the definition of context awareness constructs for aspects, including the ability to refer to past contexts, and to provide domain- and application-specific constructs.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: Proceedings of OOPSLA 2005. ACM Press, New York (2005)Google Scholar
  2. 2.
    Aracic, I., Gasiunas, V., Mezini, M., Ostermann, K.: An overview of CaesarJ. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol. 3880, pp. 135–173. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, J., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Abc: an extensible AspectJ compiler. In: Proceedings of AOSD 2005, pp. 87–98. ACM Press, New York (2005)CrossRefGoogle Scholar
  4. 4.
    Avgustinov, P., Tibble, J., Bodden, E., Lhoták, O., Hendren, L., de Moor, O., Ongkingco, N., Sittampalam, G.: Efficient trace monitoring. Technical Report abc-2006-1, abc Group (March 2006)Google Scholar
  5. 5.
    Baldauf, M., Dustdar, S.: A survey on context-aware systems. Technical Report TUV-1841-2004-24, Technical University of Vienna (2004)Google Scholar
  6. 6.
    Bravenboer, M., Visser, E.: Concrete syntax for objects. In: Proceedings of OOPSLA 2004, Vancouver, British Columbia, Canada, ACM Press, New York (2004), ACM SIGPLAN Notices, 39(11)Google Scholar
  7. 7.
    Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming. In: Proceedings of the ACM Dynamic Languages Symposium (2005)Google Scholar
  8. 8.
    Cottenier, T., Elrad, T.: Contextual pointcut expressions for dynamic service customization. In: Dynamic Aspect Workshop (2005)Google Scholar
  9. 9.
    David, P.-C., Ledoux, T.: WildCAT: a generic framework for context-aware applications. In: Proceeding of MPAC 2005, the 3rd International Workshop on Middleware for Pervasive and Ad-Hoc Computing, Grenoble, France (November 2005)Google Scholar
  10. 10.
    Dey, A.K., Abowd, G.D.: Towards a better understanding of context and context-awareness. In: Workshop on the What, Who, Where, When, and How of Context-Awareness, as part of the 2000 Conference on Human Factors in Computing Systems (CHI 2000), The Hague, The Netherlands (April 2000)Google Scholar
  11. 11.
    Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Proceedings of AOSD 2004, pp. 141–150. ACM Press, New York (2004)CrossRefGoogle Scholar
  12. 12.
    Douence, R., Fradet, P., Südholt, M.: Trace-based aspects. In: Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds.) Aspect-Oriented Software Development, pp. 201–217. Addison-Wesley, Boston (2005)Google Scholar
  13. 13.
    Douence, R., Motelet, O., Sudholt, M.: A formal definition of crosscuts. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 170–186. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Douence, R., Teboul, L.: A pointcut language for control-flow. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 95–114. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Gybels, K., Brichau, J.: Arranging language features for more robust pattern-based crosscuts. In: Proceedings of AOSD 2003 (2003)Google Scholar
  16. 16.
    Kephart, J.: A vision of autonomic computing. In: Onward! Track at OOPSLA 2002, Seattle, WA, USA, pp. 13–36 (2002)Google Scholar
  17. 17.
    McKinley, P.K., Sadjadi, S.M., Kasten, B.H., Cheng: Composing adaptive software. IEEE Computer 37(7), 56–64 (2004)Google Scholar
  18. 18.
    Rodríguez, L., Tanter, É., Noyé, J.: Supporting dynamic crosscutting with partial behavioral reflection: A case study. In: Proceedings of SCCC 2004, pp. 48–58 (2004)Google Scholar
  19. 19.
    Tanter, É., Noyé, J.: A versatile kernel for multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 173–188. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Tanter, É., Noyé, J., Caromel, D., Cointe, P.: Partial behavioral reflection: Spatial and temporal selection of reification. In: Proceedings of OOPSLA 2003, pp. 27–46. ACM Press, New York (2003), ACM SIGPLAN Notices, 39(11)CrossRefGoogle Scholar
  21. 21.
    Weiser, M.: Some computer science issues in ubiquitous computing. Communications of the ACM 36(7), 75–84 (1993)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Éric Tanter
    • 1
  • Kris Gybels
    • 2
  • Marcus Denker
    • 3
  • Alexandre Bergel
    • 4
  1. 1.Center for Web Research/DCCUniversity of ChileSantiagoChile
  2. 2.PROG LabVrije Universiteit BrusselBelgium
  3. 3.Software Composition GroupUniversity of BernSwitzerland
  4. 4.Distributed Systems GroupTrinity CollegeIreland

Personalised recommendations