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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. ACM Trans. on Programming Languages and Systems 16(5), 1512–1542 (1994)
Cavalcanti, A., Gaudel, M.C.: Testing for refinement in Circus. Acta Inf. 48(2), 97–147 (2011)
Roscoe, A.W., et al.: Model-checking CSP. A classical mind: essays in honour of CAR Hoare, pp. 353–378 (1994)
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)
Mota, A., Sampaio, A.: Model-checking CSP-Z: strategy, tool support and industrial application. Science of Computer Programming 40(1), 59–96 (2001)
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)
Rossi, F., van Beek, P., Walsh, T. (eds.): Handbook of Constraint Programming. Elsevier (2006)
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)
Fowler, M.: Domain Specific Languages, 1st edn. Addison-Wesley Professional (2010)
Corradini, A., Heckel, R., Montanari, U.: Graphical Operational Semantics. In: ICALP Satellite Workshops, pp. 411–418 (2000)
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)
Verdejo, A., Marti-Oliet, N.: Executing and Verifying CCS in Maude. Technical report, Dpto. Sist. Informaticos y Programacion, Univ. Complutense de (2002)
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)
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)
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)
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)
Freitas, L.: Model Checking Circus. PhD thesis, University of York (2005)
Morgan, C.: Programming from Specifications. Prentice-Hall, Inc., Upper Saddle River (1990)
Bryans, J., Galloway, A., Woodcock, J.: COMPASS deliverable D23.2. Technical report (2013), http://www.compass-research.eu/
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)
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)
Object Management Group (OMG): Systems Modelling Language (SysML) 1.3. website (June 2012)
Palikareva, H., Ouaknine, J., Roscoe, A.W.: SAT-solving in CSP Trace Refinement. Sci. Comput. Program. 77(10-11), 1178–1197 (2012)
Bjørner, N., McMillan, K., Rybalchenko, A.: Program Verification as Satisfiability Modulo Theories. In: SMT Workshop (July 2012)
Alberti, F., Bruttomesso, R., Ghilardi, S., Ranise, S., Sharygina, N.: Reachability Modulo Theory Library (Extended abstract). In: SMT Workshop (July 2012)
Rosu, G., Serbanuta, T.F.: K Overview and SIMPLE Case Study. In: Proceedings of International K Workshop (K 2011). ENTCS. Elsevier (2013) (to appear)
Hoare, T., He, J.: Unifying theories of programming, vol. 14. Prentice Hall, Englewood Cliffs (1998)
Lazić, R.: A Semantic Study of Data-independence with Applications to the Mechanical Verification of Concurrent Systems. PhD thesis, Oxford University (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)