• Ingen resultater fundet

VERSITET UNI APPLICATION OF VDM IN INDUSTRY

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "VERSITET UNI APPLICATION OF VDM IN INDUSTRY"

Copied!
49
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

VERSITET

PETER GORM LARSEN

PROFESSOR (INGENIØRDOCENT)

APRIL 2013

UNI

APPLICATION OF VDM IN INDUSTRY

(2)

WHO AM I?

Professor Peter Gorm Larsen; MSc, PhD

› 20+ years of professional experience

› ½ year with Technical University of Denmark

› 13 years with IFAD

› 3,5 years with Systematic

› 7 ½ years with IHA/Aarhus University

› Reviewer for EU on Research projects and applications

› Consultant for most large defence contractors on large complex projects (e.g. Joint Strike Fighter)

› Relations to industry and academia all over the world

› Has written books and articles about VDM

› See http://pglconsult.dk/private/peter.htm for details

(3)

AGENDA

Industrial Experience with VDM

› The Overture/VDM Open Source Initiative

› The European DESTECS Project

› Review of Industrial Deployment

(4)

REFERENCES, WORLD-WIDE, 2001

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

Italy ENEA Ansaldo

The Netherlands

Dutch Dept. of Defence Origin

Chess

Portugal Sidereus

Denmark Baan Nordic

Odense Steel Shipyard DDC International

North America Boeing

Rockwell Collins Lockheed Martin DDC-I, Inc.

Rational Software Corp.

Formal Systems Inc.

Concordia University

Japan

RTRI (Japan Railways) JFITS

Felica Networks

Germany GAO mbH

More than 150 VDMTools clients world-wide

(5)

CONFORM (1994)

› Organisation: British Aerospace (UK)

› Domain: Security (gateway)

› Tools: The VDM-SL Toolbox

› Experience:

› Prevented propagation of error

› Successful technology transfer

› At least 4 more applications without support

› Statements:

› “Engineers can learn the technique in one week”

› “VDMTools can be integrated gradually into a traditional existing development process”

(6)

DUSTEXPERT (1995-7)

› Organisation: Adelard (UK)

› Domain: Safety (dust explosives)

› Tools: The VDM-SL Toolbox

› Experience:

› Delivered on time at expected cost

› Large VDM-SL specification

› Testing support valuable

› Statement:

› “Using VDMTools we have achieved a productivity and fault density far better than industry norms for safety related systems”

(7)

ADELARD METRICS

› 31 faults in Prolog and C++ (< 1/kloc)

› Most minor, only 1 safety-related

› 1 (small) design error, rest in coding

Initial requirements 450 pages

VDM specification 16kloc (31 modules)

12kloc (excl comments) Prolog

implementation

37kloc

16kloc (excl comments) C++ GUI

implementation

23kloc

18kloc (excl comments)

(8)

CAVA (1998-)

› Organisation: Baan (Denmark)

› Domain: Constraint solver (Sales Configuration)

› Tools: The VDM-SL Toolbox

› Experience:

› Common understanding

› Faster route to prototype

› Earlier testing

› Statement:

› “VDMTools has been used in order to increase quality and reduce development risks on high

(9)

DUTCH DOD (1997-8)

› Organisation: Origin, The Netherlands

› Domain: Military

› Tools: The VDM-SL Toolbox

› Experience:

› Higher level of assurance

› Mastering of complexity

› Delivered at expected cost and on schedule

No errors detected in code after delivery

› Statement:

› “We chose VDMTools because of high demands on maintainability, adaptability and reliability”

(10)

DOD, NL METRICS

› Estimated 12 C++ loc/h with manual coding!

kloc hours loc/hour

spec 15 1196 13

manual impl 4 471 8.5

automatic impl 90 0 NA

test NA 612 NA

total code 94 2279 41.2

totAL

(11)

DOD - COMPARATIVE METRICS

CODING TESTING

CODING TESTING ANALYSIS &

DESIGN

Traditional:

