Database of Research Tools Developed Using CADP

IoT Composer Tool for Building and Designing IoT Applications

Organisation: Nokia Bell Labs, Nozay (FRANCE)
CONVECS project-team, Inria Grenoble Rhône Alpes and LIG, Grenoble (FRANCE)

Functionality: Internet of Things.

Tools used: CADP (Construction and Analysis of Distributed Processes)

Period: 2018-2019

Description: The Internet of Things (IoT) is a network of physical devices and software components that are connected together in order to exchange information and to fulfil an IoT service. IoT applications empower interconnected objects to build powerful and added-value services. The hardware devices used for building IoT applications are already available, but there are only a few management systems supporting the design, deployment, and maintenance of such applications. These tasks are particularly ambitious due to the specificities of IoT applications, which are by nature highly distributed, heterogeneous, and dynamic. Designing such concurrent applications is by nature a difficult and error-prone task. Moreover, IoT applications have to deal with heterogeneous IoT hardware and communication layers. Therefore, there is a need for a common model for specifying all objects and the way they interact altogether. Also, modern systems are no longer designed and implemented once-for-all, but they may evolve over time, which requires simple techniques for updating and changing those applications.

The IoT Composer tool supports all the steps of the design, composition, and deployment of an IoT application by selecting, configuring, and binding available objects. Given a repository of objects, the first step is to select (using an existing recommendation system) some objects as candidates to participate in the composition-to-be. Then, IoT Composer graphically exposes the interfaces of the selected objects and allows the user to bind interfaces with respect to the IoT service expected from the composition. This is the only step of the approach that requires human intervention, all the following steps being fully automated.

In a second step, from a set of selected objects and a set of bindings, an LNT formal description is generated, which is subsequently fed to the CADP verification toolbox to check several properties of interest. The most important one is compatibility, which consists in checking whether the set of objects and bindings will behave correctly, avoiding erroneous situations. The tool also allows the verification of other properties, such as the absence of deadlocks. If the selected objects and bindings are not satisfactory, the user can return to the first step to update the selection or bindings w.r.t. the feedback given during the verification step. The final step of the approach aims at generating a deployment plan that is executed for effectively configuring and running the application.

Conclusions: IoT Composer is a web application with an intuitive user interface. It has been applied to several real-world case studies for validation purposes, and it turns out to be very useful in simplifying the design of new IoT applications, especially in the smart home context.

A demonstration of IoT Composer is available on-line at:

Publications: [Krishna-LePallec-Mateescu-et-al-19] Ajay Krishna, Michel Le Pallec, Radu Mateescu, Ludovic Noirie, and Gwen Salaün. "IoT Composer: Composition and Deployment of IoT Applications". Proceedings of the 41st ACM/IEEE International Conference on Software Engineering ICSE'2019 (Montréal, Canada), pp. 19-22, May 2019.
Available on-line at:
or from the CADP Web site in PDF or PostScript

[Krishna-LePallec-Mateescu-et-al-19-b] Ajay Krishna, Michel Le Pallec, Radu Mateescu, Ludovic Noirie, and Gwen Salaün. "Rigorous Design and Deployment of IoT Applications". Proceedings of the 7th IEEE/ACM International Conference on Formal Methods in Software Engineering FormaliSE'2019 (Montréal, Canada), pp. 11-20, May 2019.
Available on-line at:
or from the CADP Web site in PDF or PostScript

Gwen Salaün
Inria Grenoble - Rhône-Alpes / CONVECS
655, avenue de l'Europe
38330 Montbonnot Saint-Martin
Email: Gwen.Salaun at

Further remarks: This tool, amongst others, is described on the CADP Web site:

Last modified: Thu Feb 11 12:23:11 2021.

Back to the CADP research tools page