Acta Informatica

, Volume 52, Issue 4–5, pp 337–392 | Cite as

Compositional verification of asynchronous concurrent systems using CADP

Original Article

Abstract

During the last decades, concurrency theory successfully developed salient concepts to formally model and soundly reason about distributed and parallel systems. In practice, however, most attempts at analyzing large systems face severe complexity issues, especially state explosion, which prevents to exhaustively enumerate reachable state spaces. Compositionality is the most promising approach to fight state explosion. In this article, we focus on finite-state verification techniques for asynchronous message-passing systems, highlighting the existence of multiple, diverse compositional techniques such as: compositional model generation, semi-composition and projection, automatic generation of projection interfaces, formula-dependent model generation, and partial model checking. These approaches have been implemented in the framework of the CADP (Construction and Analysis of Distributed Processes) software toolbox and applied to large-scale, industrial systems. A key point is the ability to combine several compositional techniques, as no single technique is sufficient to address all kinds of systems.

References

  1. 1.
    Aceto, L., Fokkink, W., Verhoef, C.: Structural Operational Semantics (Chapter 3), pp. 197–292. North-Holland, Amsterdam (2001)Google Scholar
  2. 2.
    Ajami, K., Haddad, S., Ilié, J.-M.: Exploiting symmetry in linear time temporal logic model checking: one step beyond. In: Proceedings of Tools and Algorithms for Construction and Analysis of Systems TACAS’98, Lecture Notes in Computer Science, vol. 1384, pp. 52–67. Springer (1998)Google Scholar
  3. 3.
    Andersen, H.R.: Model checking and boolean graphs. Theoret. Comput. Sci. 126(1), 3–30 (1994)MATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    Andersen, H.R.: Partial model checking. In: Proceedings of Logic in Computer Science LICS’95, pp. 398–407. IEEE (1995)Google Scholar
  5. 5.
    Andersen, H.R., Lind-Nielsen, J.: Partial model checking of modal equations: a survey. J. Softw. Tools Technol. Transf. 2, 242–259 (1999)MATHCrossRefGoogle Scholar
  6. 6.
    Andersen, H.R., Staunstrup, J., Maretti, N.: A comparison of modular verification techniques. In: Proceedings of CAAP/FASE’97, Lecture Notes in Computer Science, vol. 1214. Springer (1997)Google Scholar
  7. 7.
    Andersen, H.R., Staunstrup, J., Maretti, N.: Partial model checking with robdds. In: Proceedings of Tools and Algorithms for Construction and Analysis of Systems TACAS’97, Lecture Notes in Computer Science, vol. 1217. Springer (1997)Google Scholar
  8. 8.
    Andersen, H.R., Winskel, G.: Compositional checking of satisfaction. In: Proceedings of Computer Aided Verification CAV’91, Lecture Notes in Computer Science, vol. 575, pp. 24–36. Springer (1991)Google Scholar
  9. 9.
    Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M.Y., Zbar, Y.: The ForSpec temporal logic: a new temporal property-specification language. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’02, Lecture Notes in Computer Science, vol. 2280, pp. 296–211. Springer (2002)Google Scholar
  10. 10.
    Armstrong, P.J., Goldsmith, M., Lowe, G., Ouaknine, J., Palikareva, H., Roscoe, A.W., Worrell, J.: Recent developments in FDR. In: Proceedings of Computer Aided Verification CAV’12, Lecture Notes in Computer Science, vol. 7358, pp. 699–704. Springer (2012)Google Scholar
  11. 11.
    Arnold, A.: MEC: a system for constructing and analysing transition systems. In: Proceedings of Automatic Verification Methods for Finite State Systems CAV’89, Lecture Notes in Computer Science, vol. 407, pp. 117–132. Springer (1989)Google Scholar
  12. 12.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)MATHGoogle Scholar
  13. 13.
    Barbuti, R., de Francesco, N., Santone, A., Vaglini, G.: Selective mu-calculus and formula-based equivalence of transition systems. J. Comput. Syst. Sci. 59(3), 537–556 (1999)MATHCrossRefGoogle Scholar
  14. 14.
    Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Proceedings of Verification, Model Checking, and Abstract Interpretation VMCAI’04, Lecture Notes in Computer Science, vol. 2937, pp. 44–57. Springer (2004)Google Scholar
  15. 15.
    Basu, S., Ramakrishnan, C.R.: Compositional analysis for verification of parameterized systems. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’03, Lecture Notes in Computer Science, vol. 2619, pp. 315–330. Springer (2003)Google Scholar
  16. 16.
    Beer, I., Ben-David, S., Landver, A.: On-the-fly model checking of RCTL formulas. In: Proceedings of Computer Aided Verification CAV’98, Lecture Notes in Computer Science, vol. 1427, pp. 184–194. Springer (1998)Google Scholar
  17. 17.
    Berard, B., Laroussinie, F.: Verification compositionnelle des p-automates. Technical Report Lot 4.1, Réseau National des Technologies Logicielles, Project AVERROES (2003)Google Scholar
  18. 18.
    Bergstra, J.A., Klop, J.W.: Algebra of communicating processes with abstraction. Theoret. Comput. Sci. 37, 77–121 (1985)MATHMathSciNetCrossRefGoogle Scholar
  19. 19.
    Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)MATHGoogle Scholar
  20. 20.
    Blom, S., Orzan, S.: Distributed state space minimization. Softw. Tools Technol. Transf. 7(3), 280–291 (2005)CrossRefGoogle Scholar
  21. 21.
    Blom, S., van de Pol, J., Weber, M.: LTSmin: distributed and symbolic reachability. In: Proceedings of Computer Aided Verification CAV’10, Lecture Notes in Computer Science, vol. 6174, pp. 354–359. Springer (2010)Google Scholar
  22. 22.
    Bodentien, N., Vestergaard, J., Friis, J., Kristoffersen, K., Larsen, K.G.: Verification of state/event systems by quotienting. Technical Report RS-99-41, Basic Research in Computer Science (1999)Google Scholar
  23. 23.
    Bouajjani, A., Fernandez, J.-C., Graf, S., Rodríguez, C., Sifakis, J.: Safety for branching time semantics. In: Proceedings of ICALP. Springer (1991)Google Scholar
  24. 24.
    Bouali, A., Ressouche, A., Roy, V., de Simone, R.: The fc2tools set: a toolset for the verification of concurrent systems. In: Proceedings of Computer-Aided Verification CAV’96, Lecture Notes in Computer Science, vol. 1102. Springer (1996)Google Scholar
  25. 25.
    Bradfield, J.C., Stirling, C.: Modal Logics and Mu-Calculi: An Introduction (Chapter 4). Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  26. 26.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)MATHMathSciNetCrossRefGoogle Scholar
  27. 27.
    Cassez, F., Laroussinie, F.: Model-checking for hybrid systems by quotienting and constraints solving. In: Proceedings of Computer Aided Verification CAV’00, Lecture Notes in Computer Science, vol. 1855. Springer (2000)Google Scholar
  28. 28.
    Champelovier, D., Clerc, X., Garavel, H., Guerte, Y., McKinty, C., Powazny, V., Lang, F., Serwe, W., Smeding, G.: Reference Manual of the LNT to LOTOS Translator (Version 6.1). INRIA/VASY and INRIA/CONVECS (2014)Google Scholar
  29. 29.
    Chehaibar, G., Garavel, H., Mounier, L., Tawbi, N., Zulian, F.: Specification and verification of the powerscale bus arbitration protocol: An industrial experiment with lotos. In: Proceedings of Formal Description Techniques for Distributed Systems and Communication Protocols / Protocol Specification, Testing, and Verification FORTE/PSTV’96, pp. 435–450. IFIP, Chapman & Hall (1996)Google Scholar
  30. 30.
    Cheung, K.H.: Compositional Analysis of Complex Distributed Systems. PhD thesis, Department of Computer Science, Hong Kong University of Science and Technology, Hong Kong (1998)Google Scholar
  31. 31.
    Cheung, S.C., Kramer, J.: Enhancing compositional reachability analysis with context constraints. In: Proceedings of Foundations of Software Engineering, pp. 115–125. ACM Press (1993)Google Scholar
  32. 32.
    Cheung, S.C., Kramer, J.: Compositional reachability analysis of finite-state distributed systems with user-specified constraints. In: Proceedings of Foundations of Software Engineering, pp. 140–150. ACM Press (1995)Google Scholar
  33. 33.
    Cheung, S.C., Kramer, J.: Context constraints for compositional reachability. ACM Trans. Softw. Eng. Methodol. 5(4), 334–377 (1996)CrossRefGoogle Scholar
  34. 34.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  35. 35.
    Clarke, E.M., Emerson, E.A., Jha, S., Prasad Sistla, A.: Symmetry reductions in model checking. In: Proceedings of Computer Aided Verification CAV’98, Lecture Notes in Computer Science, vol. 1427, pp. 147–158. Springer (1998)Google Scholar
  36. 36.
    Clarke, E.M., Jha, S., Enders, R., Filkorn, T.: Exploiting symmetry in temporal logic model checking. Form. Methods Syst. Des. 9(1/2), 77–104 (1996)CrossRefGoogle Scholar
  37. 37.
    Cleaveland, R., Parrow, J., Steffen, B.: The concurrency workbench. In: Proceedings of Automatic Verification Methods for Finite State Systems, Lecture Notes in Computer Science, vol. 407, pp. 24–37. Springer (1989)Google Scholar
  38. 38.
    Cleaveland, R., Steffen, B.: A linear-time model-checking algorithm for the alternation-free modal mu-calculus. Form. Methods Syst. Des. 2(2), 121–147 (1993)MATHCrossRefGoogle Scholar
  39. 39.
    Coste, N., Garavel, H., Hermanns, H., Lang, F., Mateescu, R., Serwe, W.: Ten years of performance evaluation for concurrent systems using CADP. In: Proceedings of Leveraging Applications of Formal Methods, Verification and Validation ISoLA’10, Lecture Notes in Computer Science, vol. 6416, pp. 128–142. Springer (2010)Google Scholar
  40. 40.
    Crouzen, P., Hermanns, H.: Aggregation ordering for massively parallel compositional models. In: Proceedings of Application of Concurrency to System Design ACSD’10. IEEE (2010)Google Scholar
  41. 41.
    Crouzen, P., Lang, F.: Smart reduction. In: Proceedings of Fundamental Approaches to Software Engineering FASE’2011, Lecture Notes in Computer Science, vol. 6603, pp. 111–126. Springer (2011)Google Scholar
  42. 42.
    Dam, M.: Model checking mobile processes. In: Proceedings of Concurrency Theory CONCUR’93, Lecture Notes in Computer Science, vol. 715, pp. 22–36. Springer (1993)Google Scholar
  43. 43.
    Du, X., Smolka, S.A., Cleaveland, R.: Local model checking and protocol analysis. J. Softw. Tools Technol. Transf. 2(3), 219–241 (1999)MATHCrossRefGoogle Scholar
  44. 44.
    Emerson, E.A., Clarke, E.M.: Using branching time logic to synthesize synchronization skeletons. Sci. Comput. Program. 2, 241–266 (1982)MATHCrossRefGoogle Scholar
  45. 45.
    Emerson, E.A., Halpern, J.Y.: “Sometimes” and “not never” revisited: on branching versus linear time temporal logic. J. ACM 33(1), 151–178 (1986)MATHMathSciNetCrossRefGoogle Scholar
  46. 46.
    Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional mu-calculus. In: Proceedings of Logic in Computer Science LICS’86, pp. 267–278 (1986)Google Scholar
  47. 47.
    Fantechi, A., Gnesi, S., Ristori, G.: From actl to mu-calculus. In: Proceedings of Theory and Practice in Verification. IEI-CNR, pp. 3–10 (1992)Google Scholar
  48. 48.
    Fantechi, A., Gnesi, S., Ristori, G.: Model checking for action-based logics. Form. Methods Syst. Des. 4, 187–203 (1994)MATHCrossRefGoogle Scholar
  49. 49.
    Fernandez, J.-C.: ALDEBARAN : un système de vérification par réduction de processus communicants. Thèse de Doctorat, Université Joseph Fourier (Grenoble) (1988)Google Scholar
  50. 50.
    Fernandez, J.-C., Garavel, H., Mounier, L., Rasse, A., Rodríguez, C., Sifakis, J.: A toolbox for the verification of lotos programs. In: Proceedings of Software Engineering ICSE’14, pp. 246–259. ACM (1992)Google Scholar
  51. 51.
    Fernandez, J.-C., Mounier, L.: “on the fly” verification of behavioural equivalences and preorders. In: Proceedings of Computer-Aided Verification CAV’91, Lecture Notes in Computer Science, vol. 575, pp. 181–191. Springer (1991)Google Scholar
  52. 52.
    Fernandez, J.-C., Mounier, L.: A tool set for deciding behavioral equivalences. In: Proceedings of CONCUR’91 (1991)Google Scholar
  53. 53.
    Fischer, M.J., Ladner, R.E.: Propositional dynamic logic of regular programs. J. Comput. Syst. Sci. 18(2), 194–211 (1979)MATHMathSciNetCrossRefGoogle Scholar
  54. 54.
    Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Proceedings of Principles of Programming Languages POPL’05. ACM Press (2005)Google Scholar
  55. 55.
    Garavel, H.: Compilation of lotos abstract data types. In: Proceedings of Formal Description Techniques FORTE’89, pp. 147–162. North-Holland (1989)Google Scholar
  56. 56.
    Garavel, H.: Open/cæsar: an open software architecture for verification, simulation, and testing. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’98, Lecture Notes in Computer Science, vol. 1384, pp. 68–84. Springer (1998)Google Scholar
  57. 57.
    Garavel, H., Lang, F.: Svl: a scripting language for compositional verification. In: Proceedings of Formal Techniques for Networked and Distributed Systems FORTE’2001, pp. 377–392. IFIP, Kluwer (2001)Google Scholar
  58. 58.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: Cadp 2010: A toolbox for the construction and analysis of distributed processes. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’2011, Lecture Notes in Computer Science, vol. 6605, pp. 372–387 (2011)Google Scholar
  59. 59.
    Garavel, H., Salaün, G., Serwe, W.: On the semantics of communicating hardware processes and their translation into LOTOS for the verification of asynchronous circuits with CADP. Sci. Comput. Program. 74(3), 100–127 (2009)MATHCrossRefGoogle Scholar
  60. 60.
    Garavel, H., Sifakis, J.: Compilation and verification of LOTOS specifications. In: Proceedings of Protocol Specification, Testing and Verification PSTV’90, pp. 379–394. IFIP, North-Holland (1990)Google Scholar
  61. 61.
    Garavel, H., Sighireanu, M.: A graphical parallel composition operator for process algebras. In: Proceedings of Formal Description Techniques for Distributed Systems and Communication Protocols/Protocol Specification, Testing, and Verification FORTE/PSTV’99, pp. 185–202. IFIP, Kluwer (1999)Google Scholar
  62. 62.
    Garavel, H., Thivolle, D.: Verification of gals systems by combining synchronous languages and process calculi. In: Proceedings of Model Checking Software SPIN’2009, Lecture Notes in Computer Science, vol. 5578, pp. 241–260. Springer (2009)Google Scholar
  63. 63.
    Giannakopoulou, D.: Model Checking for Concurrent Software Architectures. PhD thesis, Imperial College of Science, Technology and Medicine, University of London (1999)Google Scholar
  64. 64.
    Giannakopoulou, D., Magee, J.: Fluent model checking for event-based systems. In: Proceedings of Foundations of Software Engineering ESEC/FSE’2003, pp. 257–266. ACM (2003)Google Scholar
  65. 65.
    Gibson-Robinson, T., Armstrong, P.J., Boulgakov, A., Roscoe, A.W.: FDR3—A modern refinement checker for CSP. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’14, Lecture Notes in Computer Science, vol. 8413, pp. 187–201. Springer (2014)Google Scholar
  66. 66.
    Godefroid, P.: Using partial orders to improve automatic verification methods. In: Proceedings of Computer-Aided Verification CAV’90, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 3, pp. 321–340. AMS-ACM (1990)Google Scholar
  67. 67.
    Godefroid, P., Wolper, P.: A partial approach to model checking. In: Proceedings of Logic in Computer Science LICS’91. IEEE (1991)Google Scholar
  68. 68.
    Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. In: Proceedings of Computer-Aided Verification CAV’91, Lecture Notes in Computer Science, vol. 575. Springer (1991)Google Scholar
  69. 69.
    Graf, S., Steffen, B.: Compositional minimization of finite state systems. In: Proceedings of Computer-Aided Verification CAV’90, Lecture Notes in Computer Science, vol. 531, pp. 186–196. Springer (1990)Google Scholar
  70. 70.
    Graf, S., Steffen, B., Lüttgen, G.: Compositional minimisation of finite state systems using interface specifications. Form. Aspects Comput. 8(5), 607–616 (1996)MATHCrossRefGoogle Scholar
  71. 71.
    Groote, J.F., Kouters, T.W.D.M., Osaiweran, A.A.H.: Specification guidelines to avoid the state space explosion problem. J. Softw. Test. Verif. Reliab. 25(1), 4–33 (2015) (2014)Google Scholar
  72. 72.
    Groote, J.F., Ponse, A.: The syntax and semantics of \(\mu \)CRL. In: Proceedings of Workshop on the Algebra of Communicating Processes ACP’94, Workshops in Computing Series, pp. 26–62. Springer (1995)Google Scholar
  73. 73.
    Groote, J.F., Vaandrager, F.: An efficient algorithm for branching bisimulation and stuttering equivalence. In: Proceedings of ICALP’90, Lecture Notes in Computer Science, vol. 443, pp. 626–638. Springer (1990)Google Scholar
  74. 74.
    Halbwachs, N.: Synchronous Pogramming of Reactive Systems. Kluwer, Amsterdam (1993)CrossRefGoogle Scholar
  75. 75.
    Hamaguchi, K., Hiraishi, H., Yajima, S.: Branching time regular temporal logic for model checking with linear time complexity. In: Proceedings of Computer Aided Verification CAV’90, Lecture Notes in Computer Science, vol. 531, pp. 253–262. Springer (1990)Google Scholar
  76. 76.
    Hennessy, M.: The semantics of programming languages: an elementary introduction using structural operational semantics. Wiley, New York (1990)MATHGoogle Scholar
  77. 77.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978)MATHMathSciNetCrossRefGoogle Scholar
  78. 78.
    Ip, C.N., Dill, D.L.: Better verification through symmetry. Form. Methods Syst. Des. 9(1/2), 41–75 (1996)Google Scholar
  79. 79.
    ISO/IEC: LOTOS—A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. International Standard 8807, International Organization for Standardization—Information Processing Systems—Open Systems Interconnection (1989)Google Scholar
  80. 80.
    ISO/IEC: Enhancements to LOTOS (E-LOTOS). International Standard 15437:2001, International Organization for Standardization—Information Technology (2001)Google Scholar
  81. 81.
    Katz, S., Peled, D.: An efficient verification method for parallel and distributed programs. In: Proceedings of Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, Lecture Notes in Computer Science, vol. 354, pp. 489–507. Springer (1988)Google Scholar
  82. 82.
    Kozen, D.: Results on the propositional \(\mu \)-calculus. Theoret. Comput. Sci. 27, 333–354 (1983)MATHMathSciNetCrossRefGoogle Scholar
  83. 83.
    Krimm, J.-P., Mounier, L.: Compositional state space generation from lotos programs. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’97, Lecture Notes in Computer Science, vol. 1217. Springer (1997)Google Scholar
  84. 84.
    Lang, F.: Compositional verification using svl scripts. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’2002, Lecture Notes in Computer Science, vol. 2280, pp. 465–469. Springer (2002)Google Scholar
  85. 85.
    Lang, F.: Exp.open 2.0: A flexible tool integrating partial order, compositional, and on-the-fly verification methods. In: Proceedings of Integrated Formal Methods IFM’2005, Lecture Notes in Computer Science, vol. 3771, pp. 70–88. Springer (2005)Google Scholar
  86. 86.
    Lang, F.: Refined interfaces for compositional verification. In: Proceedings of Formal Techniques for Networked and Distributed Systems FORTE’2006, Lecture Notes in Computer Science, vol. 4229, pp. 159–174. Springer (2006)Google Scholar
  87. 87.
    Lang, F., Mateescu, R.: Partial model checking using networks of labelled transition systems and boolean equation systems. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’2012, Lecture Notes in Computer Science, vol. 7214, pp. 141–156. Springer (2012)Google Scholar
  88. 88.
    Lang, F., Mateescu, R.: Partial model checking using networks of labelled transition systems and boolean equation systems. Log. Methods Comput. Sci. 9(4), 1–32 (2013)MathSciNetGoogle Scholar
  89. 89.
    Lang, F., Salaün, G., Hérilier, R., Kramer, J., Magee, J.: Translating fsp into lotos and networks of automata. Form. Aspects Comput. 22(6), 681–711 (2010)MATHCrossRefGoogle Scholar
  90. 90.
    Laroussinie, F., Larsen, K.G.: Compositional model checking of real time systems. In: Proceedings of Concurrency Theory CONCUR’95, Lecture Notes in Computer Science, vol. 962. Springer (1995)Google Scholar
  91. 91.
    Laroussinie, F., Larsen, K.G.: Cmc: A tool for compositional model checking of real-time systems. In: Proceedings of Formal Description Techniques for Distributed Systems and Communication Protocols/Protocol Specification, Testing and Verification FORTE/PSTV’98, IFIP Conference Proceedings, vol. 135. Kluwer (1998)Google Scholar
  92. 92.
    Larsen, K.G.: Proof systems for Hennessy-Milner logic with recursion. In: Proceedings of Trees in Algebra and Programming CAAP’88, Lecture Notes in Computer Science, vol. 299, pp. 215–230. Springer (1988)Google Scholar
  93. 93.
    Larsen, K.G., Pettersson, P., Yi, W.: Compositional and symbolic model checking of real-time systems. In: Proceedings of Real-Time Systems. IEEE (1995)Google Scholar
  94. 94.
    Magee, J., Kramer, J.: Concurrency: State Models and Java Programs, 2006th edn. Wiley, New York (2006)Google Scholar
  95. 95.
    Malhotra, J., Smolka, S.A., Giacalone, A., Shapiro, R.: A tool for hierarchical design and simulation of concurrent systems. In: Proceedings of Specification and Verification of Concurrent Systems, pp. 140–152. British Computer Society (1988)Google Scholar
  96. 96.
    Manna, Z., Pnueli, A.: A hierarchy of temporal properties. In: Proceedings of Principles of Distributed Computing PODC’90, pp. 377–408 (1990)Google Scholar
  97. 97.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems, vol. I (Specification). Springer (1992)Google Scholar
  98. 98.
    Martin, A.J.: Compiling communicating processes into delay-insensitive VLSI circuits. Distrib. Comput. 1(4), 226–234 (1986)MATHCrossRefGoogle Scholar
  99. 99.
    Martinelli, F.: Symbolic partial model checking for security analysis. In: Proceedings of Mathematical Methods, Models, and Architectures for Computer Network Security MMM-ACNS, Lecture Notes in Computer Science, vol. 2776. Springer (2003)Google Scholar
  100. 100.
    Mateescu, R.: Local model-checking of an alternation-free value-based modal mu-calculus. In: Proceedings ofVerification, Model Checking and Abstract Interpretation VMCAI’98. University Ca’ Foscari of Venice (1998)Google Scholar
  101. 101.
    Mateescu, R.: Efficient diagnostic generation for boolean equation systems. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems TACAS’2000, Lecture Notes in Computer Science, vol. 1785, pp. 251–265. Springer (2000)Google Scholar
  102. 102.
    Mateescu, R.: Caesar\_solve: a generic library for on-the-fly resolution of alternation-free boolean equation systems. J. Softw. Tools Technol. Transf. 8(1), 37–56 (2006)MathSciNetCrossRefGoogle Scholar
  103. 103.
    Mateescu, R., Salaün, G.: Translating pi-calculus into LOTOS NT. In: Proceedings of Integrated Formal Methods IFM’2010, Lecture Notes in Computer Science, vol. 6396, pp. 229–244. Springer (2010)Google Scholar
  104. 104.
    Mateescu, R., Sighireanu, M.: Efficient on-the-fly model-checking for regular alternation-free mu-calculus. Sci. Comput. Program. 46(3), 255–281 (2003)MATHMathSciNetCrossRefGoogle Scholar
  105. 105.
    Mateescu, R., Thivolle, D.: A model checking language for concurrent value-passing systems. In: Proceedings of Formal Methods FM’08, Lecture Notes in Computer Science, vol. 5014, pp. 148–164. Springer (2008)Google Scholar
  106. 106.
    Mateescu, R., Wijs, A.: Property-dependent reductions adequate with divergence-sensitive branching bisimilarity. Sci. Comput. Program. 96(3), 354–376 (2014)CrossRefGoogle Scholar
  107. 107.
    Milner, R.: A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol. 92. Springer (1980)Google Scholar
  108. 108.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Upper Saddle River (1989)MATHGoogle Scholar
  109. 109.
    Milner, R.: Communicating and Mobile Systems: The Pi-Calculus. Cambridge University Press, Cambridge (1999)MATHGoogle Scholar
  110. 110.
    Müller-Olm, M., Schmidt, D., Steffen, B.: Model-checking: a tutorial introduction. In: Proceedings of Static Analysis Symposium SAS’99, Lecture Notes in Computer Science, vol. 1694, pp. 330–354. Springer (1999)Google Scholar
  111. 111.
    De Nicola, R., Fantechi, A., Gnesi, S., Ristori, G.: An action-based framework for verifying logical and behavioural properties of concurrent systems. In: Proceedings of Computer Aided Verification CAV’91, Lecture Notes in Computer Science, vol. 575, pp. 37–47. Springer (1991)Google Scholar
  112. 112.
    De Nicola, R., Vaandrager, F.W.: Action Versus State Based Logics for Transition Systems, Lecture Notes in Computer Science, vol. 469, pp. 407–419. Springer (1990)Google Scholar
  113. 113.
    Osaiweran, A.A.H.: Formal Development of Control Software in the Medical Systems Domain. PhD thesis, Eindhoven University of Technology (2012)Google Scholar
  114. 114.
    Overman, W.T., Crocker, S.D.: Verification of concurrent systems: function and timing. In: Proceedings of Protocol Specification, Testing and Verification PSTV’82, pp. 401–409. North-Holland (1982)Google Scholar
  115. 115.
    Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM J. Comput. 16(6), 973–989 (1987)MATHMathSciNetCrossRefGoogle Scholar
  116. 116.
    Park, D.: Concurrency and automata on infinite sequences. In: Theoretical Computer Science, Lecture Notes in Computer Science, vol. 104, pp. 167–183. Springer (1981)Google Scholar
  117. 117.
    Peled, D.: All from one, one for all: on model checking using representatives. In: Proceedings of Computer Aided Verification CAV’93, Lecture Notes in Computer Science, vol. 697, pp. 409–423. Springer (1993)Google Scholar
  118. 118.
    Plotkin, G.D.: A Structural Approach to Operational Semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University (1981)Google Scholar
  119. 119.
    Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60–61, 17–139 (2004)MathSciNetGoogle Scholar
  120. 120.
    Plotkin, G.D.: The origins of structural operational semantics. J. Log. Algebr. Program. 60–61, 3–15 (2004)MathSciNetCrossRefGoogle Scholar
  121. 121.
    Pnueli, A.: The temporal logic of programs. In: Proceedings of Foundations of Computer Science, pp. 46–57. IEEE (1977)Google Scholar
  122. 122.
    Pnueli, A.: A temporal logic of concurrent programs. Theoret. Comput. Sci. 13, 45–60 (1981)MATHMathSciNetCrossRefGoogle Scholar
  123. 123.
    Queille, J.-P., Sifakis, J.: Fairness and related properties in transition systems—a temporal logic to deal with fairness. Acta Inf. 19, 195–220 (1983)MATHMathSciNetCrossRefGoogle Scholar
  124. 124.
    Rathke, J., Hennessy, M.: Local Model Checking for a Value-Based Modal \(\mu \)-Calculus. Report 5/96, School of Cognitive and Computing Sciences, University of Sussex (1996)Google Scholar
  125. 125.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall, Upper Saddle River (1998)Google Scholar
  126. 126.
    Sabnani, K.K., Lapone, A.M., Uyar, M.U.: An algorithmic procedure for checking safety properties of protocols. IEEE Trans. Commun. 37(9), 940–948 (1989)CrossRefGoogle Scholar
  127. 127.
    Streett, R.: Propositional dynamic logic of looping and converse. Inf. Control 54, 121–141 (1982)MATHMathSciNetCrossRefGoogle Scholar
  128. 128.
    Tai, K.C., Koppol, V.: Hierarchy-based incremental reachability analysis of communication protocols. In: Proceedings of Network Protocols, pp. 318–325. IEEE (1993)Google Scholar
  129. 129.
    Tai, K.C., Koppol, V.: An incremental approach to reachability analysis of distributed programs. In: Proceedings of Software Specification and Design, pp. 141–150. IEEE Press (1993)Google Scholar
  130. 130.
    Thivolle, D.: Langages modernes pour la vérification des systèmes asynchrones. Thèse de Doctorat, Université Joseph Fourier (Grenoble, France) and Universitatea Politehnica din Bucuresti (Bucharest, Romania) (2011)Google Scholar
  131. 131.
    Thomas, W.: Computation Tree Logic and Regular \(\omega \)-Languages, Lecture Notes in Computer Science, vol. 354, pp. 690–713 (1989)Google Scholar
  132. 132.
    Tronel, F., Lang, F., Garavel, H.: Compositional verification using cadp of the scalagent deployment protocol for software components. In: Proceedings of Formal Methods for Open Object-based Distributed Systems FMOODS’2003, Lecture Notes in Computer Science, vol. 2884, pp. 244–260. Springer (2003)Google Scholar
  133. 133.
    Valmari, A.: A stubborn attack on state explosion. In: Proceedings of Computer-Aided Verification CAV’90, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 3, pp. 25–42. AMS-ACM (1990)Google Scholar
  134. 134.
    Valmari, A.: Compositional state space generation. In: Proceedings of Advances in Petri Nets, Lecture Notes in Computer Science, vol. 674, pp. 427–457. Springer (1993)Google Scholar
  135. 135.
    van Glabbeek, R.J.: The Linear Time-Branching Time Spectrum I. The Semantics of Concrete, Sequential Processes (Chapter 1), pp. 3-99. North-Holland, Amsterdam (2001)Google Scholar
  136. 136.
    van Glabbeek, R.J., Weijland, W.P.: Branching-time and abstraction in bisimulation semantics (extended abstract). CS R8911, Centrum voor Wiskunde en Informatica (1989)Google Scholar
  137. 137.
    van Glabbeek, R.J., Weijland, W.P.: Branching-time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)MATHMathSciNetCrossRefGoogle Scholar
  138. 138.
    Wolper, P.: Temporal logic can be more expressive. Inf. Control 56(1/2), 72–99 (1983)MATHMathSciNetCrossRefGoogle Scholar
  139. 139.
    Yeh, W.J.: Controlling State Explosion in Reachability Analysis. PhD thesis, Software Engineering Research Center (SERC) Laboratory, Purdue University, (1993). Technical Report SERC-TR-147-PGoogle Scholar
  140. 140.
    Yeh, W.J., Young, M.: Compositional reachability analysis using process algebra. In: Proceedings of Testing, Analysis, and Verification SIGSOFT’91, pp. 49–59. ACM Press (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Hubert Garavel
    • 1
    • 2
    • 3
  • Frédéric Lang
    • 1
    • 2
    • 3
  • Radu Mateescu
    • 1
    • 2
    • 3
  1. 1.InriaGrenobleFrance
  2. 2.Université Grenoble Alpes, LIGGrenobleFrance
  3. 3.CNRS, LIGGrenobleFrance

Personalised recommendations