Compositional abstraction ofCSPZ processes

Data abstraction is a powerful technique to overcome state explosion in model checking. For CSPZ (a formal integration of the well-known specification languages CSP and Z), current approaches can mechanically abstract infinite domains (types) as long as they are not used in communications. This work presents a compositional and systematic approach to data abstract CSPZ specifications even when communications are based on infinite domains. Therefore, we deal with a larger class of specifications than the previous techniques. Our approach requires that the domains (used in communications) being abstracted do not affect the behaviour of the system (data independence). This criteria is used to achieve an internal partitioning of the specification in such a way that complementary techniques for abstracting data types can be applied to the components of the partition. Afterwards, the partial results can be compositionally combined to abstract the entire specification. We propose an algorithm that implements the partitioning and show the application of the entire approach to a real case study.

[1]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[2]  Stephan Merz,et al.  Model Checking , 2000 .

[3]  Steve A. Schneider,et al.  Using a Process Algebra to Control B Operations , 1999, IFM.

[4]  Heike Wehrheim,et al.  Data Abstraction for CSP-OZ , 1999, World Congress on Formal Methods.

[5]  John Derrick,et al.  On using data abstractions for model checking refinements , 2007, Acta Informatica.

[6]  Patrick Cousot,et al.  Abstract Interpretation Frameworks , 1992, J. Log. Comput..

[7]  Kenneth L. McMillan,et al.  Verification of Infinite State Systems by Compositional Model Checking , 1999, CHARME.

[8]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[9]  Augusto Sampaio,et al.  Model-checking CSP-Z: strategy, tool support and industrial application , 2001, Sci. Comput. Program..

[10]  Daniel Kroening,et al.  Predicate Abstraction of ANSI-C Programs Using SAT , 2004, Formal Methods Syst. Des..

[11]  Jean Goubault-Larrecq,et al.  Proof Theory and Automated Deduction , 1997 .

[12]  Augusto Sampaio,et al.  Mechanical Abstraction of CSPZ Processes , 2002, FME.

[13]  Augusto Sampaio,et al.  Efficient CSPZ Data Abstraction , 2004, IFM.

[14]  Augusto Sampaio,et al.  Unifying classes and processes , 2005, Software & Systems Modeling.

[15]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[16]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[17]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[18]  Sriram K. Rajamani,et al.  SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft , 2004, IFM.

[19]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.