VDM Tutorial Overview John Fitzgerald Peter Gorm Larsen








- Slides: 8
VDM++ Tutorial Overview John Fitzgerald Peter Gorm Larsen Paul Mukherjee Nico Plat
Introduction l VDM and VDM++ l l l l The Vienna Development Method Austrian, Irish, British, Danish, …? ISO Standardisation of VDM-SL Steady expansion in tool support Afrodite O-o & concurrency extensions The aim: raising the state of the art!
Introduction l Model-oriented specification: l l l Simple, abstract data types Invariants to restrict membership Functional specification: l l Referentially transparent functions Operations with side effects on state variables Implicit specification (pre/post) Explicit specification (functional or imperative)
Introduction class Alarm types public String = seq of char; Simple types & type constructors instance variables descr : String; req. Quali : Expert`Qualification; State Variables operations public Alarm: Expert`Qualification * String ==> Alarm(quali, str) == ( descr : = str; State-modifying req. Quali : = quali); operations public Get. Req. Quali: () ==> Expert`Qualification Get. Req. Quali() == return req. Quali; end Alarm
Raising the State of the Art l Stress on modelling and analysis: Model, n. A schematic description of a system, theory, or phenomenon that accounts for its known or inferred properties and may be used for further study of its characteristics l … on industrial strength l l l integration with architecture and design strong tool support driven by industrial experience
Raising the State of the Art l … and on a capable language! l l Scale and complexity: o-o & concurrency V&V Potential: l l l model quality: integrity properties building on rigour in the semantics admitting test, code generation, animation
Our aim … l You will be informed l Key aspects of VDM++ l l Role in architecture and design Salient language features: o-o, concurrency Analysis & synthesis features: model quality & code gen. and encouraged l l Tool support Industrial experience
Schedule 1400 -1500: Part I - VDM++ in Context 1400 -1420 Overview (John) 1420 -1440 Architecture/process (Nico) 1440 -1500 A quick flight through the tools (Peter) 1500 -1645 Part II - VDM++ Features (Paul) incl. coffee break 1530 -1600 - Concurrency - Quality - Java 1645 -1730 Part III - Industrial Experience to date Closing Discussion (All)