VDMTools®:

ANALYSIS &

DESIGN

900 2000 700

1200 500 600

100%

(12)

BPS 1000 (1997-)

› Organisation: GAO, Germany

› Domain: Bank note processing

› Tools: The VDM-SL Toolbox

› Experience:

› Better understanding of sensor data

› Errors identified in other code

› Savings on maintenance

› Statement:

› VDMTools provides unparalleled support for design abstraction ensuring quality and control throughout the development life cycle.

(13)

FLOWER AUCTION (1998)

› Organisation: Chess, The Netherlands

› Domain: Financial transactions

› Tools: The VDM++ Toolbox

› Experience:

› Successful combination of UML and VDM++

› Use iterative process to gain client commitment

› Implementers did not even have a VDM course

› Statement:

› “The link between VDMTools and Rational Rose is essential for understanding the UML diagrams”

(14)

SPOT 4 (1999)

› Organisation: CS-CI, France

› Domain: Space (payload for SPOT4 satellite)

› Tools: The VDM-SL Toolbox

› Experience:

› 38 % less lines of source code

› 36 % less overall effort

› Use of automatic C++ code generation

› Statement:

The cost of applying Formal methods is significantly lower than without them.

(15)

IFAD VDM APPLICATIONS

› VDMTools

› VDM interpreter

› VDM static semantics

› VDM to C++ code generator

› Specification manager

› UML mapper

› Java static semantics

› Java VDM++ translator

› MUSTER: Emergency response training

(16)

SPECIFICATION SIZES

Abstract Syntax etc 3196

Static Semantics 20289

Interpreter 29738

Code generators 32891

Specification Manager 3822

Dependency 792

Rose-VDM++ Link 1518

Proof Obligation Generation 15475

Java Static Semantics 7025

Java 2 VDM++ Translator 7702

In total 122448

(17)

JAPANESE RAILWAYS (2000-2001)

› Domain: Railways (database and interlocking)

› Experience:

› Prototyping important

› Subsequent also using it for ATC system

› Engineer working at IFAD for two years

(18)

TRADEONE, CSK, 2000 - 2001

›Full TradeOne system is 1.3 MLOC system

›Mission-critical backbone system keeping track of financial transactions conducted

›Used by securities companies and brokerage houses

Tax exemption subsystem has particularly complex regulations to implement.

Modelled in VDM++.

Options Subsystem handles the business process for trading options. Modelled in VDM++

(19)

TRADEONE COST EFFECTIVENESS

Subsystem COCOMO estimate

Real time Time saving

Tax exemption Effort:38.5 PM Schedule:9M Options Effort:147.2 PM

Schedule:14.3M

Effort:14 PM

Schedule: 3.5 M

Effort:74%

Schedule:61%

Effort: 60.1 PM Schedule:7M

Effort: 60%

Schedule: 51%

Overall sizes

Total TradeOne 1,342,858 Tax exemption subsystem 18,431 Option subsystem 60,206

(20)

THE FELICA MOBILE CHIP PROJECT

› Mobile FeliCa IC chips can be embedded inside mobile phones

› Used for different on-line services including payment

› Uses Near-Field-Communication technology

› Used for example for metro ticking in Tokyo

› The IC Chips contains an operating system as

firmware for more than 193 million mobile phones

› This is fully developed using the VDM++ technology

› Between 50 and 60 people in total on the project

23.5 mm

(21)

APPLICATION OF VDM IN INDUSTRY PETER GORM LARSEN

APRIL 2013

Tools for VDM in

21

SPEC AND IMPL GROWTH

形式仕様と実装のコミットした累計行数 / 仕様変更数 / 各種イベント

0 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 100,000 110,000 120,000 130,000 140,000

2004/7 2004/8 2004/9 2004/10 2004/11 2004/12 2005/1 2005/2 2005/3 2005/4 2005/5 2005/6 2005/7 2005/8 2005/9 2005/10 2005/11 2005/12 2006/1 2006/2 2006/3 2006/4

