Skip to main content

Define, Verify, Refine: Correct Composition and Transformation of Concurrent System Semantics

  • Conference paper
  • First Online:

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

Abstract

We present a technique to verify user-defined model transformations, in order to step-wise develop formal models of concurrent systems. The main benefit is that the changes applied to a model can be verified in isolation. In particular, the preservation of safety and liveness properties of such a modification can be determined independent of the input model. This is particularly useful for model-driven development approaches, where systems are designed and created by first developing an abstract model, and iteratively modifying this model until it is concrete enough to automatically generate source code from it. Properties that already hold on the initial model and should remain valid throughout the development in later models can be maintained with our tool Refiner, by which the effort of verifying those properties over and over again can be avoided. This paper generalises our earlier results in various ways, removing several restrictions, improving the focus of the verification method on transformations, and introducing the possibility to add completely new components at any time during the development.

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

Buying options

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 EPUB and 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

Learn about institutional subscriptions

Notes

  1. 1.

    Available for download at http://www.win.tue.nl/~awijs/refiner.

  2. 2.

    http://www.fsel.com/documentation/fdr2/html/index.html

  3. 3.

    http://www.tools.clearsy.com/tools/bart

  4. 4.

    In [20], synchronisation laws are referred to as rules, but here, one may confuse these with transformation rules, that are introduced later in this section.

  5. 5.

    Technically, the \(\kappa \)-actions require laws to produce \(\kappa \)-transitions in the synchronous composition of a network. For clarity, we do not include them in the formalisation.

  6. 6.

    The required files are available at http://www.win.tue.nl/~awijs/refiner.

References

  1. Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82, 253–284 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  2. Abrial, J.-R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. STTT 12(6), 447–466 (2010)

    Article  Google Scholar 

  3. Basu, A., Bensalem, S., Bozga, M., Combaz, J., Jaber, M., Nguyen, T.-H., Sifakis, J.: Rigorous component-based system design using the Bip framework. IEEE Softw. 28(3), 41–48 (2011)

    Article  Google Scholar 

  4. Blech, J.O., Glesner, S., Leitner, J.: Formal verification of Java code generation from UML models. In: Fujaba Days 2005, pp. 49–56 (2005)

    Google Scholar 

  5. Cranen, S., Groote, J.F., Keiren, J.J.A., Stappers, F.P.M., de Vink, E.P., Wesselink, W., Willemse, T.A.C.: An overview of the mCRL2 toolset and its recent advances. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 199–213. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  6. Engelen, L.J.P., Wijs, A.J.: Checking property preservation of refining transformations for model-driven development. CS-Report 12–08, TU Eindhoven (2012)

    Google Scholar 

  7. Fokkink, W.J., Pang, J., Wijs, A.J.: Is timed branching bisimilarity an equivalence indeed? In: Pettersson, P., Yi, W. (eds.) FORMATS 2005. LNCS, vol. 3829, pp. 258–272. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2010: a toolbox for the construction and analysis of distributed processes. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 372–387. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  9. Giese, H., Glesner, S., Leitner, J., Schäfer, W., Wagner, R.: Towards verified model transformations. In: 3rd International Workshop on Model Development, Validation and Verification (MoDeVVa 2006), pp. 78–93. IEEE Press, New York (2006)

    Google Scholar 

  10. Giese, H., Lambers, L.: Towards automatic verification of behavior preservation for model transformation via invariant checking. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 249–263. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  11. van Glabbeek, R.J., Luttik, B., Trčka, N.: Branching bisimilarity with explicit divergence. Fundam. Inform. 93(4), 371–392 (2009)

    MATH  Google Scholar 

  12. van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  13. Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Inform. 26(3–4), 287–313 (1996)

    MATH  MathSciNet  Google Scholar 

  14. Heckel, R.: Graph transformation in a nutshell. Electron. Notes Theor. Comput. Sci. 148, 187–198 (2006)

    Article  Google Scholar 

  15. Hülsbusch, M., König, B., Rensink, A., Semenyak, M., Soltenborn, Ch., Wehrheim, H.: Showing full semantics preservation in model transformation - a comparison of techniques. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 183–198. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  16. Kahsai, T., Roggenbach, M.: Property preserving refinement for Csp-Casl. In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 206–220. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. Kozen, D.: Results on the propositional \(\mu \)-calculus. Theoret. Comput. Sci. 27, 333–354 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  18. Kundu, S., Lerner S., Gupta, R.: Automated refinement checking of concurrent systems. In: 26th International Conference on Computer-Aided Design (ICCAD 2007), pp. 318–325. IEEE Press, New York (2007)

    Google Scholar 

  19. Lambers, L., Ehrig, H.: Efficient conflict detection in graph transformation systems by essential critical pairs. Electron. Notes Theor. Comput. Sci. 211, 17–26 (2008)

    Article  Google Scholar 

  20. Lang, F.: Exp.Open 2.0: a flexible tool integrating partial order, compositional, and on-the-fly verification Methods. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 70–88. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Mateescu, R., Wijs, A.: Property-dependent reductions for the modal mu-calculus. In: Groce, A., Musuvathi, M. (eds.) SPIN Workshops 2011. LNCS, vol. 6823, pp. 2–19. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  22. Narayanan, A., Karsai, G.: Towards verifying model transformations. Electron. Notes Theor. Comput. Sci. 211, 191–200 (2008)

    Article  Google Scholar 

  23. Sokolsky, O.V., Smolka, S.A.: Incremental model checking in the modal mu-calculus. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 351–363. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  24. Swamy, G.M.: Incremental methods for formal verification and logic synthesis. Ph.D. thesis, University of California (1996)

    Google Scholar 

  25. Varró, D., Pataricza, A.: Automated formal verification of model transformations. In: Critical Systems Development with UML (CSDUML 2003), pp. 63–78 (2003)

    Google Scholar 

  26. Wijs, A.J.: Achieving Discrete relative timing with untimed process algebra. In: 12th International Conference on Engineering of Complex Computer Systems (ICECCS 2007), pp. 35–44. IEEE Press, New York (2007)

    Google Scholar 

  27. Wijs, A.J.: What to do next?: analysing and optimising system behaviour in time. Ph.D. thesis, VU University, Amsterdam (2007)

    Google Scholar 

  28. Wijs, A.J., Engelen, L.J.P.: Incremental formal verification for model refining. In: 9th International Workshop on Model Development, Validation and Verification (MoDeVVa 2012), pp. 29–34. ACM Press, New York (2012)

    Google Scholar 

  29. Wijs, A., Engelen, L.: Efficient property preservation checking of model refinements. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 565–579. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  30. Wijs, A.J., Lisser, B.: Distributed extended beam search for quantitative model checking. In: Edelkamp, S., Lomuscio, A. (eds.) MoChArt IV. LNCS (LNAI), vol. 4428, pp. 166–184. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anton Wijs .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Wijs, A. (2014). Define, Verify, Refine: Correct Composition and Transformation of Concurrent System Semantics. In: Fiadeiro, J., Liu, Z., Xue, J. (eds) Formal Aspects of Component Software. FACS 2013. Lecture Notes in Computer Science(), vol 8348. Springer, Cham. https://doi.org/10.1007/978-3-319-07602-7_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07602-7_21

  • Published:

  • Publisher Name: Springer, Cham

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

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics