Skip to main content
Log in

Aspect-oriented design and implementation of context-aware pervasive applications

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Pervasive applications must be aware of the contexts where they are executed. These contexts may vary greatly and change quickly. Two main problems are associated with this issue: (1) context-awareness is a crosscutting concern that cannot be well-encapsulated in a single module using traditional technologies, thus hindering software maintenance and reusability; and (2) reasoning about application design correctness can be complex due to the number and diversity of potential contexts where a pervasive application could be executed. In order to overcome these problems, we present a process for the design and implementation of context-aware pervasive applications that uses aspect-orientation and executable modelling in order to overcome these shortcomings. Aspect-oriented techniques contribute to the encapsulation of crosscutting concerns, such as context-awareness, into well-localized modules. Executable modelling helps engineers to reason about application design by executing the design models in different contexts and situations. Pervasive applications are modelled using the aspect-oriented executable modelling UML 2.0 profile, executed at the modelling level for testing purposes, and then mapped into an aspect-oriented middleware platform for pervasive applications. This process is illustrated using a location-aware intelligent transportation system consisting of a set of cooperating sentient vehicles.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Baker P, Jervis C (2007) Testing UML 2.0 models using TTCN-3 and the UML 2.0 testing profile. In: Gaudin E, Najm É, Reed R (eds) Proc. of the 13th int. SDL forum. LNCS, vol 4745, Paris (France), September, pp 86–100

  2. Baker P, Loh S, Weil F (2005) Model-driven engineering in a large industrial context-Motorola case study. In: Briand LC, Williams C (eds) Proceedings of the 8th international conference on model driven engineering languages and systems (MoDELS). LNCS, vol 3713, pp 476–491

  3. Bell AE (2004) Death by UML fever. ACM Queue 2(1): 72–80

    Article  Google Scholar 

  4. Berstein P (1996) Middleware: a model for distributed services. Commun ACM 39(2): 86–97

    Article  Google Scholar 

  5. Capra L et al (2003) Carisma: context-aware reflective middleware system for moblie applications. IEEE Trans Softw Eng 29(10): 929–945

    Article  Google Scholar 

  6. Clarke S (2002) Extending standard uml with model composition semantics. Sci Comp Program 44(1): 71–100

    Article  MATH  Google Scholar 

  7. Cottenier T et al (2007) The Motorola WEAVR: model weaving in a large industrial context. In: Proceedings of AOSD

  8. Cottenier T, van den Berg A, Elrad T (2006) Model weaving: bridging the divide between elaborationists and translationists. In: Proceedings of 9th international workshop on aspect-oriented modelling (AOM), 9th international conference on model driven engineering, languages and systems (MoDELS), Genova (Italy), October

  9. Dietz P, Weigert T, Weil F (1998) Formal techniques for automatically generating marshalling code from high-level specifications. In: Proceedings of the 2nd workshop on industrial-strength formal specification techniques (WIFT), Boca Raton (Florida, USA), October, pp 40–47

  10. Figueiredo E, Cacho N, Sant’Anna C, Monteiro M, Kulesza U, Garcia A, Soares S, Ferrari F, Khan S, Filho FC, Dantas F (2008) Evolving software product lines with aspects: an empirical study on design stability. In: Proceedings of the 30th international conference on software engineering (ICSE), Leipzig, Germany, May, pp 261–270

  11. Filho FC et al (2006) Exceptions and aspects: the devil is in the details. In: Proceedings of FSE’06, pp 152–162

  12. Filman RE et al (2004) Aspect-oriented software development. Addison-Wesley, Reading

    Google Scholar 

  13. Fuentes L, Gámez N (2008) A feature model of an aspect-oriented middleware family for pervasive systems. In: Proceedings of the 1st international workshop on next generation aspect oriented middleware workshop (NAOMI), 7th international conference on aspect-oriented software development (AOSD), Brussels (Belgium), March–April

  14. Fuentes L, Pinto M, Sánchez P (2008) Generating cam aspect-oriented architectures using model-driven development. Inf Softw Technol (in press)

  15. Fuentes L, Sánchez P (2007) Aspect-oriented coordination. Electr Notes Theor Comp Sci 189: 87–103

    Article  Google Scholar 

  16. Fuentes L, Sánchez P (2007) Designing and weaving aspect-oriented executable uml models. JOT, Special Issue on AOM 6(7): 109–136

    Google Scholar 

  17. Garcia AF et al (2006) Modularizing design patterns with aspects:. A Quant Study 3880: 36–74

    Google Scholar 

  18. Geish K (2001) Middleware challenges ahead. Computer 34(6): 24–31

    Article  Google Scholar 

  19. Greenwood P et al (2007) On the impact of aspectual decompositions on design stability: an empirical study. In: Proceedings of ECOOP’07. LNCS, vol 4609, pp 176–200

  20. Hailpern B, Tarr P (2006) Model-driven development: the good, the bad, and the ugly. IBM Syst J 45(3): 451–461

    Article  Google Scholar 

  21. Hannemann J, Kiczales G (2002) Design pattern implementation in Java and AspectJ. In: Proceedings of OOPSLA 2002, pp 161–173

  22. Kienzle J, Gélineau S (2006) AO challenge—implementing the ACID properties for transactional objects. In: Proceedings of AOSD 2006, pp 202–213

  23. Kienzle J, Guerraoui R (2002) AOP: does it make sense? the case of concurrency and failures. In: Magnusson B (ed) Proceedings of the 16th European conference on object-oriented programming (ECOOP). LNCS, vol 2374, Málaga (Spain), June, pp 37–61

  24. Klein J, Kienzle J (2007) Reusable aspect models. In: Proceedings of the 11th international workshop on aspect-oriented modelling (AOM), 10th international conference on model driven engineering languages and systems (MoDELS), Nashville (Tennesee, USA), September–October

  25. Kleppe A, Warmer J, Bast W (2003) MDA explained: the model driven architecture–practice and promise. Addison-Wesley Professional, Reading

    Google Scholar 

  26. Kourai K, Hibino H, Chiba S (2007) Aspect-oriented application-level scheduling for J2EE servers. In: Proceedings of the 6th international conference on aspect-oriented software development (AOSD), Vancouver (British Columbia, Canada), March, pp 1–13

  27. Loke A (2006) Context-aware pervasive systems: architectures for a new breed of applications. Auerbach, Boca Roaton

    Google Scholar 

  28. Long E et al (1998) Increasing productivity at Saturn. Computer 31(8): 35–43

    Article  Google Scholar 

  29. Lopes CV, Bajracharya S (2006) Assessing aspect modularizations using design structure matrix and net option value. In: Transactions on AOSD I. LNCS, vol 3880, pp 1–35

  30. Loughran N et al (2006) A domain analysis of key concerns-known and new candidates. Technical report AOSD-Europe deliverable D43, AOSD-Europe-KUL-6, Katholieke Universiteit Leuven, 27 February

  31. Lundesgaard SA et al (2007) Construction and execution of adaptable applications using an aspect-oriented and model driven approach. In: Proceedings of DAIS’07

  32. Mellor SJ, Balcer M (2002) Executable UML: a foundation for model driven architecture. Addison-Wesley, Reading

    Google Scholar 

  33. Mellor SJ, Scott K, Uhl A, Weise D (2004) MDA distilled. Addison-Wesley, Reading

    Google Scholar 

  34. Molesini A, Garcia AF, von Flach C, Chavez G, Batista TV (2008) On the quantitative analysis of architecture stability in aspectual decompositions. In: Proceedings of the 7th international working IEEE/IFIP conference on software architecture (WICSA), Vancouver, (Brisith Columbia), Canada, February, pp 29–38

  35. Muñoz J et al (2004) Model driven development of pervasive systems. ERCIM News 58: 50–51

    Google Scholar 

  36. Loughran N, et al (2006) A domain analysis of key concerns-known and new candidates. Technical report AOSD-Europe deliverable D43, AOSD-Europe-KUL-6, Katholieke Universiteit Leuven

  37. Raistrick C et al (2004) Model driven architecture with executable UML. Cambridge

  38. Rashid A, Chitchyan R (2003) Persistence as an aspect. In: Proceedings of AOSD 2003, pp 120–129

  39. Sánchez P, LF (2008) Aspect-oriented model weaving beyond model composition and model transformation. In: Proceedings of the 11th international conference on model driven engineering languages and systems (MoDELS), Tolousse (Fance), September–October 2008 (to appear)

  40. Sánchez P, Magno J, Fuentes L, Moreira A, Araújo J (2006) Towards mdd transformations from ao requirements into ao architecture. In: Gruhn V, Oquendo F (eds) Proceedings of the 3rd European workshop on software architecture (ECSA). LNCS, vol 4344, Nantes (France), September, pp 59–174

  41. Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5): 19–25

    Article  Google Scholar 

  42. Sivaharan T, et al (2004) Cooperating sentient vehicles for next generation automobiles. In: MobiSys, WAMES’04

  43. Sivaharan T, et al (2005) A configurable and re-configurable publish-subscribe middleware for pervasive computing. In: Proceedings of symposium on distributed objects and applications

  44. Soares S, Laureano E, Borba P (2002) Implementing distribution and persistence aspects with AspectJ. In: ACM Press, editor, 17th ACM conference OOPSLA’02, November, pp 174–190

  45. Stein D et al (2006) Expressing different conceptual models of join point selections in aspect-oriented design. In: Proceedings of AOSD 2006, pp 15–26

  46. Tanter É et al (2006) Context-aware aspects. In: 5th International symposium on software composition. LNCS, vol 4089, pp 227–242

  47. Tarr P et al (2004) N degrees of separation: Multi-dimensional separation of concerns. In: AOSD. Addison-Wesley, Reading, pp 37–61

  48. van den Berg K et al (2005) Aosd ontology 1.0 public ontology of aspect-orientation. Technical Report AOSD-Europe Deliverable D9, AOSD-Europe-UT-01

  49. Verissimo P et al (2002) Cortex: towards supporting autonomous and cooperating sentient entities. In: European Wireless

  50. Weigert T, Dietz P (2003) Automated generation of marshaling code from high-level specifications. In: Reed R, Reed J (eds) 11th International SDL forum. LNCS, vol 2708, Stuttgart (Germany), July, pp 374–386

  51. Xu D, Xu W (2006) State-based Incremental Testing of Aspect-Oriented Programs. In: Proceedings of the 5th international conference on aspect-oriented software development (AOSD), Bonn (Germany), March, pp 180–189

  52. Yau S et al (2002) Reconfigurable context-sensitive middleware for pervasive computing. IEEE Pervasive Comput 1(3): 33–40

    Article  Google Scholar 

  53. Zambrano AF (2006) Integrando sensibilidad al contexto mediante aspect oriented programming. PhD Thesis

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nadia Gámez.

Additional information

This work has been supported by the Spanish Ministerio de Ciencia y Tecnologa (MCYT) Project TIN2005-09405-C02-01 and the European Commission Grant IST-2-004349-NOE AOSD-Europe and the European Commission STREP Project AMPLE IST-033710.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fuentes, L., Gámez, N. & Sánchez, P. Aspect-oriented design and implementation of context-aware pervasive applications. Innovations Syst Softw Eng 5, 79–93 (2009). https://doi.org/10.1007/s11334-009-0081-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-009-0081-8

Keywords

Navigation