Skip to main content

Rapid Prototyping of a Semantically Well Founded Circus Model Checker

  • Conference paper
Software Engineering and Formal Methods (SEFM 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8702))

Included in the following conference series:

Abstract

Nowadays academia and industry use model checkers. These tools use search-based algorithms to check the satisfaction of some property f in M. Formally, M ⊧ f, where M is a transition system representation of a specification written in a language L. Such a representation may come from the semantics of L. This paper presents a rapid prototyping of a model checker development strategy for Circus  based on its operational semantics. We capture this semantics with the Microsoft FORMULA framework and use it to analyse (deadlock, livelock, and nondeterminism of) Circus specifications. As FORMULA supports SMT-solving, we can handle infinite data communications and predicates. Furthermore, we create a semantically well founded Circus model checker as long as executing FORMULA is equivalent to reasoning with First-Order Logic (Clark completion). We illustrate the use of the model-checker with an extract of an industrial case study.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. ACM Trans. on Programming Languages and Systems 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  2. Cavalcanti, A., Gaudel, M.C.: Testing for refinement in Circus. Acta Inf. 48(2), 97–147 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  3. Roscoe, A.W., et al.: Model-checking CSP. A classical mind: essays in honour of CAR Hoare, pp. 353–378 (1994)

    Google Scholar 

  4. Liu, Y., Sun, J., Dong, J.: Developing Model Checkers Using PAT. In: Bouajjani, A., Chin, W.-N. (eds.) ATVA 2010. LNCS, vol. 6252, pp. 371–377. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Mota, A., Sampaio, A.: Model-checking CSP-Z: strategy, tool support and industrial application. Science of Computer Programming 40(1), 59–96 (2001)

    Article  MATH  Google Scholar 

  6. Jackson, E.K., Levendovszky, T., Balasubramanian, D.: Reasoning about metamodeling with formal specifications and automatic proofs. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 653–667. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  7. Rossi, F., van Beek, P., Walsh, T. (eds.): Handbook of Constraint Programming. Elsevier (2006)

    Google Scholar 

  8. De Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Fowler, M.: Domain Specific Languages, 1st edn. Addison-Wesley Professional (2010)

    Google Scholar 

  10. Corradini, A., Heckel, R., Montanari, U.: Graphical Operational Semantics. In: ICALP Satellite Workshops, pp. 411–418 (2000)

    Google Scholar 

  11. Leuschel, M.: Design and Implementation of the High-Level Specification Language CSP(LP) in Prolog. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 14–28. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Verdejo, A., Marti-Oliet, N.: Executing and Verifying CCS in Maude. Technical report, Dpto. Sist. Informaticos y Programacion, Univ. Complutense de (2002)

    Google Scholar 

  13. Visser, E.: Program transformation with Stratego/XT. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  14. Dan, L.: QVT Based Model Transformation from Sequence Diagram to CSP. In: 2010 15th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 349–354 (2010)

    Google Scholar 

  15. Liu, Y.A., Stoller, S.D.: From datalog rules to efficient programs with time and space guarantees. ACM Trans. Program. Lang. Syst. 31(6), 21:1–21:38 (2009)

    Google Scholar 

  16. Dao-Tran, M., Eiter, T., Fink, M., Krennwallner, T.: First-Order Encodings for Modular Nonmonotonic Datalog Programs. In: de Moor, O., Gottlob, G., Furche, T., Sellers, A. (eds.) Datalog 2010. LNCS, vol. 6702, pp. 59–77. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  17. Freitas, L.: Model Checking Circus. PhD thesis, University of York (2005)

    Google Scholar 

  18. Morgan, C.: Programming from Specifications. Prentice-Hall, Inc., Upper Saddle River (1990)

    MATH  Google Scholar 

  19. Bryans, J., Galloway, A., Woodcock, J.: COMPASS deliverable D23.2. Technical report (2013), http://www.compass-research.eu/

  20. Andrews, Z., Payne, R., Romanovsky, A., Didier, A., Mota, A.: Model-based development of fault tolerant systems of systems. In: 2013 IEEE International Systems Conference (SysCon), pp. 356–363 (2013)

    Google Scholar 

  21. Andrews, Z., Didier, A., Payne, R., Ingram, C., Holt, J., Perry, S., Oliveira, M., Woodcock, J., Mota, A., Romanovsky, A.: Report on timed fault tree analysis — fault modelling. Technical Report D24.2, COMPASS (September 2013)

    Google Scholar 

  22. Object Management Group (OMG): Systems Modelling Language (SysML) 1.3. website (June 2012)

    Google Scholar 

  23. Palikareva, H., Ouaknine, J., Roscoe, A.W.: SAT-solving in CSP Trace Refinement. Sci. Comput. Program. 77(10-11), 1178–1197 (2012)

    Article  MATH  Google Scholar 

  24. Bjørner, N., McMillan, K., Rybalchenko, A.: Program Verification as Satisfiability Modulo Theories. In: SMT Workshop (July 2012)

    Google Scholar 

  25. Alberti, F., Bruttomesso, R., Ghilardi, S., Ranise, S., Sharygina, N.: Reachability Modulo Theory Library (Extended abstract). In: SMT Workshop (July 2012)

    Google Scholar 

  26. Rosu, G., Serbanuta, T.F.: K Overview and SIMPLE Case Study. In: Proceedings of International K Workshop (K 2011). ENTCS. Elsevier (2013) (to appear)

    Google Scholar 

  27. Hoare, T., He, J.: Unifying theories of programming, vol. 14. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  28. Lazić, R.: A Semantic Study of Data-independence with Applications to the Mechanical Verification of Concurrent Systems. PhD thesis, Oxford University (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Mota, A., Farias, A., Didier, A., Woodcock, J. (2014). Rapid Prototyping of a Semantically Well Founded Circus Model Checker. In: Giannakopoulou, D., Salaün, G. (eds) Software Engineering and Formal Methods. SEFM 2014. Lecture Notes in Computer Science, vol 8702. Springer, Cham. https://doi.org/10.1007/978-3-319-10431-7_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-10431-7_17

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-10430-0

  • Online ISBN: 978-3-319-10431-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics