Skip to main content

The VATES-Diamond as a Verifier’s Best Friend

  • Chapter
Verification, Induction, Termination Analysis

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 6463))

Abstract

Within a model-based software engineering process it needs to be ensured that properties of abstract specifications are preserved by transformations down to executable code. This is even more important in the area of safety-critical real-time systems where additionally non-functional properties are crucial. In the VATES project, we develop formal methods for the construction and verification of embedded systems. We follow a novel approach that allows us to formally relate abstract process algebraic specifications to their implementation in a compiler intermediate representation. The idea is to extract a low-level process algebraic description from the intermediate code and to formally relate it to previously developed abstract specifications. We apply this approach to a case study from the area of real-time operating systems and show that this approach has the potential to seamlessly integrate modeling, implementation, transformation and verification stages of embedded system development.

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. VATES project website, https://group.swt.tu-berlin.de/vates

  2. Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)

    Google Scholar 

  3. Bartels, B., Glesner, S.: Formal Modeling and Verification of Low-Level Software Programs. In: 10th International Conference on Qualtiy Software (QSIC 2010), IEEE Computer Society, Los Alamitos (2010)

    Google Scholar 

  4. Bartels, B., Glesner, S., Göthel, T.: Model Transformations to Mitigate the Semantic Gap in Embedded Systems Verification. In: International Colloquium on Graph and Model Transformation – on the occasion of the 65th birthday of Hartmut Ehrig (2010) (accepted for publication)

    Google Scholar 

  5. Becker, B., Damm, W., Fränzle, M., Olderog, E., Podelski, A., Wilhelm, R.: SFB/TR 14 AVACS – Automatic Verification and Analysis of Complex Systems. It – Information Technology 49(2), 118–126 (2007)

    Google Scholar 

  6. Bengtsson, J., Yi, W.: Timed Automata: Semantics, Algorithms and Tools. Lectures on Concurrency and Preti Nets, pp. 87–124. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  7. Cohen, E., Dahlweid, M., Hillebrand, M., Leinenbach, D., Moskal, M., Santen, T., Schulte, W., Tobies, S.: VCC: A Practical System for Verifying Concurrent C. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLS 2009. LNCS, vol. 5674, pp. 23–42. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Elphinstone, K., Klein, G., Derrin, P., Roscoe, T., Heiser, G.: Towards a Practical, Verified Kernel. In: HOTOS 2007 Proceedings of the 11th USENIX workshop on Hot topics in operating systems, Berkeley, CA, USA, pp. 1–6 (2007)

    Google Scholar 

  9. Fischer, C.: CSP-OZ: a combination of object-Z and CSP. In: FMOODS 1997 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems, pp. 423–438. Chapman & Hall, Ltd., London (1997)

    Google Scholar 

  10. Fischer, C., Wehrheim, H.: Model-Checking CSP-OZ Specifications with FDR. In: IFM, pp. 315–334 (1999)

    Google Scholar 

  11. Goldsmith, M., Roscoe, B., Armstrong, P.: Failures-Divergence Refinement - FDR2 User Manual (2005)

    Google Scholar 

  12. Göthel, T., Glesner, S.: An Approach for Machine-Assisted Verification of Timed CSP Specifications. Innovations in Systems and Software Engineering - A NASA Journal 7 (2010) (to appear)

    Google Scholar 

  13. Göthel, T., Glesner, S.: Towards the Semi-Automatic Verification of Parameterized Real-Time Systems using Network Invariants. In: Proceedings of the 8th IEEE International Conference on Software Engineering and Formal Method (2010) (accepted for publication)

    Google Scholar 

  14. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall International, London (1985)

    MATH  Google Scholar 

  15. Hohmuth, M., Tews, H.: The VFiasco Approach for a Verified Operating System. In: Proc. 2nd ECOOP Workshop on Programming Languages and Operating Systems (2005)

    Google Scholar 

  16. Kassel, G., Smith, G.: Model Checking Object-Z Classes: Some Experiments with FDR. In: APSEC, pp. 445–452 (2001)

    Google Scholar 

  17. Kleine, M., Bartels, B.: On Using CSP for the Construction of Concurrent Programs. In: International Conference on Software Engineering Theory and Practice (SETP 2010), Orlando, Florida, USA (2010)

    Google Scholar 

  18. Kleine, M., Helke, S.: Low Level Code Verification Based on CSP Models. In: Oliveira, M., Woodcock, J. (eds.) SBMF 2009. LNCS, vol. 5902, pp. 266–281. Springer, Heidelberg (2009)

    Google Scholar 

  19. Kleine, M.: Using CSP for Software Verification. In: Mousavi, Sekerinski (eds.) Proceedings of Formal Methods 2009 Doctoral Symposium, Eindhoven University of Technology, pp. 8–13 (2009)

    Google Scholar 

  20. Kurshan, R.P., McMillan, K.L.: A structural induction theorem for processes. Inf. Comput. 117(1), 1–11 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  21. Lattner, C., Adve, V.: LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In: Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO 2004), Palo Alto, California (2004)

    Google Scholar 

  22. Leuschel, M., Fontaine, M.: Probing the Depths of CSP-M: A new FDR-compliant Validation Tool. In: Liu, S., Maibaum, T., Araki, K. (eds.) ICFEM 2008. LNCS, vol. 5256, pp. 278–297. Springer, Heidelberg (2008)

    Google Scholar 

  23. Leuschel, M., Massart, T., Currie, A.: How to make FDR Spin: LTL model checking of CSP using Refinement. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, p. 99. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  24. Montenegro, S., Briess, K., Kayal, H.: Dependable Software (BOSS) for the BEESAT Pico Satellite. In: Data System. Aerospace - DASIA 2006, Berlin (2006)

    Google Scholar 

  25. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL— A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  26. Schneider, S.: Concurrent and Real Time Systems: The CSP Approach. John Wiley & Sons, Inc., New York (1999)

    Google Scholar 

  27. Sherif, A.M., Sampaio, A., Cavalcante, S.: Specification and Validation of the SACI-1 On-Board Computer Using Timed-CSP-Z and Petri Nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 161–180. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  28. Smith, G.: The Object-Z specification language. Kluwer Academic Publishers, Norwell (2000)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Glesner, S., Bartels, B., Göthel, T., Kleine, M. (2010). The VATES-Diamond as a Verifier’s Best Friend. In: Siegler, S., Wasser, N. (eds) Verification, Induction, Termination Analysis. Lecture Notes in Computer Science(), vol 6463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17172-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17172-7_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17171-0

  • Online ISBN: 978-3-642-17172-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics