Internet of Things: From Small- to Large-Scale Orchestration

The domain of Internet of Things (IoT) is rapidly expanding beyond research, and becoming a major industrial market with such stakeholders as major manufacturers of chips and connected entities (i.e., things), and fast-growing operators of wide-area networks. Importantly, this emerging domain is driven by applications that leverage an IoT infrastructure to provide users with innovative, high-value services. IoT infrastructures range from small scale (e.g., homes and personal health) to large scale (e.g., cities and transportation systems). In this paper, we argue that there is a continuum between orchestrating connected entities in the small and in the large. We propose a unified approach to application development, which covers this spectrum. To do so, we examine the requirements for orchestrating connected entities and address them with domainspecific design concepts. We then show how to map these design concepts into dedicated programming patterns and runtime mechanisms.Our work revolves around domain-specific concepts and notations, integrated into a tool-based design methodology and dedicated to develop IoT applications. We have applied our work across a spectrum of infrastructure sizes, ranging from an automated pilot in avionics, to an assisted living platform for the home of seniors, to a parking management system in a smart city.

[1]  Jacques Bughin,et al.  The internet of things: mapping the value beyond the hype , 2015 .

[2]  Charles Consel,et al.  A Step-Wise Approach for Integrating QoS throughout Software Development , 2011, FASE.

[3]  Arshdeep Bahga,et al.  Internet of Things: A Hands-On Approach , 2014 .

[4]  Douglas C. Schmidt,et al.  Object-oriented application frameworks , 1997, CACM.

[5]  Charles Consel,et al.  HomeAssist: An Assisted Living Platform for Aging in Place Based on an Interdisciplinary Approach , 2017, AHFE.

[6]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[7]  Paul van der Walt,et al.  Frameworks compiled from declarations: a language‐independent approach , 2017, Softw. Pract. Exp..

[8]  Charles Consel,et al.  Design-driven Development of Dependable Applications - A Case Study in Avionics , 2013, PECCS.

[9]  Damien Cassou,et al.  Leveraging software architectures to guide and verify the development of sense/compute/control applications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[10]  Charles Consel,et al.  Designing Parallel Data Processing for Large-Scale Sensor Orchestration , 2016, 2016 Intl IEEE Conferences on Ubiquitous Intelligence & Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld).

[11]  Damien Cassou,et al.  Toward a Tool-Based Development Methodology for Pervasive Computing Applications , 2012, IEEE Transactions on Software Engineering.

[12]  Damien Cassou,et al.  DiaSuite: A tool suite to develop Sense/Compute/Control applications , 2014, Sci. Comput. Program..

[13]  Charles Consel,et al.  Orchestrating masses of sensors: a design-driven development Approach , 2015, GPCE.

[14]  Nael B. Abu-Ghazaleh,et al.  A taxonomy of wireless micro-sensor network models , 2002, MOCO.

[15]  Yutaka Mizuno,et al.  Current status of smart systems and case studies of privacy protection platform for smart city in Japan , 2015, 2015 Portland International Conference on Management of Engineering and Technology (PICMET).

[16]  Charles Consel,et al.  A domain-specific approach to architecturing error handling in pervasive computing , 2010, OOPSLA.

[17]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.