Skip to content

A plugin that is integrated into the VDM-VSCode extension (https://github.com/overturetool/vdm-vscode). The plugin enables bi-directional translations between VDM models and the textually based diagram tool, PlantUML (https://plantuml.com/).

Notifications You must be signed in to change notification settings

jolnd/vdm-plantuml-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Support for PlantUML Visualizations of VDM Models

The VDM-PlantUML plugin is integrated into the VDM-VSCode extension, which provides VDM language support for Visual Studio Code (VS Code). The plugin enables bi-directional translations between VDM models and the textually based diagram tool, PlantUML. The object-oriented (OO) structure of the VDM models are represented in UML as PlantUML class diagrams.

For information about using the plugin on VS Code see the VDM-VSCode wiki, as well as the wiki for this plugin.

Vdm-PlantUML Cheatsheet

Component VDM PlantUML
Class Declarations Class A ... End A class A{ ... }
Instance Variable Definitions instance variables
var1 : Type;
var1 : Type
Value Definitions values
val1 : Type = value1
val1 : Type «value»
Type Definitions types
type1 = Type
type1 : Type «type»
Operation Definitions operations
op1 : Type ==> Type;
op1() == ( ... );
op1() : Type
Function Definitions functions
func1 : Type ==> Type;
func1() == ( ... );
func1() : Type «function»
Associations class A
...
instance variables
asoc1 : B;
A --> B : asoc1
Associative set asoc1 : set of B A --> "0..*" B : asoc1
Associative set1 asoc1 : set1 of B A --> "1..*" B : asoc1
Associative seq asoc1 : seq of B A --> "(0..*)" B : asoc1
Associative seq1 asoc1 : seq1 of B A --> "(1..*)" B : asoc1
Associative map asoc1 : map Type to B; A "[Type]" --> B : asoc1
Associative inmap asoc1 : inmap Type to B; A "[(Type)]" --> B : asoc1
Static Keyword (not implemented) static member1 ... {static} : member1
Visibility private member1
protected member2
public member3
- member1
# member2
+ member3
In Keyword operations
op1 : type1 * type2 ==> Type;
op1(in t1: type1, in t2: type2) == ( ... );
op1(in t1: type1, in t2: type2) : Type

About

A plugin that is integrated into the VDM-VSCode extension (https://github.com/overturetool/vdm-vscode). The plugin enables bi-directional translations between VDM models and the textually based diagram tool, PlantUML (https://plantuml.com/).

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages