Ten%20Years%20of%20Historical%20Development - PowerPoint PPT Presentation

About This Presentation
Title:

Ten%20Years%20of%20Historical%20Development

Description:

Professional software development tools that assist engineers in ... Rolls Royce. Transitive Technologies. Italy. ENEA. Ansaldo. Alstrom. The Netherlands ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 29
Provided by: peter1049
Category:

less

Transcript and Presenter's Notes

Title: Ten%20Years%20of%20Historical%20Development


1
Ten Years of Historical Development
Bootstrapping VDMTools
Dr Peter Gorm Larsen IFAD A/S Forskerparken
10A DK-5230 Odense M Denmark
www.ifad.dk
2
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

3
IFAD Capabilities
IFAD provides Professional software development
tools that assist engineers in producing
high-quality software IFAD ensures Technology
transfer by offering training courses, customer-sp
ecific consultancy, and by organising
seminars IFAD offers Subcontracted software
specification and development performed by highly
qualified and experienced personnel
4
IFAD Organisation Chart
Management
Subcontracting
Consultancy
Tools
Products
Henrik Voss
VDMTools
MUSTER
Sales
Services
Methods Tools
Training Simulation
5
Boeing/Joint Strike Fighter
6
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

7
VDMTools
8
IFAD VDMTools Alliances
Sidereus, Portugal
ISPRAS, Russia
Rational, USA
SofTools, USA
Technical partners
IFAD
DDC-I, USA
Fellows
Distributors
Alagar, Canada
JFITS, Japan
Aichernig, Austria
9
References, World-wide
More than 150 clients world-wide
France Aerospatiale Espace et Defense Dassault
Aviation Dasssault Electronique CISI CEA et
Defense CEA Leti Cap Gemini LAAS Matra Bae
Dynamics U.K. British Aerospace Systems
Equipment British Aerospace Defense Adelard ICL
Enterprise Engineering Rolls Royce Transitive
Technologies
North America Boeing Rockwell Collins Lockheed
Martin DDC-I, Inc. Rational Software Corp. Formal
Systems Inc. Japan RTRI (Japan
Railways) JFITS Germany GAO mbH
Italy ENEA Ansaldo Alstrom The
Netherlands Dutch Dept. of Defence Origin Chess D
enmark Danish Railways Baan Nordic Odense Steel
Shipyard DDC International
10
VDMTools Overview
11
VDM for Analysis Design
Animation
System Analysis
System Test
VDM Model
Test Cases
Modelling Validation
Software Design
Module Test
Coding
Unit Test
12
Development Choices Taken
  • Executable models
  • Testing and animation
  • Partial analysis (validation)
  • System level testing
  • Code generation
  • VDM for source code
  • Formal refinement and formal verification

13
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

14
Staff Overview
91
92
93
94
95
96
97
98
99
00
PGL
MV
KdB
CA
BF
BA
NP
SN
JKP
ETN
PBL
MA
HC
VS
JKP
HV
NK
JNJ
SA
WS
LTO
JWT
OS
JKP
KS
JSF
PM
15
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

16
Development Environment
  • GNU C/Visual C
  • Generic VDM C library
  • GUI PreviouslyTcl/Tk, Now Qt
  • flex and bison
  • CVS/Ediff version control
  • OSs Windows, Linux, Unix
  • Test environments
  • Development procedures

17
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

18
The Bootstrapping Process
VDM-SL DS spec
VDM-SL DS impl
Implicit time line
19
Specification Sizes
20
Component Categories
  • Purely hand-coded
  • VDM hand coding
  • VDM code generation

21
Purely Hand-coded Components
  • Scanner/parser (lex/yacc)
  • pretty-printer (simple C component)
  • GUI (previously Tcl/Tk, now Qt)
  • Interface to third party tools
  • Rational Rose
  • Corba for API
  • ML for HOL
  • Generic VDM C library

22
VDM Hand Coding
  • Dynamic semantics (SL and )
  • Static semantics (SL and )
  • Java/C Code generators (SL and )
  • Test environments for each component
  • Reused at implementation level
  • Java/C code generators now themselves partially
    code generated

23
Maintenance Approach
  • Bugs first reproduced at specification level
  • Tested using the VDM debugger
  • Check that all tests are satisfactory
  • Implement changes of specification
  • Rerun all tests at implementation level

24
VDM code generation
  • Animator for SA/RT
  • Specification Manager (SL and )
  • VDM to/from UML translation
  • Proof support (SL)
  • VDM model becomes source
  • Trade-off with abstraction

25
Abstraction in models
  • Initial abstract syntax
  • Abstract syntax for code generator
  • Final abstract syntax

BinaryExpr left Expr opr BinaryOp
right Expr
BinaryExpr left Expr opr BinaryOp
right Expr ti TypeRep
BinaryExpr left Expr opr BinaryOp
right Expr extra Key
26
Bootstrapping VDMTools
  • What is IFAD?
  • VDMTools overview
  • Staff overview
  • Development environment
  • The Bootstrapping process
  • Perspectives

27
Future Ideas
  • Expect higher use of code generation
  • Test case generation (ISPRAS, Russia)
  • Data Cleaning (Sidereus, Portugal)
  • Reverse Engineering
  • Mission-critical web development
  • More on proof support
  • More academic collaboration
  • More user-friendliness

28
Concluding Remarks
  • Taking ones own medicine helps
  • Use when worthwhile
  • Use inside lifecycle
  • Using VDM helps us master complexity
  • It is FUN!
Write a Comment
User Comments (0)
About PowerShow.com