IEEE Access (Jan 2020)
BIoTA: A Buildout IoT Application Language
Abstract
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.
Keywords