Konstantinos Panayiotou, Constantine Doumanidis, Emmanouil Tsardoulias, Andreas L. Symeonidis
{"title":"SmAuto: A domain-specific-language for application development in smart environments","authors":"Konstantinos Panayiotou, Constantine Doumanidis, Emmanouil Tsardoulias, Andreas L. Symeonidis","doi":"10.1016/j.pmcj.2024.101931","DOIUrl":null,"url":null,"abstract":"<div><p>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 <em>SmAuto</em>, a Domain-specific Language (DSL) is proposed for creating and executing automation tasks for smart environments. Through <em>SmAuto</em> 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 <em>SmAuto</em> 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.</p></div>","PeriodicalId":49005,"journal":{"name":"Pervasive and Mobile Computing","volume":"101 ","pages":"Article 101931"},"PeriodicalIF":3.0000,"publicationDate":"2024-04-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Pervasive and Mobile Computing","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1574119224000579","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
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.
期刊介绍:
As envisioned by Mark Weiser as early as 1991, pervasive computing systems and services have truly become integral parts of our daily lives. Tremendous developments in a multitude of technologies ranging from personalized and embedded smart devices (e.g., smartphones, sensors, wearables, IoTs, etc.) to ubiquitous connectivity, via a variety of wireless mobile communications and cognitive networking infrastructures, to advanced computing techniques (including edge, fog and cloud) and user-friendly middleware services and platforms have significantly contributed to the unprecedented advances in pervasive and mobile computing. Cutting-edge applications and paradigms have evolved, such as cyber-physical systems and smart environments (e.g., smart city, smart energy, smart transportation, smart healthcare, etc.) that also involve human in the loop through social interactions and participatory and/or mobile crowd sensing, for example. The goal of pervasive computing systems is to improve human experience and quality of life, without explicit awareness of the underlying communications and computing technologies.
The Pervasive and Mobile Computing Journal (PMC) is a high-impact, peer-reviewed technical journal that publishes high-quality scientific articles spanning theory and practice, and covering all aspects of pervasive and mobile computing and systems.