Loading…
SmAuto: A domain-specific-language for application development in smart environments
A common problem in the development of Internet-of-Things (IoT) and Cyber-Physical System (CPS) applications is the complexity of these domains, due to their hybrid and distributed nature in multiple layers (hardware, network, communication, application etc.). Apart from other issues, this inherent...
Saved in:
Published in: | Pervasive and mobile computing 2024-07, Vol.101, p.101931, Article 101931 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | A common problem in the development of Internet-of-Things (IoT) and Cyber-Physical System (CPS) applications is the complexity of these domains, due to their hybrid and distributed nature in multiple layers (hardware, network, communication, application etc.). Apart from other issues, this inherent complexity often gives room for implementation errors, which can be in many cases fatal and drive the application and/or the system to undesired states. The current work aspires to alleviate this problem by introducing a low-code approach for building IoT and CPS applications. We argue that, through the proposed approach it is possible to lower development time and risk (errors/bug-related ones) and allow a wide range of end-users to build and monitor applications for state-of-the-art domains, such as smart home and smart industry. In this context, Model-Driven Engineering (MDE) approaches are explored and SmAuto, a Domain-specific Language (DSL) is proposed for creating and executing automation tasks for smart environments. Through SmAuto it is possible to handle the heterogeneity and complexity issues of the IoT and CPS domains, this way allowing end-users are non-technical application experts to build well-designed and properly functioning smart applications. The proposed DSL implements a Sense-Think-Act-Communicate model for smart environments and enables the creation, validation, and dynamic execution of composite automation models in physical, virtual and hybrid environments, while it also enables automated code generation of virtual entities for verification purposes. By using layered abstractions to automate the development process, end-users can concentrate on the real problem instead of dwelling into technical details, thus increasing their productivity. The results of the empirical evaluation and the comparison to existing approaches show that SmAuto can make application development more rigorous, improves productivity of end-users including non-experts, i.e. citizen developers and satisfies several functional and non-functional requirements of modern DSLs, such as tool support, modular deployment, reusability, availability and extensibility.
•Model-driven application development paradigm for cyber-physical environments•An open-source, extensible DSL for application development in smart environments.•Automated generation of ready to deploy software for smart environments. |
---|---|
ISSN: | 1574-1192 1873-1589 |
DOI: | 10.1016/j.pmcj.2024.101931 |