Model-checking Distributed Components: The Vercors Platform

This article presents a component verification platform called Vercors providing means to analyse the behaviour properties of applications built from distributed components. From the behavioural specification of primitive components, and from the architectural description of the composite components, our tools build models encoding the interactions between the components, suitable for analysis by model-checking tools. The models are hierarchical and parameterized, expressing in a compact way the system behaviour. Then we have tools for instantiating those parameterized models using finite abstractions, and producing input for state-of-the-art verification tools. Our current work also targets the generation of models that include controllers modelling the dynamic management of architectural transformation of an application, such as changes in bindings or replacement of sub-components. We describe the existing tools, give tracks for further developments and show how realistic case-studies can be model-checked using our platform.

[1]  Jan Kofron,et al.  Model Checking of Component Behavior Specification: A Real Life Experience , 2006, Electron. Notes Theor. Comput. Sci..

[2]  Elie Najm,et al.  Behavioural Contracts for a Sound Assembly of Components , 2003, FORTE.

[3]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Rabéa Ameur-Boulifa,et al.  Parameterized Models for Distributed Java Objects , 2004, FORTE.

[5]  Radu Mateescu,et al.  An overview of CADP 2001 , 2001 .

[6]  Rance Cleaveland,et al.  Testing-Based Abstractions for Value-Passing Systems , 1994, CONCUR.

[7]  Huimin Lin,et al.  Symbolic Transition Graph with Assignment , 1996, CONCUR.

[8]  Ludovic Henrio,et al.  Behavioural Models for Hierarchical Components , 2005, SPIN.

[9]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[10]  Ludovic Henrio,et al.  Verification of Distributed Hierarchical Components , 2006, FACS.

[11]  E. Madelaine Verification Tools from the CONCUR project , 1992 .

[12]  Frédéric Lang,et al.  Exp.Open 2.0: A Flexible Tool Integrating Partial Order, Compositional, and On-The-Fly Verification Methods , 2005, IFM.

[13]  Antonio Cansado,et al.  Formal specification and verification of distributed component systems , 2005 .

[14]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[15]  André Arnold,et al.  Nivat's processes and their synchronization , 2002, Theor. Comput. Sci..