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.
- J.-R. Abrial. The B Book -- Assigning Programs to Meanings. Cambridge University Press, August 1996. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Paulo Borba and Silvio Meira. From VDM Specifications to Functional Prototypes. Journal of Systems Software, 21:267--278, 1993. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Jonathan P. Bowen and Michael G. Hinchey. Ten Commandments of Formal Methods. IEEE Computer, 28(4):56--62, April 1995. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat, and Marcel Verhoef. Validated Designs for Object-oriented Systems. Springer, New York, 2005. Google Scholar
Digital Library
- 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 Scholar
- Brigitte Fröhlich. Towards Executability of Implicit Definitions. PhD thesis, TU Graz, Institute of Software Technology, September 1998.Google Scholar
- 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 Scholar
Digital Library
- Norbert E. Fuchs. Specifications are (preferably) executable. Software Engineering Journal, pages 323--334, September 1992. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Anthony Hall. Seven Myths of Formal Methods. IEEE Software, 7(5):11--19, September 1990. Google Scholar
Digital Library
- I. J. Hayes and C. B. Jones. Specifications are not (Necessarily) Executable. Software Engineering Journal, pages 330--338, November 1989. Google Scholar
Digital Library
- Cliff B. Jones. Systematic Software Development Using VDM. Prentice-Hall International, Englewood Cliffs, New Jersey, second edition, 1990. ISBN 0-13-880733-7. Google Scholar
Digital Library
- Aaron Kans and Clive Hayton. Using ABC To Prototype VDM Specifications. ACM Sig Plan Notices, pages 27--37, January 1994. Google Scholar
Digital Library
- 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 Scholar
- Peter Gorm Larsen. Ten Years of Historical Development: "Bootstrapping" VDMTools. Journal of Universal Computer Science, 7(8):692--709, 2001.Google Scholar
- Peter Gorm Larsen, John Fitzgerald, and Tom Brookes. Applying Formal Specification in Industry. IEEE Software, 13(3):48--56, May 1996. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Shaoying Liu and Hao Wang. An automated approach to specification animation for validation. Journal of Systems and Software, 80:1271--1285, 2007. Google Scholar
Digital Library
- Sun Microsystems. JavaDoc homepage. http://java.sun.com/j2se/javadoc/, 2007.Google Scholar
- Paul Mukherjee. Computer-aided Validation of Formal Specifications. Software Engineering Journal, pages 133--140, July 1995.Google Scholar
Cross Ref
- 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 Scholar
- Overture-Core-Team. Overture Web site. http://www.overturetool.org, 2007.Google Scholar
- Overture Group. The VDM Portal. http://www.vdmportal.org, 2007.Google Scholar
- 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 Scholar
- Nico Plat. The Industrial use of VDM++. In IEE Colloquium on Industrial Use of Formal Methods. IEE, May 1997.Google Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
- Sunil Vadera, F. Meziane, and M. Huang. Experience with mural in formalising dust-expert. Information and Software Technology, 43:231--240, 2001.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Sander Vermolen. Automatically Discharging VDM Proof Obligations using HOL. Master's thesis, Radboud University Nijmegen, Computer Science Department, August 2007.Google Scholar
Index Terms
VDMTools: advances in support for formal modeling in VDM
Recommendations
Informal and Formal Requirements Specification Languages: Bridging the Gap
The differences between informal and formal requirements specification languages are noted, and the issue of bridging the gap between them is discussed. Using structured analysis (SA) and the Vienna development method (VDM) as surrogates for informal ...
Assessment of Safety-Critical Specifications
Formal methods can reduce the ambiguity in specifications and provide a basis for verification later on/spl minus/especially important for safety-critical systems. The author compares specifications in the software cost reduction method and in the ...
Using KIDS as a tool support for VDM
ICSE '96: Proceedings of the 18th international conference on Software engineeringKIDS/VDM is an experimental environment that supports the synthesis of executable prototypes from VDM specifications. The development proceeds as a series of correctness preserving transformations under the strict control of the tool. A by-product of ...






Comments