Mathematics (Mar 2023)
Modeling Languages for Internet of Things (IoT) Applications: A Comparative Analysis Study
Abstract
Modeling languages have gained ever-increasing importance for the Internet of Things (IoT) domain for improving the productivity and quality of IoT developments. In this study, we analyzed 32 different modeling languages that have been designed for IoT software development in terms of a set of requirements that were categorized into three groups: language definition, language features, and tool support. Some key findings are as follows: (1) performance is the most supported quality property (28%); (2) most languages offer a visual notation set only, while 6% provide both textual and visual notation sets; (3) most languages (88%) lack formally precise semantic definitions; (4) most languages (94%) support the physical, deployment, and logical modeling viewpoints, while the behavior, logical, and information viewpoints are rarely supported; (5) almost none of the languages enable extensibility; (6) Java (34%) and C (21%) are the most preferred programming languages for model transformation; (7) consistency (77%) and completeness (64%) are the most supported properties for the automated checking of models; and (8) most languages (81%) are not supported with any websites for sharing case studies, source code, tools, tutorials, etc. The analysis results can be useful for language engineers, practitioners, and tool vendors for better understanding the existing languages for IoT, their weak and strong points, and IoT industries’ needs in future language and modeling toolset developments.
Keywords