skip to main content
research-article

VDMTools: advances in support for formal modeling in VDM

Published:01 February 2008Publication History
Skip Abstract Section

Abstract

We describe the current status of "VDMTools", a group of tools supporting the analysis of system models expressed in the formal language of the Vienna Development Method. Three dialects of the language are supported: the ISO standard VDM specification language with support for modular structuring, the extension VDM++ which supports object-oriented structuring and concurrency, and a version extending VDM++ with features for modeling and analysing distributed embedded real-time systems. VDMTools provides extensive static semantics checking, automatic code generation, round-trip mapping to UML class diagrams, documentation support, test coverage analysis and debugging support. The tools' focus is on supporting the cost-effective development and exploitation of formal models in industrial settings. The paper presents the components of VDMTools and reports recent experience using them for the development of large models.

References

  1. J.-R. Abrial. The B Book -- Assigning Programs to Meanings. Cambridge University Press, August 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Michael Andersen, René Elmstrøm, Poul Bøgh Lassen, and Peter Gorm Larsen. Making Specifications Executable -- Using IPTES Meta-IV. Microprocessing and Microprogramming, 35(1--5):521--528, September 1992.Google ScholarGoogle Scholar
  3. Frédéric Badeau and Arnaud Amelot. Using B as a High Level Programming Language in an Industrial Project: Roissy VAL. In Z to B Conference / Nantes, pages 334--354, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bernhard K. Aichernig and Peter Gorm Larsen. A Proof Obligation Generator for VDM-SL. In John S. Fitzgerald, Cliff B. Jones, and Peter Lucas, editors, FME'97: Industrial Applications and Strengthened Foundations of Formal Methods (Proc. 4th Intl. Symposium of Formal Methods Europe, Graz, Austria, September 1997), volume 1313 of Lecture Notes in Computer Science, pages 338--357. Springer-Verlag, September 1997. ISBN 3-540-63533-5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Juan Bicarregui, John Fitzgerald, Peter Lindsay, Richard Moore, and Brian Ritchie. Proof in VDM: A Practitioner's Guide. FACIT. Springer-Verlag, 1994. ISBN 3-540-19813-X. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Paulo Borba and Silvio Meira. From VDM Specifications to Functional Prototypes. Journal of Systems Software, 21:267--278, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Paulo Borba and Silvio Meira. A System for Translating Executable VDM Specifications into Lazy ML. Software: Practice and Experience, 27(3):271--289, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Igor B. Bourdonov, Alexander S. Kossatchev, Victor V. Kuliamin, and Alexander K. Petrenko. Unitesk test suite architecture. In FME 2002: Formal Methods -- Getting IT Right, Copenhagen, July 2002. FME, Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jonathan P. Bowen and Michael G. Hinchey. Ten Commandments of Formal Methods. IEEE Computer, 28(4):56--62, April 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Peter Breuer and Jonathan Bowen. Towards correct executable semantics for z. In J. P. Bowen and J. A. Hall, editors, Z User Workshop, pages 185--209. Springer-Verlag, 1994. Cambridge.Google ScholarGoogle Scholar
  11. T. M. Brookes, J. S. Fitzgerald, and P. G. Larsen. Formal and Informal Specifications of a secure System Component: Final Results in a Comparative Study. In Marie-Claude Gaudel and Jim Woodcock, editors, FME'96: Industrial Benefit and Advances in Formal Methods, pages 214--227. Springer-Verlag, March 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Edmund M. Clarke and Jeannette M. Wing. Formal methods: state of the art and future directions. ACM Computing Surveys, 28(4):626--643, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tim Clement, Ian Cottam, Peter Froome, and Claire Jones. The development of a commercial "shrink-wrapped application to safety integrity level 2: the dust-expert story. In Safecomp'99, Toulouse, France, September 1999. Springer Verlag. LNCS 1698, ISBN 3-540-66488-2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Susan Gerhardt Dan Craigen and Ted Ralston. An International Survey of Industrial Applications of Formal Methods, volume Volume 2 Case Studies. U.S. Department of Commerce, Technology Administration, National Institute of Standards and Technology, Computer Systems Laboratory, Gaithersburg, MD 20899, USA, March 1993.Google ScholarGoogle Scholar
  15. René Elmstrøm, Peter Gorm Larsen, and Poul Bøgh Lassen. The IFAD VDM-SL Toolbox: A Practical Approach to Formal Specifications. ACM Sigplan Notices, 29(9):77--80, September 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. S. Fitzgerald and P. G. Larsen. Balancing Insight and Effort: the Industrial Uptake of Formal Methods. In Cliff B. Jones, Zhiming Liu, and Jim Woodcock, editors, Formal Methods and Hybrid Real-Time Systems, Essays in Honour of Dines Bjørner and Chaochen Zhou on the Occasion of Their 70th Birthdays, pages 237--254, Volume 4700, September 2007. Springer, Lecture Notes in Computer Science. ISBN 978-3-540-75220-2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. S. Fitzgerald, P. G. Larsen, S. Tjell, and M. Verhoef. Validation Support for Real-Time Embedded Systems in VDM++. Technical Report CS-TR-1017, School of Computing Science, Newcastle University, April 2007. Revised version in Proc. 10th IEEE High Assurance Systems Engineering Symposium, November, 2007, Dallas, Texas, IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat, and Marcel Verhoef. Validated Designs for Object-oriented Systems. Springer, New York, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. S. Fitzgerald and C. B. Jones. Proof in the Validation of a Formal Model of a Tracking System for a Nuclear Plant. In J. C. Bicarregui, editor, Proof in VDM: Case Studies, FACIT Series. Springer-Verlag, 1998.Google ScholarGoogle Scholar
  20. Brigitte Fröhlich. Towards Executability of Implicit Definitions. PhD thesis, TU Graz, Institute of Software Technology, September 1998.Google ScholarGoogle Scholar
  21. Brigitte Fröhlich and Peter Gorm Larsen. Combining VDM-SL Specifications with C++ Code. In Marie-Claude Gaudel and Jim Woodcock, editors, FME'96: Industrial Benefit and Advances in Formal Methods, pages 179--194. Springer-Verlag, March 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Norbert E. Fuchs. Specifications are (preferably) executable. Software Engineering Journal, pages 323--334, September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Ghezzi, D. Mandrioli, and A. Morzenti. Trio, a logic language for executable specifications of real-time systems. Journal of Systems and Software, 12(2):107--123, May 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Anthony Hall. Seven Myths of Formal Methods. IEEE Software, 7(5):11--19, September 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. I. J. Hayes and C. B. Jones. Specifications are not (Necessarily) Executable. Software Engineering Journal, pages 330--338, November 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Cliff B. Jones. Systematic Software Development Using VDM. Prentice-Hall International, Englewood Cliffs, New Jersey, second edition, 1990. ISBN 0-13-880733-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Aaron Kans and Clive Hayton. Using ABC To Prototype VDM Specifications. ACM Sig Plan Notices, pages 27--37, January 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Taro Kurita, Toyokazu Oota, and Yasumasa Nakatsugawa. Formal specification of an embedded IC for cellular phones. In Proceedings of Software Symposium 2005, pages 73--80. Software Engineers Associates of Japan, June 2005. (in Japanese).Google ScholarGoogle Scholar
  29. Peter Gorm Larsen. Ten Years of Historical Development: "Bootstrapping" VDMTools. Journal of Universal Computer Science, 7(8):692--709, 2001.Google ScholarGoogle Scholar
  30. Peter Gorm Larsen, John Fitzgerald, and Tom Brookes. Applying Formal Specification in Industry. IEEE Software, 13(3):48--56, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Peter Gorm Larsen, John S. Fitzgerald, and Steve Riddle. Learning by Doing: Practical Courses in Lightweight Formal Methods using VDM++. Technical Report CS-TR:992, School of Computing Science, Newcastle University, December 2006.Google ScholarGoogle Scholar
  32. Peter Gorm Larsen and Poul Bøgh Lassen. An Executable Subset of Meta-IV with Loose Specification. In VDM '91: Formal Software Development Methods. VDM Europe, Springer-Verlag, March 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Shaoying Liu and Hao Wang. An automated approach to specification animation for validation. Journal of Systems and Software, 80:1271--1285, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sun Microsystems. JavaDoc homepage. http://java.sun.com/j2se/javadoc/, 2007.Google ScholarGoogle Scholar
  35. Paul Mukherjee. Computer-aided Validation of Formal Specifications. Software Engineering Journal, pages 133--140, July 1995.Google ScholarGoogle ScholarCross RefCross Ref
  36. Paul Mukherjee, Fabien Bousquet, Jerome Delabre, Stephen Paynter, and Peter Gorm Larsen. Exploring Timing Properties Using VDM++ on an Industrial Application. In J. C. Bicarregui and J. S. Fitzgerald, editors, Proceedings of the Second VDM Workshop, September 2000. Available at www.vdmportal.org.Google ScholarGoogle Scholar
  37. Overture-Core-Team. Overture Web site. http://www.overturetool.org, 2007.Google ScholarGoogle Scholar
  38. Overture Group. The VDM Portal. http://www.vdmportal.org, 2007.Google ScholarGoogle Scholar
  39. P. G. Larsen and B. S. Hansen and H. Brunn N. Plat and H. Toetenel and D. J. Andrews and J. Dawes and G. Parkin and others. Information technology -- Programming languages, their environments and system software interfaces -- Vienna Development Method -- Specification Language -- Part 1: Base language, December 1996.Google ScholarGoogle Scholar
  40. Nico Plat. The Industrial use of VDM++. In IEE Colloquium on Industrial Use of Formal Methods. IEE, May 1997.Google ScholarGoogle ScholarCross RefCross Ref
  41. Armand Puccetti and Jean Yves Tixadou. Application of VDM-SL to the Development of the SPOT4 Programming Messages Generator. In John Fitzgerald and Peter Gorm Larsen, editors, VDM in Practice, pages 127--137, September 1999.Google ScholarGoogle Scholar
  42. Paul R. Smith and Peter Gorm Larsen. Applications of VDM in Banknote Processing. In John S. Fitzgerald and Peter Gorm Larsen, editors, VDM in Practice: Proc. First VDM Workshop 1999, September 1999. Available at www.vdmportal.org.Google ScholarGoogle Scholar
  43. Sunil Vadera, F. Meziane, and M. Huang. Experience with mural in formalising dust-expert. Information and Software Technology, 43:231--240, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  44. S. H. Valentine. Z--, an executable subset of Z. In J. E. Nicholls, editor, Z User Workshop, York 1991, Workshops in Computing, pages 157--187. Springer-Verlag, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Marcel Verhoef and Peter Gorm Larsen. Interpreting Distributed System Architectures Using VDM++ -- A Case Study. In Brian Sauser and Gerrit Muller, editors, 5th Annual Conference on Systems Engineering Research, March 2007. Available at http://www.stevens.edu/engineering/cser/.Google ScholarGoogle Scholar
  46. Marcel Verhoef, Peter Gorm Larsen, and Jozef Hooman. Modeling and Validating Distributed Embedded Real-Time Systems with VDM++. In Jayadev Misra, Tobias Nipkow, and Emil Sekerinski, editors, FM 2006: Formal Methods, pages 147--162. Lecture Notes in Computer Science 4085, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Sander Vermolen. Automatically Discharging VDM Proof Obligations using HOL. Master's thesis, Radboud University Nijmegen, Computer Science Department, August 2007.Google ScholarGoogle Scholar

Index Terms

  1. VDMTools: advances in support for formal modeling in VDM

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader
                About Cookies On This Site

                We use cookies to ensure that we give you the best experience on our website.

                Learn more

                Got it!