Usage GIFs - overturetool/vdm-vscode GitHub Wiki

Animated Usage Examples

This page contains some animated GIFs that demonstrate the usage of the tool. The aspects shown are covered elsewhere in the wiki too.

Syntax Highlighting

VDM keywords are automatically highlighted.

Syntax- and Type-checking

Syntax- and type-errors and warnings are highlighted in the editor and detailed in the terminal or by hovering on the highlighted section.

Smart Navigation

Multiple actions exist for navigating to the definition of a given identifier in a specification: Ctrl + click, the right-click context menu or pressing F12 while hovering on the identifier.

Debugging

A debugging session can be initiated using the standard VS Code debug interface. This launches the VDMJ interpreter enabling commands to be issued through the terminal. For a list of the available commands type help.

Debugging Using Lenses

A debugging session can be initiated using the generated widgets next to executable VDM primitives.

Proof Obligation Generation

Proof obligation generation can be performed for a specification by accessing the editor context menu (right-clicking in the editor window). Alternatively, the explorer context menu can be used by right-clicking a VDM file in the explorer window.

Combinatiorial Testing

Combinatorial testing can be performed for a given specification by accessing the "Combinatorial Testing" menu in the activity bar.

Translation to LaTeX and Word

A specification can be translated to LaTex or Word formats by accessing the editor context menu by right-clicking in the editor.

Translation from and to UML

A VDM++ or VDM-RT specification can be translated to the PlantUML format and a .puml file can be translated to VDM++ by accessing the editor context menu by right-clicking in the editor.

Export to FMU

A VDM-RT specification can be exported as a tool wrapper FMU.

Java Code Generation

From a specification, you can generate Java code by accessing the editor context menu by right-clicking in the editor.

Dependency Graph Generation

A dependency graph for the specification can be generated by accessing the editor context menu by right-clicking in the editor. This will generate a Graphviz file (.dot) which can be displayed graphically elsewhere, e.g. by installing a Graphviz extension such as vscode-graphviz or graphviz-interactive-preview.



Coverage Report

An execution coverage report can be generated by accessing the editor context menu by right-clicking in the editor. The results from the latest coverage report or a user-defined coverage report (configurable in the settings) can be overlayed on the visible editors by a toggle in the focused editor title.

Import of Project Examples

VDM-SL, VDM++, and VDM-RT project examples can be imported by accessing the explorer context menu by right-clicking in the explorer.

Import of VDM libraries

VDM libraries can be added to a project by accessing the context menu by right-clicking in the explorer or the editor. Libraries to choose from can be configured in the settings.

Remote Control

You can use the remote control option by adding a new configuration and selecting "VDM Debug: Remote Control (VDM-SL/++/RT).

Using Snippets

You can press CTRL+space after typing the first few characters of a known VDM construct and Overture will offer its auto-completion. a proposal.

Real Time Log Viewer

Opening a .rtlog file from a VDM-RT project will show a prompt asking if the log file should be viewed in the log viewer. The log viewer shows an architecture overview, an execution overview, a number of CPU overviews (one for each deployed CPU) and a diagram legend overview. The diagram in the execution overview and CPU overview(s) can be navigated in time by either choosing a start time or by the up and down arrows which will decrease or increase the current start time.

⚠️ **GitHub.com Fallback** ⚠️