mike whalen program director, umsec university of minnesota · program director, umsec university...

50
Why We Model: Using MBD Effectively in Critical Domains Mike Whalen Program Director, UMSEC University of Minnesota 5/27/2013 Why We Model - Mike Whalen 1

Upload: others

Post on 12-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Why We Model: Using MBD

Effectively in Critical Domains

Mike Whalen

Program Director, UMSEC

University of Minnesota

5/27/2013 Why We Model - Mike Whalen 1

Page 2: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Acknowledgements

Rockwell Collins (Darren Cofer, Andrew

Gacek, Steven Miller, Lucas Wagner)

UPenn: (Insup Lee, Oleg Sokolsky)

UMN (Mats P. E. Heimdahl)

NASA Langley (Ricky Butler)

Lockheed Martin (Walter Storm, Greg Tallant,

Peter Stanfill)

5/27/2013 Why We Model - Mike Whalen 2

Note: all incorrect or controversial

opinions are mine only

Page 3: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Outline of Presentation

Introduction

Why use Model-Based Development?

Requirements

Design

Implementation: Code Generation

Verification and Validation

Pitfalls

5/27/2013 Why We Model - Mike Whalen 3

Page 4: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

How we Develop Software

4

Concept

Formation

Requirements

Specification

Design

Implementation

Integration

System

Unit Test

Integration

Test

System

Test

Analysis

Test

Object Code

Page 5: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

What is Model-Based

Development?

Why We Model - Mike Whalen 5

Specification

Model

Visualization Prototyping Testing Analysis

Properties

Test oracle

Code

Code/test

generation

Page 6: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Model-Based Development

Tools Esterel Studio and

SCADE Studio from

Esterel Technologies

Rhapsody from I-Logix

Simulink and Stateflow

from Mathworks Inc.

Rose Real-Time from

Rational

I will focus on

Statecharts and

Dataflow notations.

5/27/2013 Why We Model - Mike Whalen 6

Page 7: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

System Specification/Model

How we Will Develop Software

(in theory)

5/27/2013 Why We Model - Mike Whalen 7

Concept

Formation

Requirements

Implementation

Integration

Properties Analysi

s

Integration

Test

Syste

m Test

Specificatio

n Test

Page 8: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Model-Based Development

Examples Company Product Tools Specified & Autocoded Benefits Claimed

Airbus A340 SCADE With Code Generator

70% Fly-by-wire Controls

70% Automatic Flight Controls

50% Display Computer

40% Warning & Maint Computer

20X Reduction in Errors

Reduced Time to Market

Eurocopter EC-155/135 Autopilot

SCADE With Code Generator

90 % of Autopilot

50% Reduction in Cycle Time

GE & Lockheed Martin

FADEDC Engine Controls

ADI Beacon Not Stated

Reduction in Errors

50% Reduction in Cycle Time

Decreased Cost

Schneider Electric

Nuclear Power Plant Safety Control

SCADE With Code Generator

200,000 SLOC Auto Generated from 1,200 Design Views

8X Reduction in Errors while Complexity Increased 4x

US Spaceware

DCX Rocket MATRIXx Not Stated

50-75% Reduction in Cost

Reduced Schedule & Risk

PSA Electrical Management System

SCADE With Code Generator

50% SLOC Auto Generated 60% Reduction in Cycle Time

5X Reduction in Errors

CSEE Transport

Subway Signaling System

SCADE With Code Generator

80,000 C SLOC Auto Generated Improved Productivity from 20 to 300 SLOC/day

Honeywell Commercial Aviation Systems

Primus Epic Flight Control System

MATLAB Simulink

60% Automatic Flight Controls 5X Increase in Productivity

No Coding Errors

Received FAA Certification

8 Slide courtesy of Steve Miller in “Proving the Shalls” © 2006 Rockwell Collins, Inc. All rights reserved.

Page 9: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Does Model-Based Development

Scale?

Systems Developed Using

MBD

Flight Control

Auto Pilot

Fight Warning

Cockpit Display

Fuel Management

Landing Gear

Braking

Steering

Anti-Icing

Electrical Load Management

9

Airbus A380

Length 239 ft 6 in

Wingspan 261 ft 10 in

Maximum Takeoff Weight 1,235,000 lbs

Passengers Up to 840

Range 9,383 miles

Slide courtesy of Steve Miller in “Proving the Shalls” © 2006 Rockwell Collins, Inc. All rights reserved.

Page 10: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

…But it is not all roses

Many MBD projects fail to meet their

original goals of cost, productivity

◦ These tend not to get as much publicity!

Clear eyed understanding of why you

model and what you expect is necessary

5/27/2013 Why We Model - Mike Whalen 10

Page 11: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

A Personal Anecdote

Part of two large projects using Model-Based Development ◦ Same company, similar quality developers

◦ One great success Significant cost reductions

Improvement in quality

Excellent customer satisfaction

◦ One great failure Large cost overruns

Models considered less useful than code

Group abandoned MBD

5/27/2013 Why We Model - Mike Whalen 11

Page 12: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Outline of Presentation

Introduction

Why use Model-Based Development?

Requirements

Design

Implementation: Code Generation

Verification and Validation

Pitfalls

5/27/2013 Why We Model - Mike Whalen 12

Page 13: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

What are your models for?

Possible to use MBD for many different purposes:

Requirements

Design

Simulation

Visualization

Testing

◦ Test Generation

◦ Test Oracle

Formal Verification

Code Generation

◦ Complete implementation

◦ Code skeleton

Prototyping

Communication with Customer 5/27/2013 Why We Model - Mike Whalen 13

You must understand, up

front, what you expect to

do with models in order

to successfully adopt

MBD. Major opportunity for

improvement in V&V

Page 14: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

MBD Models as

Requirements Are MBD models requirements?

Notations in this talk are executable;

good at describing how system works

5/27/2013 Why We Model - Mike Whalen 14

Page 15: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Lots of design detail

Difficult to see “full system” behavior.

Straightforward to generate code

5/27/2013 Why We Model - Mike Whalen 15

Page 16: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Outline of Presentation

Introduction

Why use Model-Based Development?

Requirements

Design

Implementation: Code Generation

Verification and Validation

Pitfalls

5/27/2013 Why We Model - Mike Whalen 16

Page 17: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

The Most Important Issue for

Successful Adoption of MBD

Block diagrams are very natural for control

problems

Statecharts are very natural for description of

system modes & mode transitions

Both block diagrams and statecharts are very

unnatural for representing complex data structures

Neither notation naturally supports iteration or

recursion

◦ It can be “faked”, but not well 5/27/2013 Why We Model - Mike Whalen 17

Do the Domain-Specific Notations provide

a natural representation for your problem?

Page 18: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Just…No…

5/27/2013 Why We Model - Mike Whalen 18

Stateflow model of

Tetris game (included

in the Stateflow

Demo models from

the Mathworks!).

Diagram is

essentially a control-

flow graph of a

program that

implements tetris.

*Much* harder to

read and modify than

an equivalent

program.

Model © The Mathworks, 2007

Page 19: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Tools Matter

Often notations are much more

cumbersome to use than text

◦ No diff / merge capabilities

◦ Adding information requires many clicks

Expressible != Easy

Anecdote: Simulink vs. SCADE at Rockwell

Collins in 2006

◦ SCADE had formal pedigree, strong analysis

But tools kept crashing on our Windows boxes

◦ Simulink had better tools and better salespeople

5/27/2013 Why We Model - Mike Whalen 19

Page 20: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Outline of Presentation

Introduction

Why use Model-Based Development?

Requirements

Design

Implementation: Code Generation

Verification and Validation

Pitfalls

5/27/2013 Why We Model - Mike Whalen 20

Page 21: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Analysis Pyramid

5/27/2013 Why We Model - Mike Whalen 21

Optimistic

Inaccuracy

Pessimistic

Inaccuracy Simplified

Properties

Perfect Verification

Exhaustive Testing

(Infinite Effort)

Typical

Testing Precise Analysis

of Simple

Syntactic

Properties

Simplistic

Program

Analysis

Pyramid Adopted from Dr. Michal Young

Theorem

Proving

Model Checking

Temporal Properties

Of Finite systems.

Data Flow

Analysis

MCDC

Testing

Page 22: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

What We Need

5/27/2013 Why We Model - Mike Whalen 22

Optimistic

Inaccuracy

Pessimistic

Inaccuracy Simplified

Properties

Perfect Verification

Exhaustive Testing

(Infinite Effort)

Typical

Testing Precise Analysis

of Simple

Syntactic

Properties

Simplistic

Program

Analysis

Theorem

Proving

Model Checking

Temporal Properties

Of Finite Systems

Data Flow

Analysis

Access to Many

Tools and

Techniques

MCDC

Testing

Page 23: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

MBD Is a V&V-Enabling

Technology

Strong simulation and analysis capabilities

built into most tools

◦ Demo: Stateflow Elevator (Help: Stateflow/Demos/Large-Scale Modeling/Modeling an

Elevator System)

Even stronger simulation capabilities in external

tools

◦ Demo: Reactis step simulation with Microwave

Allows straightforward “Build a little, test a little”

philosophy

◦ Consistent with incremental development

philosophy 5/27/2013 Why We Model - Mike Whalen 23

Page 24: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Model-Driven Test Generation

(v1)

5/27/2013 Why We Model - Mike Whalen 24

Source Code

Generated

Tests

while(a<0) {

a=a-1;

b=b*a;

}

printf(“%d”,

b);

Test Case

Generator

Compiler

Coverage

Metric

Object Code

? Possible to generate

test suites that satisfy

very rigorous structural

coverage metrics

MBD Model

Model results must

match source code

for tests to pass

Page 25: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Model-Driven Test Generation

(v2)

5/27/2013 Why We Model - Mike Whalen 25

MBD Model

Generated

Tests

Test Case

Generator

Code Generator

+ Compiler

Coverage

Metric

Object Code

? Model should match

source code exactly

Page 26: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Model-Driven Test Generation

(v2)

5/27/2013 Why We Model - Mike Whalen 26

MBD Model

Generated

Tests

Test Case

Generator

Code Generator

+ Compiler

Coverage

Metric

Object Code

Model should match

source code exactly

Oracle

Where does Oracle

come from?

What is a good

oracle?

Page 27: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Use Requirements as Oracle

5/27/2013 Why We Model - Mike Whalen 27 Slide courtesy of Steve Miller in “Proving the Shalls” © 2006 Rockwell Collins, Inc. All rights reserved.

Page 28: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Static Analysis and Model

Checking

5/27/2013 Why We Model - Mike Whalen 28

Analysis Tool

Oracle

Property

True

Property False:

Test Case

MBD Model

Page 29: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

FCS 5000 Flight Control Mode

Logic

5/27/2013 Why We Model - Mike Whalen 29

6.8 x 1021 Reachable States

Mode Controller B

Mode Controller A

Counterexample Found in

Less than Two Minutes

Found 27 Errors

Example Requirement

Mode A1 => Mode B1

Modeled in Simulink

Translated to NuSMV

Slide © Rockwell Collins, 2008

Page 30: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

ADGS 2100 Adaptive Display

and Guidance System

5/27/2013 Why We Model - Mike Whalen 30

Example Requirement:

Drive the Maximum Number of Display Units

Given the Available Graphics Processors

Counterexample Found in 5 Seconds

Checked 573 Properties -

Found and Corrected 98 Errors

in Early Design Models

Modeled in Simulink

Translated to NuSMV

4,295 Subsystems

16,117 Simulink Blocks

Over 1037 Reachable States

Slide © Rockwell Collins, 2008

Page 31: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

CerTA FCS Phase I

Sponsored by AFRL

◦ Wright Patterson VA

Directorate

Compare FM &

Testing

◦ Testing team & FM team

Lockheed Martin UAV

◦ Adaptive Flight Control

System

◦ Redundancy

Management Logic

◦ Modeled in Simulink

◦ Translated to NuSMV

model checker

5/27/2013 Why We Model - Mike Whalen 31

Testing

Model-Checking 12 40%

0 60%

Errors Found

Effort (% total)

Phase I Results

4

input_sel

3

totalizer_cnt

2

persistence_cnt

1

failure_report

pc

trigger

input_a

input_b

input_c

DST_index

input_sel

triplex_input_selector

input_a

input_b

input_c

trip_lev el

persist_lim

MS

f ailreport

pc

tc

triplex_input_monitor

trip_level

trip_level1

persist_lim

persistence limit

[DSTi]

[C]

[B]

[status_c]

[status_b]

[status_a]

[A]

[trigger]

[DSTi][MS]

[MS]

[DSTi][A]

[prev_sel]

[prev_sel]

[DSTi]

[trigger]

[trigger]

[status_c]

[status_b]

[status_a]

[A]

[A]

Index

Vector

[C]

[B]

[C]

[B]

[C]

[B]

f ailure_report

dst_index

Failure_Processing

mon_f ailure_report

