Specifying and Verifying a Self-configuration Protocol for Distributed Applications in the Cloud using LNT and CADP
Gwen Salaün
19 March 2012, 14h00 - 19 March 2012, 15h00 Salle/Bat : 435/PCRI-N
Contact : Pascal Poizat
Activités de recherche :
Résumé :
In this talk, I will present first the LNT abstract specification
language. LNT is a simplified variant of the E-LOTOS standard that combines the best features of imperative programming languages and value-passing process algebras. LNT supports both the description of complex data types and of concurrent processes using the same user-friendly syntax. LNT formal operational semantics is defined in terms of Labelled Transition Systems.
Second, I will show how we use LNT and the CADP toolbox for specifying and verifying complex cloud computing protocols. Distributed applications in the cloud are composed of a set of virtual machines running a set of interconnected software components.
In this context, setting up, (re)configuring, and monitoring these applications is a real burden since a software application may depend on several remote software and virtual machine configurations. These management tasks involve many complex protocols, which fully automate these tasks while preserving application consistency.
In this talk, I will focus on a self-configuration protocol, which is able to configure a whole distributed application without requiring any centralized server. The high degree of parallelism involved in this protocol makes its design complicated and error-prone. Formal techniques and tools (LNT/CADP) helped to detect a bug in the protocol, and served as a workbench to experiment with several possible communication models.