Presentation is loading. Please wait.

Presentation is loading. Please wait.

IFAD www.ifad.dk Dr Peter Gorm Larsen IFAD A/S Forskerparken 10A DK-5230 Odense M Denmark Ten Years of Historical Development “Bootstrapping” VDMTools.

Similar presentations


Presentation on theme: "IFAD www.ifad.dk Dr Peter Gorm Larsen IFAD A/S Forskerparken 10A DK-5230 Odense M Denmark Ten Years of Historical Development “Bootstrapping” VDMTools."— Presentation transcript:

1 IFAD www.ifad.dk Dr Peter Gorm Larsen IFAD A/S Forskerparken 10A DK-5230 Odense M Denmark Ten Years of Historical Development “Bootstrapping” VDMTools ®

2 IFAD 2 “Bootstrapping” VDMTools ® â What is IFAD? l VDMTools overview l Staff overview l Development environment l The “Bootstrapping” process l Perspectives

3 IFAD 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-specific consultancy, and by organising seminars IFAD offers Subcontracted software specification and development performed by highly qualified and experienced personnel

4 IFAD 4 IFAD Organisation Chart Henrik Voss Management Marketing QA Admin.Systems Subcontracting Consultancy Sales Services Projects Sales Tools R&D VDMTools Products MUSTER R&D Methods & ToolsTraining & Simulation

5 IFAD 5 Boeing/Joint Strike Fighter

6 IFAD 6 “Bootstrapping” VDMTools ® 4 What is IFAD? â VDMTools overview l Staff overview l Development environment l The “Bootstrapping” process l Perspectives

7 IFAD 7 VDMTools

8 8 IFAD VDMTools Alliances IFAD ISPRAS, Russia Sidereus, Portugal Rational, USA JFITS, Japan DDC-I, USA Aichernig, Austria Alagar, Canada SofTools, USA

9 IFAD 9 References, 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 ItalyENEAAnsaldoAlstrom The Netherlands Dutch Dept. of Defence OriginChessDenmark Danish Railways Baan Nordic Odense Steel Shipyard DDC International North America Boeing Rockwell Collins Lockheed Martin DDC-I, Inc. Rational Software Corp. Formal Systems Inc. Japan RTRI (Japan Railways) JFITSGermany GAO mbH More than 150 clients world-wide

10 IFAD 10 VDMTools ® Overview The Rose-VDM++ Link Document Generator Code Generators - C++, Java Syntax & Type Checker API (Corba), DL Facility Interpreter (Debugger)

11 IFAD 11 VDM for Analysis & Design CodingUnit Test Software Design Module Test System Analysis System Test VDM Model Test Cases Animation Modelling & Validation

12 IFAD 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 IFAD 13 “Bootstrapping” VDMTools ® 4 What is IFAD? 4 VDMTools overview â Staff overview l Development environment l The “Bootstrapping” process l Perspectives

14 IFAD 14 Staff Overview PGL PBL MA ETN HC HV NK JNJ SA LTO JWT OS JKP KS PM 91929394959697989900 NP MV KdB CABFBA SN JKP VSJKP WS JSF

15 IFAD 15 “Bootstrapping” VDMTools ® 4 What is IFAD? 4 VDMTools overview 4 Staff overview â Development environment l The “Bootstrapping” process l Perspectives

16 IFAD 16 Development Environment l GNU C++/Visual C++ l Generic VDM C++ library l GUI: Previously:Tcl/Tk, Now: Qt l flex and bison l CVS/Ediff version control l OSs: Windows, Linux, Unix l Test environments l Development procedures

17 IFAD 17 “Bootstrapping” VDMTools ® 4 What is IFAD? 4 VDMTools overview 4 Staff overview 4 Development environment â The “Bootstrapping” process l Perspectives

18 IFAD 18 VDM++ The “Bootstrapping” Process VDM-SL DS spec VDM-SL DS impl VDM-SL SS spec VDM-SL SS impl VDM-SL SM spec VDM-SL SM impl VDM-SL PM spec VDM-SL PM impl VDM-SL CG spec VDM-SL CG impl Implicit time line

19 IFAD 19 Specification Sizes

20 IFAD 20 Component Categories l Purely hand-coded l VDM + hand coding l VDM + code generation

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

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

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

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

25 IFAD 25 Abstraction in models l Initial abstract syntax l Abstract syntax for code generator l 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 IFAD 26 “Bootstrapping” VDMTools ® 4 What is IFAD? 4 VDMTools overview 4 Staff overview 4 Development environment 4 The “Bootstrapping” process â Perspectives

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

28 IFAD 28 Concluding Remarks l Taking ones “own medicine” helps l Use when worthwhile l Use inside lifecycle l Using VDM helps us master complexity l It is FUN!


Download ppt "IFAD www.ifad.dk Dr Peter Gorm Larsen IFAD A/S Forskerparken 10A DK-5230 Odense M Denmark Ten Years of Historical Development “Bootstrapping” VDMTools."

Similar presentations


Ads by Google