status_a

status_b

status_c

prev _sel

input_a

input_b

input_c

f ailure_report

Failure_Isolation

Extract Bits

[0 3]

Extract Bits

DOC

Text

double

DST

Data Store

Read

8

dst_index

7

status_c

6

status_b

5

status_a

4

input_c

3

input_b

2

input_a

1

sync

persist_lim

totalizer_cnt<tc>

trip_lev el

persistence_cnt<pc>

sy nc<>

f ailreport

Slide © Rockwell Collins, 2008

Page 32: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

MBD Formal Analysis Efforts

5/27/2013 Why We Model - Mike Whalen 32

Page 33: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Outline of Presentation

Introduction

Why use Model-Based Development?

Requirements

Design

Implementation: Code Generation

Verification and Validation

Pitfalls

5/27/2013 Why We Model - Mike Whalen 33

Page 34: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Problem 1:

Using Models Where They Don’t Fit

If MBD notation doesn’t provide

a better representation of your

problem than code, you’re

wasting your time.

5/27/2013 Why We Model - Mike Whalen 34

Page 35: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

5/27/2013 Why We Model - Mike Whalen 35

MBD notations can

be awful

programming

languages…

Model © The Mathworks, 2007

Page 36: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Remedies

Perform honest assessment of where MBD notations can be used ◦ They do not do everything

◦ Recursive data structures are especially difficult to model.

◦ Use models where they are a good representation.

Create a partitioning strategy between models and code for applications that contain both complex mode logic and complex data.

5/27/2013 Why We Model - Mike Whalen 36

Page 37: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Problem 2

Believing Testing Can be

Eliminated

Testing will always be a crucial

(and costly) component

5/27/2013 Why We Model - Mike Whalen 37

Page 38: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

System Specification/Model

Testing Does not go Away

5/27/2013 Why We Model - Mike Whalen 38

Concept

Formation

Requirements

Implementation

Integration

Properties

Extensive Testing

(MC/DC)

Page 39: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

System Specification/Model

It Simply Moves

5/27/2013 Why We Model - Mike Whalen 39

Concept

Formation

Requirements

Implementation

Integration

Properties

Extensive Testing

(MC/DC)

Page 40: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

System Specification/Model

Do it the Right Way

5/27/2013 Why We Model - Mike Whalen 40

Concept

Formation

Requirements

Implementation

Integration

Properties Analysi

s

Integration

Test

System

Test

Specificatio

n Test

Unit Test

Page 41: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Problem 3

Believing the Model is

Everything

The model is never enough

5/27/2013 Why We Model - Mike Whalen 41

Page 42: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Modeling is

so much

fun

Properties

Specification/Model

Modeling Frenzy

5/27/2013 Why We Model - Mike Whalen 42

Concept

Formation

Requirements

Implementation

Integration

How do we

know the

model is

“right”?

System Test

Page 43: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Remedies

Recognize the Role of Software Requirements ◦ The model is not everything

Development Methods for Model-Based Development Badly Needed ◦ Model-Based Software Development Process

Develop Tools and Techniques for Model, Properties, and Requirements Management

Develop Inspection Checklists and Style Guidelines for Models

5/27/2013 Why We Model - Mike Whalen 43

Page 44: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Problem 4

Trusting Verification

To really mess things up,

you need formal verification

5/27/2013 Why We Model - Mike Whalen 44

Page 45: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Property or Model: Who is Right?

5/27/2013 Why We Model - Mike Whalen 45

AG(Onside_FD_On -> Mode_Annunciations_On)

The Mode Annunciations shall be turned on when the Flight Director is turned on

AG( (Is_This_Side_Active & Onside_FD_On) -> Mode_Annunciations_On)

If this side is active, the Mode Annunciations shall be turned on when the Flight Director is turned on

If this side is active and the Mode Annunciations are off, the Mode Annunciations shall be turned on when the Flight Director is turned on

AG( ! Mode_Annunciations_On -> AX ((Is_This_Side_Active & Onside_FD_On) -> Mode_Annunciations_On)))

Page 46: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Remedies Develop techniques to determine adequacy of model

and property set ◦ How do we know they are any “good”

Techniques for management of invariants ◦ How do we validate the assumptions we make

Methodology and guidance badly needed ◦ Tools with training wheels

◦ “Verification for Dummies”

All we need is one high-profile verified system

to fail spectacularly to set us back a decade or more

