Past and future of software architectures for context-aware systems: A systematic mapping study

Abstract There is a growing interest on context-aware systems in recent years. Context-aware systems are able to change their behaviour depending on new conditions regarding the user, the platform and the environment. These systems are evolving towards interacting with the user in a transparent and ubiquitous manner, especially by means of different types of sensors, which can gather a wide range of data from the user, the platform the user is interacting with, and the environment where such interaction is taking place. It is worth noting that the software architecture of a system is a key artefact during its development and its adaptation process. Hence, the definition of the software architecture becomes essential while developing context-aware systems since it should reflect how the context is tackled for adaptation purposes. With the aim of studying this issue, we have designed and conducted a systematic mapping study to provide an overview about the different architectural approaches used in context-aware systems. One of the main findings of this study is that there are not many software architecture proposals that deal with context-awareness in an explicit way during the adaptation process. It was also detected that there are Human Computer Interaction (HCI) works that focus on context-aware adaptations but neglect partially or completely any possible change in the system architecture during the adaptation process. Due to this, we perceived a need to analyse what research works highlight the use of context and its relationship to the software architecture in existing context-aware systems. Therefore, this mapping study attempts to bridge the gap between Software Architecture and HCI in order to align the adaptation at the architectural level (changes in the configuration of architectural components) and at the HCI level (changes in the interaction modality or the user interface in general).

[1]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[2]  Richard Hull,et al.  Towards situated computing , 1997, Digest of Papers. First International Symposium on Wearable Computers.

[3]  Klara Nahrstedt,et al.  A Middleware Infrastructure for Active Spaces , 2002, IEEE Pervasive Comput..

[4]  Alan W. Brown Model driven architecture: Principles and practice , 2004, Software and Systems Modeling.

[5]  Judy Kay,et al.  Consistent Modelling of Users, Devices and Sensors in a Ubiquitous Computing Environment , 2005, User Modeling and User-Adapted Interaction.

[6]  Andreas Schmidt,et al.  User Context Aware Delivery of E-Learning Material: Approach and Architecture , 2004, J. Univers. Comput. Sci..

[7]  Christine Bauer A Comparison and Validation of 13 Context Meta-Models , 2012, ECIS.

[8]  Paris Avgeriou,et al.  Past and future of software architectural decisions - A systematic mapping study , 2014, Inf. Softw. Technol..

[9]  Claudio Bettini,et al.  COSAR: hybrid reasoning for context-aware activity recognition , 2011, Personal and Ubiquitous Computing.

[10]  M. Brown Supporting User Mobility , 1996, IFIP World Conference on Mobile Communications.

[11]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[12]  Masuma Naqvi Claims and Supporting Evidence for Self-Adaptive Systems – A Literature Review , 2012 .

[13]  Gerd Kortuem,et al.  Software organization for dynamic and adaptable wearable systems , 1997, Digest of Papers. First International Symposium on Wearable Computers.

[14]  Kim Mens,et al.  Orchestrating context-aware systems: a design perspective , 2009, CASTA '09.

[15]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[16]  Michael Dixon,et al.  Responsive office environments , 1993, CACM.

[17]  Anind K. Dey,et al.  Designing mediation for context-aware applications , 2005, TCHI.

[18]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[19]  Marek Hatala,et al.  Ontology-Based User Modeling in an Augmented Audio Reality System for Museums , 2005, User Modeling and User-Adapted Interaction.

[20]  Muhammad Ali Babar,et al.  On Searching Relevant Studies in Software Engineering , 2010, EASE.

[21]  Gregory D. Abowd,et al.  Towards a Better Understanding of Context and Context-Awareness , 1999, HUC.

[22]  Federica Cena,et al.  Tag-based user modeling for social multi-device adaptive guides , 2008, User Modeling and User-Adapted Interaction.

[23]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[24]  Mika Raento,et al.  ContextPhone: a prototyping platform for context-aware mobile applications , 2005, IEEE Pervasive Computing.

[25]  Marco Kuhrmann,et al.  A mapping study on the feasibility of method engineering , 2014, J. Softw. Evol. Process..

[26]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[27]  Albrecht Schmidt,et al.  Advanced Interaction in Context , 1999, HUC.

[28]  Roel Wieringa,et al.  Requirements engineering paper classification and evaluation criteria: a proposal and a discussion , 2005, Requirements Engineering.

[29]  Julie A. McCann,et al.  An adaptive middleware framework for context-aware applications , 2005, Personal and Ubiquitous Computing.

[30]  Daniela Petrelli,et al.  User-Centred Design of Flexible Hypermedia for a Mobile Guide: Reflections on the HyperAudio Experience , 2005, User Modeling and User-Adapted Interaction.

[31]  James A. Landay,et al.  An Infrastructure Approach to Context-Aware Computing , 2001, Hum. Comput. Interact..

[32]  Tsvi Kuflik,et al.  Adaptive, intelligent presentation of information for the museum visitor in PEACH , 2007, User Modeling and User-Adapted Interaction.

[33]  Ladan Tahvildari,et al.  Towards a goal‐driven approach to action selection in self‐adaptive software , 2012, Softw. Pract. Exp..

[34]  William Buxton,et al.  Evolution of a reactive environment , 1995, CHI '95.

[35]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[36]  Keith Cheverst,et al.  Exploring Issues of User Model Transparency and Proactive Behaviour in an Office Environment Control System , 2005, User Modeling and User-Adapted Interaction.

[37]  Vaninha Vieira,et al.  Designing context-sensitive systems: An integrated approach , 2011, Expert Syst. Appl..

[38]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[39]  Jani Mäntyjärvi,et al.  Managing Context Information in Mobile Devices , 2003, IEEE Pervasive Comput..

[40]  Tao Gu,et al.  Context-aware middleware for pervasive elderly homecare , 2009, IEEE Journal on Selected Areas in Communications.

[41]  Jadwiga Indulska,et al.  Developing context-aware pervasive computing applications: Models and approach , 2006, Pervasive Mob. Comput..

[42]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[43]  Marten van Sinderen,et al.  Supporting context-aware mobile applications: an infrastructure approach , 2006, IEEE Communications Magazine.

[44]  Jian Yu,et al.  An Architecture-Based Approach to Developing Context-Aware Adaptive Systems , 2012, 2012 IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems.

[45]  Gregory D. Abowd,et al.  A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications , 2001, Hum. Comput. Interact..

[46]  Michael D. McNeese,et al.  Assessment of User Affective and Belief States for Interface Adaptation: Application to an Air Force Pilot Task , 2002, User Modeling and User-Adapted Interaction.

[47]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[48]  Gregory D. Abowd,et al.  Providing architectural support for building context-aware applications , 2000 .

[49]  Context-Aware Computing,et al.  Toward an OSGi-Based Infrastructure for Context-Aware Applications , 2004 .

[50]  Per Runeson,et al.  Tutorial: Case Studies in Software Engineering , 2009, PROFES.

[51]  Pearl Brereton,et al.  Using Mapping Studies in Software Engineering , 2008, PPIG.

[52]  Jun Rekimoto,et al.  Augment-able reality: situated communication through physical and digital spaces , 1998, Digest of Papers. Second International Symposium on Wearable Computers (Cat. No.98EX215).