Preparatory Reflections on Safe Context-adaptive Software (Position Paper)

: Mobile technology and the Internet of Things promise to deepen the interaction between people, services, and physical devices. Digital solutions for these prospective computing systems are not only radically changing the user experience but also the software engineering process. Without a doubt, software complexity enormously increases, and prospective systems become challenging to develop, maintain, and verify. The user’s reliance on safety-critical software systems is a serious element in any software engineering process where the absence of bugs must be ensured, and malfunction ruled out. Software that is not safe, i.e., the software’s behavior does not comply with a specification, could cause loss of profits or, in the worst-case, harm people. Software safety is an ongoing but mostly academic research field incorporating formal methods to prove the correctness of a program using mathematical methods. In this spirit, we examine the promising context-aware computing and model-driven development paradigms that have directed the development of fog computing and IoT platforms alike. Furthermore, we aggregate viable requirements for computational context models to be employed both for computation and also reasoning about the correctness of applications.

[1]  Uwe Aßmann,et al.  Towards a Software Architecture for Near Real-time Applications of IoT , 2019, IoTBDS.

[2]  Frank J. Furrer Three Devils of Systems Engineering , 2019, Future-Proof Software-Systems.

[3]  Uwe Aßmann,et al.  A Software Toolkit for Complex Sensor Systems in Fog Environments , 2020 .

[4]  Nicolás Cardozo A Declarative Language for Context Activation , 2018, COP@ECOOP.

[5]  Sanjit A. Seshia,et al.  Modeling for Verification , 2018, Handbook of Model Checking.

[6]  Hanêne Ben-Abdallah,et al.  A model-driven development approach for context-aware systems , 2016, Software & Systems Modeling.

[7]  Nikolai Kosmatov,et al.  Cut Branches Before Looking for Bugs: Sound Verification on Relaxed Slices , 2016, FASE.

[8]  Seng Wai Loke,et al.  Representing and Reasoning with the Internet of Things: a Modular Rule-Based Model for Ensembles of Context-Aware Smart Things , 2016, EAI Endorsed Trans. Context aware Syst. Appl..

[9]  Reiko Heckel,et al.  Rule-based transformation of graph rewriting rules: Towards higher-order graph grammars , 2015, Theor. Comput. Sci..

[10]  Roberto Bruni,et al.  On Hierarchical Graphs: Reconciling Bigraphs, Gs-monoidal Theories and Gs-graphs , 2014, Fundam. Informaticae.

[11]  Gerard J. Holzmann,et al.  Mars code , 2014, CACM.

[12]  Jiang Zhu,et al.  Fog Computing: A Platform for Internet of Things and Analytics , 2014, Big Data and Internet of Things.

[13]  David Broman,et al.  Viewpoints, formalisms, languages, and tools for cyber-physical systems , 2012, MPM '12.

[14]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[15]  Dave Evans,et al.  How the Next Evolution of the Internet Is Changing Everything , 2011 .

[16]  Ferit Topcu Context Modeling and Reasoning Techniques , 2011 .

[17]  Steffen Staab,et al.  Model Driven Engineering with Ontology Technologies , 2010, Reasoning Web.

[18]  Jadwiga Indulska,et al.  A survey of context modelling and reasoning techniques , 2010, Pervasive Mob. Comput..

[19]  Robin Milner,et al.  The Space and Motion of Communicating Agents , 2009 .

[20]  Iakovos S. Venieris,et al.  Model-Driven Development of Context-Aware Web Applications Based on a Web Service Context Management Architecture , 2008, MoDELS Workshops.

[21]  Tao Zhou,et al.  Evolution of the Internet and its cores , 2008 .

[22]  Markus Endler,et al.  A Formal Framework for Modeling Context-Aware Behavior in Ubiquitous Computing , 2008, ISoLA.

[23]  Christel Baier,et al.  Principles of model checking , 2008 .

[24]  Stephan Murer,et al.  Managed Evolution , 2008, Informatik-Spektrum.

[25]  Frédérique Laforest,et al.  A comprehensive approach to model and use context for adapting applications in pervasive environments , 2007, J. Syst. Softw..

[26]  Carlo Curino,et al.  A data-oriented survey of context models , 2007, SGMD.

[27]  Vincenzo Grassi,et al.  Towards model driven design of service-based context-aware applications , 2007, ESSPE '07.

[28]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

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

[30]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[31]  M. N. Wicks Tool Integration in Software Engineering Environments , 2005 .

[32]  Claudia Linnhoff-Popien,et al.  A Context Modeling Survey , 2004 .

[33]  Christine Julien,et al.  A Formal Treatment of Context-Awareness , 2004, FASE.

[34]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[35]  Matthew Hennessy Context-awareness: Models and analysis , 2004 .

[36]  Andry Rakotonirainy,et al.  Context-oriented programming , 2003, MobiDe '03.

[37]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[38]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[39]  Jadwiga Indulska,et al.  Modeling Context Information in Pervasive Computing Systems , 2002, Pervasive.

[40]  G. Abowd,et al.  Context-aware computing [Guest Editors' Intro.] , 2002, IEEE Pervasive Computing.

[41]  Anind K. Dey,et al.  Understanding and Using Context , 2001, Personal and Ubiquitous Computing.

[42]  P. Dourish,et al.  Context-Aware Computing , 2001 .

[43]  Albrecht Schmidt,et al.  There is more to context than location , 1999, Comput. Graph..

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

[45]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[46]  Stavros Tripakis,et al.  Extending Promela and Spin for Real Time , 1996, TACAS.

[47]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.