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.
Highlights
DDomain-Specific Languages (DSLs) may assist the development of a wide variety of complex applications
We summarize the main contributions of this paper as: 1) The BIoTA DSL Language provides a framework and streamlines the development of Internet of Things (IoT) software architectures
This paper proposed BIoTA, a new domain-specific language that allows the creation of software architectures for IoT applications, facilitating the work of software developers and architects
Summary
DDomain-Specific Languages (DSLs) may assist the development of a wide variety of complex applications.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.