1 / 8

VDM++ Tutorial

VDM++ Tutorial. Overview John Fitzgerald Peter Gorm Larsen Paul Mukherjee Nico Plat. Introduction. VDM and VDM++ The Vienna Development Method Austrian, Irish, British, Danish, …? ISO Standardisation of VDM-SL Steady expansion in tool support Afrodite O-o & concurrency extensions

maxhall
Télécharger la présentation

VDM++ Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VDM++ Tutorial Overview John Fitzgerald Peter Gorm Larsen Paul Mukherjee Nico Plat

  2. Introduction • VDM and VDM++ • 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!

  3. Introduction • Model-oriented specification: • Simple, abstract data types • Invariants to restrict membership • Functional specification: • Referentially transparent functions • Operations with side effects on state variables • Implicit specification (pre/post) • Explicit specification (functional or imperative)

  4. Introduction class Alarm types public String = seq of char; instance variables descr : String; reqQuali : Expert`Qualification; operations public Alarm: Expert`Qualification * String ==> Alarm Alarm(quali,str) == ( descr := str; reqQuali := quali); public GetReqQuali: () ==> Expert`Qualification GetReqQuali() == return reqQuali; end Alarm Simple types & type constructors State Variables State-modifying operations

  5. Raising the State of the Art • Stress on modelling and analysis: • … on industrial strength • integration with architecture and design • strong tool support • driven by industrial experience 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

  6. Raising the State of the Art • … and on a capable language! • Scale and complexity: o-o & concurrency • V&V Potential: • model quality: integrity properties • building on rigour in the semantics • admitting test, code generation, animation

  7. Our aim … • You will be informed • Key aspects of VDM++ • Role in architecture and design • Salient language features: o-o, concurrency • Analysis & synthesis features: model quality & code gen. • and encouraged  • Tool support • Industrial experience

  8. 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)

More Related