What is the VDM file format?
.vdm is a development file format used for storing source code written in VDM-SL or VDM++ specification languages. A .vdm file is plain text and can be edited using any text editor. VDM files store formal specifications that describe a model of a computing system. Using VDM specification files allows designers to get a high-level view of the system - one that is more difficult to obtain by only perusing implementation source code. VDM files can also serve as the basis for generating code components.
Vienna Development Method
The VDM standard was developed in the 1970s at IBM's Vienna Laboratory and is one of the oldest formal methods for computer system development. VDM-SL was standardized as ISO/IEC 13817-1 in 1996. It was further enhanced to support object-oriented modelling, resulting in the VDM++ standard, which also uses .vdm files. A third dialect, VDM-RT, extends VDM++ for real-time and distributed systems. The language is applied to safety-critical domains including operating system design, compilers, avionics software, and medical device control systems.
The primary open-source toolset is the Overture Tool, an Eclipse-based IDE actively maintained by the community and used in EU research and industrial projects. Some tools use the alternative extensions .vdmsl and .vdmpp to distinguish the two main dialects.
Security & safety
RISK: LOWPlain text source code files; no executable content. No known malware vector.
Format details
in a nutshell- VEDIT Macro File (Greenview Data) - Script/macro file for VEDIT text editor (Greenview Data, Inc.); written in VDM macro language to automate editing tasks on text, binary, or EBCDIC files. VEDIT is a niche but still-sold Windows/DOS editor.
- Windows Defender Virus Definition Module - Historically used by Microsoft Windows Defender for virus definition modules (.vdm files containing known malware signatures); modern Defender uses a different update mechanism.
Programs that open VDM files
Technical details
deep spec| File encoding | Plain text - ASCII or UTF-8 |
| Dialects | VDM-SL (modular/flat), VDM++ (object-oriented), VDM-RT (real-time/distributed) |
| ISO standard | ISO/IEC 13817-1:1996 (VDM-SL) |
| Syntax basis | Set theory, predicate logic, algebraic data types |
| Module structure (VDM-SL) | `module` keyword with `types`, `values`, `functions`, `operations` sections |
| Class structure (VDM++) | `class` keyword with instance variables, methods, and invariants |
| Typical file size | 1 KB - 200 KB |
| OS support | Windows, Linux, macOS - platform-independent text format |
| Primary tooling | Overture Tool (Eclipse-based, open source); VDMTools (commercial, legacy) |
| Alternative extensions | `.vdmsl` for VDM-SL sources, `.vdmpp` and `.vpp` for VDM++ sources |
| Code generation | Java and C++ generation from VDM++/VDM-RT supported by Overture Tool |
| Application domains | Avionics, medical devices, financial systems, compiler design, safety-critical embedded systems |
| Released | 1970s (VDM-SL); ISO/IEC 13817-1 published 1996 |
| Latest version | VDM-SL (ISO/IEC 13817-1:1996); VDM++ (extension for OO, 2000s); VDM-RT (real-time extension) |
| Open standard | Yes · royalty-free |
| Specification | www.overturetool.org |
VDM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about VDM files.