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.
Similar content being viewed by others
References
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
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
Bell AE (2004) Death by UML fever. ACM Queue 2(1): 72–80
Berstein P (1996) Middleware: a model for distributed services. Commun ACM 39(2): 86–97
Capra L et al (2003) Carisma: context-aware reflective middleware system for moblie applications. IEEE Trans Softw Eng 29(10): 929–945
Clarke S (2002) Extending standard uml with model composition semantics. Sci Comp Program 44(1): 71–100
Cottenier T et al (2007) The Motorola WEAVR: model weaving in a large industrial context. In: Proceedings of AOSD
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
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
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
Filho FC et al (2006) Exceptions and aspects: the devil is in the details. In: Proceedings of FSE’06, pp 152–162
Filman RE et al (2004) Aspect-oriented software development. Addison-Wesley, Reading
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
Fuentes L, Pinto M, Sánchez P (2008) Generating cam aspect-oriented architectures using model-driven development. Inf Softw Technol (in press)
Fuentes L, Sánchez P (2007) Aspect-oriented coordination. Electr Notes Theor Comp Sci 189: 87–103
Fuentes L, Sánchez P (2007) Designing and weaving aspect-oriented executable uml models. JOT, Special Issue on AOM 6(7): 109–136
Garcia AF et al (2006) Modularizing design patterns with aspects:. A Quant Study 3880: 36–74
Geish K (2001) Middleware challenges ahead. Computer 34(6): 24–31
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
Hailpern B, Tarr P (2006) Model-driven development: the good, the bad, and the ugly. IBM Syst J 45(3): 451–461
Hannemann J, Kiczales G (2002) Design pattern implementation in Java and AspectJ. In: Proceedings of OOPSLA 2002, pp 161–173
Kienzle J, Gélineau S (2006) AO challenge—implementing the ACID properties for transactional objects. In: Proceedings of AOSD 2006, pp 202–213
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
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
Kleppe A, Warmer J, Bast W (2003) MDA explained: the model driven architecture–practice and promise. Addison-Wesley Professional, Reading
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
Loke A (2006) Context-aware pervasive systems: architectures for a new breed of applications. Auerbach, Boca Roaton
Long E et al (1998) Increasing productivity at Saturn. Computer 31(8): 35–43
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
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
Lundesgaard SA et al (2007) Construction and execution of adaptable applications using an aspect-oriented and model driven approach. In: Proceedings of DAIS’07
Mellor SJ, Balcer M (2002) Executable UML: a foundation for model driven architecture. Addison-Wesley, Reading
Mellor SJ, Scott K, Uhl A, Weise D (2004) MDA distilled. Addison-Wesley, Reading
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
Muñoz J et al (2004) Model driven development of pervasive systems. ERCIM News 58: 50–51
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
Raistrick C et al (2004) Model driven architecture with executable UML. Cambridge
Rashid A, Chitchyan R (2003) Persistence as an aspect. In: Proceedings of AOSD 2003, pp 120–129
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)
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
Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5): 19–25
Sivaharan T, et al (2004) Cooperating sentient vehicles for next generation automobiles. In: MobiSys, WAMES’04
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
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
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
Tanter É et al (2006) Context-aware aspects. In: 5th International symposium on software composition. LNCS, vol 4089, pp 227–242
Tarr P et al (2004) N degrees of separation: Multi-dimensional separation of concerns. In: AOSD. Addison-Wesley, Reading, pp 37–61
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
Verissimo P et al (2002) Cortex: towards supporting autonomous and cooperating sentient entities. In: European Wireless
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
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
Yau S et al (2002) Reconfigurable context-sensitive middleware for pervasive computing. IEEE Pervasive Comput 1(3): 33–40
Zambrano AF (2006) Integrando sensibilidad al contexto mediante aspect oriented programming. PhD Thesis
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-009-0081-8