コミットした累計行数

0 10 20 30 40 50 60 70 80 90 100 仕様変更数

仕様変更 形式仕様 実装

外部仕様書1.0

形式仕様本開発スタート 形式仕様書1.0 OS定義書1.0

RR1.0 RR2.0 パイロット移動機メーカ RR3.0 パイロット移動機メーカ RR4.0 パイロット移動機メーカ RR5.0 全移動機メーカ

2課+椎木さんレビュー 設計者・評価者レビュー

α版評価

クロスチェック評価 ・ カバレッジ評価

RR7.0 全移動機メーカ

設計構想会議

本開発準備フェーズ (3M ) 本開発フェーズ (8M ) 内部リリース後フェーズ (6M ) 外部リリース後フェーズ (6M )

Specification v.1.0

Specification Phase Implementation Phase

仕様書0.9

2004/7 2006/4

Specification

Implementation 140

0 70 100

kLOC

The average productivity of VDM++ code for the formal

specifications was about 1,900 LOC per engineer per month.

(22)

APPLICATION OF VDM IN INDUSTRY PETER GORM LARSEN

APRIL 2013

Tools for VDM in

22

NUMBER OF CHANGES

形式仕様と実装のコミットした累計行数 / 仕様変更数 / 各種イベント

0 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 100,000 110,000 120,000 130,000 140,000

2004/7 2004/8 2004/9 2004/10 2004/11 2004/12 2005/1 2005/2 2005/3 2005/4 2005/5 2005/6 2005/7 2005/8 2005/9 2005/10 2005/11 2005/12 2006/1 2006/2 2006/3 2006/4

コミットした累計行数

0 10 20 30 40 50 60 70 80 90 100 仕様変更数

仕様変更 形式仕様 実装

外部仕様書1.0

形式仕様本開発スタート 形式仕様書1.0 OS定義書1.0

RR1.0 RR2.0 パイロット移動機メーカ RR3.0 パイロット移動機メーカ RR4.0 パイロット移動機メーカ RR5.0 全移動機メーカ

2課+椎木さんレビュー 設計者・評価者レビュー

α版評価

クロスチェック評価 ・ カバレッジ評価

RR7.0 全移動機メーカ

設計構想会議

本開発準備フェーズ (3M ) 本開発フェーズ (8M ) 内部リリース後フェーズ (6M ) 外部リリース後フェーズ (6M )

仕様書0.9

Specification v.1.0

Specification Phase Implementation Phase

2004/7

Number of Changes

0 50

2006/4

(23)

FURTHER INFORMATION

Applying Formal Specification in Industry. P.G. Larsen, J. Fitzgerald and T.

Brookes. Published in "IEEE Software" vol. 13, no. 3, May 1996

A Lightweight Approach to Formal Methods S.Agerholm and P.G. Larsen.

In Proceedings of the International Workshop on Current Trends in

Applied Formal Methods, Boppard, Germany, Springer-Verlag, October 1998.

Applications of VDM in Banknote Processing P. Smith and P.G. Larsen. + Application of VDM-SL to the Development of the SPOT4 Programming Messages Generator, A. Puccetti and J.Y. Tixadou + Formal Specification of an Auctioning System Using VDM++ and UML, M.Verhoef et. al.

Published at the First VDM Workshop: VDM in Practice with the FM'99 Symposium, Toulouse, France, September 1999.

Application of a Formal Specification Language in the Development of the ``Mobile FeliCa'' IC Chip Firmware for Embedding in Mobile Phone, Taro Kurita and Miki Chiba and Yasumasa Nakatsugawa, Springer-Verlag, FM2008, May 2008.

(24)

AGENDA

› Industrial Experience with VDM

The Overture/VDM Open Source Initiative

› The European DESTECS Project

› Review of Industrial Deployment

(25)

OVERTURE – OPEN-SOURCE

› Based on the Eclipse platform

› Extendible open VDM tool with support for different dialects