5/27/2013 Why We Model - Mike Whalen 46

Page 47: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Conclusions

MBD can significantly improve developer productivity,

cost, schedule, and quality

…or it can make your life miserable

The important thing is to know why you’re doing it!

◦ Know the limitations of what can be modeled using the DSNs

◦ Know which capabilities you hope to use

Design and quality of models depends on this

V & V receives the largest benefit of the MBD

approach

◦ Mature tools for test-case generation

◦ Starting to see model checking built into commercial tools:

SCADE Verifier, Simulink Design Verifier

There are many other things to discuss! Versioning,

diff, semantics, tool costs, training, structuring, vendor

“lock in”

5/27/2013 Why We Model - Mike Whalen 47

Page 48: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Questions?

5/27/2013 Why We Model - Mike Whalen 48

Page 49: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

References

5/27/2013 Why We Model - Mike Whalen 49

M. Whalen, D. Greve, L. Wagner, S. Miller, Model Checking Information Flow. In Design and

Verification of Microprocessor Systems for High-Assurance Applications. D. Hardin, Ed. Springer, 2010.

M. Whalen, P. Godefroid, L. Mariani, A. Polini, N. Tillman, and W. Visser. FITE: Future Integrated

Testing Environment. Workshop on the Future of Software Engineering Research 2010 (FoSER),

Santa Fe, New Mexico, November 7-8, 2010.

S. Miller, M. Whalen, and D. Cofer. Software Model Checking Takes Off. Communications of the

ACM, Volume 53, No 2, February 2010.

D. Hardin, T. D. Hiratzka, D. R. Johnson, L. Wagner, and M. Whalen. Development of Security

Software: A High-Assurance Methodology. Proceedings of the 11th International Conference of

Formal Engineering Methods (ICFEM 2009), Rio de Janeiro, Brazil, December, 2009.

M. Whalen, D. Cofer, S. Miller, B. Krogh, and W. Storm. Integration of Formal Analysis into a Model-

Based Software Development Process. 12th International Workshop on Industrial Critical Systems

(FMICS 2007), Berlin, Germany, July, 2007.

S. Miller, A. Tribble, M. Whalen, and M.P.E. Heimdahl. Proving the Shalls: Early Validation of

Requirements through Formal Methods, Journal of Software Tools for Technology Transfer. Volume

8 Issue 4, August 2006.

M.P.E. Heimdahl, Y. Choi, and M. Whalen. Deviation Analysis: A New Use for Model Checking,

Automated Software Engineering, Volume 12, Number 3, July, 2005.

M. Whalen, B. Fischer, and J. Schumann. Certifying Synthesized Code. Proceedings of Formal

Methods Europe 2002, Copenhagen, Denmark, July 2002

M. Whalen, B. Fischer, and J. Schumann. AutoBayes/CC – Combining Program Synthesis with

Automatic Code Certification. Proceedings of Conference on Automated Deduction 18,

Page 50: Mike Whalen Program Director, UMSEC University of Minnesota · Program Director, UMSEC University of Minnesota ... Part of two large projects using Model-Based Development Same company,

Medical Cyber-Physical Systems

Research directions:

• Medical device interoperability

• High-confidence development – Model-driven design

– V&V, regulatory approval

Participants

• University of Pennsylvania

• U. Penn Hospital System

• University of Minnesota

• CIMIT/MGH

Improving patient treatment by coordinated systems of medical devices • Smart alarms and decision support

• Physiological closed-loop control

Supported by NSF CNS-1035715

http://rtg.cis.upenn.edu/MDCPS/

Networked Blood Glucose Control System

Safety-critical, closed-loop MCPS Research issues: • Identifying new risks and

hazards • Mitigation strategies • Validation • Control design Pursue model-driven approach

Smart alarm systems

Model driven development and assurance cases Coordination framework for medical devices • Build high-confidence middleware

– Rely on formal methods and static analysis • Design a language for executable

clinical scenarios – Specify information flows – Identify timing constraints – Ensure non-interference

• Reduction of irrelevant alarms for CABG patients – Based on aggregation of

multiple vital signs and fuzzy logic

• On-going research: – Prediction of vasospasm

in neuro-ICU patients

High-assurance development: • Modeling, code synthesis • Model-level verification,

code-level validation

Assurance case construction reflects development process structure Applied to pacemaker, PCA pump

50 Why We Model - Mike Whalen 5/27/2013