VDM Tutorial Overview John Fitzgerald Peter Gorm Larsen

  • Slides: 8
Download presentation
VDM++ Tutorial Overview John Fitzgerald Peter Gorm Larsen Paul Mukherjee Nico Plat

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,

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

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

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.

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

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

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

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)