2021
|
Journal ArticleAbel Gómez, Markel Iglesias-Urkia, Lorea Belategi, Xabier Mendialdua, Jordi Cabot Model-driven development of asynchronous message-driven architectures with AsyncAPI In: Software and Systems Modeling, 2021. Abstract | Links | BibTeX | Tags: AsyncAPI, Cyber-Physical Systems (CPS), Internet of Things (IoT), Publish-Subscribe @article{Gomez:SoSym:2021,
title = {Model-driven development of asynchronous message-driven architectures with AsyncAPI},
author = {Abel G\'{o}mez and Markel Iglesias-Urkia and Lorea Belategi and Xabier Mendialdua and Jordi Cabot},
url = {https://doi.org/10.1007/s10270-021-00945-3},
doi = {10.1007/s10270-021-00945-3},
year = {2021},
date = {2021-12-02},
urldate = {2021-12-01},
journal = {Software and Systems Modeling},
publisher = {Springer Science and Business Media LLC},
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.},
keywords = {AsyncAPI, Cyber-Physical Systems (CPS), Internet of Things (IoT), Publish-Subscribe},
pubstate = {published},
tppubtype = {article}
}
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. Full Text AvailableOpen Access |
2019
|
ConferenceAbel Gómez, Iker Fernandez de Larrea, Markel Iglesias-Urkia, Beatriz Lopez-Davalillo, Aitor Urbieta, Jordi Cabot Una Aproximación Basada en Modelos para la Definición de Arquitecturas Asíncronas Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), Sistedes, 2019. Abstract | Links | BibTeX | Tags: AsyncAPI, Asynchronous Architechtures, Cyber-Physical Systems (CPS), Publish-Subscribe @conference{Gomez:JISBD:2019b,
title = {Una Aproximaci\'{o}n Basada en Modelos para la Definici\'{o}n de Arquitecturas As\'{i}ncronas},
author = {Abel G\'{o}mez and Iker Fernandez de Larrea and Markel Iglesias-Urkia and Beatriz Lopez-Davalillo and Aitor Urbieta and Jordi Cabot},
editor = {Jennifer P\'{e}rez},
url = {http://hdl.handle.net/11705/JISBD/2019/035},
year = {2019},
date = {2019-09-02},
booktitle = {Actas de las XXIV Jornadas de Ingenier\'{i}a del Software y Bases de Datos (JISBD 2019)},
publisher = {Sistedes},
abstract = {En la nueva era del Internet de las cosas (IoT), nuestros objetos cotidianos se han convertido en los llamados sistemas ciberf\'{i}sicos (CPS). El uso y despliegue de los CPS ha calado especialmente en la industria, dando lugar a la llamada Industria 4.0 o IoT Industrial (IIoT). T\'{i}picamente, las arquitecturas IIoT son distribuidas y as\'{i}ncronas, estando la comunicaci\'{o}n guiada por eventos como por ejemplo la publicaci\'{o}n (y correspondiente suscripci\'{o}n) a mensajes. No obstante, las mejoras en escalabilidad y tolerancia al cambio de estas arquitecturas tienen sus desventajas, y es f\'{a}cil que el conocimiento sobre los mensajes y su categorizaci\'{o}n (topics) se diluya entre los elementos de la arquitectura, dando lugar a problemas de interoperabilidad entre los agentes implicados. En este art\'{i}culo, presentamos nuestra propuesta para automatizar el dise\~{n}o e implementaci\'{o}n de estas arquitecturas mediante t\'{e}cnicas basadas en modelos. Para ello nos apoyamos en AsyncAPI, una propuesta para la especificaci\'{o}n de API dirigidas por mensajes.},
keywords = {AsyncAPI, Asynchronous Architechtures, Cyber-Physical Systems (CPS), Publish-Subscribe},
pubstate = {published},
tppubtype = {conference}
}
En la nueva era del Internet de las cosas (IoT), nuestros objetos cotidianos se han convertido en los llamados sistemas ciberfísicos (CPS). El uso y despliegue de los CPS ha calado especialmente en la industria, dando lugar a la llamada Industria 4.0 o IoT Industrial (IIoT). Típicamente, las arquitecturas IIoT son distribuidas y asíncronas, estando la comunicación guiada por eventos como por ejemplo la publicación (y correspondiente suscripción) a mensajes. No obstante, las mejoras en escalabilidad y tolerancia al cambio de estas arquitecturas tienen sus desventajas, y es fácil que el conocimiento sobre los mensajes y su categorización (topics) se diluya entre los elementos de la arquitectura, dando lugar a problemas de interoperabilidad entre los agentes implicados. En este artículo, presentamos nuestra propuesta para automatizar el diseño e implementación de estas arquitecturas mediante técnicas basadas en modelos. Para ello nos apoyamos en AsyncAPI, una propuesta para la especificación de API dirigidas por mensajes. Open AccessSpanish |
Journal ArticleAbel Gómez, Ricardo J. Rodríguez, María-Emilia Cambronero, Valentín Valero Profiling the publish/subscribe paradigm for automated analysis using colored Petri nets In: Software & Systems Modeling, vol. 18, no. 5, pp. 2973-3003, 2019, ISSN: 1619-1374. Abstract | Links | BibTeX | Tags: CPN Tools, Model Transformation (MT), Model-Driven Engineering (MDE), Petri net (PN), Publish-Subscribe, Unified Modeling Language (UML) @article{G\'{o}mez2019b,
title = {Profiling the publish/subscribe paradigm for automated analysis using colored Petri nets},
author = {Abel G\'{o}mez and Ricardo J. Rodr\'{i}guez and Mar\'{i}a-Emilia Cambronero and Valent\'{i}n Valero},
doi = {10.1007/s10270-019-00716-1},
issn = {1619-1374},
year = {2019},
date = {2019-01-22},
journal = {Software \& Systems Modeling},
volume = {18},
number = {5},
pages = {2973-3003},
abstract = {UML sequence diagrams are used to graphically describe the message interactions between the objects participating in a certain scenario. Combined fragments extend the basic functionality of UML sequence diagrams with control structures, such as sequences, alternatives, iterations, or parallels. In this paper, we present a UML profile to annotate sequence diagrams with combined fragments to model timed Web services with distributed resources under the publish/subscribe paradigm. This profile is exploited to automatically obtain a representation of the system based on Colored Petri nets using a novel model-to-model (M2M) transformation. This M2M transformation has been specified using QVT and has been integrated in a new add-on extending a state-of-the-art UML modeling tool. Generated Petri nets can be immediately used in well-known Petri net software, such as CPN Tools, to analyze the system behavior. Hence, our model-to-model transformation tool allows for simulating the system and finding design errors in early stages of system development, which enables us to fix them at these early phases and thus potentially saving development costs.},
keywords = {CPN Tools, Model Transformation (MT), Model-Driven Engineering (MDE), Petri net (PN), Publish-Subscribe, Unified Modeling Language (UML)},
pubstate = {published},
tppubtype = {article}
}
UML sequence diagrams are used to graphically describe the message interactions between the objects participating in a certain scenario. Combined fragments extend the basic functionality of UML sequence diagrams with control structures, such as sequences, alternatives, iterations, or parallels. In this paper, we present a UML profile to annotate sequence diagrams with combined fragments to model timed Web services with distributed resources under the publish/subscribe paradigm. This profile is exploited to automatically obtain a representation of the system based on Colored Petri nets using a novel model-to-model (M2M) transformation. This M2M transformation has been specified using QVT and has been integrated in a new add-on extending a state-of-the-art UML modeling tool. Generated Petri nets can be immediately used in well-known Petri net software, such as CPN Tools, to analyze the system behavior. Hence, our model-to-model transformation tool allows for simulating the system and finding design errors in early stages of system development, which enables us to fix them at these early phases and thus potentially saving development costs. Full Text AvailableOpen Access |