Skip to main content

Compositional abstraction ofCSP Z 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. A. Aho, R. Sethi, and J. Ullman.Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.

  2. T. Ball and et al. SLAM and static driver verifier: Technology transfer of formal methods inside microsoft. In E. Boiten, J. Derrick, and G. Smith, editors,Integrated Formal Methods (IFM 2004), volume 2999 ofLNCS, pages 1–20. Springer, 2004.

  3. A. Cavalcanti, A. Sampaio, and J. Woodcock. Unifying classes and processes.Software and Systems Modeling, 40(3):277–296, 2005.

    Google Scholar 

  4. E. Clarke and et al. Predicate abstraction of ANSI-C programs using SAT.Formal Methods in System Design (FMSD), 25:105–127, 2004.

    MATH  Article  Google Scholar 

  5. E. Clarke, O. Grumberg, and D. Peled.Model Checking. The MIT Press, 1999.

  6. P. Cousot and R. Cousot. Abstract interpretation frameworks.J. Logic. and Comp., 2(4):511–547, 1992.

    MATH  Article  MathSciNet  Google Scholar 

  7. J. Derrick and H. Wehrheim. On using data abstractions for model checking refinements.Acta Informatica, 44(1):41–71, 2007.

    MATH  Article  MathSciNet  Google Scholar 

  8. A. Farias, A. Mota, and A. Sampaio. Efficient CSPZ data abstraction. In Erke Boiten, J. Derrick, and G. Smith, editors,Integrated Formal Methods (IFM 2004), volume 2999 ofLNCS, pages 108 – 127. Springer, 2004.

  9. C. Fischer.Combination and Implementation of Processes and Data: from CSP-OZ to Java. PhD thesis, Fachbereich Informatik Universität Oldenburg, 2000.

  10. M. Goldsmith.FDR: User Manual and Tutorial, version 2.77. Formal Systems (Europe) Ltd, August 2001.

  11. S. Graf and H. Saidi. Construction of abstract state graphs with PVS. In O. Grumberg, editor,Proc. 9th International Conference on Computer Aided Verification (CAV’97), volume 1254, pages 72–83. LNCS, 1997.

  12. T. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. Lazy abstraction. InProceedings of the 29th Annual Symposium on Principles of Programming Languages (POPL), pages 58–70. ACM Press, 2002.

  13. J. Larrecq and I. Mackie.Proof Theory and Automated Deduction, volume 6 ofApplied Logic Series. Kluwer Academic Publishers, May 1997.

  14. R. Lazić.A semantic study of data-independence with applications to the mechanical verification of concurrent systems. PhD thesis, OUCL, 1999.

  15. K. McMillan. Verification of infinite state systems by compositional model checking. InCorrect Hardware Design and Verification Methods, pages 219–234, 1999.

  16. A. Mota, P. Borba, and A. Sampaio. Mechanical abstraction of CSP-Z processes. In L.H. Eriksson and P. Lindsay, editors,Formal Methods Europe (FME’2002), volume 2391 of LNCS, pages 163–183, 2002.

  17. A. Mota and A. Sampaio. Model-checking CSPZ: Strategy, tool support and industrial application.SCP, 40:59–96, 2001.

    MATH  Google Scholar 

  18. A. Roscoe.The Theory and Practice of Concurrency. Prentice Hall, 1998.

  19. H. Treharne and S. Schneider. Using a process algebra to control B operations. Technical Report CSDTR-99–01, University of London, 1999.

  20. H. Treharne, S. Schneider, and M. Bramble. Combining specification with composition. InZB2003, volume 2651, pages 58–78. LNCS, 2003.

  21. H. Wehrheim. Data abstraction for CSP-OZ. In J.Woodcock and J.Wing, editors,FM’99 World Congress on Formal Methods, volume 1709. LNCS, Springer, 1999.

  22. J. Woodcock and J. Davies.Using Z: Specification, Refinement, and Proof. Prentice Hall, 1996.

Download references

Author information



Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

Farias, A., Mota, A. & Sampaio, A. Compositional abstraction ofCSP Z processes. J Braz Comp Soc 14, 23–44 (2008).

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI:


  • Formal Methods
  • Model Checking
  • Data Abstraction
  • CSP
  • Z
  • Compositionality