› Initial tool support produced in MSc project in NL

› MSc project carried out at Technical University of Denmark

› Jacob Porsborg Nielsen and Jens Kielsgaard Hansen

› MSc project at Computer Science, Aarhus University

› Thomas Christensen

› MSc projects at Engineering College of Aarhus/Aarhus Uni

› Hugo Macedo, Minho University

› Sander Vermolen, University of Nijmegen

› Adriana Sucena, Minho University

› Carlos Vilhena, Minho University

› Augusto Ribeiro, Minho University

› Kenneth Lausdahl and Hans Christian Lintrup, IHA

› Christian Thillemann and David Møller, IHA

› Claus Ballegaard Nielsen, IHA

(26)

THE OVERTURE TOOL

(27)

OVERTURE PERSPECTIVE

Project explorer with VDM model

files Outline of VDM

model

Errors and warnings

Changing perspective VDM Editors

(28)

DEBUG PERSPECTIVE

Call traces in

debug Inspecting

variables

Editor

Interactive console

Outline

(29)

COMBINATORIAL TESTING

Regular expression

Overview of results

Detailed test case

(30)

PROOF OBLIGATION

Proof obligation view

(let expert:Expert = RESULT in p in set dom schedule)

(31)

AGENDA

› Industrial Experience with VDM

› The Overture/VDM Open Source Initiative

The European DESTECS Project

› Review of Industrial Deployment

(32)

› Methods (Modelling guidelines, patterns)

› Tool Support (open platform)

› Industry case studies: personal transportation, mail processing, dredging etc.

DESTECS (WWW.DESTECS.ORG)

VDM (Overture)

Bond Graphs (20-sim)

Discrete Event (DE)

Continuous Time (CT) Fault/Error

Modelling

(33)

Animation 3D Mechanics

Mechatronics

Frequency Domain

Time Domain Control

20-SIM TOOLS

(34)

DESTECS TOOL ARCHITECTURE

Continuous-time system

Co-Simulation engine Discrete-event

system

Overture DESTECS Tool 20-sim

(35)

CO-SIMULATION ARCHITECTURE

(36)

EXAMPLE: WATER TANK

(37)

EXAMPLE: WATER TANK

class Controller instance variables

private i : Interface operations

async public Open:() ==> () Open() == duration(50)

i.SetValve(true);

async public Close:() ==> () Close() == cycles(1000)

i.SetValve(false);

sync

mutex(Open, Close);

mutex(Open); mutex(Close) end Controller

CT-side DE-side

(38)

INDUSTRIAL CASE STUDIES

› Case studies inside project

› A personal transporter (SegWay-like)

› A dredging excavator

› A document handling system (printer-like)

› Industrial Follow Group Challenges

› Crisplant, DK: Banking function on conveyor belt

› Terma, DK: Flare dispenses for aircraft

› ESA-ESTEC, NL: Planetary rover

(39)

ADDITIONAL INDUSTRIAL PHD

› Sune Wolff (MSc, RT-embedded systems, BSc, EE)

› Terma A/S (Avionics)

› Case study: Co-simulation of EW for aircrafts

› Research theme similar to DESTECS challenge

› Focus on industrially applicable methodology

› Wider-research scope than DESTECS

› Not fixed on discrete event and continuous-time formalisms

(40)

”DESTECS” BOOK PLANNED

› Part I Co-modelling and Co-simulation: the Technical Basis

1 Collaborative Development of Embedded Systems 2 Co-modelling and Co-simulation

3 Continuous-Time Models of Plant: the 20-sim Technology

4 Discrete-Event Models of Control Software: the VDM Technology 5 Modelling in Practice: An Illustrative Example

6 Tool Support for Co-modelling and Co-simulation

› Part II Co-creating Embedded Systems: Methodology introduced through Appls

7 Key Case Studies 8 Creating Co-models

9 Faults and Fault Tolerance Mechanisms 10 Design Space Exploration

11 Applications

› Part III Advanced Topics

