Effective verification of systems with a dynamic number of components

In the paper, we present a novel approach to verification of dynamic component-based systems, the systems that can have a changing number of components over their life-time. We focus our attention on systems with a stable part (called provider) and a number of dynamic components of one type (called clients) because dynamic systems can be often decomposed into segments like this. Our method for verification of such systems is based on determining a number k of dynamic components, such that if a system is proved correct for any number lower than k, it is consequently correct for an arbitrarily large number of dynamic components. The paper aims not only in proving the propositions that state this, it concentrates also on bounding the set of dynamic systems and verifiable properties in a way, that k is relatively small and thus practically interesting. In addition to this, we present an algorithm for computing k.

[1]  James C. Corbett,et al.  Expressing checkable properties of dynamic systems: the Bandera Specification Language , 2002, International Journal on Software Tools for Technology Transfer.

[2]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

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

[4]  Lubos Brim,et al.  Component-Interaction Automata Approach (CoIn) , 2007, CoCoME.

[5]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[6]  Ivana Černá,et al.  Component-Interaction Automata Modelling Language , 2006 .

[7]  Lubos Brim,et al.  DiVinE - A Tool for Distributed Verification , 2006, CAV.

[8]  Dániel Varró,et al.  Model Checking Graph Transformations: A Comparison of Two Approaches , 2004, ICGT.

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

[10]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[11]  Jirí Adámek Addressing Unbounded Parallelism in Verification of Software Components , 2006, Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD'06).