BIoTA: A Buildout IoT Application Language

Domain-Specific Languages (DSLs) serve a wide variety of purposes in the development of complex applications. The Internet of Things (IoT) brings additional complexity to software development due to its inherent distribution and inclusion of a massive number of heterogeneous devices (sensors and actuators). The process of developing software architectures for IoT involves the interaction of several components that play distinct roles. In this paper, we propose a language called BIoTA (Buildout IoT Application Language), a DSL whose objective is to assist and streamline the building of software architectures for IoT. The specification and implementation of the BIoTA language involve a grammar and a compiler, responsible for syntax and semantic analysis, as well as code generation. They facilitate the formalization of software architectures using automata, which would otherwise be created in an informal and ad-hoc manner to address specific IoT scenarios. We developed an IDE (Integrated Development Environment) capable of reading and creating software architectures using the BIoTA language. With the BIoTA IDE, we demonstrate three examples of software architectures for IoT smart applications in public buildings, irrigation, and parking. The IDE also makes it possible to export architectures to a software distribution package pattern based on containers (Docker Compose) for future deployment.

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

[2]  J. Alberto Espinosa,et al.  Big Data: Issues and Challenges Moving Forward , 2013, 2013 46th Hawaii International Conference on System Sciences.

[3]  Ciprian-Radu Rad,et al.  Smart Monitoring of Potato Crop: A Cyber-Physical System Architecture Model in the Field of Precision Agriculture , 2015 .

[4]  Eduardo Souto,et al.  Application development for the Internet of Things: A context-aware mixed criticality systems development platform , 2017, Comput. Commun..

[5]  Pierfrancesco Bellini,et al.  Smart City Architecture for Data Ingestion and Analytics: Processes and Solutions , 2018, 2018 IEEE Fourth International Conference on Big Data Computing Service and Applications (BigDataService).

[6]  Welf Löwe,et al.  Automatic design pattern detection , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[7]  Steve Vestal,et al.  The SAE Architecture Analysis & Design Language (AADL) a standard for engineering performance critical systems , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[8]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[9]  Ramón Alcarria,et al.  An Internet of Things-Based Model for Smart Water Management , 2014, 2014 28th International Conference on Advanced Information Networking and Applications Workshops.

[10]  Himanshu Shah,et al.  Big Data Application Architecture Q&A: A Problem - Solution Approach , 2013 .

[11]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[12]  Larry A. Pace,et al.  Beginning R: An Introduction to Statistical Programming , 2012 .

[13]  Gabriela Oliveira Biondi,et al.  Context-aware energy efficiency management for smart buildings , 2015, 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT).

[14]  Kleanthis Thramboulidis,et al.  UML4IoT - A UML-based approach to exploit IoT in cyber-physical manufacturing systems , 2016, Comput. Ind..

[15]  Juha-Pekka Soininen,et al.  Smart Water Management Platform: IoT-Based Precision Irrigation for Agriculture † , 2019, Sensors.

[16]  Hannu Tenhunen,et al.  DoS-IL: A Domain Specific Internet of Things Language for Resource Constrained Devices , 2017, ANT/SEIT.

[17]  Ibrar Yaqoob,et al.  Big IoT Data Analytics: Architecture, Opportunities, and Open Research Challenges , 2017, IEEE Access.

[18]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[19]  Gianna Reggio,et al.  A UML-Based Proposal for IoT System Requirements Specification , 2018, 2018 IEEE/ACM 10th International Workshop on Modelling in Software Engineering (MiSE).

[20]  Olivier Barais,et al.  Melange: a meta-language for modular and reusable development of DSLs , 2015, SLE.

[21]  Michael Menth,et al.  Scaling home automation to public buildings: A distributed multiuser setup for OpenHAB 2 , 2017, 2017 Global Internet of Things Summit (GIoTS).

[22]  Gabriela Oliveira Biondi,et al.  Architectural Software Patterns for the Development of IoT Smart Applications , 2020, ArXiv.

[23]  Joost-Pieter Katoen,et al.  Safety, Dependability and Performance Analysis of Extended AADL Models , 2011, Comput. J..

[24]  Arno Schlueter,et al.  A Cyber-Physical Middleware Platform for Buildings in Smart Cities , 2019 .

[25]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[26]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

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

[28]  John Mylopoulos,et al.  Enterprise, Business-Process and Information Systems Modeling , 2012, Lecture Notes in Business Information Processing.

[29]  Brice Morin,et al.  Model-Based Software Engineering to Tame the IoT Jungle , 2017, IEEE Software.

[30]  Luigi Alfredo Grieco,et al.  Security, privacy and trust in Internet of Things: The road ahead , 2015, Comput. Networks.

[31]  Natalia Miloslavskaya,et al.  Big Data, Fast Data and Data Lake Concepts , 2016, BICA.

[32]  Gustavo Tinetti Fernando Distributed systems: principles and paradigms (2nd edition): Andrew S. Tanenbaum, Maarten Van Steen Pearson Education, Inc., 2007 ISBN: 0-13-239227-5 , 2011 .

[33]  Nonhlanhla Ntuli,et al.  A Simple Security Architecture for Smart Water Management System , 2016, ANT/SEIT.

[34]  Christophe Debruyne,et al.  Using a Method and Tool for Hybrid Ontology Engineering: an Evaluation in the Flemish Research Information Space , 2014, J. Theor. Appl. Electron. Commer. Res..

