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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
VATES project website, https://group.swt.tu-berlin.de/vates
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)
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)
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)
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)
Bengtsson, J., Yi, W.: Timed Automata: Semantics, Algorithms and Tools. Lectures on Concurrency and Preti Nets, pp. 87–124. Springer, Heidelberg (2004)
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)
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)
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)
Fischer, C., Wehrheim, H.: Model-Checking CSP-OZ Specifications with FDR. In: IFM, pp. 315–334 (1999)
Goldsmith, M., Roscoe, B., Armstrong, P.: Failures-Divergence Refinement - FDR2 User Manual (2005)
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)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall International, London (1985)
Hohmuth, M., Tews, H.: The VFiasco Approach for a Verified Operating System. In: Proc. 2nd ECOOP Workshop on Programming Languages and Operating Systems (2005)
Kassel, G., Smith, G.: Model Checking Object-Z Classes: Some Experiments with FDR. In: APSEC, pp. 445–452 (2001)
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)
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)
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)
Kurshan, R.P., McMillan, K.L.: A structural induction theorem for processes. Inf. Comput. 117(1), 1–11 (1995)
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)
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)
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)
Montenegro, S., Briess, K., Kayal, H.: Dependable Software (BOSS) for the BEESAT Pico Satellite. In: Data System. Aerospace - DASIA 2006, Berlin (2006)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL— A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)
Schneider, S.: Concurrent and Real Time Systems: The CSP Approach. John Wiley & Sons, Inc., New York (1999)
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)
Smith, G.: The Object-Z specification language. Kluwer Academic Publishers, Norwell (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)