Ualegreibarra Thesis EMBARGO.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
Middlesex University Research Repository An open access repository of Middlesex University research http://eprints.mdx.ac.uk Alegre-Ibarra, Unai (2018) A software development framework for context-aware systems. PhD thesis, Middlesex University. [Thesis] Final accepted version (with author’s formatting) This version is available at: https://eprints.mdx.ac.uk/25480/ Copyright: Middlesex University Research Repository makes the University’s research available electronically. Copyright and moral rights to this work are retained by the author and/or other copyright owners unless otherwise stated. The work is supplied on the understanding that any use for commercial gain is strictly forbidden. A copy may be downloaded for personal, non-commercial, research or study without prior permission and without charge. Works, including theses and research projects, may not be reproduced in any format or medium, or extensive quotations taken from them, or their content changed in any way, without first obtaining permission in writing from the copyright holder(s). They may not be sold or exploited commercially in any format or medium without the prior written permission of the copyright holder(s). Full bibliographic details must be given when referring to, or quoting from full items including the author’s name, the title of the work, publication details where relevant (place, publisher, date), pag- ination, and for theses or dissertations the awarding institution, the degree type awarded, and the date of the award. If you believe that any material held in the repository infringes copyright law, please contact the Repository Team at Middlesex University via the following email address: [email protected] The item will be removed from the repository while any claim is being investigated. See also repository copyright: re-use policy: http://eprints.mdx.ac.uk/policies.html#copy A software development framework for context-aware systems Unai Alegre-Ibarra Supervisors: Prof. Juan Carlos Augusto Dr. Carl Evans Middlesex University Department of Computer Science, Faculty of Science & Technology A thesis submitted to Middlesex University in partial fulfilment of the requirements for the degree of Doctor of Philosophy. Acknowledgments I take this opportunity to thank all those people without whom this thesis would not have been possible. En primer lugar, quisiera agradecer a mis padres, por todos los sacrificios hechos para que yo pudiera tener una oportunidad, por la educación y los valores que me han brindado y sin los cuales el camino hubiera sido mucho mas difícil. Sois y seréis siempre un ejemplo a seguir. To Carl Evans and Franco Raimondi for their guidance and support throughout this whole process. A tí Rocío por tu paciencia, por todos los buenos consejos y los sacrificios que has hecho por que yo pueda tener esta oprotunidad. A toda mi familia por su apoyo incondicional durante todo este tiempo, y en especial a Marisa por acogerme de la forma en que lo has hecho. To all the colleagues who I encountered throughout this experience, and made London a warmer place to be. Especially, to Pragya, Javier, Poujha, Alexandra, Dean, An- dras, Olanna and Diego. Ta nola ez, Esti ta Imanoli, nigatik egin duzuen guztiagatik, eta zuen bihotzarekin Londres pixkat jasangarriagoa egiteagatik. Londresen elkartu ginen euskal lagun taldeari, eta azkenik, Gasteizko kuadrillari etxera itzuli izan na- izen bakoitzean eskeini didazuen beroagatik. I was awarded by Middlesex University with funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant agreement n 610840. 1 Abstract he beginning of the new century has been characterised by the miniaturisa- T tion and accessibility of electronics, which has enabled its widespread usage around the world. This technological background is progressively materialising the future of the remainder of the century, where industry-based societies have been mov- ing towards information-based societies. Information from users and their environ- ment is now pervasively available, and many new research areas have born in order to shape the potential of such advancements. Particularly, context-aware computing is at the core of many areas such as Intelligent Environments, Ambient Intelligence, Ambient Assisted Living or Pervasive Computing. Embedding contextual awareness into computers promises a fundamental enhancement in the interaction between com- puters and humans. While traditional computers require explicit commands in order to operate, contextually aware computers could also use information from the back- ground and the users to provide services according to the situation. But embedding this contextual awareness has many unresolved challenges. The area of context-aware computing has attracted the interest of many researchers that have presented differ- ent approaches to solve particular aspects on the implementation of this technology. The great corpus of research in this direction indicates that context-aware systems have different requirements than those of traditional computing. Approaches for develop- ing context-aware systems are typically scattered or do not present compatibility with other approaches. Existing techniques for creating context-aware systems also do not focus on covering all the different stages of a typical software development life-cycle. The contribution of this thesis is towards the foundation layers of a more holistic ap- proach, that tries to facilitate further research on the best techniques for developing these kinds of systems. The approach presents a framework to support the develop- ment not only with methodologies, but with open-source tools that facilitate the im- plementation of context-aware systems in mobile and stationary platforms. 2 Contents Contents 3 List of Figures 7 List of Tables 14 Definitions 16 I Opening 17 1 Introduction 19 1.1 Introduction ............................ 20 1.2 Supporting a software development methodology for context-aware systems ............................... 23 1.3 Problem statement ......................... 25 1.4 Objectives .............................. 28 1.5 Case Study ............................. 30 1.6 Document structure ......................... 33 2 Conceptualisation 35 2.1 Introduction ............................ 36 2.2 Context in context-aware computing . 37 2.3 Reflections on the context conceptualisation . 42 2.4 Perspectives on context for the engineering of more usable context- aware systems ............................ 46 2.5 Conclusions ............................. 56 3 State of the art 59 3.1 Introduction ............................ 60 3 3.2 Requirements engineering ..................... 62 3.3 Model-driven engineering ...................... 73 3.4 Implementation support ...................... 80 3.5 Conclusions ............................. 88 II Requirements stage 91 4 RC-ASEF: Requirements for the context-aware systems engineering framework 93 4.1 Introduction ............................ 94 4.2 Establish scope ........................... 98 4.3 Stakeholder analysis ......................... 98 4.4 Establish objectives . 108 4.5 Elicit requirements . 111 4.6 Evaluate ............................... 124 4.7 Conclusions ............................. 126 5 SRC-ASEF: Situational requirements for the context-aware systems en- gineering framework 131 5.1 Introduction ............................ 132 5.2 Main activities ............................ 134 5.3 Apply evaluation procedure . 136 5.4 Example ............................... 146 5.5 Conclusions ............................. 166 III Design stage 169 6 DC-ASEF: Design for the context-aware systems engineering framework171 6.1 Introduction ............................ 172 6.2 General system design . 174 6.3 Context-aware feature design . 176 6.4 Context information design . 180 4 6.5 Apply evaluation procedure . 194 6.6 Conclusions ............................. 197 7 VC-ASEF: Verification for the context-aware systems engineering frame- work 199 7.1 Introduction ............................ 200 7.2 The M language . 201 7.3 Mapping M to NuSMV . 202 7.4 Usage illustration . 211 7.5 Evaluation .............................. 215 7.6 Conclusions ............................. 217 IV Implementation, deployment and maintenance stages 219 8 IDMC-ASEF: Implementation, deployment and maintenance for the context-aware engineering framework 221 8.1 Introduction ............................ 222 8.2 Code generation . 223 8.3 Implement system . 225 8.4 Deploy & run ............................ 226 8.5 Maintenance tasks . 227 8.6 Tool support ............................ 228 8.7 Model to text transformations . 232 8.8 Conclusions ............................. 252 V Evaluation and critical reflection 255 9 Conclusions and future work 257 9.1 Introduction ............................ 258 9.2 Reflecting on the objectives and future lines . 261 5 VI Appendixes 275 A Appendix A 277 A.1 Modelio ............................... 278 A.2 Stationary platform . 279 A.3 Mobile platform . 283 A.4 Code generation rules . 286 A.5 NuSMV specification counter-example . 296 Appendices ................................ 277 B Appendix B 299 Bibliography 301 6 List of Figures 2.1 Context categorisation divided into conceptual and operational perspect- ives, as presented in [1]. ......................... 38 2.2 Decomposition of the different concepts related to context. 52 2.3 Decomposition of the different concepts related to the functionality of the system and its personalisation. Note that additional