Industrial IoT (IIoT) architectures are typically distributed and asynchronous with event-driven communication, e.g. based on the publication (and corresponding subscription) of messages. These asynchronous architectures enhance scalability and tolerance to changes, but raise interoperability issues as the explicit knowledge of the internal structure of the messages and their categorization (topics) is diluted. And this is just one of the challenges IIoT systems face. The heterogeneity of devices at the edge and fog layers and the unexpected changes in the dynamic environment impact their quality of service (QoS). In this talk we will review these challenges and explore how model-based techniques can help to create better IIoT systems faster (e.g. see our modeling editor and code generator for event-driven architectures with AsyncAPI). Indeed, modeling can help in all phases of the IIoT life-cycle. At design time, by facilitating the definition of the message format. At development time by semi-automatically generating client code to read and write correct message payloads. At runtime by monitoring and executing self-adaptation rules that optimize its QoS.
This is the abstract of the keynote I’ll be giving at 3rd International Workshop on Software Engineering Research & Practices for the Internet of Things (SERP4IoT 2021), co-located with ICSE 201. This workshop aims to provide a highly interactive forum for researchers and practitioners to address the challenges of, find solutions for, and share experiences with the development, release, and testing of robust software for IoT devices.
Right now, this post is a kind of placeholder that I’ll be using, when the date of keynote approaches, to provide updates on its content. In the meantime, feel free to comment with suggestions of topics/tools/challenges I should not miss!.