A Reactive and Model-Based Approach for Developing Internet-of-Things Systems

Software has a longstanding association with a state of crisis considering its success rate. The explosion of Internet-connected devices – Internet-of-Things – adds to the complexity of software systems. The particular characteristics of these systems, such as its large-scale and heterogeneity, pose increasingly new challenges. Model-based approaches have been widely used as a mechanism to abstract low-level programming details and processes. By using such approaches, and leveraging concepts as reactive design, visual notations, and live programming, we believe to be able to reduce the complexity of creating, operate/monitor and evolve such systems. The main objective of this Ph.D. is to delve into the software engineering practices for developing IoT systems and systems of systems, exploiting models as a suitable abstraction, expecting to reduce the complexity of managing most of the software development lifecycle that targets IoT systems and to develop the prototype that will aid on the validation of such approach.

[1]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[2]  Gerrit Muller,et al.  The Concept of Reference Architectures , 2010, Syst. Eng..

[3]  Xabier Larrucea,et al.  Software Engineering for the Internet of Things , 2017, IEEE Softw..

[4]  Robert Hanmer,et al.  Patterns for Fault Tolerant Software , 2007 .

[5]  Georg Frey,et al.  Formalization of existing PLC Programs: A Survey , 2003 .

[6]  Brian Fitzgerald,et al.  Software Crisis 2.0 , 2012, Computer.

[7]  Tommi Mikkonen,et al.  A Roadmap to the Programmable World: Software Challenges in the IoT Era , 2017, IEEE Software.

[8]  Vangelis Metsis,et al.  IoT Middleware: A Survey on Issues and Enabling Technologies , 2017, IEEE Internet of Things Journal.

[9]  Qun Li,et al.  Challenges and Software Architecture for Fog Computing , 2017, IEEE Internet Computing.

[10]  Neil Genzlinger A. and Q , 2006 .

[11]  John A. Stankovic,et al.  Research Directions for the Internet of Things , 2014, IEEE Internet of Things Journal.

[12]  Marouane Kessentini,et al.  Guest Editorial Special Issue on Computational Intelligence for Software Engineering and Services Computing , 2017, IEEE Trans. Emerg. Top. Comput. Intell..

[13]  Rajkumar Buyya,et al.  Internet of Things: Principles and Paradigms , 2016 .

[14]  Michael Weyrich,et al.  Reference Architectures for the Internet of Things , 2016, IEEE Software.

[15]  Ademar Aguiar,et al.  Adaptive Object-Modelling: Patterns, Tools and Applications , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[16]  Steven L. Tanimoto,et al.  A perspective on the evolution of live programming , 2013, 2013 1st International Workshop on Live Programming (LIVE).

[17]  Frank Leymann,et al.  Internet of Things Patterns for Devices , 2017 .