A Comparative Study of Aspect-Oriented and Object-Oriented Implementations: Pervasive System Use Case

  • Benamar Abdelkrim
  • Belkhatir Noureddine
  • Bendimerad Fethi Tarik
Part of the Communications in Computer and Information Science book series (CCIS, volume 189)

Abstract

Pervasive computing is becoming a reality. On the one hand, they will be deployed into a diversity of small devices and appliances, and on the other hand, they must be aware of highly changing execution contexts. Adaptation is the key crosscutting concern of pervasive computing applications. In this paper, we discuss our experience of implementing an adaptive display environment using Aspect-oriented programming. We compare the aspect-oriented implementation with independently developed object-oriented implementation of the environment. The comparison demonstrates that an aspect-oriented approach is indeed more effective in modularizing adaptation in a reusable, maintainable and evolvable fashion. It also reduces the complexity of the implementation with respect to the above three desirable attributes. At the same time, our experience challenges some of the existing conceptions about aspect granularity within an application and also highlights the need for development guidelines and idioms.

Keywords

pervasive computing adaptation crosscutting properties aspect-oriented and object-oriented implementation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abowd, G.D., Mynatt, E.D.: Charting Past, Present, and Future Research in Ubiquitous Computing. ACM Transactions on Computer Human Interaction 7(1) (2000)Google Scholar
  2. 2.
  3. 3.
    Baniassad, E.L.A., Murphy, G.C., Schwanninger, M., Kircher, C.: Managing Crosscutting Concerns during Software Evolution Tasks: an Inquisitive Study. In: 1st ACM Aspect-Oriented Software Development, pp. 120–126. ACM Press, New York (2002)Google Scholar
  4. 4.
    Bellavista, P., Corradi, A., Montanari, R., Stefanelli, C.: Dynamic Binding in Mobile Applications. IEEE Internet Computing 7(2), 34–42 (2003)CrossRefMATHGoogle Scholar
  5. 5.
    Brooks, R.R., Zhu, M., Lamb, J., Iyengar, S.S.: Aspect-oriented Design of Sensor Networks. Parallel and Distributed Computing 64(7), 853–865 (2004)CrossRefGoogle Scholar
  6. 6.
    Di Ferdinando, A., Rosi, A., Lent, R., Manzalini, A., Zambonelli, F.: MyAds: A System for Adaptive Pervasive Advertisements. Pervasive and Mobile Computing 5, 385–401 (2009)CrossRefGoogle Scholar
  7. 7.
    Ejigu, D., Scuturici, M., Brunie, L.: CoCA: A Collaborative Context-aware Service Platform for Pervasive Computing. In: 4th IEEE International Conference on Information Technology, pp. 297–302. IEEE Press, Las Vegas (2007)Google Scholar
  8. 8.
    Euzenat, J., Pierson, J., Ramparany, F.: A Dynamic Context Management for Pervasive Applications. Knowledge Engineering 23(1), 21–49 (2008)Google Scholar
  9. 9.
    Garlan, D., Shaw, M.: An Introduction to Software Architecture. Technical report, CMU-CS-94-166. Carnegie Mellon University (1994)Google Scholar
  10. 10.
    Gopalan, A., Znati, T.: SARA: a Service Architecture for Resource aware Ubiquitous Environments. Pervasive and Mobile Computing 6, 1–20 (2010)CrossRefGoogle Scholar
  11. 11.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira, C., Loingtier, J.M.: Aspect-oriented Programming. In: Aksit, M., Auletta, V. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Kim, I.S., Lee, Y.L., Lee, H.H.: CAST Middleware: Security Middleware of Context-awareness Simulation Toolkit for Ubiquitous Computing Research Environment. In: Huang, D.S. (eds.), ICIC 2006. LNCS, vol. 344, pp. 506–513. Springer, Heidelberg (2006) . Google Scholar
  13. 13.
    Kuo, Z., Yanni, W., Zhenkun, Z., Xiaoge, W., Yu, C.: A component-based reflective middleware approach to context-aware adaptive systems. In: Lowe, D.G., Gaedke, M. (eds.) ICWE 2005. LNCS, vol. 3579, pp. 429–434. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Murphy, G.C., Walker, R.J., Baniassad, E.L.A.: Evaluating Emerging Software Development Technologies. Lessons Learned from Evaluating Aspect-oriented Programming. IEEE Transactions on Software Engineering 25(4), 438–455 (1999)CrossRefGoogle Scholar
  15. 15.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based Runtime Software Evolution. In: ACM International Conference on Software Engineering, pp. 177–186. ACM Press, Kyoto (1998)CrossRefGoogle Scholar
  16. 16.
    Popovici, A., Frei, A., Alonso, G.: A Proactive Middleware Platform for Mobile Computing. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 455–473. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Pinto, M., Fuentes, L., Troya, J.M.: DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 118–137. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Roman, M., Hess, C.K., Cerqueira, R., Ranganathan, A., Campbell, R.H., Nahrstedt, K.: GAIA: A Middleware Infrastructure to Enable Active Spaces. IEEE Pervasive Computing 1(4), 74–83 (2002)CrossRefGoogle Scholar
  19. 19.
    Roy, N., Gu, T., Das, S.K.: Supporting Pervasive Computing Applications with Active Context Fusion and Semantic Context Delivery. Pervasive and Mobile Computing 6, 21–42 (2010)CrossRefGoogle Scholar
  20. 20.
    Smailagic, A., Siewiorek, D.P., Anhalt, J.: Towards Context aware Computing: Experiences and Lessons Learned. IEEE Journal on Intelligent Systems 16(3), 38–46 (2001)CrossRefGoogle Scholar
  21. 21.
    Soares, S., Laureano, E., Borba, P.: Implementing Distribution and Persistence Aspects with AspectJ. In: ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 174–190. ACM Press, New York (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Benamar Abdelkrim
    • 1
  • Belkhatir Noureddine
    • 2
  • Bendimerad Fethi Tarik
    • 1
  1. 1.University of TlemcenAlgeria
  2. 2.LIG LaboratoryUniversity of GrenobleFrance

Personalised recommendations