12 Deploying Co-modelling in Commercial Practice 13 State Machine Approaches to Control

14 Distributed Controllers

15 Semantics of Co-simulation

16 Future Directions: from Embedded to Cyber-Physical Systems

(41)

AGENDA

› Industrial Experience with VDM

› The Overture/VDM Open Source Initiative

› The European DESTECS Project

Review of Industrial Deployment

(42)

REVIEW OF INDUSTRIAL DEPLOYMENT

›2009: first comprehensive review in a decade

› ACM Computing Surveys 41(4)

› Standard reporting format, >60 projects

›2012: extended review

› Common web site: www.fmsurvey.org

› In the Deploy Book (http://rodintools.org/dbook.html)

› Cleaned up data set

› Same format, 98 projects

(43)

2009 FINDINGS

› A bright picture: improving use, excellent success stories

› Lightweight approaches dominate

› Tools now critical, increasing automation, but lack usability

› Lack of evidence to support adoption decisions

› case for FMs is risk-based (who believes quantitative evidence?)

› Lack data on second/subsequent use

› Skills & psychological barriers remain high

› Training and education remain vital

(44)

2012 STATUS

› 98 projects

› Transport and consumer electronics increased

Greater representation for real-time and distributed

(45)

2012 STATUS

› Techniques used –

distributed broadly as 2009

› Marked increases over time in model-checking and test automation

Considerable previous experience (multiple

reports from same teams)

Level of training

correspondingly (?) low

(46)

2012 STATUS

› Duration: 25% report saving, 20% report increase

› Cost: 4:1 improvement to loss

› Large proportion report no effect or don’t comment

› Quality much less uncertain

› No negative reports

› Better and cheaper, probably not faster?

(47)

2012 STATUS

› Benefits seen in abstraction

› “the formal thinking (or methodology) helps a lot during the development process even if the formal method itself is not fully used.”

› In test automation

› “thousands of different parameters to configure the software. [...] An attempt to write test cases [. . . ] was a complete failure: the tests cannot be used in practice, since they are not parameterisable [...] A model can easily be made parameterisable and we are therefore able to use the same model to generate test cases for millions of different configurations.”

› 80% regarded tools as adequate; 7% disagree (but median start date 2000, overall median 2006)

(48)

2012 STATUS

›Intention to use again: 73% positive; 2%

negative

› “...formal methods were used to differentiate our bid and team from competitors; their use is why we won the contract.”

› “This project was a very specialized “bug finding campaign”. It required very high skills (which were fortunately available), and therefore we expect that similar methods will never be used on broader scale as “standard techniques” during system

development and verification.”

› “…the main barrier is a lack of motivated people with FMs

background … Teams should be slightly (+10%) supplemented by FMs specialists … Light-weight techniques and user-friendly tools simplify introduction of FMs.”

(49)

DEMONSTRATION/QUESTIONS

Referencer

RELATEREDE DOKUMENTER

H2: Respondenter, der i høj grad har været udsat for følelsesmæssige krav, vold og trusler, vil i højere grad udvikle kynisme rettet mod borgerne.. De undersøgte sammenhænge

Based on this, each study was assigned an overall weight of evidence classification of “high,” “medium” or “low.” The overall weight of evidence may be characterised as

Keywords: Education and integration efficiency, evidence-based learning, per- formance assessment, second language teaching efficiency, high-stakes testing, citizenship tests,

the application of Coloured Petri Nets to feature interactions in mobile phone.. software and can be read independently of the

During the 1970s, Danish mass media recurrently portrayed mass housing estates as signifiers of social problems in the otherwise increasingl affluent anish

The Healthy Home project explored how technology may increase collaboration between patients in their homes and the network of healthcare professionals at a hospital, and

functionalities and features in the location-based mobile application Tinder we offer a broad understanding of the relationship between designed functionalities, users

Until now I have argued that music can be felt as a social relation, that it can create a pressure for adjustment, that this adjustment can take form as gifts, placing the