cid c72c130e6cd4f0eeaf7ecd2d1f61ea9f87c5cfcab7eb36c07be875e0fb524329 · original · open access · via openalex
Title: Model-driven development of asynchronous message-driven architectures with AsyncAPI Authors: Abel Gómez; Markel Iglesias-Urkia; Lorea Belategi; Xabier Mendialdua; Jordi Cabot Venue: Software & Systems Modeling Year: 2021 Canonical: doi:10.1007/s10270-021-00945-3 URL: https://doi.org/10.1007/s10270-021-00945-3 Collector: openalex OA: true ABSTRACT Abstract In the Internet-of-Things (IoT) vision, everyday objects evolve into cyber-physical systems. The massive use and deployment of these systems has given place to the Industry 4.0 or Industrial IoT (IIoT). Due to its scalability requirements, IIoT architectures are typically distributed and asynchronous. In this scenario, one of the most widely used paradigms is publish/subscribe, where messages are sent and received based on a set of categories or topics. However, these architectures face interoperability challenges. Consistency in message categories and structure is the key to avoid potential losses of information. Ensuring this consistency requires complex data processing logic both on the publisher and the subscriber sides. In this paper, we present our proposal relying on AsyncAPI to automate the design and implementation of these asynchronous architectures using model-driven techniques for the generation of (part of) message-driven infrastructures. Our proposal offers two different ways of designing the architectures: either graphically, by modeling and annotating the messages that are sent among the different IoT devices, or textually, by implementing an editor compliant with the AsyncAPI specification. We have evaluated our proposal by conducting a set of experiments with 25 subjects with different expertise and background. The experiments show that one-third of the subjects were able to design and implement a working architecture in less than an hour without previous knowledge of our proposal, and an additional one-third estimated that they would only need less than two hours in total.