Design & Modelling · November 23, 2021


FloWare is a novel model-driven approach proposed to reduce the effort required by experts to build IoT applications. It offers to covers all the stages of IoT applications construction, starting from the modelling to the development phase.


The FloWare approach, as described in Figure, requires the involvement of different actors in different phases for modelling and developing the application. Actors follow rigorous steps and use specific tools, entities (repository and database) and artefacts to ensure IoT application’s proper creation.

More generally, FloWare aims to combine the Software Product Line paradigm with the Flow-based programming paradigm’s potential.

Software Product Line is a modelling paradigm that allows model IoT applications using models, mainly Feature Models.

Flow-based programming is a paradigm that allows building IoT applications more efficiently than traditional methodologies.

For the design of the Feature models, we recommend using Feature IDE, an Eclipse Modelling Tool. It allows designing an IoT system feature model to represent an IoT scenario (for example, a Smart room) and IoT device feature model and verify the validity of the models designed.

To cover all the remaining phases of the FloWare approach, we provide FloWare Core, an open-source Javascript component. Specific information regarding FloWare Core, installing and using it, are available at the repository link.


Corradini, Flavio; Fedeli, Arianna; Fornari, Fabrizio; Polini, Andrea; Re, Barbara, FloWare: An Approach for IoT Support and Application Development, In: Enterprise, Business-Process and Information Systems Modeling, pp. 350–365, Springer, 2021.

F. Corradini, A. Fedeli, F. Fornari, A. Polini, and B. Re (2022) “FloWare: A Model-Driven Approach Fostering Reuse and  Customisation in IoT Applications Modelling and Development” – Journal of Software and Systems Modeling, 1-28