[35]  Federico Castanedo,et al.  A Review of Data Fusion Techniques , 2013, TheScientificWorldJournal.

[36]  Avraham Leff,et al.  Web-application development using the Model/View/Controller design pattern , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[37]  Lawrence A. Klein,et al.  Sensor and Data Fusion Concepts and Applications , 1993 .

[38]  Jimmy J. Lin,et al.  The Lambda and the Kappa , 2017, IEEE Internet Computing.

[39]  Alexandre Heideker,et al.  Architecting and Deploying IoT Smart Applications: A Performance–Oriented Approach , 2019, Sensors.

[40]  Cal Henderson Building scalable web sites - building, scaling, and optimizing the next generation of web applications: the Flickr way , 2006 .

[41]  Inder Monga,et al.  Lambda architecture for cost-effective batch and speed big data processing , 2015, 2015 IEEE International Conference on Big Data (Big Data).

[42]  P. Bagavathi Sivakumar,et al.  Framework for a Smart Water Management System in the Context of Smart City Initiatives in India , 2016 .

[43]  Pedro Mestre,et al.  A modeling domain-specific language for IoT-enabled operating systems , 2017, IECON 2017 - 43rd Annual Conference of the IEEE Industrial Electronics Society.

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

[45]  Der-Jiunn Deng,et al.  A Cloud-Based Smart-Parking System Based on Internet-of-Things Technologies , 2015, IEEE Access.

[46]  Sang M. Lee,et al.  Assessing the Reliability, Validity and Adaptability of PSSUQ , 2005, AMCIS.

[47]  Michael Blackstock,et al.  Toward a Distributed Data Flow Platform for the Web of Things (Distributed Node-RED) , 2014, WoT '14.

[48]  Barbara Kitchenham,et al.  DESMET: a methodology for evaluating software engineering methods and tools , 1997 .

[49]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[50]  Henk Jonkers,et al.  The Architecture of the ArchiMate Language , 2009, BMMDS/EMMSAD.

[51]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[52]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[53]  Ibm Redbooks,et al.  Patterns: Service Oriented Architecture And Web Services , 2004 .

[54]  Mauro Conti,et al.  Advertising in the IoT Era: Vision and Challenges , 2018, IEEE Communications Magazine.

[55]  Antonio Puliafito,et al.  Stack4Things: Integrating IoT with OpenStack in a Smart City context , 2014, 2014 International Conference on Smart Computing Workshops.

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

[57]  Iain Robertson テクノロジー活用最前線 プライベートクラウドを作る「OpenStack」 ネット、ストレージも統合 完全自動化で構築を迅速化 , 2015 .

[58]  Reza Dorrigiv,et al.  A single-node datastore for high-velocity multidimensional sensor data , 2017, 2017 IEEE International Conference on Big Data (Big Data).

[59]  Abdulrahman Alreshidi,et al.  Architecting Software for the Internet of Thing Based Systems , 2019, Future Internet.

[60]  Juha-Pekka Soininen,et al.  Enabling End-Users to Configure Smart Environments , 2011, 2011 IEEE/IPSJ International Symposium on Applications and the Internet.

[61]  Peyman Oreizy,et al.  xADL: enabling architecture-centric tool integration with XML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[62]  Xiao Kehui,et al.  Smart water-saving irrigation system in precision agriculture based on wireless sensor network. , 2010 .

[63]  James R. Lewis,et al.  IBM computer usability satisfaction questionnaires: Psychometric evaluation and instructions for use , 1995, Int. J. Hum. Comput. Interact..

[64]  Dean Wampler,et al.  Programming Scala - Scalability = Functional Programming + Objects , 2009 .

[65]  Nathan Marz,et al.  Big Data: Principles and best practices of scalable realtime data systems , 2015 .

[66]  Sasu Tarkoma,et al.  Publish / Subscribe Systems: Design and Principles , 2012 .

[67]  Kazem Sohraby,et al.  IoT Considerations, Requirements, and Architectures for Smart Buildings—Energy Optimization and Next-Generation Building Management Systems , 2017, IEEE Internet of Things Journal.

[68]  Fabian Hueske,et al.  Apache Flink , 2019, Encyclopedia of Big Data Technologies.

[69]  James R. Lewis,et al.  Psychometric Evaluation of the PSSUQ Using Data from Five Years of Usability Studies , 2002, Int. J. Hum. Comput. Interact..

[70]  Abhirup Khanna,et al.  IoT based smart parking system , 2018, 2016 International Conference on Internet of Things and Applications (IOTA).

[71]  Zhang Zhen,et al.  A Crop Monitoring System Based on Wireless Sensor Network , 2011 .

[72]  Pascal Vasseur,et al.  Introduction to Multisensor Data Fusion , 2005, The Industrial Information Technology Handbook.

[73]  Norbert Ritter,et al.  NoSQL database systems: a survey and decision guidance , 2017, Computer Science - Research and Development.

[74]  Enio Kaljic,et al.  Design of a domain specific language and IDE for Internet of things applications , 2015, 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[75]  Carlos Alberto Kamienski,et al.  Connecting the Internet of Things rapidly through a model driven approach , 2016, 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT).

[76]  Philippe Kruchten,et al.  The Past, Present, and Future for Software Architecture , 2006, IEEE Software.