nasa formal methods workshop 1990 · rick butler break richard platek john rushby don good maft:...

516
NASA Conference Publication 10052 NASA Formal Methods Workshop 1990 Compiled by Ricky W. Butler NASA Langley Research Center Hampton, Virginia Proceedings of a workshop sponsored by the National Aeronautics and Space Administration, Washington, D.C., and held at Langley Research Center Hampton, Virginia August 20-23, 1990 November 1990 NASA National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23665-5225

Upload: others

Post on 30-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

NASA Conference Publication 10052

NASA FormalMethods Workshop

1990

Compiled by

Ricky W. ButlerNASA Langley Research Center

Hampton, Virginia

Proceedings of a workshop sponsored by theNational Aeronautics and Space Administration,

Washington, D.C., and held at

Langley Research Center

Hampton, VirginiaAugust 20-23, 1990

November 1990

NASANational Aeronautics andSpace Administration

Langley Research Center

Hampton, Virginia 23665-5225

Page 2: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

k

\

\

Page 3: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Contents

Introd_iction ......................................................................... 1

Workshop Agenda .................................................................... 2

List of Attendees ..................................................................... 5

Digital Avionics a Cornerstone of Avionics

by Chuck Meissner for Cary Spitzer (NASA) .......................................... 6:-/

Life Critical Digital Flight Control Systems

by James McWha (Boeing Military) ................................................. 30_2..

Advanced Embedded Processing: Present and Future

by Jerry Cohen (Boeing Military) ................................................... 5253

M AFT: The Multicomputer Architecture for Fault Tolerance

by Roger Kieckhafer (U. Nebraska, Lincoln) ......................................... 9%z

Design For Validation

by Rick Butler (NASA) ............................................................ 146.55

What FM can offer to DFCS design

by John Rushby (SRI International) ................................................ 165.-

What FM can offer to DFCS design

by Don Good (Computational Logic, Inc) .......................................... 195._ 7

ttigh Level Design Proof of a Reliable Computing Platform

Ben DiVito (Vigyan) ............................................................... 232_< 3

A Verified Model of Fault Tolerance

John Rushby (SRI International) ................................................... 26055

The Design and Verification of a Fault-tolerant Circuit

B_ll Bevier and Bill Young (Computational Logic, Inc) .............................. 280_

Verifying an Interactive Consistency Circuit

Page 4: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

by Mandayam Srivas (Odyssey Research Associates) ................................ 295_//

Hardware Verification at Computational Logic Inc.

by Warren Hunt (Computational Logic, Inc) ........................................ 325_/,_

Generic Interpreters and Microprocessor Verification

by Phil Windley (Univ. California, Davis) .......................................... 347) :;

VIPER Project

by (;live Pygott and John Kershaw (Royal Signals and Radar Establishment) ....... 380_ "_

Mechanical Proofs of Fault-Tolerant Clock Synchronization/f

by N. Shankar and John Rushby (SRI International) ................................ 405_/7

An HOL Theory For Voting

by Paul Miner and Jim Caldwell (NASA) ........................................... 4,t2 _/_

Formally Specifying the Logic Of Automatic Guidance Control (Ada)

by David Guaspari (Odyssey Research Associates) .................................. ,157_/7

Verification of Floating-point Software

by Doug Hoover (Odyssey Research Associates) .................................... '177z /

C Formal Verification with Unix Communication and Concurrency

by Doug Hoover (Odyssey Research Associates) ..................................... 495!_

Page 5: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Introduction

This publication contains copies of the material presented at the NASA Formal Methods

Workshop held at Langley Research Center on August 20-23, 1990. The purpose of the work-

shop was to bring together the researchers involved in the NASA formal methods research

effort, for detailed technical interchange and to provide a chance for interaction with repre-

sentatives from the U.S. government and the aerospace industry. The goals of the workshop

were:

* Introduce the formal methods research teams to a broader view of the aerospace prob-

lem domain by industry presentations.

• Detailed technical exchange between formal methods research teams to define and

characterize the verification problem for ultra-reliable life-critical flight contro] systems.

• Identification of aerospace problems which can benefit from formal methods and can

serve as the basis of future research efforts.

The NASA effort in formal methods includes researchers at NASA LaRC, Computational

Logic Inc., Odyssey Research Associates, SRI International, Boeing Military, Vigyan and

the University of California at Davis and Irvine. Also NASA Langley is involved in a joint

research effort with the UK Royal Signals and Radar Establishment as formalized in a

Memorandum of Understanding between the two organizations.

Attendees at the workshop included NASA personnel, researchers from the four sup-

porting contract organizations, RSRE personnel, invited speakers, and representatives from

()tiler government research organizations with interests in formal methods. Attendance was

by invitation only.

Page 6: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Day 1

8:00 - 8:20 am

8:20 - 8:30 am

8:30 - 8:45 am

8:45 - 9:30 am

NASA Formal Methods Workshop Agenda

(Aug 20-23, 1990)

Milt Holt

Ricky W. Butler

Chuck Meissner

Late Registration

Greeting by Chief of ISD

Workshop Objectives

Digital Avionics: A Cornerstone

of Aviation

9:30- 10:15 am

10:15 - 10:30 am

James McWha

BREAK

Life Critical Digital

Flight Control Systems (DFCS)

10:30 - 11:30 am Jerry Cohen Advanced Embedded Processing:

Present and Future

11:30 - 12:30 am LUNCH

12:30 - 1:30 pm

1:30 - 2:00 pm

2:00 - 2:30 pm

2:30 - 3:00 pm

3:00 - 3:30 pm

3:30 - 4:00 pm

Roger

Kieckhafer

Rick Butler

BREAK

Richard Platek

John Rushby

Don Good

MAFT: The Multicomputer Architecture

for Fault Tolerance

Design For Validation

What FM can offer to DFCS design

What FM can offer to DFCS design

What FM can offer to DFCS design

7:00 pm Conference Dinner

Page 7: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Day 2

OS verification

8:30 - 9:30 am

9:30- 10:15 am

DiVito

Rushby

High Level Design Proof

of a Reliable Computing Platform

A Verified Model of Fault Tolerance

10:15 - 10:30 am BREAK

--- Byzantine Generals-

10:3(}- 11:30 pm Bevier & Young The Design and Verification of

a Fault-tolerant Circuit

11:30 - 12:30 am LUNCH

12:30 - 1:30 am Srivas Verifying an Interactive

Consistency Circuit

_- Microprocessor

1:3(} - 2:{}() lnn

2:00 - 2:30 pm

Hunt

Windley

Hardware Verification at

Computational Logic Inc.

Generic Interpreters and

Microprocessor Verification

2:30 - 3:00 pm BREAK

3:00 - 4:00 pm

4:00 - 4:30 pm

Pygott/Kershaw VIPER 2 & NODEN

Discussion

Page 8: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Day 3

8:30 - 10:00 am

10:00 - 10:30 am

Shankar/Rushby

Discussion

-- Clock Synchronization

Mechanical Proofs of Fault-

Tolerant Clock Synchronization

--- Commercial Chips .......... --

10:30 - 11:30 pm

11:30 - 12:00 pm

Levitt

Caldwell/Carreno/

Miner

Floating-pt. Coprocessor (Intel 8087)

DMA controller (Intel 8237A), etc.

(Not in Proceedings)

An HOL Theory For Voting

12:00 - 1:00 pm LUNCH

Code Verification _-

1:00 - 1:45 pm

1:45 - 2:30 pm

2:30 - 3:00 pm

Guaspari

Hoover

Hoover

Formally Specifying the Logic Of

Automatic Guidance Control (Ada)

Verification of Floating-t_oint

Software

C Formal Verification with Unix

Communication and Concurrency

3:00 - 3:30 pm

3:30 - 5:00 pm

BREAK

Planning

Day 4

8:30 - 12:00 pm Discussion

Page 9: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Bill Bevier

Deepak KapurDale Johnson

Andy MooreKarl I,evitt

Sally .|,dmson

Richard l)latek

Bill YoungDon Good

Warren Hunt

Jim Caldwell

Mark Bickford

Mark Saaltink

Bill Legato

Kang ShinChuck Meissner

Pete Saraceni

Roger Kieckhafer

Doug Hoover

David GuaspariTorn Schubert

Mark Ardis

Clive PygottJohn Kershaw

l)avid Musser

Phil Windley

,Iohn KnightRick K uhn

Dave Eckhardt

.Iohn Mcfl ughMilt Holt

Ben I)iVilo

Pau] Miner

Rick Butler

M.K. Srivas

.loire RushbyN. Shankar

Gerry Cohen

NASA FM Workshop Attendees

CLI

SUNY, Albany

MITRE( Bedford )NRL

UC Davis

NASA, LaRC

OKA

CLI

CLI

CLI

NASA

ORA

ORA

NSA

U. Michigan

NASA, LaRC

FAA Tech Ctr.

U. Nebraska

ORA

ORA

UC, Davis

SEI

lZSRE, Malvern

R,SRE, MalvernR,PI

U. Idaho

U. Va.

NIST

NASA, LaRC

CLI

NASA, LaRC

Vigyan/NASA

NASA, LaRC

NASA, Lal_CORA

SRI

SPd

Boeing

(512)322-9951

(518)442-4281

(617)271-8894

(202)767-6698

(916)752-0832

(804)864-6204

(607)277-2020

(512)322-9951

(512)322-9951

(512)322-9951

(804)864-6214

(607)277-2020

(613)238-7900

(301)688-4229

(313)763-0391

(804)864-6218

(609)484-5577

(402)472-2402

(607)277-2020

(607)277-2020

(916)752-6452

(412)268-763644-684-895835

44-684-895845

(518)276-8660

(208)885-6501

(804)982-2216

(301)975-3337

(804)864-1698

(919)493-4932

(804)864-1596

(804)864-4883

(804)86_6201

(804)86_6198

(607)277-2020

(415)859-5456999..°

(206)865-3739

[email protected]

kapur@albany cs.albany.edu

[email protected]@ucdavis.edu

[email protected]

richard%oravax.uucp @cu-arpa.cs.cornell.edu

[email protected]

[email protected]@cli.com

jlc@air 16.1arc.nasa.gov,[email protected]

??? %oravax.uucp @cu-axpa.cs.cornell.edu

[email protected]

[email protected]

cwm@ air 12.1arc.nasa.gov

[email protected]

hoove%[email protected]].edu

?? ? %[email protected] @iris.ucdavis.edu

[email protected]

"PYGOTT%hermes.mod.uk" @relay.MOD.UK

"KEKSHAW%hermes.mod.uk"@relay.MOD.UK

[email protected]

windley @t ed.mrc.uidaho.edu

jck @neptune.cs.virginia.edu

dee@ csab.larc.nasa.gov

[email protected]

bid @air 16.1arc.nasa.gov

psm@air 16.1arc.nasa.gov

rwb@air 16.1arc.nasa.gov

srivas%oravax.uucp @cu-axpa.cs.corneU.edu

[email protected] @csl.sri.com

NOT ON INTERNET

Page 10: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N91-17560

Page 11: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_ /f -_-

c_

|

c_

,llml

c__r_

c_

Page 12: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

k,q

0

Z

Z

Z

Z0

Z

Z

Page 13: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Q

=4

==_

I-Z=CO

14=

0

|

o

000

0U)

1.=-

Page 14: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

om

I

e_

4

|

Page 15: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ml-

a.

0(.10

I,bO0M_Z>"01.-..i0

O_

C_OC_

°°'0.0o

OOo0o

O(.O,r-

LL.

IJ

IL.

'v'-'

O

3""

q,DO,r-4

OcO

(S)lb.,.

_3

>..

c_3"

T"

C_LN

C_T-

Page 16: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

U

OUl

Y..wZ

LI.

0 (.0

LLJ

°°o°% ,

%°%°

Page 17: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

00 0

•_.._ .__,_

0

E

_8

><_

c_

Emlii

r _¢1

Jc_

Page 18: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

a

I&l

I-I-U)0U

O/

O/

><

tL

I

u." F---<

\

II I I

IJ.

C_CD¢)

O

(3)W"

OGO(2)

O

O(.D(2)y1

O

C) Oq-

Oc_

O O1"

(0L.m(i)

Page 19: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

t-,- I--

u E:: -J

T

_ ["_-_ > o_ u

"1- _

X

E

o

E

(.)

r"

.12

(.I

I

u

t--

tI

II

U'I

_o_-

oE

_oU

IT0\_Z

1

4_._

E_Eu_o

E E

_>-

mr, D_ .

_o s o,.., B _>@

._ .._

._ 0 :::D '- _G.

e Eo6 E

(._)

I _ UJ

_D

g

0U

I4M.H

Page 20: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 21: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

E E

c_©>-

0

0

0U

Page 22: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

0

0

Page 23: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

Page 24: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

o

Page 25: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

U

U

Page 26: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

||

Page 27: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Of ++L._R .OtJALtTY

Page 28: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Z

<

<,r,D

ZC

.<

[,-,

#,,]¢

ORIGINAL PAGE !$

OF POOR QIJALITY

Page 29: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

oll_l

rj_

Page 30: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

>I--.:3

WXW

W

t_d

V

W

I:Q

Z t._0Mr.)i--

0

._J

a._t 0

J%

W

V

W

I--ZI:::I

I:::I0

Z0

I--,¢0

.-I

Od0

ZbJ

0I--

0

S_

_J_t(.)

b.0

ZL_Z0

00

Page 31: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

||

|

Page 32: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

| I | I

Page 33: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

E--.

| | | | | |

Page 34: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

,r)

14..=I

=-j

a.230

0(_

I-Z u.I0 Z

.,II- 0.-1- rr-

,-I14. --I, '_

UJ I_1,1,1

Z

Z 0W 0

U.I Z"r" LU0 0

m

N91-17561

0(3')

o"O4b-¢_

{523

Page 35: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

W

Page 36: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I-=

.=10n-l---

Z0m

i-iiillm

ZI

LI.LLIC_

IllU.

Z3I--

_=

I--¢0_D

Z

e*JI,I,I

a.

,¢n-O0IZa.

0 0 0 0

Page 37: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

LI.I0

....I0

I-"Z00

I-"

|

Page 38: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

l

0

Z0P

m

14.ILl

_z

°

_ Z

,,,_o _OJ

:D C_ 0 mI-. Z 0 "J0 0 m m

___ _o=_ _=-- >;,<-= <_ "-z__ z o

I.U

I--2:

.,I

>.rn>-..,J14.

Page 39: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 40: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

w

li1

0_z

w_c

0uJ

0

OC

I-

0

I-

0

IX:

Page 41: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I.I.II.-C_

IJ.l....I

U.l...IILl

X|

C.O

I

I

I

|

v_

_t

Page 42: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

w0

w

oZw

G_

o-

--J

v--

_J

w0

o(I)

0

0G_

o

q,i0

m

X

\w0cr

o0")

(.b._I

D

0>-I

Page 43: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 44: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 45: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Z

F

|

._:_7 ,. !!

ORIG_Nhl.. ?AGE IS

OF POOR _JALiTY

Page 46: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 47: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

LL

I--

!

Page 48: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

3ELLII'-

a:

i.1.1

_W

5 o0

z _o_

m

I-- °

n- wm

LII

Z

ILl Z0 U.I

ILl 1.1.1..U n"

I.i.I 1.1.1

Page 49: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

,,!

|

Page 50: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 51: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

¢n

..I

Z0

>-

..I

I-. ¢_

uJ I.IJo s;0 u.l o

_m

ILl0

ee _D0 >"._ .=/

ILl

Page 52: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

t 00 0 0

Page 53: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 54: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

U)=ELUp-(/)>-(/)..J0rr

;[00P"r"

m

..JLi.

,,J<I

iiiiim

immm

.,J

mini

i

rr0

I

!11U.m

_J

Z00

iiiiim

ILm

IV"UJ0

|

U)111(/)

-r-a.

:E<{E

OEn

>.rl-<:S:E

(nZ0m

I--

0U.m

F-rrUJ0

ii12:I-Zm

U.II.I.m

I..-ZuJQm

(nuJ(/)(nu.ioon:(1.I.U

U.0Z0I--

ZI.U

U.I

11.

00

rem

U.Z00

0.Z0m

<0m

U.m

n-LU0

Z0m

I-<m

..J<

Z<Z0m

I-<0m

IJ.m

n-i.u>

ozI

-r.(nI

..Irn.<I.-

U.Irr01.1.U)Z

u.I=S

< m(/) 0m <

> uJ0 >r,- 0n 0

Page 55: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I

X

LL ""O0

r_. I---LO

"_ c

_n_

°°l _l_.'_ -.___LI _-'-'--

_>

COx ot'_- U_

o

t_

Page 56: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

%.

e_

=

¢D

<e-

E0

0 0

®(5

Page 57: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

o_

L.C_

o_

r"°_

c

c_

olm_

_r_

elm4

eJI

I-ieJ._

c_

Page 58: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Od

0

L_

c_oc_

c_ooo(J

Page 59: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

c_

C_

oc_j

c.Oooo

0

0

0

c_

c_

c_

°_

c_t.i

000

Page 60: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

O"J

e"

'2-

°_

t"-

m0

:t::iii

' =_. |

o

N . +01t+l l

III_ ,

® _ o oC: _ _. t_,.i,....,.._.l -._ I _L"5 El -I _ 121,+++01I.+'I_1 1.1.1

0

IJl

0

0m

0

0

,-I

,i..,+

j.-

,<

C3.

0

0m

013.0

U

Jr"

L-

<

o

c_

co

BBo

tel

c_o?3

._J

0

C)c3

c)

Page 61: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

E(b

s.._

O,

m

O1C

Orn

_e==,

.=- o =

,.... u_E

°m_

u'}

O

J

1,4,==

(/)--jm

E_a3..o._,__.._o_3')

m_"O(n

"(3 _(bs.-.

_. o>.*-,O

.o___ _ _.=-_gee

_._ _._ __

123

o

.._1

_Do0o

Page 62: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

c_

,_

CTJ

i--

0

a_

.,imp

_ elmm

°" ._

tmmm mmm C_

mmml

,_ _ (_ ,.,..

I,Ll

_ ..-.

a_

c_

C_

oc_j

ooo

C_

Page 63: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ooo

C

m

_. 0

C_

_D

Eu_

C_n

OC_

0

_D000

o

Page 64: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ClCl

_Doo3

t'---.J

¢'10

_D000

c"

#

¢-

II1

.£ _ _ _o _._ o

= .__ _ o_ I:_._ "

_ = o_ o

"-' ID

!

0C_

Page 65: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Design and Validation Phases

5S5321 .IF/I 70-9 00041-1558

Page 66: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

t-

Orn

el}

U)

_r

0CO

p-.

C_

d)C3

0

c)

Page 67: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C_

0)

CO

C")

0

F__J

3T_

0C)0

L)

6O

°--

O_

0o0

Page 68: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

r-

°_

t'-

0

m

r-

o

C)

"rj

C-)

c_

_)

r_

Page 69: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

" 0

•- 0

0 •0 E

if)

('3

c_0

,5000

Page 70: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

m

0

c_c_

C_

Page 71: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0a5

G)

"o

Or)

.,,::fc3C_0c')

V-.-J

o

0o0

Page 72: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

E

r_

Q_r.-

D.

m,.

°_

C_t-

o_

0m

eJ,ml

"0

,<o=1 _r_

IN

c_Z-,

f_

r_

mm

Page 73: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

©

0

n-O

t_wo0

Page 74: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0 =¢0

0

>0

0

o_.

c_

(oc)c_

Page 75: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

U"l

c_

E

ILl

0

Z

C)m

Page 76: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0m_

0(Dc-_..00

0m

.C

OJ

E00

0

0

0

C_

qJ(3

m

I

I

I

I

I

I

I

I

I

J .... |

U_ h__- 0Oq--O00_

0_)m

1 .........I -I

I II

II

I

I

II

I

f

--1

go

,d0

(x/(,jcll

C)

Page 77: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_o

0

JJ

c_oo0

Im

U)q_t-

e-

ra

0m

Page 78: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

m_

0

0m_

00

F-o

t'O

_"1

C o

_1 Z

Q

0

-_1

0

0

0

d_t_

Page 79: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

(/) (_

_3

O3

0

....I

r_

coo

oc_c)(.)

Page 80: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

c_bO

(q

c_(_)

_J

C)

C)C_

_)

0iim

0

m

¢n

C

0

m

Page 81: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

(D

U_

(D

o

_D

CO

C_

c_(DCO

7-..J

u_0

_D000

(D

Page 82: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_=

0

m

0

A0

o_

o __o

.->2 m .-

0 c E _ o

0

c_

0

;0m

c)

_.J

u'io

_Dc_

c)

(D

Page 83: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

(I)

e3

o3

o

F--.,.J

u_c?,oooo

Page 84: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f-

0

m

13.0

_kJ

t_c_

C>c3

C)

()C)()

Page 85: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

0

000

°_

0

Page 86: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

m

0

m

rb

O9

CD

t_0

00CD

Page 87: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

c_

q_

L

_AO

0

Page 88: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

e-

L°_

L.

°_m°_

- !em_

N

omU • • •

O

Page 89: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

<b

_b

Iii_

L

©

0 0

Ii

.<

>

e-

't)

Page 90: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

L.

L.

°_

O

omm

= ©

Page 91: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I.,.,

I-,

°_v-q

r-,°_

c_•

• •

Page 92: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_.e.e:,o.o-e e.o:.j_e,o .......

ORIGINAL i:AC_ I_

OF PO0_ _.IALITy

Page 93: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ORIGINAL PAGE IS

OF POOR QUALITY

Page 94: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

OF POOR _c_._AL!T":"

Page 95: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_J

I-

_b

I,.

4.do_

o_

.j,I

• Im .Im

.Ju

.jml

J

_ ojr

-I

pmjnl

om.I

j_

.ml

oJ

c_

-m

Bmm

inmnl

1m

.iml

Page 96: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

CLI.=

k.

°_

°m

_D

0

e_

sL_

0

EI

..00L._

_>

_>

=#==e

0

c-O

ii

=#=d

m

0

ii

0Ii

Ulwm

ii

_>

I

E0

14.

r_

o_

e_

e_

Page 97: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

cJ_

L

J_

_D

0

m_ o

emml

em

ejBi

mmmml

Tml

em

c__m

_u

c_

elmml

Page 98: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N91 - 17 563

MAFT:

The Multicomputer Architecture for

Fault-Tolerance

R. M. KIECKHAFER

Computer Science and Engineering

University of Nebraska - Lincoln

Lincoln, NE 68588-0115

(402) 472-2402

roge rk @fergva x. u nl. ed u

MAFT is a product of the Allied-Signal Aerospace Company, Columbia MD.

UNL/CSE/RMK/August 14, 1990 NASA FM W-SI|OP

Page 99: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Abstract

This presentation discusses several design decisions made and lessons learned in lhe

design of the Multicomputer Architecture for Fault-Tolerance (MAFT). MAFT is a loosely

coupled multiprocessor system designed to achieve an unreliability of less than 10-1°/hr in

flight-critical real-time applications.

The presentation begins with an overview of the MAFT design objectives and architec-

ture. ]t then addresses the fault-tolerant implemention of major system functions in MAFT,

including Communication, Task Scheduling, Reconfiguration, Clock Synchronization, Data

Handling and Voting, and Error Handling and Recovery.

Special attention is given to the need for Byzantine Agreement or Approximate Agree-

ment in various functions. Different methods were selected to achieve agreement in vari-

ous subsystems. These methods are illustrated by a more detailed description of the Task

Scheduling and Error Handling subsystems.

UNL,/CSB/I4.MK/Au_m., _0, IOO0 NASA PM W-SHOP

Page 100: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Presentation Overview

. INTRODUCTION

• SYSTEM FUNCTIONS

- Communication

- Task Scheduling

- Task Reconfiguration

- Clock Synchronization

- Data Handling and Voting

- Error Handling and Recovery

• SUMMARY

UNL/OSE/RMK,/AuguJt 17, 1990 NASA FM W-SIIOP

Page 101: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Design Objectives

• RELIABILITY- 1.0 x 10 -9 over 10 hours.

• PERFORMANCE

200

5.5

1.0

5.0

Hz. - Max Task Iteration Rate

MIPS - Max Computational Capacity

MBPS- Max I/O Transfer Ratems. - Min Transport Lag (Input --, Output)

• REUSABLE

- Functional Partitioning

• Application Specific Functions• Standard Executive Functions

• LOW EXECUTIVE OVERHEAD

- Physical Partitioning

• Separate Executive Processor

• Hardware Intensive

UNL/CSE/FtMK/Au_uJt 14, 1990 NASA FM W-SIIOF

Page 102: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Loosely-Coupled Multiprocessor

PROCESSOR - PROCESSOR NETWORK

i

NODE

ir

NODE NODE

PROCESSOR - I/O NETWORK

TTTTT l llliINPUT DEV OUTPUT DEV

• Node ==_Processor and Private Memory

• No Shared Memory

• Message-Based Inter-Node Communication

• Common Operating System

Page 103: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

MAFT System Architecture

FULLY CONNECTED BROADCAST NETWORK

AP AP AP

APPLICATION - SPECIFIC I/0 NETWORK

SENSORS ACTUATORS

SYSTEM

OVERIIEAD:

-COMMUNICATION

- TASK SCHEDULING

- RECONFIGURATION

- DATA VOTING

- ERROR DETECTION

- SYNCHRONIZATION

l, ................ -I

APPLICATION

PROGRAMS

• OC =_ Operations Controller:

Special Purpose Device Common to All MAFT System:

• AP =_ Application Processor:

General Purpose Application-Specific Processor.

UNL/CSE/RMK/Au_umt IB, 1990 NASA FM W-S]

Page 104: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Operations Controller Block Diagram

INTER-NODE

MESSAGES IN

RECEIVERS

(8)

r

MESSAGECIIECKER

,p

FAU LTTOLERATOR

INTER-NODEMESSAGES OUT

TRANSMITTER

:I SYNCtlRONIZER

SCHEDULER

VOTER

II , ,

TASK

COMMUNICATOR

L

DATAMEMORY

APPLICATIONPROCESSOR

UNL/CSE/RMK/Augt=.t _.5,1990 NASA FM W-SHOP

5

Page 105: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

COMMUNICATION

UNL/CSB/RMK/AuSust ze, z_e

Page 106: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I ....

iii!I/0 DEV

I NTER-PROCESSOR _NI CAT IONS

PRIVATE BROADCAST BUS

1

1-o--t-Itl l-o-ct-1 l-o- t[t t I t

INTRA-NETWORK COIVlVlUNICATION

MESSAGES TRANSMITTED ON PRIVATE SERIAL BROADCAST BUSSES

ALL NODES RECEIVE, CHECK AND PROCESS ALL MESSAGES

MESSAGE TYPES

- DATA (8116132B INT OR BOOL, IEEE STD 32B FLOAT)

- TASK COMPLETED / STARTED / BRANCH

- SYNCHRONIZATION / BRANCH INTERACTIVE CONSISTENCY

- ERROR REPORT

OC I AP COMMUNICATION

- 16 BIT ASYNCHRONOUSP.I.O. INTERFACE

- LOOKS LIKE "JUST ANOTHER I/0 PORT" TO AP

- COMPATIBLE W/ EXISTING UNIPROCESSOR OPER SYST

FEBRUARY 28, 1986 _..

Page 107: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Message Handling

• TRANSMITTER

- Format Msg- NID, Msg Type,

- Broad,-_._ Msg

Framing, ECC

• RECEIV r-:_' i per incoming link

Acce_ _ ,"perly Framed Bytes

Buffcr 13v_'_ for Message Checker

M ESSA(; =,_ cHECKER._

Poll ,- [_,( .... -, :',ers- 6.4/zs cycle

- Physi-_' ;_,nd Logical Checks

- Steer ',;{.,od Messages to Other Subsystems

- Dump Bad Messages into "Bit-Bucket"

UNL/CSE/RMKIAtagttst 14, 199o NASA FM W-$IIOP

Page 108: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+

LOCAL AP/OC INTERFACE OPERATIONS

I. TASK SWITCHING PROCESS

AP: DONE NITH LAST TASK, WHAT IS THE TASK IDENTIFICATION (TID)

NUMBER OF THE NEXT TASK.

- OC: HERE IT IS

2. TRANSFER DATA FR_ OC TO AP

- AP: GIVE ME THE NEXT INPUT DATA VALUE

- OC: HERE IT IS

3. TRANSFER DATA FROM AP TO OC

- AP: HERE'S THE NEXT OUTPUT DATA VALUE

- OC: I GOT IT

+ ATCIRMK FEBRUARY 28, 1986

Page 109: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Typical Task System

AND-FORK

AND-JOIN

(

UNL/CSE/RMK/Au_mt 16, 11)90

6

NASA FM W-SH(

Page 110: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

PERFORMANCE ISSUES

• STRICTLY PERIODIC SCHEDULER

- Fast - Freq Well Above Spec- 500 Hz. vs.

- Simple- Binary Freq Dist (fi - 2-if0)

- Flexible - Conditional Branching

- Efficient - Don't Keep AP Waiting

200 Hz.

• NON-PREEMPTIVE

- Scheduler Complexity

- Context Switclfing Time- Unknown Funct of AP

- High Frequencies- Short Tasks

• NO OC INTERRUPTS- I/O

- Scheduler Complexity

- Predictability

- High Frequencies- Polling

- DMA or IOP access to AP Memory

UNL/CSEIRMKID=c=n_cr 2e, 1e8889HICSS

Page 111: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

O.C. View of a Task

• INTERNAL FUNCTION IS 'BLACK BOX

• VISIBLE PROPERTIES OF A TASK

Priority (static,

Iteration Period

unique)

- Precedence Constraints

- Min and Max duration Limits

- Fixed Input and Output Shared Data Sets

- Branch Condition (asserted at completion)

UNL/CSE/RMKIAu_t 15, 199o NASA FM W-SH

Page 112: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

FAULT-TOLERANCE ISSUES - I

• VARIABLE MODULAR REDUNDANCY

- Specify Redundancy of Each Individual Task

- Redundancy Matches Criticality

- No More Copies Than Necessary

• GLOBAL VERIFICATION

- Consensus Defines Correctness

- All Functions Observable and Predictable

- Replicated Global Scheduler

- Completed/Started (CS) Message:

- Node I.D.

- Started Task I.D.

- Branch Condition

UNL/CSEIRMKID=cem_=r 20, IOU

/

$gHICSS

Page 113: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Message Passing Robustness

• Delivery NOT GUARANTEED

• Single Msg Error Detect. NOT GUARANTEED

- ECC coverage _>(I - I x 10-6) per msg

• Repeated Undet.CLUDED

Errors PROBABILISTICALLY PRE-

UNL/CSE/I_AK/Aum_¢ ze, zue

1!

Page 114: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

TASK SCHEDULING

UNL/CSE/RMK/Aulpnt l_J. 190e

C_D_

5

Page 115: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

FAULT-TOLERANCE ISSUES - II

• DISSIMILARITY BETWEEN COPIES

- Dissimilar Software and Hardware

- Guards Against Generic Faults

- No Guarantee- Knight, Levenson, St. Jean

- Best Chance of Detecting Error

- Only Chance of Masking Error

- Implications

- Different Numerical Results

- Different Execution Times

- Impact on Scheduler

- Min and Max Execution Time Limits

- Vote on Branch Conditions in CS Messages

UNL/CSE/RMK/Dccemb_ 39, 1_ 89HI(

Page 116: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

FAULT-TOLERANCE ISSUES - III

• BYZANTINE AGREEMENT

- Definition

- Agreement on All Messages

- Validity of Agreement

- Necessity in MAFT

- Consensus Defines Correctness

- Must Have Single Consensus

- Preconditions for Disagreement

- Initial Disagreement- Enhanced by Dissinfilarity

- Assymetric Communication- Minimized by Busses

Solution- Interactive Consistency (Pease et al.)

- Global Receipt of All Messages

- Periodic Synchronized Re-Broadcast Rounds

- Vote on Received Re-Broadcasts

- Use Voted Values For All Scheduling Decisions

UNL/CSE/RMK/Decen_er =9, 198889HICSS

./ . r

Page 117: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

IMPACT OF FAULT-TOLERANCE

• ALL COPIES DONE BEFORE SUCCESSORS RELEASED

• MAX EXECUTION TIMERS- ASSURE PROGRESS

• CONFIRMATION DELAY- MEAN 2.5 SUB.

- Only Affects Successors

- Efficiency Requires Parallel Paths

• FAULT-TOLERANCE LEVELS

- Single Asymmetric (Byzantine) Fault

- Double Symmetric Fault

-. Reliability Modelling- 10-1°/hr with 5 Nodes

UNL/CSE/RMK/December 20, 1988 OOHIO$$

Page 118: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

MAFT Timing Hierarchy

PERIOD

SUB-ATOMIC

ATOMIC

GENERAL

ITERATION

MASTER

SPEC

Min

400#s

Min

2-2.8 ms

2 i

Atom. Per.

Max 1K

Atom. Per.

DEFINITION

I.C. Rebroadcast

Period

Min Guaranteed

Task Duration

Highest

Freq. Task

Clock Sync.

Period

Intermed.

Freq.Tasks

Lowest

Freq. Task

BOUNDARY

Task Inter. Cons.

(TIC) Message

System State

(SS) Message

System State

(SS) Message

System State

(SS) Message

UNL/CSE/HMK/AulD_st 16, 1990 NASA FM W-SHOP

8PRECEDING PAGE BLANK NOT FILMED

Page 119: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Scheduling Stability Problem

• SCHEDULING INSTABILITY- Anomalous or unpre-

dictable variations in total execution time (Makespan)

due to variations in system parameters.

• MULTIPROCESSOR ANOMALIES

Makespan can be increased by:

- Observation

- Increasing Number of Processors,

- Relaxing Precedence Constraints,

- Decreasing Individual Task Durations.

that

• DYNAMIC FAILURE- Condition where all tasks execute

properly except that deadlines are missed.

- Can occur in a fault-free system,

- Can be induced by instability.

UNL/CSE/RMK/August lli,1990 NASA FM W-SHOP

Page 120: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Sample Task System

2

2

3

3

2

UNL/CSE/RMK/August 16, 1990

NASA FM W-SHOP

I0

Page 121: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Instability of Sample Task System

• STANDARD GANTT CHART (max task durations)

2 4 7 10

PROC 1

PROC 2

, ' II

2 4 6 9 11

• I_)_N-STANDARD GANTT CHART (shorten T3 by _)

PROC 1

PROC 2

T,

2 4 7 9

T2

• " T3

T4

Te

2 4-e 7-t

T_ T7

12-¢

• WHAT HAPPENED?

- T3 finished before T2,

- Te "ready" before Ts,

- T_ displaced by T6 =_ Priority Inversion,

- Critical path (T2 --+ T7)impeded.

UNL/CSE/RMK/Augu,t 15, 1090 NASA FM W-SIK

11

Page 122: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Previous Work

* GRAHAM (1969) - Bound Magnitude of Instability

w' 1_ 2

w N

Makespan of Standard Gantt Chart,

Makespan of worst-case schedule,

Number of Processors.

* MANACHER (1967) - Stabilization Algorithm

- Necessary Pre-conditions

i. =I "fork" in Precedence Graph,

ii. Successors of forking task run in parallel on Stan-

dard Gantt Chart,

iii. Possible priority inversion around fork.

- Solution -Impose Artificial Dependency around fork.

UIqLICSE/RMKIAu_t 16, legO NASA FM W-SHOP

12

Page 123: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Stabilized Task System

• MANACHER ARTIFICIAL DEPENDENCY (T2 ---, T6)

3

2

3

2

2

1

2

3

2

• EFFECT

- T2 is common parent for both Ts and To,

- T6 will be "ready" no earlier than Ts,

- Ts precedes T6 in priority list,

- T6 can not be selected before Ts.

UNL/CSE/RMK/Augu, t 15, 1990NASA FM W-SHC

13

Page 124: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Limitations of Manacher's Solution

• Sufficient, but not always necessary

• Adds Scheduling Overhead (resolve edge)

• Unrealistic System Model

- Assumes no scheduler overhead,

- Assumes dynamic allocation,

- Allows for no Confirmation Delay,

- Ignores minimum duration bounds,

- Does not predict magnitude of instability.

UNL/CSE/RMK/AuguJt IIi, 1990 NASA FM W-SHOP

14

Page 125: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Current Research

• Find Necessary and Sufficient Stability Conditions.

• Develop Stabilization Strategies

Task System Stabilization

• Edge Stabilization (Manacher)

• Vertex Stabilization

• Hybrid Stabilization

Run-Time Scheduler Stabilization

• Limited Scan Depth

Scheduling Algorithm Stabilization

• Sched. Algorithm Assigns Priorities

• Constrain to Preclude Necessary Conditions

• Extend System Environment

- Scheduler Overhead

- Static Allocation

- Confirmation Delay

- Minimum Duration Bounds

IINI,/(;SE/IIMK/AuIumt IIi, 1990 NASA FM W-S!

15

Page 126: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

SYNCHRONIZATION

UNI'/CSe'/RMK/Aqus| 16, 1911g

CS-99O

Page 127: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

MAFT Synchronization

• Periodically Exchange System State (SS) Msgs

- SS Msg ::_ "Atomic Period" Boundary

- Synchronization Period - 2 Atomic Periods

• Loosely Synchronized Individual Clocks

- Msg Exchange =_ No Separate Clock Lines

- Physical Separation =_ Damage Tolerance

- Robustness to "Common Upset" events

• Synchronization Modes

- Steady State- Maintain Existing Synchronization

- Warm Start- Converge to Existing Operating Set

- Cold Start- Form Initial Operating Set

• Interactive Convergence to synchronize

• Interactive Consistency ::_ Steady State

• Origin of Two-phase algorithm

UNI./CSE/IIMK/AulIUal 16, 19_) NASA FM W- -c

19PRECEDING PAGE BLANK NOT FILMED

Page 128: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

DATA HANDLING AND VOTING

UNL/CSE/RMK/Aulp_t IS, loeo

Page 129: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Typical Sync. Values

• _ - 7 #sec- 600 ft. separation

• p- 5-10 -2

• R- 20 msec =_ 10 msec Atomic Pd. =_ 100 Hz.

• pR- 1 #sec

• No Faults: Max 5- 8.5# sec

• With Faults" Max 5- 16.5# sec

UNI,/CSIe3/I(MKfAu_.t 18, 19go NASA FM W-Si-'

24

Page 130: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Data Management

• DATA GENERATED BY AP

• BROADCAST IN DATA MESSAGE

• RECEIVED AND PROCESSED BY ALL NDOES

- Static Limit Check

- On-The-Fly Vote

- Dynamic Deviance Check

UNLICSE_IK/AulIumm la, 1n9

PRECEDING PAGE BLANK NOT FILMED

)2

c_e_

Page 131: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

On-The-Fly Voting I

, TRIGGERED BY DATA MESSAGE ARRIVAL

• DATA ID ACTS AS UNIQUE VARIABLE NAME

• USE ALL PREVIOUS COPIES OF SAME DATA ID

MS or MME (programmer selectable)

• Sort Serially- High-Order-Bit First

• Select 2 "Medial" Values

• Average (Add and Shift)

No I.C. Vote for Boolean Types

• Difficult to implelement round 2

• Usually Control Data for Mode Switch

• 3 Better Way for Mode Switch

UNLICSEIRMK/Auq_mt le, I_a C5-9_

13

Page 132: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

On-The-Fly Voting II

• DEVIANCE CHECK

- Compare Each Copy to Voted Value

- Excessive Difference =_ error

- Programmer Sets Limits

- Generate Error Vector =_ Source Nodes

• TERMINATE

- Scheduler Says All Copies Done

- Send Error Vector to Fault-Tolerator

- Send Voted Value to Data Memory

- Swap On-line/O_-Iine Buffers in Data Memory

- Clear Previously Received Copies from Voter

UNL/CSEII_I[ICIAulp_¢ 1tl, |MII CS-Ogo

14

Page 133: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ERROR HANDLING AND RECOCVERY

UNL/CSE/ILMK/Aulpmt 16, 1919

C_9¢0

Page 134: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Fault Classifications

• BYZANTINE (MALICIOUS)Pease et _d. (1982)

-N> 3t+1

-r>t

• MALICIOUS u BENIGN (self-evident)Meyer and Pradhan (1987)

-t=m+b

-N> 3m+b+l

-r>m

• (ASYMMETRIC U SYMMETRIC) u BENIGNThambidurai and Park (1989)

-t-a+s+b

-N> 3a+2s+b+r+l

-r>a

UNLICSE/RMK/Augu.t 17, 1990

17

NASA FM W-SHOP

PRECEDING PAGE BLANK NOT FILMED

Page 135: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Fault Classes by Source

-_ _ Medium

_ Driver

,k < 10 -6

_, _ 10 -6

ASYM

O.C. _ 10-4... 10 -5

SYM

._ _ lO-S... 10 -4

• Can Estimate Separate ,_'s

- )iasy m _ 10 -6

- A,ym ,-_ 10 -3 • • • 10 -4

* Generic Fault - Multiple Symmetric

_A ,-o10-57gen _

UNL/CSE/RMK/August 17. 1990 NASA FM W-SIlO

18

Page 136: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Error Detection

• Errors Are Manifested In Messages

- Physical: ECC, framing, length

- Contents: values

- Timing or sequencing

- Existence or non-existence

• Log Errors Over One Atomic Period

- Errors reported by all subsystems

- Fault-Tolerator records errors

- =131 separate error "flags"

- 3 Unique "Penalty Weight" PW for each flag

- 3 "Incremental Penalty Count" ]PC for each node

- FOR each flag f reported against node i:

•IPc(_):= IPc(_) + PW(/)

UNL/CSEII_MK/Auip_t IT, lg80 CS-DgO

Page 137: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Error Reporting

• Broadcast ERR(i) Message

- At beginning of next Atomic Period

- Contents:

•zec( )• BPC(i)" Base (current) penalty

• All Error Flags for node i

count

• No ERR Message ==_ No Detections

UNI.,/CSE/RMK/AusuJt 17, 1080 CS-880

Page 138: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

BPC Manipulation

• BPC ::_ Health Of Node

• Increasing BPC- ERR Message Vote

- Vote on BPC(i)

- Vote on IPC(i)

- BPC(i):- BPC(i) + IPC(i)

• Decreasing BPC- Fixed decrement

- 3 Penalty Decrement value PD

- At New Master Period

- BPC(,):- BPC(,)- PD

- Allows For Eventual Readmission

IJNL/CSF_.,IB.MK/Aulput 11, lOSS

4

F_('_Di_,t_ _'_.G_ BLA,-.K NOT FILMED

CS-990

Page 139: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Excluslo n / Re admissio n

• Recommend Exclusion/Readmission

- 3 Exclusion Threshold Texct

- 3 Admission Threshold T,,d,n

Recommend in next SS message:

• BPC(i) :> T_ct ::_ Exclude i

• BPC(i) <__Tadm _ Readmit i

• Tadm < BPC(i) < Te_ct =_ No Change

• I.C. Vote on Recommendations

- Consistent System State is Critical

- Free (needed for cold-start)

- Highly Degraded Systems

-Common Mode Upset Recovery

UNL/CSEIRMK/Auw_t 17, 1N9

5

CS.990

Page 140: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

OC OC OC

OC OC OC

OC OC OC

OC

1OC OC

Page 141: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Sed Quis Custodiet ... III

• AP - Diagnostics in Workload

-System Level Self-Test

Errors Very Rare

Inject Faults to Excercise Error Detection

• Special self-test Task ID

• Suspend normal Transmitter Ops

• Tranmsit string from self-test ROM

• Can transmit ANY test scenario

- Test Results Based On

• False/Missed Accusations

• Cyclic Link Check

- Independent of Actual Bit-Stream

- Rotate "Originator" Duty

- Complete Coverage If ANY One Node Correct

UNL/CSEIRMK / AuSuJt 17, 19S9

8

CS-m

Page 142: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Version Management

• SSV - System State Vec- eg (2,1,1)

• VMV - Version Management Vec- eg (I,I,I)

• WMV- Workload Management Vec- (SSV)

• Vectors Used By Different Subsystems

Data Voter VMV Inactive

Dev Checker SSV Inactive

Scheduler WMV Inactive

Copy Ignored For Vote

Copy Still Monitored

Copy May Not Run

or (VMV)

• WMV = SSV

- Inactive Copy Still Executing

- Actual Tasks Being Monitored

- Best for Generic Fault Detection

• WMV = VMV

- Inactive Copy Doing Something Else

- Will Not Be Affected By Generic

- Can Activate To Replace Sibling

- Best For Generic Recovery

UblL/CSE/R.MK/A_t 17, 19S9 CS-$e0

9

Page 143: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Synchronizer Error Detection

• MAFT error detection is by consensus

- Each node reports errors on all nodes.

- MaJority vote confirms or denies accusations.

- Disagreement with majority may itself be an error.

• Faulty node must be detected by majority of nodes

- Must be "far enough" out of sync

- There exists a region of ambiguity

- Defines size of "Sync Window"

IJNI,/CSI_,/IIMK/Aulu=I 17, 1000 NASA F'M W-SIlO|

PRECEDI_'_G )_ "=:"t:A,._,. 'E,'_.Ai'_KNOT FILMED 22

Page 144: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Synchronizer Error Windows

p q r 8 t

_'+;""w.--T_,"+;,."+_oRI'J _'+;'" I,

Wh = 11_ + lOpR

time

• W's - SOFT ERROR WINDOW

- Spans Range of Receipts from Non-Faulty Nodes

- Error May Not Be Confirmed

-Inherent Ambiguity

- Must Suspend Error Disagreement Penalties

• Wh -- HARD ERROR WINDOW

- IF Any non-faulty node detects a

THEN All non-faulty nodes detect an

- Can demand Corroboration

Hard-Error

Error

UNL/CSE/RMK/AuguJt 16, 1990 NASA FM W-SllOP

23

Page 145: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Typical Sync. Window Values

• e - 7 #sec- 600 ft. separation

• p--5.10 -5

• R - 20 msec =_ 10 msec Atomic Pd. =_ 100 Hz.

• pR- 1 #sec

• No Faults: Max 6- 8.5# sec

• With Faults: Max 6 = 16.5/_ sec

• W_ = 40_u sec

• Wh- 87# sec

UNLICSE/RMKIAu_t 16, 1990 NASA FM W-SHO!

PRE'CEDING P_GE _'_,A,"_K NOT FILMED 25

Page 146: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

SUMMARY

UNL/CSE/RMK/Aulpmt 14, 19a9

cse_

Page 147: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

SLIMY COtC'E_NTSON THE APPLICAT ION OF MAFT TECHNOLC_Y

I • CAPABILI TIES

- BASIS OF A 6ENERIC REAL-TIME MULTICOMPUTERSYSTEM

- REMOVESF.T. OVERHEADFROMAPPLICATION PROCESSOR

- HANDLESALL REDUNDANCYMANA6EMENTWITHIN COMPUTER

- ASSISTS IN REDUNDANCYMANA6EMENTOF I/0 SYSTEM

o FLEXIBILITY

- INDEPENDENTOF I/0 ARCHITECTURE

- HIBHLY RECONFI6URABLEAND 6RACEFULLYDEGRADABLE

- PROVIDES MECHANISMS,NOT POLICIES

3. USABILITY

MARCH 19, 1985

Page 148: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ADVANTABESOF APPROACH

- PARTITIONED APPROACH SIGNIFICANTLY REDUCES PROCESSOR OVERHEAD

- DATA DRIVEN ARCHITECTUREMUCHFASTER THAN SOFTWAREIMPLEMENTATION

- NOT DEPENDENTUPONARCHITECTUREOF APPLICATION PROCESSOR

- REDUNDANCYIS "TASK-BASED" AND FLEXIBLE

- SUITABLE FOR HIGH RELIABILITY AND HIGH PERFORMANCEAPPLICATIONS

APRIL 1, 1985

Page 149: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

MAFT Bibliography

References

[l)ar88]

[(]1u86]

[Kie87]

[Kie88}

[Kie8,9]

[McES8]

[ThaS8]

[Tha88a]

['rha89]

[Wa188]

Darwiche, A.A., and F.M. Doerenberg, "Application of tile Bendix/King Multicom-

puter Architecture for Fault-Tolerance in a Digital Fly-By-Wire Control System", Mid.

con, Aug .1988.

Glueh, D.P., and M.J. Paul, "Fault-Tolerance in Distributed Digital Fly-by-Wire

Flight Control Systems", AIAA/IEEE Seventh Digital Avionics Systems Conference,Oct 1986.

Kieckhafer, R.M., "Task Reconfiguration in a Distributed l{eal-Time System," Eighth

IEEE Real-Time Systems Symposium, Dec 1987.

Kieckhafer, R.M., et a], "The MAFT Architecture for Distributed Fault-Tolerance",

IEEE Trans. Computers, V. C-37, No. 4, pp. 398-405, Apr 1988.

Kieckhafer, R.M., "Fault-Tolerant Real-Time Task Scheduling in the MAFT Dis-

tributed System," Proc, Twenty-Second Hawaii International Conference on System

Sciences, Jan 1989.

McElvany, M.C., "Guaranteeing Deadlines in MAFT," Proc. IEEE Real-Time Systems

Syrup., pp. 130-139, Dec 1988.

Thambidurai, P.M., and Y.K. Park, "Interactive Consistency with Multiple Failure

Modes", Proc. Seventh Reliable Dist Systems Syrup., Oct 1988.

Thambidurfi, P.M. Critical Issues in the Design o] Distributed, Fault-Tolerant, Hard

Real-Time Systems, Ph.D. Dissertation, Dept. of Electrical Engineering, Duke Univer-

sity, 1988.

Thambidurai, P.M., et al., "Clock Synchronization in MAFT", Nineteenth Fault.

Tolerant Computing Symposium, pp. 142-151, Sun 1989.

C.J. Walter, "MAFT: An Architecture for Reliable Fly-by-Wire Flight Control," Proc.

AIAA/IEEE Eighth Digital Avionics Systems Con/erence, pp. 415-421, Oct 1988.

IINI,/(:SI_/IIMK/Ausu_t 17, ltleO NASA FM W-SltOi

Page 150: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

4

U'J

•_ "-I:J <m _ r_

Z

\

k_

Page 151: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

r_E_

I--'4

!

02_©I-...-4

I..,,-4

>.

o

0 -,-, 0

0 :'--Ur_

o a

2: 0 _

oP-,I

0 ._ _

,xlo_,,l

°_,,4

o_,4

0

0

&

0

Page 152: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

¢.1

0C/3

¢.1r---I

¢.1 _ I:,0

o

_'_ o

1::1

(1)°,'-q __ ,_ Z

._. a;or,,4

o _

o _

taO

0

U

0op_

"C_ _ o

• F.,.I

Q)

I I I

Page 153: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

b.O

og_

!

©

c_

©

c_

y_

c_

O

Q_

c_

0

°r-4

O

I0

0 •

O

A

rj_

00

tr_

C_0

Page 154: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

oP'-I

(].)

.p-,l

0 _• ,-_ 0

"_ r_ _

(L) _ _

d

0

(D

(L)

(1.)

Page 155: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 156: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

CD

CD

_r_

0

0

0*lwl

_rJ

!

0

0

°_

&

_0

0

o

r_

I:1 0 -_0

._ 0 _

I I I

Page 157: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 158: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

c_

_oO

Oo_,mq

!

Z _

°l--q _

_oo_4

of_c_b.O

c_

a ,_ o n

C_

,_ o_

qD_

I I

Page 159: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 160: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0• m,,,_l

f_

r_

Page 161: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

r../j

0

0

°i

1,4

%

;> .._

_o_ o

¢_ _::_ .._

z_

0

I

0

0

0

|| III IIoo_ _ __ QQO 00 _

_ O0 000 O0

_ 0_000000.°,°oo. Jool

_ -- 000 000

_ _ '" ,,,_10 III.o._

__0 000_0

•-_ ooo_ _o

-'--------" :__ _ ¢_m,_ ooooooooooo ..el

e-............. e............. ;_

I-4

Page 162: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

n_

_q

q-g

"0

0h

O_

0

o

,elO_i_1 • M u II ¢,i

Uo, ,, ,, .. ,o .o I_o0_'4_

00000000000IIIIIIIIlllOQOQOO00OO0000000000000___0___0___0___00_0_.00,...

___000000000000

IIIIIJlllJ÷_OOOOOOOOOO0000000000000000000000

__0___0

O_

C_

_J

(43

.o

_3

0

"0

0

0

0

o_

.P.l

0

0

.00

_._

o

0o_,,q

g_

0

_ ...4

0

oe,,.I

0

o

0

0

0

0

0

0

_2

Page 163: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 164: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

J _ o__ _ o_

o_ _ _ _

_ __l __

i' i

Page 165: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

©

o

o_o°l,_q

¢)

¢z, ¢_

o¢:_

0 0

X o

o._

o '_ "_

_ _._

_ _'_"_) ,._

_ -,'_

u 0

Page 166: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 167: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

0

:>

_ bO• _,,-,I_ 0

b._ b.O ,--._

_'_ . ,.-._

0

b.O _

_ Nm _

0 -_

• r,,,4

00

+

0

o _

• _"'I Q

_ CD

00t_

cp° _,,.I

+

0,r-i

,r-,i

0

b.

Page 168: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

0u

"_0

0

_o

"00

0

• a.-.4

0

"2 _o o•._ _ "_

0

""_

0

I I I

Page 169: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

l

N91-17565

What FM can offer DFCS Design

John Rushby

Computer

SRI

Science Laboratory

International

Page 170: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Overview

• What has actually gone wrong in practice?

• What is the pattern?

• What is the solution?

2

Page 171: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Advanced Fighter Technology Integration

(AFTI) F16

• Triplex DFCS to provide two-fail

design

operative

• Analog backup

• Digital computers were not synchronized

"General Dynamics believed synchronization

would introduce a single-point failure caused

by EMI and lightning effects"

3

Page 172: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AFTI F16 DFCS Redundancy Management

Each computer samples sensors

independently, uses average of the

channels, with wide threshold

good

• Single output channel selected from among

the good channels

• Output threshold 15% plus rate of change

• Four bad values in a row and the channel is

voted out

4

Page 173: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AFT1 F16 Flight Test, Flight 15

Stores Management System (SMS)

pilot requests for mode changes to

relays

DFCS

• An unknown failure in the SMS caused it to

request mode changes 50 times a second

• DFCS responded at a rate of 5 mode

changes per second

• Pilot said aircraft felt like it was in turbulence

Analysis showed that if aircraft had been

maneuvering at the time, DFCS would have

failed

5

Page 174: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AFTI F16 Flight Test, Flight 36

Control law problem led to "departure" of

three seconds duration

Sideslip exceeded 20 ° , normal acceleration

exceeded -4g, then -I-7g, angle of attack

went to-10 °, then +20 °, aircraft rolled

360 °, vertical tail exceeded design load,

failure indications from canard hydraulics,

and air data sensor

Side air data probe blanked by

high AOA

canard at

Wide threshold passed

channels took different

laws

error,

paths

different

through control

Analysis showed this would cause

failure of DFCS and reversion to

backup for several areas of flight

complete

analog

envelope

6

Page 175: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AFT! F16 Flight Test, Flight 44

Asynchronous

noise led each

failed

operation,

channel to

skew, and sensor

declare the others

Analog

failure

backup not selected (simultaneous

of two channels not anticipated)

• Aircraft flown home on a single digital

channel

• No hardware failures had occurred

7

Page 176: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AFTI F16 Flight Test

Repeated channel failure indication in flight

was traced to roll-axis software switch

Sensor noise and asynchronous operation

caused one channel to take a different path

through the control laws

• Decided to vote the software switch

• Extensive simulation and testing performed

• Next flight, same problem still there

Found that although switch value was voted,

the unvoted value was used

8

Page 177: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

X29 Flight Test

• Three sources of air data on X29A: nose

two side probes

and

• ]f value from nose is within threshold of

side probes, use nose probe value

both

• Threshold is large due to position errors in

certain flight modes

• If nose probe failed to zero at low speed it

would still be within threshold of correct

readings

• Aircraft would become unstable and "depart"

• Caught in simulation but 162 flights had

been at risk

9

Page 178: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Single

HiMAT Flight Test

failure in redundant uplink hardware

Software

operation

detected this, and continued

But would

deployed

not allow the landing skids to be

Aircraft landed

little damage

with skid retracted, sustained

Traced to timing change in the

had survived extensive testing

software that

10

Page 179: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Gripen Fight Test, Flight 6

• Unstable aircraft

• Triplex DFC:S with Triplex analog backup

• Yaw oscillations observed on several flights

• Final flight had

oscillations

uncontrollable pitch

• Crashed on landing, broke left main gear,

flipped

• Traced to control laws

11

Page 180: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Space

Voyager computer clocks skipped 8 seconds

at Jupiter due to high radiation levels

(AW_zST Aug 7, 1989)

So "continuous resynchronization" provided

at Neptune

Also,

round

remember STS-I "The bug

the world" (SEN Oct 1981)

heard

12

Page 181: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

FDZR and Crew Interface

• :imaginary crash scenario

• Broken fan blade on port engine

• Port vibration sensor saturates, limiter cuts in

• Vibration travels down wing,

starboard engine

shakes

• Starboard vibration sensor reports the

attenuated vibration

• Only starboard vibration warning light comes

on in cockpit

• Pilot shuts down the good engine,

sllort of runway

crashes

• Similar to British Midland 737 crash in 1989

13

Page 182: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Complexity and Integration

"The.FMS of the A320 'was still

software bugs until mid-January,'

to G_rard Guyot (Airbus test and

development director). There was

type of bugparticular

function, he

flying to do

Then suddenly

a grin" (Flight

revealing

according

no

in any particular

says. 'We just had a lot of

in order to check it all out.

it was working,' he says with

International, 27 Feb 1989)

The ATF hardware is ready to go, but

cannot be flown because the software

engineers "can't get all the O's and l's in

right order" (Northrop Engineer, 7 Aug,

1990)

the

14

Page 183: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Complexity and Integration

As of early 1988 " A300 A310 A320Put in service 1982 1983 1988

NumbeLr in service 16 149 3

-Flight Hours ...... 16,000 810,000 2,000

Computers

AutopilotRudder

Autothrottle

Slats and flaps

Elevator/aileronSpoilers

Fuel managementInstruments

Brakes

Engines

2 FCC

2 FAC

1 TCC

2 FCC

2 FAC

1 or 2 TCC

2 SFC C

2 EFCU

2 FLC

2 CGCC

3 SGU

2 FADEC

2 FMGC

2 FAC

2 SFCC

2 ELAC

3 SEC

3 DMC

2 BSCU

2 FADEC

15

Page 184: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Analog, Mechanical Backups

Do mechanical and

the requirement for

analog backups reduce

ultra-reliability in DFCS?

Not if the DFCS

augmentation or

is providing stability

envelope protection

Similar problem

traffic at higher

handle

in ATC_potential to move

rates than the backup can

No FAA certification

rudder and trim-tab

credit for

on A320

mechanical

16

Page 185: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Analysis: Dale

AFTI

Mackall, NASA Engineer

F16 Flight Test

Nearly all failure indications were not due

actual hardware failures, but to design

oversights concerning asynchronous

computer operation

to

Failures due

interactions

to lack of understanding of

among

o Air data system

o Redundancy management software

o Flight control laws

17

Page 186: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

FLIGHT CONTROL SYSTEMRELIABILITY HEAVILY DEPENDENTON SYSTEM INTERACTIONS

CONTROLSYSTEM

RELIABILITY

HARDWARERELIABILITY

SOFTWARERELIABILITY

SYSTEMSINTERACTIONS

EXTERNALEVENTS

Page 187: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Analysis: NASA-LaRC 1988

Technology Workshop

FCDS

• Lack of fully effective design and validation

methods with support tools to enable

engineering of highly-integrated,

flight-critical digital systems

• Complexity of failure containment, test

coverage, FMEA, redundancy management,

especially in the face of increased integration

of flight-critical functions

• Sources of failure:

o Multiple independent faults (never

observed)

o Single point failures (observed sometimes

o Domino failures (most common?)

19

Page 188: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Analysis: Scientific Foundations

It is time to place the

real-time systems on a

Real-time systems are

development of

firm scientific basis.

built one way or

another because that was the way the last

one was built. And, since the last one

worked, we hope that the next one will.

(Fred Schneider)

"Not far from there (CNRS-LAAS), Airbus

Industries builds the Airbus A320s. These

are the first commercial aircraft controlled

solely by

system.

owes

1989,

a fault-tolerant, diverse computing

Strangely enough this development

little to academia. (IEEE Micro, April

p6)

2O

Page 189: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Analysis

The problems of DFCS are tile problems of

systems whose complexity has exceeded the

reach of the intellectual tools employed

Intuition, experience, and techniques derived

from mechanical and analog systems are

insufficient for complex, integrated, digital

systems

21

Page 190: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

It

Synthesis

Computer science has been addressing issues

of systematic design, fault tolerance, and the

mastery of complexity with some (limited)

success for the last 20 years

But there has been little interest in learning

about, and applying this knowledge to,

real-time control systems in general (and

little opportunity to apply it to DFCS)

And little of the lore and

real-time control system

captured and analyzed

wisdom of practical

design has been

22

Page 191: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

What Computer Science Can Offer DFCS

Systematic techniques for the construction

of trustworthy software, including"

0 Techniques for the precise specification

requirements and the development of

designs

of

O Systematic

structuring

systems

approaches to

of distributed

the design and

and concurrent

o Fault tolerant algorithms

O Systematic methods

analytic methods of

of testing and

verification

• Where do formal methods come in?

23

Page 192: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Applied Mathematics and Engineering

Established engineering

applied mathematics

disciplines use

o As a notation for describing systems

o As an analytical tool for calculating and

predicting the behavior of systems

Computers can provide speed and

for the calculations

accuracy

24

Page 193: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Applied Mathematics and

Engineering

Software

• The applied mathematics of

formal logic

software is

• Formal Logic can provide

0 A notation for describing software

designs_formal specification

0 A calculus for analyzing and

behavior of systems_formal

predicting the

verification

Computers can provide speed and

for the calculations

accuracy

Calculating

exercise in

proving

the behavior of software is an

formal reasoning_i.e., theorem

25

Page 194: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Formal Methods

Methodologies for using

software engineering

mathematics in

Can be applied at many different levels,

both description and analysis

for

O. No application of formal methods

1. Quasi-formal pencil and paper techniques

2. Mechanized quasi-formal methods

3. Fully formal pencil and paper techniques

4. Mechanically checked

techniques

fully formal

26

Page 195: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Benefits of Formal Specification

Unambiguous description facilitates

communication among engineers

• Early detection of certain errors

Encourages systematic, thoughtful

reuse of well-understood concepts

approach,

As documentation, reduces some of the

difficulties in maintenance and modification

27

Page 196: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Benefits of Formal Verification

Subjects the system

increasing designers'

own creation

to extreme scrutiny,

understanding of their

Helps identify

confidence

assumptions, increases

Encourages simple, direct designs,

requirements_better systems

austere

Encourages and supports a systematic,

derivational approach to system design

Complements testing

on fundamentals

and allows it to fOCUS

28

Page 197: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Conclusion: What FM Can Offer DFCS

• Precise notations for

and designs

specifying requirements

• Concepts and structure for systematic design

Intellectual tools for analyzing the

consistency of specifications and the

conformance of designs

A way to regain intellectual mastery of

complex systems and their interactions

29

Page 198: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Recommendations

Just adding formal methods

practice is inappropriate

to existing

Capture and analyze lore and wisdom (and

mistakes) of actual DFCS designs

Apply modern Computer Science (including

Formal Methods) to develop building blocks

for principled DFCS design

• Ultimately, build one and fly it!

w

30

Page 199: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

1 - 1 7 lWhat Can Formal Methods Offer to /_/')

Digital Flight Control Systems Design?

Formal Methods WorkshopNASA Langley Research Center

Hampton, VA.

August 20-23, 1990

ISk)nald 1. (kxv..l

Computati(mal Logic, Inc.

Abstract

Formal methods rest_lrch is beginning to produce methods which will enable mathematical modeling of thephysical behavior of digital hardware and software systems. The development of these methods directlysupports the NASA mission of increasing the scope and effectiveness of flight system modeling capabilities.

The conventional, continuous mathematics that is used extensively in modeling flight systems is not adequatefor accurate modeling of digital systems. Therefore, the current practice of digital flight control system designhas not had the benefits of extensive mathematical modeling which are common in other parts of flight systemengineering.

Formal methods research is showing that by using discrete mathematics, very accurate modeling of digitalsystems is possible. These discrete modeling methods are still in an embryonic stage. But when they are fullydeveloped, they will bring the traditional benefits of modeling to digital hardware and software design. Soundrea.,aming about accurate mathematical m_lels of flight control systems can be an important part of reducing tilerisks of un_le flight control.

Page 200: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

What Can Formal Methods Offer

to

Digital Flight Control

Systems Design?

Donald I. Good

Computational Logic, Inc;,1717 West Sixth, State z_u

Austin, Texas 78703

512-322-9951

[email protected]

note-82.mss: 108/27/90

Page 201: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

"Formal Methods" Enable

Mathematical Modeling

Digital Systems

(Hardware and Software)

NASA Mission _: Increas_tlhe sc°pe and---- • hess of flight system mo geffecttve . .. ,___._. _,A_& Q. 1990capabilities.-- Lee HOICOl=_u,,-'-'"-" H .

J

note-82.mss: 2

08/27190

Page 202: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Why Model?

For either design of a new.system or operation ofan old one, m0cleling prov=des...

Benefits: early error detection

• Saves time

• Saves money

• Saves operational disruption

• Saves operational mishaps

Risks: model misrepresents system

• Inaccurate

• Incomplete

Kinds of models: physical, analog, schematic,mathematical.

Blanchard and Fabrycky. Systems Engineeringand Ana!ysis, Prentice Hall, 1990.

J

note-82.mss: 3 08/27/90

Page 203: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Why a Mathematical Model?

• High abstraction

• High precision

• Simulate by manipulating symbols

• Represent large classes of system states

• Use mathematical deduction

Get a lot of system simulation for a little symbolmanipulation.

J

note-82.mss: 4 08427/90

Page 204: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Operational Safety

Operating a system safely requires

• accurate predictions

of how it will behave.

Accurate predictions can be obtained from

• sound deductions about

• accurate mathematical models

of system behavior.

J

note-82.mss: 5 08/27/90

Page 205: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

A Classic Model

Free Fall Distance:

f(b,t) = [g(b) * t**2] / 2

g(b) = if b="earth" then 32

else if b="moon" then . . .

t is time (see)

f(b,t) is distance (ft)

Simulation:

f ("earth", .7) = [32 * .7**2] / 2

= 16 * .49

= 7.84 ft

J

note-82.mss: 6 08/27/90

Page 206: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Power of Mathematical Deduction

Suppose 0 le tO le tl.

t in [tO..tl]

f("earth", t) in (32 * [tO..tl]**2) / 2

f("earth", t) in 16 * [tO..tl]**2

f("earth", t) in 16 * [tO**2..tl**2]

(** is monotonic)

Physical simulation of this result is impossiblebecause [t0.. tl ] contains an infinite number ofvalues.

J

note-82.rnss: 7 08/27/90

Page 207: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Validating a Model

, Ultimately, the accuracy of a model of aphysical system must be validated by testing itagainst measured, observed behavior of theactual physical system.

, One cannot construct a mathematical proof thata model is an accurate representation of aphysical system.

• Typically, one iterates through a process of

• stating a mathematical model

• testing it against physical observations

• adjusting the model

J

note-82.mss: 8 08/27/90

Page 208: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Hardware Model Observables

A hardware system

is composed

of physical switches.

Nancy Stern. From ENIAC to UNIVAC: Anof the ___u-_ .

Digital Equipment Corporation, 1_

Next page.

note-82.mss: 908127/90

Page 209: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ORIGINAL PAGE

BLACK AND WHITE PHOTOGRAPH

Page 210: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Use Discrete Mathematicsto Model Hardware

• Switches by binary digits

• Operation by recursive functions

sO I011000011111

Sl I 1 0 1 0 0 1 1 0 0 0 0 1

s2

mmmm_u

I 1 1 1 0 0 0 1 0 1 0 1 1

0 0 0

\ J

note-82.mss: 11 08/27/90

Page 211: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

An MC68020 Machine Model

MC68020 (s, n) =

if haltp(s) or n=0

then s

else MC68020(NEXT(s), n-l)

NEXT (s )

if

then

else

w

evenp (pc (s ) )

if pc_readp (mem (s ) ,pc (s ) )

then EXECUTE (FETCH (pc (s), s),

update_pc (s, . . . ) )

else halt (s, pc_signal)

halt (s, pc_odd_signal )

EXECUTE (ins, s) =

... [50 pages for 90% user ins.]

Provides a mathematically precise and consistentmachine language reference manual.

Yuan Yu. PhD Thesis (jD_progress). University ofTexas.

J

note-82.mss: 12 08/27/90

Page 212: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The VIPER Machine

A 32-bit microprocessor "whose functions aretotally predictable."

• Accumulator

• 2 index registers

• Program counter

• Comparison register

• 16 instructions

Avra Cohn. A Proof of Correctness of the VIPER

Microprocessor: The First Level. TechnicalReport 104, University of Cambridge ComputerLaboratory, January, 1987.

W. J. Cullyer. Implementinq Hiig_h_Systems: The VIPER Microprocessor. InComputer Assurance, COMPASS 88. IEEE, June,1988.

J

note-82.mss: 13 08/27/90

Page 213: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

A VIPER Machine Model

NEXT (ram, p, a, x, y, b, stop) =

if stop

then (ram, p, a, x, y, b, stop)

else (noinc \/ illegaladdr)

if (illegalcl \/

\/ (illegalonp \/

then

else

\/illegalsp)

illegalwr)

(ram, newp, a, x, y, b, T)

... [about 7 pages] . . .

where

ram

Pa

x,y

b

stop

- a memory of 32-bit words

- 20-bit program counter

- 32-bit accumulator

- 32-bit index registers

- 1 bit compare result register

- stop flag

J

note-82.mss: 14 08/27/90

Page 214: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The FM8502 Machine

A 32-bit microprocessor.

• 2 address architecture

• 4 addressing modes

• 8 general purpose registers

• 219 20-bit instructions

Warren A. Hunt, Jr. FM8501: A VerifiedMicroprocessor, Ph.D. Thesis, The University ofTexas at Austin, 1985.

..... , Microprocessor Design Verification. Journalof Automated Reasoning. Vol. 5, No. 4, Dec 1989.

J

note-82.mss: 15 08/27/90

Page 215: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

An FM8502Machine Model

FM8502 (ms, mn)

if

then ms

else

not (listp (mn))

FM8502 (NEXT (ms),

rest (ran))

NEXT (ms) =

list (next_memory (ms) ,

next_register file (ms) ,

next_carry_flag (ms) ,

next overflow_flag (ms) ,

next--zero_flag (ms) ,

next--_negative_flag (ms) )

• . . [about I0 pages] . . .

\ J

note-82.mss: 16 08/27190

Page 216: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

An FM8502

Register Transfer Model

GATES (gs, gn) =

if not (listp (gn))

then gs

else GATES(COMB LOGIC(gs,car(gn)),

car (gn))

COMB LOGIC(gs,gn) =

• . . Ton bit operators, e.g., b xor]

where

gs

regs

flags

mem

int-regs

[regs, flags, mem,

8 32-bit vectors

4 Booleans

232 32-bit vectors

32-bit vectors for

registers,

int-regs ]

internal

flags, latches

k. J

note-82.mss: 17 08/27/90

Page 217: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Connecting the Models

o fm8502 (ms, ran) .... >o

I ^I I

D (ms) U (gs)

I Iv Io gates (gs, gn) .... >o

Theorem: H (ms,mn) ->

fm8502 (ms,mn) =

U (gates (D (ms) ,Kg (ms, mn,md) ) )

Under the conditions H,

• the fm8502 model is just as accurate as gates

• but with some details suppressed by u.

J

note-82.mss: 18 08/27/90

Page 218: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Software Model Observables

Programming languages provide

a wide variety of ways

of describing them, but

the observables are sti!! switches,

and so are programs!

\J

note-82.mss: 19

08/27/90

Page 219: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Models of Programmed Machines

= A machine is programmed by setting theswitches which it will interpret as instructionsduring its operation. (Before stored-programmachines, this process was called "setting up"the machine.)

I011000011111

I prog I data I

• These switches are the program. They controlthe subsequent operation of the machine.

° A computer rp!_o_gramis a physical controlmechanism.

• The bit string "011000" is a mathematicaldescription of the control mechanism.

J

nntm82.mss: 20 08/27/90

Page 220: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

A Model ofa Programmed Machine

A model of machine M operating on initial state sOfor k (s0) steps under the control of the programdescribed by pO is given by

M(sO, k (sO))

where

sO - a machine state such that

prog (sO) =pO

prog (s ) - a function that extracts the

program description from s

Operating Requirements

A model of a machine programmed to satisfy anoperating requirement R (s0, sk) is given by

R(sO, M(sO,k(sO)))

J

note-82.mss: 21 08/27/90

Page 221: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

A Program Description, pO0888 000D 0002 088B 000& 0003 004B 0003 00Br

000F 10CB 0002 0000 31c8 0002 0000 120B 0002

0908 0002 0005 0¢C8 0002 0006 0Iron 0002 0007

0002 000D 1048 0003 000¢ 0000 0848 0003 0002

0003 0002 0041 0003 009r 009A 0003 0198 0003

0000 0002 3988 0000 0002 1A88 0000 0003 r848

0002 9848 0004 0002 7848 0003 0002 5848 0002

000Z 0C_0 0009 0CCA 0009 0CAB 0002 0086 0009

0CCA 004D 0002 0002 0041 0002 0093 000B 0002

08F3 0089 0008 0004 0083 0008 0000 000A 0A98

0002 000A 0BKA 0002 09A5 0848 0006 0002 0049

0091r 0009 0CD0 0888 000C 0002 0848 0004 0006

0003 0080 0841 0003 0004 0041 0003 01r3 0009

0CA8 0848 0003 0006 004D 0003 0002 0041 0003

0003 000c 0006 0096 00CI 0003 0000 0188 0003

000R 001_8 0002 0096 0048 0003 008F 0009 000_

0003 0093 00CB 0003 0002 O_¢B 0003 0006 0002

0048 0003 001_r 0009 0CD0 0889 000C 0002 0849

0008 0049 0003 0080 0841 0003 0004 0041 0003

0009 0CCA 1048 0003 000C 0049 0003 0009 0041

0008 004D 0003 0002 0041 0003 0093 0003 0003

0096 00Ca 0003 0000 0103 0003 0000 0848 0002

0096 0048 0003 00Br 0009 0CCA 1048 0003 000C

0003 0003 09CB 0003 0006 0002 0C86 0848 0007

000C 0002 0848 0003 0002 004D 0003 0008 0041

0002 0007 000¢ 00_8 0086 0000 0006 0096 00A6

0CCA 1048 0003 000C 0049 0003 0002 0041 0003

0002 0086 0048 0003 00BF 000¢ 0CD0 0888 000C

0041 0003 00r3 0009 0CDD 000A 0BCC 000¢ 0CD0

0009 0041 0003 000r 0808 0003 0002 0002 0096

000C 004D 0003 0002 0041 0003 00D3 0008 0003

000A 0C84 0888 0009 0003 0048 0003 008r 0009

0003 0009 0008 09r3 1048 0005 0008 004D 0003

0006 0013 1048 0002 000B 0048 0003 00BF 0009

1048 0003 0008 0049 0003 0008 0041 0003 00r3

0041 0002 0100 000Z 0CLIk 0082 000A 0082 0008

0100 0009 0CA8 0082 000X 1048 0002 0009 0000

0008 0003 0048 0003 00Br 0008 0CDD 000A 0054

09r3 1048 0005 0009 0049 0005 0002 0041 0005

0002 0009 0048 0003 OOBr 0009 OCA8 0008 0005

0049 0003 0008 0041 0003 0173 0009 0CDD 008A

0CP.JL 0082 000A 0048 0003 00Br 0009 0CgD 000A

00A2 0000 0004 0048 0003 008F 0009 0090 0000

0CD0 0009 0A29 00A2 0000 0848 0004 0003 0041

0002 0296 0003 79C7 0003 0003 0000 3848 0004

0041 0004 0004 08CB 0004 0002 0000 0292 0003

0041 0002 0004 1841 0002 0003 1848 0002 0002

0008 0C:D0 0040 0002 0009 0041 0002

0009 13C8 0002 0009 0CC8 0002 0004

0041 0002 0008 50C8 0002 O000 1048

0049 0002 0009 0041 0002 000r 004D

0848 0003 0002 0041 0003 0008 1888

0007 0002 9848 0006 0002 11848 0005 '

0002 0000 000¢ 09r3 0048 0003 008F

09F3 004B 0003 001_lr 0009 0CD0 0008

0001 0lOB 0002 0000 0002 0086 0009

0083 0008 0001 000& 0_'D 0083 0008

0006 0010 0848 0007 0003 0049 0003

0049 0004 0008 0848 0003 0002 004D

0CK1 000A 0A¢7 0848 0002 0007 0009

0093 0003 0003 0003 0006 0096 1103

0000 0848 0002 0006 0048 0003 008F

1049 0003 000C 004D 0003 0002 0041

0C86 0848 0006 0002 0049 0006 0010

0004 0002 0049 0004 0008 0848 0003

01r3 0009 OCOD 000A 0854 0008 0CD0

0003 ooor 0_C9 0003 0002 0848 0003

0002 0006 0098 11C3 0003 000c 0006

0006 0048 0003 00lur 0009 0cJ_ 0002

0049 0003 0002 0041 0003 0093 00CB

0003 0048 0003 00BF 0009 0CDO 0888

0003 0173 0008 0081 000A 088r 0848

000c 0002 0096 0048 0003 001Nr 0008

0093 00C8 0003 0004 0108 0003 0000

0002 0848 0003 0002 004D 0003 0008

0009 0CCA 1049 0003 000C 0049 0003

0048 0003 00at 0008 occA 1048 0003

0005 01Ca 0003 0000 0002 0C86 0088

0r'nD 000A 081"7 0088 000A 0CSF 1048

0002 0041 0005 0093 0003 0005 0005

0CAB 00CB 0005 0000 01CB 0005 0000

000Z 0091 0006 0C2A 1048 0002 0009

0006 0038 1049 0002 0009 0041 0002

OCA8 0082 O00A 008B 000& 0086 0888

oo8a ooox ocgr 1048 0003 0009 0009

0093 0003 0005 0004 O0O6 0070 1048

0000 OlCB 0005 0000 1048 0003 0009

000A 0009 0CD0 088r 0009 0002 0009

0095 0000 0C_0 000Z 0A29 001_ 0008

0A29 00A: 0000 0049 0003 001_ 0008

0004 0004 3841 0004 0003 08¢a 0004

0003 7845 0004 0003 0841 0004 0003

7807 0003 0003 0000 0849 0002 0003

0000 0203 0003 0000 0000 ?AC3 0003

[752 16-bit words]

J

note-82.mss: 22 08/27/90

Page 222: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Kit Separation Kernel

. Uses a modified FM8501 (ms,mn) machine

• Interrupts for timer and I/O

• Process management

• fixed number of processes

• process scheduling (round robin)

• process communication (message passing)

• response to error conditions

• Device management for character I/O toasynchronous devices

• Memory management uses hardware protection

William R, Bevier. Kit: A Study in OperatingSystem Verification. IEEE Transactions onSoftware Engineering. November 1989.

J

note-82.mss: 23 08/27/90

Page 223: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Kit Operating Requirement, R

process

abstract kernel

target machine

running Kit core image

J

note-82.mss: 24

08/27/90

Page 224: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The CLInc Stack

mm

I-I

Compile

IV

O

II

Link-assemble

IV

O

II

Reify

IV

uGypsy (yx, yp, yd, yn) ->oA

Young

piton (ps, pn)

Ip_display

II

.... >OA

Moore

fm8502 (ms, mn)

Im_display

II

.... >OA

Hunt

gates (gs, gn)

Ig_display

II

.... >O

Warren A. Hunt, J Strother Moore II, WilliamD. Young. Journal of Automated Reasoning. Vol.5, No. 4, Dec 1989.

J

note-82.mss: 25 08/27/90

Page 225: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

The Piton Language

The Piton language has

• execute-only program space

• read/write global arrays

• recursive subroutine calls

• formal parameters

• user-visible stack

• stack-based instructions

• flow-of-control instructions.

The cross assembler produces an FM8502 binarycore image.

J

note-82.mss: 26 08/27/90

Page 226: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Micro Gypsy Language

The Micro Gypsy subset of Gypsy has

• types integer, boolean, character

• one dimensional arrays

• procedure calls with pass by referenceparameters

= sequential control structures if, loop,

• condition handling signal..when.

The compiler produces Piton.

J

note-82.mss: 27 08/27/90

Page 227: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Stack Theorem

Theorem: H' (yx, yp, yd, yn) ->

uGypsy (yx, yp, yd, yn) =

U' (gates (D' (yx, yp, yd) ,

Kg' (yx, yp, yd, yn, md) ) )

Proof : Mechanically checked.

Under the conditions H',

• the uGypsy model is just as accurate as gates

• but with many details suppressed by u'.

Boyer-Moore Logic

Robert S. Boyer, J Strother Moore II. AComputational Logic Handbook, Academic Press,1988.

Matt Kaufmann. A User's Manual for an Interactive

Enhancement to the Boyer-Moore TheoremProver. TR 19, Computational Logic, Inc., 1988.

J

note-82,mss: 28 08/27/90

Page 228: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

A Hierarchy of Modelsof a Programmed Machine

R(yx0, yp0,yd0, ydk)

uGypsy (yx0, yp0, yd0, yk (yx0, yp0, yd0) )

piton (ps0, pk (ps0))

fm8502 (ms0, mk (ms0))

gates (gs0, gk (gs0))

Corresponding to these is a hierarchy of programdescriptions ....

J

note-82.mss: 29 08/27/90

Page 229: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Operating Requirement

procedure mult (var ans: fm8502 int ;

i, j :fm8502--int) =

begin

ENTRY j ge 0;

EXIT ans = NTIMES(i,j) ;

pending;

end;

type fm8502 int =

integer[- (2"'31) .. (2"'31)-I] ;

{A Simple Problem Domain Theory}

function

begin

exit

end;

NTIMES (x, y: integer) :integer =

(assume result =

if y = 0 then 0

else if y = 1 then x

else x + NTIMES(x,y-I)

fi fi) ;

J

note-82.mss: 30 08/27/90

Page 230: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Gypsy Program Description

procedure mult (var

begin

ENTRY

EXIT

var

k := j;

ans := 0;

loop

ASSERT

ans'fm8502 int;

i, j :fm8502--int) =

j ge 0;

ans = NTIMES (i, j) ;

k:fm8502 int := 0;

if k

ans

k

end;

end;

j ge 0 & k in [0..j]

& ans= NTIMES(i, j-k) ;

le 0 then leave end,

:= ans+ i;

:= k - I;

J

note-82.mss: 31 08/27/90

Page 231: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Piton Program Description

(MG-MULT

(K ZERO ONE B ANS I J)

NIL

(PUSH-LOCAL ANS)

(PUSH-CONSTANT (INT 0} )

;formals

;locals

;ans := 0;

(CALL MG- S IMPLE- CONSTANT-AS S IGNMENT)

(PUSH-LOCAL K) ;k := j;

(PUSH-LOCAL J)

(CALL MG- S IMPLE-VARIABLE -AS S 7GNMENT )

(DL L-1 NIL (NO-OP) ) ;loop

(PUSH-LOCAL B) ; b := k le 0

(PUSH-LOCAL K)

(PUSH-LOCAL ZERO)

(CALL MG-INTEGER-LE)

(PUSH-LOCAL B)

(FETCH-TEMP-STK)

(TEST-BOOL-AND- JUMP FALSE

(PUSH-CONSTANT (NAT 0))

(POP-GLOBAL C-C)

(JUMP L-2)

(JUMP L-4)(DL L-3 NIL (NO-OP))

(DL L-4 NIL (NO-OP))

(PUSH-LOCAL ANS)

(PUSH-LOCAL ANS)

(PUSH-LOCAL I)

(CALL MG- INTEGER-ADD)

(PUSH-GLOBAL C-C)

... [14 more support routines] ...

if b then leave

L-3)

ans := ans+ i;

J

note-82.mss: 32 08/27/90

Page 232: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

FM8502 Program Description_I4-STAT¢

'(BO0000000000000000000001011000000

BOO000000000000000000001111100000

B00000000000000000000000000000000

B00000000000000000000000000000000

FFFF

'(B00000000000012ZIZ00000Z001000001B00000000000011_II00000100101ZOZI

B000000000000111ZI0000000Z001Z000

B00000000000000110000000010000010

BOOOOOOOOOOOO111110000000101110ZZ

B0000000000001lIII00000001001Z000

B00000000000011111000000010001100

600000000000011111000001001101100

BOO000000000000000000000000000000

100000000000011111000001001101100

B00000000000000010000000010100101

B0000000000000000000001000100ZIOI

B00000000000001110000000010000101

B000000000000IZZI1000000000001000

BOOOOOOOOOOOOIlZZIO0000000IO0000Z

B00000000000011111000000000011010

B00000000000011111000000000100010

B00000000000011111000001001011011

BOO000000000000000000000000000001

BO0000000000011111000001001101100

1300000000000000000000000000000000

B00000000000011111000001001101100

100000000000000010000000010100101

BO000000000000000000001000100II01

BO000000000000III0000000010000IOI

B00000000000011111000000000001000

100000000000011111000000001000001

B0000000000001111Z000000000011010

BO000000000001ZZZZ000000000Z00010

B00000000000011Zl1000001001011011

B000000000000lllll000000010011000

B000000000000001100000000Z0000010

B0000000000001111100000001011101I

B00000000000011111000000010011000

600000000000011111000000010001100

B00000000000011111000001001101100

B00000000000000000000000000000010

BO0000000000011111000001001101100

B0000000000000001000000001010010I

a0000000000000000000001000100ll01

B0000000000000Zll0000000010000IOI

B0000000000001ZIlI00000001001Z011

B000000000000IOZI000000010110101I

B0000000000000000000000000000000I

BOO000000000000000000000000000000

_00000000000011111000001001101100

... [10 IorQ pmg*=} ... ))

i00000000000000000000001111100011

B00000000000000000000010001000111

_00000000000000000000000000000000

iO0000000000000000000000000000000)

B0000000000001211_0000000001000_0

B000000000000Illll00000Z00Z01IOIZ

BO000000000000000000000000000000I

BOOOOOOOOOOOOIllllOOOOOlOOZZ01100

B00000000000000010000000010100101

iO0000000000000000000010001001lOl

1100000000000001110000000010000101

B00000000000011111000000010011000

BOO000000000000110000000010000010

100000000000011111000000010111011

B00000000000011111000000010011000

B00000000000011Ill000000010001100

800000000000011111000000110011011

B000000000000000000000000000ZII00

B00000000000011111000000000111010

B00000000000011111000001001000001

B0000000000001111Z000001001011011

600000000000011111000000010011000

800000000000000110000000010000010

B0000000000001111100000001001_000

B00000000000000110000000010000010

_00000000000011111000000010111011

_00000000000011111000000010012000

BO00000000000111110000000IO001100

1000000000000111110000001100ll0ll

B00000000000000000000000000110200

_000000000000111110000000001_1010

100000000000011111000001001000001

B000000000000IZI1200000100IOZ10ZZ

B0000000000001111100000100Z011011

B0000000000000000O00000000000000I

B00000000000011111000001001101100

B00000000000000010000000010100101

800000000000000000000020001001101

J0000000000000111000000001000010l

B00000000000011111000000010011000

BO0000000000000110000000010000010

100000000000011111000000010111011

B000000000000IIlll000000010011000

B00000000000011111000000010001100

10000000000001111100000100110Z100

B000000000000Z01100000Z0101100Z00

B0000000000000101100000010IIII000

n000000000000111110000000100ll000

B00000000000000110000000010000010

BOOOOOOOOOOOOlIlllOOOOOOOIOlllOIZ

J

note-82.mss: 33 08/27/90

Page 233: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Mathematical Requirements

• Unambiguous: Requirements have a well-defined interpretation that tells exactly whatthey do say.

• Analyzable: Do the requirements say the "right"thing?

R(x, y) -> good_thing(x, y)

• Consistency: Requirements contain nocontradictions.

• Enable modeling a program component beforebui!din_cl it (and thereby save the time and costof desi.qning a poor program.)

To get these benefits, the requirements notationmust have a rigorous mathematical foundation(semantics).

J

note-82.mss: 34 08/27/90

Page 234: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Design >> Requirements

• There is more to designing a digital system thanjust stating and refining mathematicalrequirements.

• One must still construct a program for somemachine.

• Mathematical models of commonly usedlanguages and machines are still very scarce.

J

note-82.mss: 35 08/27/90

Page 235: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Summary

For either design of a new system or operation ofan old one, mathematical modeling of digital flightcontrol systems offers

Benefits: early error detection

• Saves time

• Saves money

• Saves operational disruption

• Saves operational mishaps

Risks: model misrepresents system

• Inaccurate

• Incomplete

J

note-82.mss: 36 08/27/90

Page 236: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Conventional Non-Wisdom

Use "formal methods" (mathematical modeling)

• only after a system is built to certify it

• only before a system is built to design it

• to guarantee perfect system behavior

• to eliminate the need for testin_

J

note-82.mss: 37 08/27/90

Page 237: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 238: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

°_

0

o__._ _ 0

• • • • •

Page 239: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

q_

o

b_

c_

b_°1--¢

Cl)Q_

.im¢

O

c_oruq

DN

O

m

©

O

r_

I-4

tlm_

O

@

oiIw¢

@WJm¢

@_o_

@

O

O

m

c_

b_

Page 240: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

,.-.--I

la.,b_

r..)

i,...--,I

,.Q

,P,-I,--.-I

ro

_J

"'" I '_I':"

.,.i,

_6

Ii:I

_, 2

I:I::I

oI

!I

_D

r]

Page 241: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

o

_ _ ._

J i _D

Page 242: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_ oo o

o_o

c_0

c_

C

I

Ol

_t

'OI

_'_I

f,.._I

0

I

Page 243: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

olm4

q_

opml

c_

Q_

Page 244: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C_C_

C_

_ °• I,Q °q_

Q_ q_

r_

Page 245: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

_o°_I

oF-4

°_,ml

c_

_Q

0

©

O

Q_

Q_

Page 246: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

!

Page 247: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

r_

t_

I

iiii

itti

\"'0...

"'.....

i

ii

I

I

o

o

0

- 0

- 0

I

I

I

_4

I

I

I

t-i

0

0

0

0

0

0

0

0

0C_

0

U

0Z

Page 248: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

oq_-I

0

o_,,4

1°t"_

..t-o

5_

©

¢:u

o_

4_

4_

_5

• _,,,i

Page 249: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C_

v_

m

C_ C_

m

m

\\\\\\\\

a_

m

o_

m

v_

Page 250: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 251: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

II

Page 252: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 253: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

-6

0_D

,.ii

0

0

0

I

©

Page 254: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

"O(to

w,o

o° P=,.t

0LJ

.P,=l

0

T

_., t.c:t

0

II

A

°_

,,%

t...

0°t=-t

<

L._

6,

I oeo

t....

0

f-_ ,.

! . 0

xVl

"_ 0

VI -,-'0 ;",

• ' 0

_. -_._

0 ©

o

09

©

_J

_D

t..J¢_

0t._

t_

m0

.z3

I1)

Page 255: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

O

cD

:a

O

O

O

CD

_b

VT_4_

O

O

O

I=1

Oo_,.,i

o

oO

O

O

O

_ _o _

O_oo -'_

._ r._

• ,.., -_

rjl _-4

J

A_

-e,,_

Page 256: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

,I,,u

• _ .. _ _ _ ,_

,'_ 0

0 _ _ _

0

Page 257: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

I::1

Et ---

0

e,o "---- _¢

_0 r_¢; II "_

_-J i t

0 • " "_ _

0

,_ .. A ,, A

Page 258: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

r_

m

¢)

t_

0

ro

¢)o,JI

¢)

_ o_o _ o_ _t

_0 _ _ 0

:_ o _ _,., £ >,-_ o _

u _

r_

Page 259: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

!

0

Page 260: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

0

I.i

0

Page 261: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

bO

0

0rj

II

0

_D

c_

II

_ 01.4 0

r_

• Q •

Page 262: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

• 0,.,-.(

o_

II°_

• 0,-.,f

O

.i,.-I

_-' • • •

r'---

,,,,,,I

O

O

0

Page 263: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 264: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

• • • • •

Page 265: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N9_-17568 _.

r _

C9_9

C9

0P

I

0

c9m_

Im

_>_

_q

0

0

0 ---..0

o

o_

E0U

Page 266: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

oE

¢-

I.L

Im

0-Cor]

0

C_0

0c-

-CL)(D

or]

L)LL

COCO0"_

L)

!

<or)<Z

LLI u_C

"C_

t_

c-

"C_

0 _o_

CO

Oqa_

_._ °_

u_ 0 0

C_ _.._ "_. Q.

E =_ m

4- _

t/)0 _j

_ _ _)

c _ U

>0

¢_ ---

>_

-0

0°_

4..a

4.a r_

B

4..aoO

E _-or]

0

Page 267: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

m

0_9

Page 268: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

"O 4-J C 0U D.

r7 _ _ o> 'o o2 (--

B E E5-Q "£_ or} 0 0 c-"_ C _ "--_

0 0

LU -oc'- c-

•-- c" c_

(1) c- c-O .o

"__. _U c_ c_

-_ .: EE > m

0 t-" (1)(1) m "_

I- >

0 ©

C2 _m

0 --Q. m

N m u

0

.£2

.!

Uc"

0U(1)

c-

U

c-

O

4--}

t)°_

Q.

EU')

(1)>0

(1}t--

4-_

o')u')(I)

f_

0

or)

4-_X(1)

Z

Page 269: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

L_

I.==I

0

(_

I

I

I

I

,A!

0

I

"o

K2

c-

O

4-_

c-

ON.-

N--0

(f}

E

E IIu X

Page 270: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 271: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

PRECEDING PAGE BLANK NOT FILMED

r...-

Or),4.aCUU3

r'--i

:>.,[.-,

=.

[..-,I-_,1

,-3r._ ,-3

-,_

O ZH[--,

--_030O_ i::l., r-t3a; X ::Z::03 r-d [--,

I-"1r.--IOO

,.Q

AI

I._..J

O.r-I

U

03I-I

r.=3

[-,

+e

03

cD[-_ 03

;:> ;>

i. oe

N U

:>..,,.O

X

,.O

II C3II

r-_ X

03+.

AI X

m

I I J*

O

4-)

m°- _

0 M

N

03

H

III--I

r'---i

r-IO NO

IN

03 _-_

Or.=.,

It

o•r-I ,.E)

.g

°" _

03

I,t

!!

_4

IIII

I'-'1

r-IOO

,Q

AI

4-)

03

o.el

u

.+

X

o

o

+1

II

r-_OO

,Q

AI

.!_

03

o-H

u

4.)

03r-t

_H

.+

IIII

03

+!

4--)q)

E_

_)

4-)

.=¢

IIII

4-)_)03

!!

4-)

03r_r-I

_H

,_

II

03

H,-.1

X

II

X

0I-4 (p

_>__=) °.

-r-Ir--IX

0 ,--I•r-I._m

X

Page 272: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

|m

m

|almD

U

,.o

U

+

k

U

II

,.Q

o2

O

4-_U

4-_

.r-!

i::I u

A 4-I

O

,,_ .io _ ou _.r4

..

U u

U

IIV

U

I--4,-I

m

c_I-4

o0

.i_

i

u

t_I--I

o

II

"el

U

OI--I

N

m

m

N

E-,

H

I--4,-I

t.-I

O

A

V

"el

U

,-.I

O

m

oe

I

"el

U

U

U

A

U

o

A

U .el4._

.. :_

o._:_ ,-1

oO

Page 273: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

(,.)

¢D

(I)

OU')

(/)

b-,[-,

eo

::::,.

oe

(.,)

J

r-Ir-I

(..)I

r,/'j

¢.)

r--Ir-I(1)U

I

o

(.)

r-Ir-Iq)U

I

o

U

[.,-1

:>-,E-,

ee

(1)

4-)I

u

f-'-i0')

r-_

U

AI

0

U

om

I

r-i

u

HH

uI

o

U

Ir-_

U

U

H

o

o

r-_

UI

o

u

II

u

IH

U

U

E-,I--I

r_

0

Oz.,

r-_

e_

r_

o

r-I

Q)u

I

o

Q)

IIH

u

O

.I.-)I

[_1 r-.I

U

mJ lo

(..)

4-) _"U

0

[.--,

_-_o

o

0_

"c_ H

uo _"

E-,

u bo _-Io

bo _ o

H a,

I_, I-I I

H ,'_ C)

o0 _

_ _ o_,_ _ _ ._

u (..) u.. _._.IN :::1

•el _ ..

ob, r_

o

(I.)0_

I--I

U

[.-,(13Z

I--I

(.)

J

E-,

I--I

[.z.1

oI--I

I

o

r./j

oh

Page 274: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

U

Eim

m

O

I

im

11

11

q_

i-4

4-

U

11 II

I|

AI

H

Z

U

U

1,4O

Z

O

._ °°

•, II U

0

U

Qm

AI

0

U

el

+_

C)

H

U

r4

I

+_

A U_I _-I

w

.rl

UZ

•- O

• . _ _

Page 275: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

bL;I.-

t.)

la.l

,1J

.,-I

o

.i_i0

.,-44-4

I...io

4-4

(I)

I..i(I)

bO

r_

[.-,

,.Q

I..i

i..l04-I

I..iII)

_.__-_

o

40

.H

_-4

.r4

.r4

A

+_.H40

.rq

F-4

0_

I--4

O

II

C3Z

H

0_

O I--4

f_

°. C_

_Nr,,.)II

A

,--4

Page 276: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

|mm

m

IY

P_o_

II

N

o_

r

_J

_J

II_J

L.m...i

f_

_J

cj _

_o- -"

II

o_

r_

F

Q_

II

G

C_

Page 277: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

oO

U

UiIlI

O.

u

bl .H

m

II H

. 4-_ ._

_., 11

UI--I

I--I ,_.., 0 _'_I b-, .r->

_ "_" 0 O'),_ _ H "_ _,

•H _, * ,_ _-_

• " _ (N _-_

i M H

I"-"I

L)

-r--_

II

U

.r-I

-I_ I---I I'1

"---' I> I_ f-Q

S O0

._ .,-_ D4 _._ ,--I_ i--I H

.. f._ _-_v I_ II

o :2:0

0

II "

4._ t)

_/1 I/1

I @

.p•, o

b_

o0

"1"(

u

w

b_

H

_q

II ,,

Q)

U

A "I"4.-

I _

o.,-I

H .. 0 _' _ _'_m _

_ _ II :_ I-t ""_

H _ "_.. ,_

b_

Page 278: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

=0

llml

=

LL

P_

I

L_ L _j _

_" 0

_J_J

cO

_J

Q_

11

C)

!

C)(j

Page 279: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

.l.a

iN

4..a

"O

OEL

I--I

r--1L)

I__J

4__)03

AI

L)I_J

o-r_

t)

H

u_a:

r,.)_-_

-- ¢1

• " u C:) II (:3m

O .=_ _:_ u

_ m _._

OtH

,O

O.r-I4otd

O

O

0)Z ,O

0)U E!

0 Z

uo o'_

H _:_

Z

Z

O)

0

0

"0

0

v

C__;

II

ur'-Ir,.)

!

_ .o

o r._-M _ [-_

•- U_

•. _ ___

u

U

v

u

(]),.(::)

II _ I_

r--_ Ur'-1

' ' O

0) 4--)rn _ "O

W

I ::I OO :::,

r...,)

O ..•_ _ (3

t) .. 0)

U_ I_ C::)"H _ 0)

• . _::) ,,_,P _Z:I ,,-]

O ,c_

U

.{..)

O

:=Ir_

II 4-_II

n_r-'nr-.n,J_

u

4-)

,J_

I _)

0.r'-I

,..]

•_I u

r--t _

u _

u

r "%

uv

4-)I

r'-I

U.r_

.r_

U

.r4

u

IIII

r--i

/%I

UI i

o

u

tH

O4-)

I

nO(1)4-)

-r-I

ou

Page 280: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

x/0

"{3(-(_

0

r

r_

_j

_J

VI

VI

_j

(3

I

"b

EL)

• °

11

_J

(j

C)r_

®LU

A

(9

UI

®m

II

_J

O

u

(I)

o

IIv

II _"v .H

II v

u_ [-4

r,,) o C3

(I) "lJ

A let ._ _I .. .H

,-]ee

o

u

f_

.r-I

C)

.rt

U

ItIt

I---I

r--'1

i i

4-)_)

AI

L)i I

o.H

u

_H

b0

.H,-MI-4O

r--I

i i

_)

r-Ir-I

4-I

(J

A

(JV

b0

.,-i

It I-.i0

r--,

0 IM,._ ¢1

I.)AI -It-

CxiI,--J

-,

o•,-I u4-)

_1 I:l:l

"" I--1

c_

i--I

Page 281: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

EQ

VL

0

II

0

Q

_>

r-

I--I

u

,.Q

11to

oo

I 0

0 Z

uu

o

oo

r-too

A!

L..-I

o

t)

t)

o

I-i

U

0

o.0

u'lUlH

H

u

"r-"l

121

_ "r-I

_ oo

m

ou

u

o(D

ou

u_

C_

U

oB

r4

h

r_o

Page 282: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

co,--I

0limB

U

I-,,I

l-

|I

(.-

0Z

r-'l

r--I00

AI

0

0

I__I

o

u

r-_

V

•" A_.I I

[-, 0

,,. I I

0 o

u

o

v

V

b_ ,--I0

I--I o

AI--I I

Et 0o .1_

V

,_ ml 1::I ._0 _,

°. .r-I

:=IF-, .._o r._ _Cl

o'1UlH

H

V

I'--t

H

V

°° _

.. CD ,--]

0_0::._ CD

U

._ ,--] _I ,-.] ,.-]

I---I "UV

"< "UO0 _ v

H r-_,_] H

H :EH

03 V

V _ _-i ..

r._l_I_ -- _ "I_

0 'I_ C_l _-I

.. c__

o o9 _ c3 _

U _ C_ H

0

(xl

I

v

..1_1"!--I

I.-t"1_ ,-1

m *v _

or) ,_,

.r-t

Q_

o I•H v.iJu C_,

o•H .H

uo

c3 r-I

• . _ .H

_ O

(23 O

Page 283: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

G)

4--)

II-40CO

00L_ (0

I

@

or,,

o

O_@

w

0 o i'-1;_ b, 1.4

o _o _) "

t_.1 -_' ' 0

ot) ,.C ..

u _ u

I-i Z o 0

0

@

0

IV

'-a

o

0I

@

w ,._

m r2_

4-_t)@

o

(I)

I.-I,..-1a,

I-'4

._ ,, U

4._

t) 0 _--4

@4._

t

.r-t4-)t)

.MI

I_1 ,_ v

I1_ o 0

+') 0 0_)

•_. _ _

e12_ .1_ i i

r_ v vee

o ::"

_._ o o•el .M.M

0 t) t)

0 @ _ _El _ ._-,_

r-4

or)

IV

,'¢I

IV

@

o

i._ I ,.,v

I _ Vv

o l::z, I_

.. 4.) I

o _ v _,,o "_ "'_

_ N m._

0o

C_@

@

o

Page 284: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

0

Page 285: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Design and Proof of Correctness

of a Fault-Tolerant Circuit

91-17569

William R. Bevier

William D. Young

Computational Logic, Inc.1717 W. 6th Street

Austin, Texas

I$ &q_ 1990

Page 286: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

What We Accomplished

• A formal statement

Boyer-Moore logic.

of Interactive Consistency Conditions 1 in the

• A formal statement of the Oral Messages algorithm OM in the Boyer-

Moore logic.

7"

• A mechanically checked proof that OM satisfies the Interactive

Consistency conditions.

• A mechanically checked proof of the optimality result: no algorithm

can tolerate fewer faults than OM yet still achieve Interactive

Consistency.

• The use of OM in a functional specification for a fault-tolerant device.

* A formal description of the design of the device.

• A mechanically checked proof that the device design satisfies the

specification.

• An implementation of the design in programmable logic arrays.

f

ISee "The Byzantine Generals Problem", Lamport, Shostak and Pease, ACM Toplas, Vol 4,No 3, July 1982.

111/_$1mt 1990

Page 287: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

A Stack of Related Machines

spec

design

tmplementau

18 A_ t990

Page 288: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Specification

The specification is a function that describes a finite state machine.

At every step, each of N processes

1. reads its sensor input,

2. exchanges its sensor value with all other processes,

3. produces an interactive consistency vector (ICV) that contains what it

concludes is each other process's value, and

4. applies a filter function to the ICV to produce an output.

t8 A_ 1990

Page 289: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Properties of the Specification Function

The exchange of sensor values is accomplished by an algorithm called OM.

OM achieves interactive consistency. That is,

A process sends a message to n-I destination processes.

1. All non-faulty destination processes agree onvalue.

the same received

2. If the sending process is non-faulty, then every non-faulty destination

process receives the message sent.

OM has been defined as a function in the Boyer-Moore logic, and a proof that

interactive consistency is achieved has been mechanically checked.

III A_llwt 1990

Page 290: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Formal Statement of Correctness of OM

Let

• n be the number of processes,

• Lbetheset{O .... ,n-l},

• g,i,j _ L be process names,

• x be g's local valuc, and

• m give the number of rounds of information exchange.

The interactive consistency conditions are stated as follows.

--,faulty(i)& -_faulty(j)& 3faults(L) < n

&faults(L) <_m

OM(n, g, x, m)lil = OM(n, g, x, m)[jl,

--,faulty(g)& _faulty(i)& 3faults(L) < n&faults(L) < m

OM(n, g, x, m)[i] = x

Ill It_ltwt 1 _0

Page 291: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specification Abstraction

The following aspects of the specification are not constrained:

1. The number of processes.

2. The types of the input and output values.

3. The nature of the filter function.

I$ Attg_ 1990

Page 292: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

What Interactive Consistency Guarantees

The specification can be thought of as a function which

• receives a sequence of N-tuples of input values, and

• produces a sequence of N-tuples of output values.

Because of Interactive Consistency, we can conclude:

At each step, all non-faulty processes agree on their output iff the total number of

processors exceeds three times the number of faulty processors.

Ill AquEt 1990

Page 293: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Device Design

Goal: Design 4 identical circuits which, when operating synchronously, achieve

Byzantine agreement.

18 ALtl.ra_t1990

Page 294: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

A Process Internal State

data_in

cloCk

_OUt

sense

filter

iii

actuator

114 A_,ltut 1990

Page 295: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Process Steps

O:

I :

2:

3:

5:

6"-

7:

data out[i] <--

icy[S] +-

clock e-

sense, iE {0,1,2}

sense

clock+1

m[0,i] <-- input[i], ic {0, I,2}

data out [0 ] <-- input [i ]

data-out[i] <-- input [0]

data-out [2] _- input [0]

clock <-- clock+l

m[l, i] {-- input [i

data out[0] <-- m[0,2]

data-out[l] _- m[0,2]

data-out [2] <-- m[0, i]

clock <-- clock+]_

m[2,i]

clock

]cv [0] {--icy[l] _-icv[2] _-

clock <--

Actuator

clock

clock

clock

], i_ {0,1,2}

input[i], iE {0,1,2}

<-- clock_l

ma :)¢)r-]t y (m

ma j()r-ity (m

ma jot ity (m

clock+l

Ill,01, ml 1,2],

l0, J I, mt 1,01,

I0,2], m[],]],

4- filter(icy)

<-- clock+l

<-- clock+l

<-- clock+l

m[2, l] )

m[2,2] )

m [2, 0] )

lg A_11990

Page 296: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Suramary of Device Design

1. Four identical devices.

2. Only internal and external data flow specified, data width not.

3. Filter function constrained to tolerate ICV rotations.

18 A_ll'ut1990

Page 297: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Correctness of Device Design

O •

I II A_t 1990

Page 298: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Device Implementation

by Larry Smith

iLbad

n.c. 3

n.c. 6

n.c. 5

input0 _ 6

inputl _-_input2 _

cnt0 ]9

cntl ]10

ma_ix

2." n.c. sense

2: mOO mOO _

21 m01 m01 =

2( m02 m02 ;

1t, mi0 ml0 _

11 mll mll =

1_ m12 m12 =

1( m20 m20 =

1' m21 "' m21 =

lZ m22 m22 _"m

gnd 1."= reset l gndGAL22V10w

contlol

0

1 1

2 1

24

23

22 icvl

21 icv2

2C - icv3

lt3 data0

18 datal

17 data2

1 _ cnt0 "

I --" cntl

reseti

GAL22VIo

VCC

icv0

filter t

.--q_

It* AU,ll,mtt1990

Page 299: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N91-17570 '

Verifying an Interactive Consistency Circuit:

A Case Study in the Reuse of a Verification Technology

Mark Bickford

Mandayam Srivas

Odyssey Research Associates, Inc.301A Harris B. Dates Drive

Ithaca, NY 14850.

This talk presented the work done at ORA for NASA-LRC in the design

and formal verification of a hardware implementation of a scheme for

attaining interactive consistency (byzantine agreement) among four

microprocessors. The microprocessors used in the design are an

updated version of a formally verified 32-bit, instruction-pipelined,

RISC processor, MiniCayuga. The 4-processor system, which is designed

under the assumption that the clocks of all the processors are

synchronized, provides ''software control'' over the interactive

consistency operation. Interactive consistency computation is

supported as an explicit instruction on each of the microprocessors.

An identical user program executing on each of the processors decides

when and on what data interactive consistency must be performed.

This exercise also served as a case study to investigate the

effectiveness of reusing the technology which had been developed

during the MiniCayuga effort for verifying synchronous hardware

designs. MiniCayuga was verified using the verification system Clio

which was also developed at ORA. To assist in reusing this technology

a computer-aided specification and verification tool was developed.

This tool specializes Clio to synchronous hardware designs and

significantly reduces the tedium involved in verifying such designs.

The talk presented the tool and described how it was used to specify

and verify the interactive consistency circuit.

Page 300: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Summary

Achievements

1. Formalization of abstract Byzantine agreement algorithm.

2. Use of this algorithm to specify a hardware device.

3. A mechanically checked proof that the device design is correct.

4. The implementation of the device form the low-level design.

l.imitations

I. Assumes synchronized behavior of the processes.

18 A_I_t 1990

Page 301: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verifying an Interactive Consistency

Circuit:

A Case Study in the Reuse of

a Verification Technology

Mark Bickford

Mandayam Srivas

Odyssey Research Associates, inc.

301A Harris B. Dates Drive

ithaca, NY 14850.

1

Page 302: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Objectives of the Work

Design an

tion for a

efficient hardware implementa-

4- processor architecture

• Use verified MiniCayuga's in the design

• Verify the design

• Reuse MiniCayuga verification technology

A method of

ware designs

tem

modeling synchronous hard-

in the Clio verification sys-

Formalizing a class of properties most

commonly encountered in verifying de-

signs

- A "standard" proof strategy

2

Page 303: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

8. •

o

Page 304: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Presentation Outline

• IC circuit design

The

tool

computer-aided hardware verification

• How we verified it

• General observations about the effort

Page 305: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Hardware Design: Overview

prvt St

C:31 10

ICVEC

Cayuga-FTl

prvt St

C--] L____] C]

ICVEC

Cayuga-FT4

C

O

N

E

C

T

i I

0

N

!s

prvt St

F-I[ ID

ICVEC

Cayuga-FT2

prvt St

_[ I[3

ICVEC

Cayuga-FT3

4

Page 306: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Two new instructions:

ICOP REG

MOVE SREG REG

- initiates and co-orinates

IC computation

- moves special KEG to

general KEG

II check if voter is free

Notfree MOVE STATUS KEG1

JIF KEG1 Notfree

ICOP REG2

II check if IC computation

Notready MOVE STATUS REGI

JIF REGI Notready

It move the results of IC to

MOVE SREGO REG3

MOVE SREGI REG4

MOVE SREG2 REG5

is complete

general registers

5

Page 307: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Hardware Design: Overview

Fault Region 1................ I

I I' I

Cayuga-FT1 I _:

lii_t i:I I 'Voterl I I

f _L,1:v l v2 v3 '

.... ---t-f-_-..... 'I..

ii_ _'

Fault Region 4

i

C

O

N

--_ N

E

C

T

I

O

N

S

Fault Region2

lCayuga-FT2 J

Iv°trICayuga-FT3 J

iift i'

lFault Region 3

/

Page 308: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

• voter separate from processor: modularity

• point-to-point connection: electrical iso-

lation

• serialize data transfers: number of pins

Vs. time

• Fault region: processor, voter, and the

connections they feed

Page 309: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

no absolute indexing scheme

sors/voters

-relative indexing scheme

suet 3

IC vectors will be stored

sors in the order of their

in the proces-

successors

Underlying assumption

chronized with at most

clocks are syn-

a bounded skew

hold sender's signal

longer than needed

stable for one phase

7

Page 310: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

TC System Design Behavior

< _nl] <_inl2 <

"T t

i

iil !

1'iJI

• I¢

IF d _

I

1'_2It

[11

,_11n13nt4

• Initiate: draw the attention of voter (1)

• Load: transfer private values 42)

• Exchange: exchange received values (6)

• Compute: compute and store ]:C vector (3)

8

Page 311: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C

0

rl

t

f

o"I

I

c

r

M "I"CI!

Dalapath

(

ACT Ol'

f

t'

(_mlrollcr Slate Ma_hmc

,: L- • P

Page 312: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

MiniCayuga Processor: Summary

• Inspired by Cayuga (Cornell University)

• 32-bit RISC processor

• Design characteristics

-- 32 general purpose registers

- small and simple instruction set

3-stage instruction

pute, writeback

pipeline: fetch, com-

delayed jump,

forwarding

pipeline stalling, internal

-interrupt

10

Page 313: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

What do we prove ?

Assuming

every

ICOP,

Cayuga-FT is about to execute an

• every Voter is ready to vote, and

• there is at most one faulty region,

then, 12 cycles later the system state will

isfy the following conditions:

sat-

The lC vectors in the

tical "up to rotation."

processors are iden-

The IC vectors are correct w.r.t.

processor private values 12 cycles

to the

earlier.

12

Page 314: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

A Computer-Aided Verification Tool

• Specializes Clio to the domain of

state controller systems

finite

• Design specification generation

• Verification condition formulation

• Automatic proof support

13

Page 315: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C

0-

11

t

0

I !

I ,

e !

r

!

1 $

IarI

_a a,lt

|

|

_NtJbo _ xNqo_

The Voter Circuit

Controller State Machine

Page 316: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Finite State Controller Systems (FSCS)

• Central Controller -I- Data Path compo-

nents

• Component behavior is specified as a set

of actions

Controller

schedules

nents.

is specified as an FSM which

a set of actions on the com po-

Timing Model- Every transition corresponds to a clock

cycle (with multiple phases)

An action may have zero

(phases) of delay

or more units

Actions are synchronized with state tran-

sitions

14

Page 317: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specification technology reused

a method of formalizing the intended op-

erational model of an FSCS in Caliban/Clio

designspecgen ::

data-path-structure ->

controller-structure - >

controller-schedule ->

act ions-behavior -> design-spec

Execute :: STATE -> STATE

"single clock cycle behavior of design"

15

Page 318: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Proof technology shared

Form of the most commonly

ditions- Invariant conditions

proved con-

- Advance conditions

• Proof strategy ":ontrolled

uation (rewriting) with

symbolic eval-

selective case-splits"

16

Page 319: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Tile Specification Hierarchy

Page 320: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Rationale for the hierarchy

• Decompose proofs into manageable units

• Need for the black level

--introduce "error" actions

type of Execute

of act ion

is different from that

• Implication of intermediate levels

--pro: proof can take "bigger" steps

con: must come up with

abstract specification

intermediate

18

Page 321: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Top Level Specification

IIIcNetState "'~ <<(INDEX -> FTCstate),

II (INDEX -> Voterstate), Interrupts>>

IcNetStep <<ftc,vtr, int:rest>> =

<<newftc,newvtr ,rest>>

where newftc index

= fault_ftc_step

newvtr index

= fault_vtr_step

ftcinput index

= make_ftc_in

index ftc (ftcinput index)

index vtr (vtrinput index)

(select_int index int)

(fault_to_proc index fte vtr)

vtrinput index

= Voterinput index ftc vtr

(ftcinput index )

fault_ftc_step index s in =

FtCayugaStep (s index) in ,

byzCayugaStep (s index) in

"(faulty index)

fault_vtr_step index s =

voterstep (s index) , -(faulty index)

byzstep (s index)

19

Page 322: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Formal Statement of Correctness

MainTheorem "=

Preconditions 's' => ResultConsistent's c

ResultConsistent 's' "=

Consistent 'icvec s (Iterate #12 IcNetStep s)'

Consistent 'array' -=

'faulty indexC='False' =>

IndexConsistent 'array' 'index'

IndexConsistent 'array' 'index' -=

('faulty (succ index) '='False'=>

' (array index).succ'='array (succ index) ')

&('faulty (succ2 index)'=CFalse'=>

' (array index).succ2'='array (succ2 index) ')

&('faulty (succ3 index)'='False'=>

' (array index).succ3'='array (succ3 index)')

20

Page 323: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Preconditions 's' :=

proper icnet'sO _ Sync

'LDPI' 's, _ All_go s

, ,<<ftc,vtr,inlist>>' :=Sync 'cs

(,faulty ONE' = ,False' =>,control (vtr ONE) '=' cs' )

, =>

('faulty TWO' = 'False,control (vtr TWO) '=' cs )

, =>

('faulty THREE' = 'False,control (vtr THREE)'='cs')

a (,faulty FOUR' = 'False' =>,control (vtr FOUR)' =' cs' )

All_go 's' :i.,=,='False' =>(,faulty uL_ _,=_, ='False

' o of (vtr s ulna.( g - ...,n,-'False' =>

('faulty _"_- _un_,='False

" " ('go_Of (vtr s L-_-, =>

('faulty THREE'='False ' ' a

('go_of (vtr s THREE) '= False=OUR, =, False' => ,

a ('faulty _ s FO UR)'='False(' go_of (vtr

,go_signal

'go_S ignal

s ON E'=

s TWO':

,go_signal s TH

, go_signal s F01

21

Page 324: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Preconditions 'sO "=

Proper_icnet 's' _ Sync 'LDPI(

'S' All_go's

t>>( "=, '<<ftc ,vtr ,inlis

Sync 'cs 'False' =>(, faultY ONE' =

,control (vtr ONE) '=' cs' )

a (,faulty TWO' = 'False' =>,control (vtr TWO) '=' cs' )

(,faulty THREE' = 'False' =>,control (vtr THREE) '=' cs

('fault Y

,)

FOUR' = 'False' =>

,control (vtr FOUR) '=' cs()

All_go 's' _=('faulty 0 E '='False' =>ONE),=,False' a ,go signal s ON E'='GO ))

('go_of (vtr s(

TWO,=,False' =>(vtr s TW O)'='False' _ ,go_signal s TW O'='GO ))

(,faulty

('go_of (vtr s

THKEE,=,False' =>THREE)'='False'

,go_signal sTHREE' =' GO' ))

(,faulty FOUR' ='False' =>

( go_of (vtr s FO UR)'='False'' a ,go_signals FOUK'='GO'))

21

Page 325: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The proof strategy

"controlled symbolic

reused

execution of design"

• Instant,ate the states of components and

inputs with appropriate symbolic constants•

1 Add all the conditions on the constants

implied by the preconditions of the theo-

rem as hypothesis.

3. Symbolically evaluate design.

4. Try case-splitting on all the

automatically.

conditionals

• If either of the previous two steps seem to

take too long, then case-spilt on the con-

before symbolictroller states and inputs

evaluation (step 3).

22

Page 326: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

New technology needed

• Modeling faulty behavior

• Specification

- determining the right hierarchy

- writing intermediate "abstract" spec

- defining abstraction function (ABS)

Proof: "design

"abstract level

level properness"

properness"

implies

23

Page 327: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

General Observations

An engineering-oriented verification

rience

Lilith --+ MiniCayuga _ ]C circuit

expe-

• Methodology: top-down -I- bottom-up

• Level of effort: 1 man year

-- building the tool

-- developing designs

- verification

24

Page 328: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verification Effort Milestones

• formu:lated a top level

ment

correctness state-

• designed and verified a simple voter circuit

• specified voter and processor for a contin-

uous voting scheme

• designed and verified second voter design

25

Page 329: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

discovered continuous

"hard to synchronize"

voting scheme was

respecified voter and

on-demand scheme

processor for a voting-

• redesign and reverify voter

• verified overall system

• verified processor

26

Page 330: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

To integrate theorem proving based verifi-

cation technology into the design process

we need

- more machine assistance

- domain specializationm

• The next step ?

A useful way of reporting failed proof

attempts

Interaction

engineering

with motivated and patient

design teams and projects

27

Page 331: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

D19_U._i__

N91-17571

Hardware Verificationat

Computational Logic, Inc.

Bishop C. BrockWarren A. Hunt, Jr.

Computational Logic Incorporated1717 West Sixth Street, Suite 290

Austin, Texas 78703-4776

+1 512 322 [email protected], [email protected]

J

3 August 1990

Page 332: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Talk Topics

• Hardware Verification: What Is It?

• Formal Methods: What Good Are They?

• Verification Methodology

• Present Accomplishments

• Expected Near Term Results

• Present Trends

• Future Directions

• Collaborations and Technology Transfer

• Technology Enablers

• Conclusions

J

3 August 1990

Page 333: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Hardware Verification: What Is It?

The mathematical formalization of the specification ofany (all) aspects of hardware design.

We specifically are interested in the design ofhardware for digital computing.

Goals:

• Completely replace programmer's manuals,timing diagrams, interface specifications,power requirements, etc. with clear preciseformulas.

• Provide a perfectly clear foundation uponwhich systems can be built.

J

3 August 1990

Page 334: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Formal Methods: What Good Are They?

Formal methods in the U.S. have a bad credit rating.

Over the years, good mechanized softwareverification systems have been constructed.

Good software verification tools are being extended toinclude hardware verification, thus providing goodsystems verification tools.

Hardware verification seems more tractable thansoftware verification:

• few, repeatedly-used, low-level constructs;

• specification domain is less abstract (fairlyconcrete); and

• formal methods can be used incrementally.

Last point is critical, note Bryant's work.

J

3 August 1990

Page 335: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Our Verification Methodology

We employ the Boyer-Moore logic to:

• write design specifications;

• write behavioral specifications; and

• record relations.

The Boyer-Moore theorem prover

• insures that definitions are well formed;

• checks that proofs are correct; and

• manages our evolving database of facts.

\ J

3 August 1990

Page 336: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Present Accomplishments

Our application of formal methods to hardwarespecification and verification include:

• Core RISC specification;

• FM8502 microprocessor verification;

• verification of circuits using standard TTLcomponents;

• a formalization of a simple HDL; and

• verified synthesis of combinational circuits.

Let us consider several in more detail.

J

3 August 1990

Page 337: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Core RISC

Bill Bevier has formally specified a set of instructionsthat characterize a Core RISC-complient processor.This formalization includes:

• byte, half-word, and long-word memory accesses;

• Boolean, natural number, and integer ALUoperations;

• a minimum register set; and

• an exception mechanism.

The emphasis here has been on mathmaticallymodeling the instruction set.

Our study of RISC architectures indicates that weneed to be able to model multi-phase clockingschemes before we attempt to design a build averified Core RISC processor. This effort is ongoing.

J

3 August lg90

Page 338: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The FM8502 Fabrication

Currently, our primary effort involves the fabrication ofthe FM8502 microprocessor.

This fabrication effort is a test-of-concept; that is, canwe manufacture formally modeled circuits and get

them working?

The FM8502 microprocessor is a 32-bit general

purpose microprocessor with:

• 32-bit addressing;

• 16 general-purpose registers;

• two-address architecture;

• 5 addressing modes;

• a 16-function ALU

• extensive flag support; and

• little else.

J

3 August 1990

Page 339: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

"x

31 2928 2524 2120191817161514 11109 6 5 4 3 0

llllJtltll lllLll 11111111

31 2928 2524 2120191817161514 11109 0

Lr3 D OP-CODE STOR_O_ C V N Z MODE.q R_IJ I IMM._DIATI, I

1111JJ l,,lJ JlJJJJ llJlllill

MODE OPERAND DESCRIPTION

00 Rn Register Direct

01 (Rn) Register Indirect

10 -(Rn) Register Indirect Pre-decrement

11 (Rn)+ Register Indirect Post-increment

OP-CODE OPERATION

0000 b<-a

0001 b<-a+!

0010 b <- a*b+c

0011 b <- b+s

0100 b <- 0-a

0101 b <- a-1

0110 b <- b-a-c

0111 b <- b-a

1000 b <- a>>l

1001 b <- a>>l

1010 b <- a>> !

I011 b <- bXOR a

II00 b <- bOR a

II01 b <- bANDa

1110 b <- NOTa

1111 b <- a

DESCRIPTION STORE-CC

Move 0000

Increment 0001

Add with carry 0010Add 0011

Negation 0100

Decrement 0101

Subl_',_ct with borrow O110

SubU'act 0111

Rotate fight through carry 1000

Arithmetic shift right 1001

Logical shift right 1010

XOR 1011

OR 1100

AND 1101

NOT 1110

Move 1111

CONDITION

Carry clear

Carry set

Overflow clear

Overflow set

Not negative

Negative

Not zero

Zero

HigherLower or same

Greater or equalLess

Greater

Less or equalTrue

False

J

3 August 1990

Page 340: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

The FM8502 ImplementationSpecification

To be able to manufacture the FM8502 with some

precision, we have been working on the formalizationof an HDL.

We will prove the correctness of our HDL descriptionof the FM8502, and then translate our HDLdescription into a commercial HDL.

Our HDL provides our lowest-level model for theFM8502 implementation:

• every internal gate and register is described;

• every I/O pad is defined; and

• we expect to validate our test vectors directly onour HDL description.

Our HDL specification also includes all of the internaltest logic.

J

3 August 1990

Page 341: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The FM8502 Pinout

Below is a pictorial diagram of the FM8502 pinout.Quite a number of pins are allocated to testingpurposes.

VDD VSS

v

61

CLK

RESET

HOLD

DTACK

PC[4I

LDPC

TEST

SCAN-IN

TN

TE

RT

RAD[4]

LDRAD

ADDRESS[32]

DATA[32]

HOLDA

RW-

STROBE-

CNTLI6I

FLAGS[4]

SCAN-OUT

TIMING

PO

v

v

v

J

3 August 1990

Page 342: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

A Formal HDL

Our HDL is structured like commercial HDL's:

• netlist based;

• heirarchicaly structured;

• occurence-oriented; and

• allows multiple views of circuits.

We have a formal specification of our HDL:

• a predicate recognizes well-formed circuits; and

• several interpreters define the semantics.

J

3 August tggo

Page 343: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

HDL Examples of Circuits

• (HALF-ADDER (A B)(SUM CARRY)

(( GO (SUM) B-XOR(A B) )( G1 (CARRY) B-AND(A B) )))

CARRY

SUM

The following full-adder specification refers twice tothe half-adder specification above.

' (FULL-ADDER (A B C)

(SUM CARRY)(( TO (SUM1 CARRY1) HALF-ADDER(A B) )

( T1 (SUM CARRY2) HALF-ADDER(SUM1 C) )

( T2 (CARRY) B-OR (CARRY1 CARRY2) ) ) )

HALF-ADDER ]

B a SUM ] $UMI CARRY2

C

I A CARRY

HALF-ADDER

B SUM

CARRY

SUM

J

3 August 1990

Page 344: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f

Verified Synthesis

We perform synthesis by

• writing circuit generator programs;

• verifying the circuit generator programs; and

• then running the generators to produce provablycorrect circuits.

In other words, after a circuit has been generated weneed not inspect it for the Boolean correctness.

J

3 August 1990

Page 345: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

An ALU Generator

We have an arbitrary size, 16-function ALU generatorwhich is"

• programmable -- ALUs with different internalstructure can be produced;

• "intelligent"--internal buffers are only added whenneeded; and

• has been verified to generate correct n-bit, gate-level ALU descriptions.

Simple translators can convert the ALU descriptionsinto conventional CAD languages (e.g., VHDL).

To replay the proof only takes about 20 (Sun 3)minutes.

J

3 August 1990

Page 346: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ALU Generator Output Summary

Summarized below are some characteristics of the

ALUs generated by our verified ALU generator.ALU Characteristics

Size Gate Count Fanout Delay

1 bit 126 8 12

2 bits

4 bits

8 bits

16 bits

32 bits

64 bits

128 bits

149

196

297

491

88O

1665

3227

8

8

8

8

8

8

8

14

17

22

26

30

35

39

Payoff: It only takes 0.6 seconds to generate acorrect 32-bit ALU, 1.3 seconds for a 64-bit ALU, and3.1 seconds for a 128-bit ALU.

J

3 August 1990

Page 347: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Expected Near Term Results

Several projects underway which will conclude thisyear are:

• an ability to verify sequential circuits generators;and

• the fabrication of the FM8502 microprocessor.

We are using both combinational and sequential logicsynthesis techniques in the fabrication of the FM8502.

We will be able to generate a correct n-bitmicroprocessor (so long as the word size is largeenough to contain FM8502 instructions.)

We will generate a gate-array specification directly.

We are generating our test-vectors directly from ourformal circuit specifications.

J

3 August 1990

Page 348: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Present Trends

There is increasing interest in:

• boolean comparison -- which should lead the wayto more general purpose techniques;

• register-transfer specifications with circuitverification;

• formalization of self-timed circuits;

• formalization of timing behavior; and

• transformational systems.

These trends are all indicative of increased use of

formal techniques for hardware specification andverification.

And these techniques are being appliedincrementally.

J

3 August 1990

Page 349: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Future Directions

In the future we hope to"

• formalize a subset of VHDL (using our Adaformali;;ation experience);

• perform tool verification (e.g., logic minimizer,tautology checkers);

,, verify a Core RISC microprocessor with memorymanagement; and

• continue our work on formalizing hardwareinterfacing and use specifications.

This last item is hardest and has the biggest payoff.

J

3 August 1990

Page 350: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Industrial Collaborations

We have been working with DEC for two years.

Motorola may attempt the specification (and possiblythe verification) of one of their microcontrollers.

Technology Transfer

We highly value interactions with industry; we allprofit.

Our formal techniques may be used incrementally,i.e., "creeping formalization."

Industry first employs our techniques for(unambiguous) specification, later for verification.

Specification is a big problem for industry -- formalspecification allows analysis without exhaustivetesting.

J

3 August 1990

Page 351: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Technology Enablers

Is the state-of-the-art separating further from thestate-of-the-practice?

To enable the use of formal techniques in hardware

design we need to:

• train more engineers with formal methods (not trainmathematicians to be engineers);

• make existing tools and techniques moreaccessible to engineers; and

• make formal techniques the most economicalmethod of hardware validation.

A big success or two would help us get industry'sattention.

J

3 August 1990

Page 352: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Conclusions

Formal methods can be used to provide accuratespecifications.

Hardware verification provides increased assuranceof circuit correctness.

Formal techniques provide a good growth path; theyscale up well.

The credit rating of formal techniques is improving.

Goals:

• Completely replace programmer's manuals,timing diagrams, interface specifications,power requirements, etc. with clear preciseformulas.

• Provide a perfectly clear foundation uponwhich systems can be built.

J

3 August 1990

Page 353: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C

N91-17572

Generic Interpreters

and

Microprocessor Verification

Phillip J. Windley

Department of Computer Science

University of Idaho

August, 1990

This work was sponsored under Boeing Contract NAS1-18586, Task Assignment No.

with NASA-Langley Research Center.

1

Page 354: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Outline

• Introduction

• Generic interpreters

• Microprocessor Verification

• Future Work

Page 355: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Microprocessor Verifica tion

0 VIPER, the first commercially available,

"verified" microprocessor, has never been

formally verified.

The proof was not completed even though

2 years were spent on the verification.

3

Page 356: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Microprocessor Verification

(continued)

O,u,r research is a,i,med at ma,ki,ng t h,e verifl-

ca,tion o,f la,rg;e microprocessors t ra,cta,bl_.

• Our objective is to provide a framework in

which a masters-level student can verify

VIPER in 6 person-months.

4

Page 357: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Determining Correot.ness

In VIPER (and most other microprocessors),

the correctness theorem was shown by proving

that the electronic block model implies th,e

m ac ro-leve.I specifi,c a tion.

Macro Level }_nterpreter

1Electronic Block

Model

5

Page 358: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Problem

(continued)

• Microprocessor verification is done through case analysis on the in-

structions in the macro level.

The goal is to show that when the conditions for an instruction's

selection are right, the electronic block model implies that it operates

correctly.

• A lemma that the EBM correctly implements each instruction can be

used to prove the top-level correctness result.

6

Page 359: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Problem

U nfo_.u nately,, the

sca,le wel_l b.eca,u.se

one-step method doesn't

• The n,um_ber o,f cases g_,ts I_arg_.

i

The description of the electronic block

model is very large.

7

Page 360: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Hierarchical Decomposition

Macro LevelInterpreter I

1Phase Level IInterpreter I

I Electr°!icBl°CkIModel

A microprocessor specification can

composed hierarchically.

be de-

The abstract levels are represented explic-

itly.

8

Page 361: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

interpreters

An abstract model of the different layers in the hierarchy provides a methoa

ologicaL approach to microprocessor verification.

• The model drives the specification.

• The model drives the verification.

9

Page 362: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Interpreters

(top level)

PRECEDINGPAGE BLANK NOT FILMED16

Page 363: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specifying an Interpreter

(overview)

We specify an interpreter by:

Choosing a n-tuple to represent the state,

S.

Defining a set of functions denoting indi-

vidual interpreter instructions, J.

• Defining a next state function, N.

Defining a predicate denoting the behavior

of the interpreter, l.

PRECEDING PAGE BLANK NOT FILMED

19

Page 364: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verifying an Interpreter

(overview)

We verify an interpreter, I with

implementation M by showing

respect to its

M =¢_I.

To do this, we will show that every instruction

in J can be correctly implemented by M:

VjEJ.

M (Vt: time.

c(t) _ _(t + n) -j(_(t)))

where C represents the conditions for instruc-

tion j's selection.

20

Page 365: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AVM-1

We have designed and are verifying a micro-

computer with interrupts, supervisory modes

and support for asynchronous memory.

The datapath is loosely based on the AMD

2903 bit-sliced datapath.

• The instruction format is very simple.

• The control unit is microprogrammed.

PRECEDING PAGE BLANK NOT FILMED 49

Page 366: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

AVM-1 's Instruction Set

(subset)

Opcode000000dOooolo0ooio000110

000111'

010000

OllOi"l

011111

Mnemonic

JMPCALLINTLD

STADD

SUBI

NOOP

Operationjump on 16 conditionscall subroutine ....

user interruptload

store

add (3-operands)subtract immediate

no operation '(2-ope.rands)

• The architecture is load-store.

• The instruction set is RISC-like.

• There is a large register file.

50

Page 367: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

77

d

4 !

JJ

_s J112.11_J

Figure 5.2: The AVM-I Datapath

Page 368: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Phase-Level Specification

The n-tuple representing the state:

Sphas e -- (mir, mpc, reg,

alatch, blatch, mar, mbr,

clk, mem, urom, ireq, lack)

52

Page 369: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Phase-Level Specification

A typical function specifyingbehavior from Jphase:

an instruction's

_def phase_two rep (mir, mpc, reg, alatch,

mbr, mar, clk, mem,

ireq, iack) =

.. (mir, mpc, reg,

EL (bt5_val (SrcA mir)) reg,

EL (bt5_val (SrcB mir)) reg,

mbr, mar, (T,F), mem, urom, ireq,

blatch,

urom,

Iack mir)

53

Page 370: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Electronic Block Model

The electronic block

an interpreter.

model is not specified as

• EBM is a structural specification.

• The specification

-- is in terms of smaller blocks.

uses existential

internal lines.

quantification to hide

54

Page 371: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Objects

There are several abstract

that we will use to define

stract interpreter.

classes of objects

and verify an ab-

:,state An object

state.

:,key The identifying

tions.

representing

tokens for

system

instruc-

:time A stream of natural numbers.

We will prime class names to indicate that the

objects are from the implementing level.

59

PRECEDING PAGE BLANK NOT FILMED

Page 372: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Operations

Operation Type

inst_list :(,key x (,state-+ ,state))list

key : ,key -_ num

select : ,state -_ ,key

cyclessubstate

Implclock

begin

: ,key -+ num

i ,state _ -+ ,state(time -+ ,state I) -+ bool

: ,state I -+ ,key I

60

Page 373: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Interpreter Theory

(obligations)

The instruction correctness lemma is impor-

tant in the generic interpreter verification.

Here

a single

E-de f

is the generic version of that lemma

instruction:

INST_CORRECT sI ins_ =

for

let s-- (At. substate(s t t')) in

let c = (cycles(select(s t'))) in

(select(s t') = (FST inst)) A

(clock(s t t t) -- begin) =_

((SND inst) (s t') = (s(t' + c))) A

(clock(s'(t'+ c)) = begin)

PRECEDING PAGE BLANK NOT FILMED

62

Page 374: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

In terpreter Theory

(obligations)

Using the predicate INST_CORRECT,

define the theory obligations:

we can

1. The instruction correctness lemma:

EVERY (INST_CORRECT s/) inst_list

2. Every key selects an instruction:

Vk: ,key. (key k) < (LENGTH inst_list)

3. The instruction list is ordered correctly:

Vk: .key. k- (FST (EL (key k) inst_list))

63

Page 375: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Generic Interpreters

Instantiation

+Macro LevelInterpreter

_+Micro LevelInterpreter

+ Phase Level IInterpreter

Electronic BlockModel

PRECEDING PAGE BLANK NOT FILMED57

Page 376: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Interpreter Theory

(temporal abstraction)

We need to show a relationship between

state stream at the implementation level

the state stream at the top level.

the

and

f

tl _2 t3 t4 _50 0 0

0 0 0 0 0 0 0

0 0

0 0 0

The function f is a temporal abstraction func-

tion for streams.

PRECEDING PAGE BLANK NOT FILMED

66

Page 377: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

In terpreter Theory

(definition)

An interpreter's behavior is specified as a pred-

icate over a state stream.

_def INTERP s =

Vt : time.

let n -- (key(select(s t))) in

s(_ 4- 1)--(SND (EL n inst_list))(s

PRECEDING PAGE BLANK NOT FILMED

69

Page 378: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Interpreter Theory

(correctness result)

Our goal is tO verify an interpreter, I with

respect to its implementation M by showing

M=_I.

Herei.

F

where

is the abstract result:

Impl s_A (clock(s _ 0) -- begin) =_

INTERP (s o f)

s = (,_t:_ime. substate(s _ t)) and

f -- (time_abs (cycles o select)s)

7O

Page 379: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

[nstantiating a Theory

Instantiating

requires:

the abstract interpreter theory

• Defining the abstract constants.

Proving the theory obligations.

• Running a tool in the formal theorem prover.

71

Page 380: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Definitions

We wish to instantiate the abstract interpreter

theory for the phase-level. The electronic

block model will be the implementing level.

Operation Instantiationinst_list a list of instructions

key bt2_valselect GetPhaseClock

cycles P h ase Level Cyclessubstate PhaseSubstate

Impl EBMclock GetEBMClock

begin EBM_Start

72

Page 381: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

An Example

After proving the theory obligations, we can performthe instantiation.

let theorem_list =

instant iat e_abstract_theorems

'gen_l '

[Phase _ I _EVEKY_LEMMA;

Phase_I_LENGTH_LEMMA ;

Phase_I_KEY_LEMMA]

["( [(F,F) ,phase_one ;

(F, T), phase_two

(T,F) ,phase_three

: (T,T) ,phase_four],

bt2_val, GetPhaseClock,

PhaseLevelCycles, PhaseSubstate,

EBM, GetEBMClock, EBM_Start)";

"(A t:time. (mir t, mpc t, reg_list t,

alatch t, blatch t,

mbr_reg t, mar_reg t,

clk t, mem t, urom))"

]'PHASE' ;;

73

Page 382: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Electronic Block Model

EBM rep (A t. (mir t, mpc t, reg t, alatch t, blatch t,

mbr t, mar t, clk t, mere t, urom,

ireq t, lack t)) =

3 opt ie_s sm_s iack_s

amux_s alu_s sh_s mbr_s mar_s rd_s wr_s

cselect bselect aselect

neg_f zero_f (float:time->bool).

DATAPATH rep amux_s alu_s sh_s mbr_s mar_s rd_s wr_s

cselect bselect aselect neE_f zero_f float

float ireq iack_s lack opc ie_s sm_s

clk mem re g alatch blatch mar_re g

mbr_re g reset_e ireq_e A

CONTROL_UNIT rep mpc mir clk amux_s alu_s sh_s mbr_s

mar_s rd_s wr_s cselect bselect aselect neg_f

zero_f ireq iack_s opc ie_s sm_s urom

reset_e ireq_e

Fully expanded, the electronic block

specification fills about six pages.

model

55

Page 383: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Future Work

• New architectural features.

• Composing verified blocks.

• Verifying operating systems.

• Gate-level verification.

• Byte-code interpreter verification.

• Other classes of computer systems.

32

Page 384: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

An Example(continued)

After some minor manipulation, the final result be-comes:

EBM

(,_t.

(mir t,mpc t, reg_list

mbr_re E t,mar_reg t,

Phase_I

(A"t.

(mir t,mpc t,reg_list

mbr_.re E t ,mar_reg t,

t,alatch t,blatch t,

clk t,mem t,urom)) ==>

t,alatch t,blatch t,

elk t,mem t,urom))

74

Page 385: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Conclusions

The generic proof

• Cleared away all the irrelevant detail.

Formalized the notion of interpreter proofs

which has been used in several micropro-

cessor verifications.

Provided a structure for future

cessor verifications.

micropro-

PRECEDING PAGE BLANK NOT FILMED

77

Page 386: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

f_O

VIPER Project N91--17573

John Kershaw

Royal Signals Radar Establishment

Malvern, England

The VIPER project has so far produced a formal specification of a 32 bit

RISC microprocessor, an implementation of that chip in radiation-hard SOS

technology, a partial proof of correctness of the implementation which is

still being extended, and a large body of supporting software. The time

has now come to consider what has been achieved and what directions shouldbe pursued in future.

The most obvious lesson from the VIPER project has been the time and effort

needed to use formal methods properly. Most of the problems arose in the

interfaces between different formalisms e.g. between the (informal) English

description and the HOL spec, between the block-level spec in HOL and theequivalent in ELLA needed by the low-level CAD tools. These interfaces

need to be made rigorous or (better) eliminated.

VIPER IA (the latest chip) is designed to operate in pairs, to give

protection against breakdowns in service as well as design faults. We have

come to regard redundancy and formal design methods as complementary, the

one to guard against normal component failures and the other to provideinsurance against the risk of the common-cause failures which bedevil

reliability predictions.

Any future VIPER chips will certainly need improved performance to keep up

with increasingly demanding applications. We have a prototype design (not

yet specified formally) which includes 32 and 64 bit multiply, instructionpre-fetch, more efficient interface timing, and a new instruction to allow

a quick response to peripheral requests. Work is under way to specify this

device in MIRANDA, and then to refine the spec into a block-level design by

top-down transformations. When the refinement is complete, a relativelysimple proof checker should be able to demonstrate its correctness.

Page 387: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

: : .f

Example of NODEN output

The NODEN analysis suite provides automatic com-l)arison 1)etwcen the specification and design of moder-ately complex blocks of logic. The following exampleis taken from the VIPER, design. MINOR is the sim-

)lcst block in the chil), essentially consisting of a three)it, counter. Following this paragraph is its specificationin NODEN-HDL, whilst oil the following pages are a cor-

rect and incorrect impleme.ntation. The final page showsthe outi)ut of the comparmon program when presentedwith the erroneous circuit.

\ ** MINOR STATE LOGIC in NODEN ** \

FN INCWORD3 = (word3: minor) -> word3:

IF (VAL3 minor) = 7

THEN WORD3 0

ELSE WORD3((VAL3 minor)+l)

FI.

BLOCK MINOR = (bool: nextmainbar advance

reset intresetbar)

-> ('word3: minor):

IF reset OR (NOT intresetbar) OR

(advance AND (NOT nextmainbar))

THEN WORD3 0

ELIF advance

THEN INCWORD3 minor

ELSE minor

FI.

Page 388: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

\ **** 'Library' of primitive gate functions **** \

FN INV =(bool: a ) -> bool: NOT a.

FN NAND2-(bool: a b ) -> bool: NAND(a,b).

FN EXNOR=(bool: a b ) -> bool: a = b.

FN ORNAND=(booI: a b c d) -> bool: NAND(a OR b,c OR d).

\ NB. NAND3 & NAND4 are built-in functions \

\ **** Correct gate level implementation **** \

BLOCK MINOR = (bool: nextmnbar advance reset intrstbar)

-> (_word3: minor):

BEGIN

LET qbar_l :ffiNOT (mlnor[l]),

qbar_2 := NOT (minor [2]) ,

qbar_3 := NOT (minor [3]) .

LET gb2

LET gb4

LET gbl

LET gb3

LET gb7

LET gb8

"= INV(advance).

•= INV(reset).

•= NAND4(nextmnbar,advance,gb4,intrstbar).

:= NAND3(gb2, gb4, intrstbar).

•= INV(qbar_l).

:= EXNOR(qbar I, qbar_2).

LET gb11 "= INV(qbar_2).

LET gb12 := NAND2(gbT, gbll).

LET gb13 := EXNOR(gbI2, qbar_3).

OUTPUT (ORNAND(gbT,

END.

gbl, gb3, qbar_1),

ORNAND(gb8, gbl, gb3, qbar_2),

ORNAND(gbI3, gbl, gb3, qbar_3)

Page 389: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

\ **** Wrong gate level implementation **** \

BLOCK M_ERR = (bool: nextmnbar advance reset intrstbar)

-> (^word3: minor):

BEGIN

LET qbar_l :-- NOT (minor[I]),

qbar_2 := NOT (minor [2]) ,

qbar_3 := NOT (minor [3]) .

LET gb2

LET gb4

LET gbl

LET gb3

LET gb7

•= INV(advance).

'= INV(reset).

:- NAND4(nextmnbar,advance,gb4,intrstbar).

:= NAND3(gb2, gb4, intrstbar).

•= INV(qbar_1).

\ ** Inverted qbar_2 ** \

LET gb8 := EXNOR(qbar_1, NOT qbar_2).

LET gbll "= INV(qbar_2).

\ ** Missing NAND with gb7 ** \

LET gb12 :- gb11.

LET gbl3 := EXNOR(gb12, qbar_3).

\ ** Inverted first output ** \

OUTPUT (NOT(ORNAND(gbT, gbl, gb3, qbar_l)),

ORNAND(gb8, gbl, gb3, qbar_2),

ORNAND(gbI3, gbl, gb3, qbar_3)

)END.

4 PRECEDING PAGE BLANK NOT FILMED

Page 390: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specification: 'MINOR' Implementation. 'M_ERR'

COMPARISON ERROR" Implementation output 'minor[l]'

is always incompatible with the specification of

'minor[l]': output inverted?

COMPARISON ERROR" Implementation output 'minor[2]'

is incompatible with the specification of 'mlnor[2]

under the following circumstances'-

nextmainbar = t

advance = t

reset = f

intresetbar = t

For specification output 'minor[3]' - implementation

output 'minor[3]' .-

WARNING" Specification depends on minor[l] and

implementation doesn't

COMPARISON ERROR" Implementation output 'minor[3]'

is incompatible with the specification of 'mlnor[3]

under the following circumstances'-

nextmainbar = t

advance = t

reset = f

intresetbar = t

minor[2] = f

*** Comparison fails, invalid implementation ***

Page 391: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

-I- +

NODEN changes

• Negative integer subranges allowed

E.g. TYPE i8 = INT[-128..127].

• Automatic casts between types

E.g. (t,t,f) + bool3_val-I-i8_val

• 2's compliment []bool to integer ops.

• Explicit legal value, !bool

• Compiler about four times faster.

• Analyer about twice as fast.

+ 7

PRECEDING PAGE BLANK NOT FILMED

Page 392: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+ +

Old NODEN_HDL

FN INCWORD3

IF (VAL3

THEN WORD3

ELSE WORD3

FI.

= (word3: minor) ->

minor) == 7

0

((VAL3 minor) +

word3 :

i)

New NODEN_HDL

FN INCWORD3 = (word3:

IF minor == 7 THEN

minor) -> word3:

0 ELSE minor + 1 FI.

+ 1

Page 393: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Bibliography

Cullyer W.J. and Pygott C.H. 1987: "Application of Formal Methods to the

VIPER Microprocessor", Proc. IEE, 134, 133-141.

Kershaw J. 1987, "The VIPER Microprocessor": RSRE Report 87014.

Pygott C.H. 1988: "NODEN: An Engineering Approach to Hardware Verification",

l'z(_(:. W_rk,b_,p orl the fu_(,r_ ,_t haldwar_ design and v,*'Jf.icstio1*, _(i. Mi_n_.

N_,]t.h Hr,l land.

Mo_ *s(,lJ ,J I_, P_eling N E, Thorp T I,, 1985: "The design rationale of ELLA,

a hardware, d_s.ign and d_sczipt_on ]anguage", Proceedings of the Conference

_,_, Hardwalq_ Description ],anquag_s axld th_ir appl_cat:ions, Tokyo, Japan.

Halbert M.P. ]987:

mJ croprocessor",UK.

"A self-checking computer module based on the VIPER

Proc. Safety & Reliability Society Symposium, Altrincham,

Camill_ri A, Gordon M, and Melham T. 1986: "Hardware Verification using

Higher Order Logic", Proc. IFIP International WGI0.2 Working Conference,North Holland.

Cohn A. 1987: "A Proof of Correctness of the VIPER Microprocessor: the First

Level", Proc. Workshop on the Verification of Hardware, Calgary, Canada.Kluwer Academic Publishers 1988.

l_r_ImfJtt P.,]. et a]. ]987: "A Hardware _{ynth®si8 Methodology", IEE Colloquium

_,,,VL::] SylJtem Design: SpecifJcatio1_ and Synthesis, London, October 1987.

(;u,,i_, I.F. 1984: "Orwellian Programming in Safety-Critical Systems", Proc.

C(,1=fer_rl(:e on System Implementation Languages - Practice and Experience,

Ih, Jvez_Jt y of Kent at Canterbury.

Kershaw J" "The VIPER Microprocessor and its use in critical systems"

Software Engineering Journal special issue on Safety Critical Systems

(to be published)."

Page 394: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+ +

Why VIPER2?

• Faster, 32 and 64 bit multiply

• Improved interface to outside world

• New design methods now available

Page 395: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+

I

Extra Speed by ..

• Instruction pre-fetch

• Dedicated adders for P and indexing

• Half-cycle overlaps rather than full cycle

Speed more than 3x at same clock frequency

Page 396: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

r )

+ 4-

On-board Multiply Instructions

Three separate instructions, F- 13, 14, 15

• Signed', 32 bit product, stop on OVF

• Unsigned, LS 32 bits of product

• Unsigned, MS 32 bits of product

Page 397: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+PRECEDIr_G PAGE BLANK NOT FILMED

+

Improved interface

• "Call on signal" instruction

• "Frame restart" input

Longer setup and hold times on

memory and I/O cycles

+ 1

Page 398: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

-I- +

New design methods

Top-down synthesis by correctness-preserving

transformations

• Starts from specification in MIRANDA

• Generates proof as part of design process

• May scale up better than post hoc proof

-t- 1

Page 399: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

+ +

VIPER 1A perspective

The present chip

application areas:

falls in between the main

• Automotive and comms: too expensive,

minimum system too big (5 memory chips)

• Avionics: not fast enough, no multiply

• Space: about right, tiny market

-I- 1

Page 400: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

i

t

Page 401: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 402: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 403: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 404: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Processor 1 i

STOP -_No Exactly

Equal?

Yes

" OPERATE

Processor 2

Page 405: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Dependable

Error

Reporting

/..

Page 406: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 407: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

A

B

L

B

Page 408: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Clock

®

PAIL

®

(-----.llJOr-ltltl--{_®®@

MonitorVIPER

®

®

Timer

Page 409: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

1553

Mil 1553/STANAG 3838

F,|PRE'CEDING PAGE ELP,,,,KNOT FILMED

Page 410: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 411: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N91=17574

_7' "@

Mecllanical Proofs of Fault-tolerant

Syncl]ronization

Clock

N. Sllankar

Computer

SRI

Science Laboratory

International

Page 412: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Overview

Introduction to .clock synchronization protocols?

A scllematic formulation of clock

synchronization (Schneider).

The interactive Convergence

( La m port / M ellia r-S m it h ).

Algorithm

Verification

(Shankar).

of Schneider's formulation

Verification of Interactive

(Rushby/von Henke).

Convergence

A hardware-oriented clock

protocol (Infis/Moore).

synch ronization

Verification of Infis/Moore's

( R u s h by/S h a n ka r).

protocol

The EHDM Specification/Verification

Environment.

Conclusions.

2

Page 413: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Maim] Observations

Fault-tolerant clock synchronization is a

critical component of a real-time control

system.

Proofs of the correctness of clock

synchronization are complex and subtle.

Informal

domains.

proofs tend to be tenuous in ti]ese

Formal verification

errors and achieve

is a useful way

reliable designs.

to reduce

Specification/Verification

the scientific foundations

engineering.

could contribute

of relia ble

to

3

Page 414: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Fault-tolerant systems

Critical real-time control systems

"fly-by-wire" digital avionics.

such as

• Replicated processors are used to

Ilardware fault-tolerance.

provide

• Results are periodically voted.

Clocks must be synchronized to ensure

approximately synchronous behaviour across

nonfaulty processors.

4

Page 415: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Clock Synchronization

• Clocks start synchronized.

• Over time, tile clocks drift apart.

• The clocks are periodically synchronized by

o an exchange of clock values

o computation of a mutually

clock value

agreeable

o adjustment of the logical clock

5

Page 416: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Byzantine Clocks

Three clocks A, B, C7.

Suppose clocks drift away from real

a minute an hour.

C is faulty.

Clocks resynchronize

clock values.

around noon

A reads 12:00 and B reads 11 : 59

A transmits 12:00 to B and (7.

B transmits 11:59 to A and C.

C maliciously transmits 12:01 to

B.

C

12:01 /kli:58

/ \

59:0 i:12

A 12:00 --_ _ 11:59 B

time

and

A;

by upto

exchange

11 :.58 to

6

Page 417: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Byzantine Clocks

Three clocks A, B, C.

Clocks drift from real time by upto

hour.

a minute an

C is faulty.

Clocks resyncllronize

clock values.

around noon and excllange

A reads 12:00 and B reads 11:59

A resets its clock to the mean of the

clock values, i.e., 12:00.

13 similarly resets itself to 11:59.

acceptable

A and B are not any

resynch ronization.

closer following

8._ I',|PRE'CEDiNG PAGE E,..-_,,,N NOT FILMED

Page 418: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C

A

12:00

B

11:59

9

Page 419: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Clock Generalities

No global clocks single point of failure,

tllerefore not fault-tolerant.

Synchronization is with respect to other clocks,

not real time, tllough such protocols do exist.

Clocks drift at rate p with respect to real time.

Period of

rounds.

drift R. between resyncllronization

_. bounds the error in reading clock values.

To keep clocks syncllronized

should be within 6s following

and

> 6s Jr- 2pR

to wittlin 5, clocks

resyn ch ron iza tion,

Eacll clock uses tile same convergence

to synchronize to within 6s.

Function

10

Page 420: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Typical numbers (from Rushby/von Henke)

Parameter Value ExplanationN

6o

p6

6104.8 msec.

132 #see.

66.1 /_sec.15 x 10 -6

271 /_sec. (F

No. of ClocksPeriod

Initial skew

Reading errorDrift rateMaximum skew

11

Page 421: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Clock Requirements

R] At any instant,

readings should be

two nonfaulty

no further than

clock

apart.

R2: There

adjustment

should be a small bound

needed to resynchronize

on the

a clock.

12

Page 422: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Schneider's

A generalization

of:

of various

Schema

protocols consisting

• Assumptions on the bet]avior of

physical clocks.

nonfaulty

• Constraints on tile computation of

logical clocks.

nonfa u lty

These assumptions and constraints are used

derive a bound on the skew between two

nonfaulty logical clocks, i.e.

ILCT,(_)- LCq(_)l < a

to

13

Page 423: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Physical Clock Assumptions

N clocks with at most F faulty.

t_) is tile time at wllicll p resets its clock

i'th time.

for tlle

Interval between resets is bounded

rmin < t_-4-1 i <-- tp _ _'max

i iSkew between resets is bounded" Itp- tql <

Bounded drift rate w.r.t, real time: for s > t

(_ - t)(1 - p) < cp(_) - cp(t)< (_ - t)(1 + p)

14

Page 424: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Logical Clock Assumptions

A Convergence function Cfn

the adjusted logical clock.

is used to compute

Let e_(q) be p'si

clock at time tz_.

reading (estimate) of q's logical

i iThen LCp(tp) -- C fn(p, Op)

The i'th adjustment to be applied

physical clock to derive the logical

to the

clock is

Adj_ -- C fn(p, 0_) - Cp(t,i,)

In general the logical clock is defined to be

LCp(t)

i < t < t_+lfor tp _

Cp(t) -t- A¢_

c bounds error with which clocks are read.

Additionally, certain assumptions on

a satisfactory convergence function.

behavior of

15

Page 425: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Translation Invariance

Adding X to each clock reading, adds

value of the convergence function.

X to the

For any X and 0 mapping clock numbers to

clock readings

C f,_(p, (Aq:O(q) Jr- X)) = C fn(p,O) Jr- X

Translation invariance

values of convergence

is used to compare the

i t ifunctions at tp and q.

16

Page 426: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Precision Enl]ancement

Formalizes the intuition that

• the closer tile good clocks are to each other

• the closer the different readings of

good clock

the same

• then the closer the resulting

function values

convergence

17

Page 427: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Precision Enllancement (contd.)

Given any predicate P on clocks

holds of at least N- F clocks.

OtoN-1 that

Given p, q, such that P(p) and P(q).

Given Op and Oq sucl] tllat

• If P(1) and P(_,z), then lep(z)- ep(_)l __Y

• If P(I) and P(m), then 10q(Z)-0q(,_)l__Y

• If P(1), then lOp(l)- Oq(1)l <_ X

Then there exists a bound _(X, Y) such that

IC fn(p, Op) - C fn(q, Oq)l < 7r(X, Y)

Illustrative example to follow.

18

Page 428: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Accuracy Preservation

Bounds

reading.

the adjustment away from a good clock

Given any predicate P on clocks

holds of at least N- F clocks.

0 to N- 1 tllat

Given that P holds of p and q.

Given Op sucll tllat whenever P(l)

any two clocks 1 and m, then

_<z

and P(m) for

Then

IC.f n(p, Op) -Op(q)l < a(Z)

That is, if the good clock

the adjustment away from

is no more than a(Z).

readings are within Z,

a good clock reading

19

Page 429: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Final Result: Agreement

• A l" /_ <: r,n{n

Synch ronization rounds are distinct

• A2:50 _< 5s

Initial skew no greater

immediately following

tilan skew

synch ronization.

• A3: 5s + 2pr,,,ax < 5

Drift between synctlronization

below 6.

rounds is

A4 7r(2c -F 2pp, 5s Jr- 2p(rmax Jr- [3) Jr- 24) < 5s

Skew between just synchronized clocks belo_

(5<;,

AS" _.(a.s + 2p(rmax -F [3) Jr- 24) < 5

Skew between synchronized and yet

synct_ronized clocks below 6.

to be

2O

Page 430: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

• Conclusion

t>O

A correct(p, t)

A correct(q, t)

Skew between nonfaulty logical

bounded by 6.

_<6

clocks

Page 431: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verification of Scl]neider's

EHDM

Proof consists of:

Scl]ema using

• 30 axioms involving multiplication, division,

and clocks.

• 12 definitions

• 95 lemmas.

Proof took about two man-months using EHDM.

Machine verification

secs on SUNs.

takes 1000 to 3500 CPU

Numerous inaccuracies in Scllneider's

presentation were corrected.

original

The machine proof adds enormous clarity to

Schneider's insightful, but imprecise descriptions

and definitions.

]nstantiation of Schneider's schema in progress.21 _

Page 432: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Lamport/Melliar-Smith's Interactive

Convergence (ICA)

3F-I- 1 clocks needed to tolerate F Byzantine

faults.

p records (relative discrepancies of)

values when its clock reads iR,

otl]er clock

"Ignores" clock readings further than A away.

Adjusts its

acceptable

clock by the 'egocentric' mean of

clock differences.

the

22

Page 433: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Instantiating Scl]neider's protocol with ICA

Convergence function

ica(p, e) - y_N_lfixp(O(1), O)1-o N

where

fixp(x, O) w

¢,

I x if I_- 0(p)l _ AO(p) otl_erwise

Translation Invariance: Note that

efixp((Al " O(1) -t- t)(q),^) --, (q;_- t

23

Page 434: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Precision Enhancement of ICA

Given that for all correct l, m

• lOp(1)- Oq(1)l _ X

• lOp(z)- Op(m)l < Y

• leq(1) - Oq(m)l < V

We have

lica(p, Op) - ica(q, Oq)l

FY+2FA< X+-- N= _(x, Y)

X is negligible, but Y _ /k, so

_(x, Y) _ 3FAN

Since A > 5 + e, we get N > 3F + 1.

24

Page 435: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Accuracy Preservation of ICA

If nonfaulty clock readings are Z apart,

faulty clocks can contribute a further skew

FA/N to the egocentric mean.

then F

of

So

_(z)_<z-tFA

N

25

Page 436: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Rushby/von Henke's verification of [CA

using EHDM

Around 1-2 man montll effort

20 modules

1,550 lines of specification

166 proofs

1 hour elapsed to prove them all on Sun 3/75-8

Verification revealed several

year old journal proof.

minor flaws in a five

26

Page 437: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Flaws in Lamport/Melliar-Smitll

Main induction incorrect (bad approximations)

Proof of Lemma

approximations);

statement

4 incorrect (bad

also typograpllical error in

Lemma 1 false in

constraints in A2

absence of additional

Lenlma 2

statement

similarly, also typographical error in

Lemma 3 similarly, and unnecessarily general

Missing requirement for $2 in Lemmas 1, 3, 4,

and (when repaired) 2

27

Page 438: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Original Constraints on parameters

C1:

C2:

C3: Y---A

C4: Z_ >_ 6-t-c

C5:6 > 60 4- pR

C6: >_2(c + ps) -4npR

2mA +

28

Page 439: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

New Constraints on parameters

C1: R>3S

C2: S :> _-

C3: )->A

pC4: A _> 5-1- c-I--_-S

C5:6 _ _o -I- pR

C6:

6 > 2(_ 4- pS) -t- t n,__nR +2mA7_, _ 77_ 7_ _ 77?, n_ Tr_

+pA

29

Page 440: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

[ntis/Moore's economic approacl]

Tolerates _P < N/2 omission failures for N clocks.

At clock reading JR, p broadcasts a pulse on its

private line.

Say p receives and validates N- f pulses

(N- F)'th pulse

by a good pulse.

bounded from above and below

Ditto for (P- f + l)'tl] pulse.

p starts new clock at earlier of pulse N- F

delay D, or pulse F- f 4- 1 with delay 2D.

witll

Skew 5s < D, and 5 _< 2D.

Verification

Elaborates

nearly complete using EHDM.

significantly on informal proof.

3O

Page 441: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Scllemata for Infis/Moore's protocol

IqJ l-r; E,q

I___ M_I

VALIDATION

I SEI,ECTION

F-f+l

IMIN

Page 442: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Extract from lnfis/Moore

to) Tk._, t> T. _, because the T_ are a subset of the T,(b) T_._, _< T._,,, because at least one of the times T.k_

.... / must be a message from a processor which isactually fault-free (and synchronised) and T,,_,. is either

the time of the message from the last fault-free processoror later

{c) Tk._: i> T._,. because the T,,_,,, is validated by allfault-free processors and must be included in the T_

(d) Tk,,_: <_ T,,_g because the _ are a subset of the _.

From these inequalities we have that

min {T._, + d, T,,_.,} _< W _< min {T._,. + d, T,,_,} (I)

Now T__/+ l _ T._, for all k and Tk._: = 7"._9 for somek, so the validity tests T_,,_/- T_,_:+ i < 2d imply that

T,,_ o -- T._, < 2d. Therefore T._,. -- T._, < d or T._,- T._,,, < d (or both).

If T. _.,, - T._, < d, eqn. 1 reduces to

T._,,, _< W <_ min {T._,,, + d, T._o}

implying that W has a range of at most d.

If T,,_0- T,,_,., < d, then, using also that2d, eqn. 1 yields

T._g- T.__ <

T._o-d<W<_T._g

imDlvin_ that W has a range_less than d.

Page 443: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verification of Infis/Moore's protocol

Formalization

realization.

is fairly close to hardware

Main induction over synchronization rounds

completed, as well as all of tile important

lenlnlas.

Machine

complex.

proof is remarkably involved and

Proof

about

took two man-months of effort and

70 dense pages.

covers

32

Page 444: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Common Errors

ignoring failures.

Distinguishing real and clock time,

versus absolute measurements.

and relative

ignoring small but significant quantities.

Proving one statement but using another.

imprecise definitions.

Erroneous algebraic manipulations.

implicit assumptions.

incorrect assumptions.

33

Page 445: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Difficulties in verification

Dealing simultaneously witil failures, temporal

ordering, relative measurements, drift.

Have to be careful

about failed clocks.

not to assume anything

"Circular definitions" need to be avoided.

E.g., A round ends wllen various events have

taken place.

Various events take place as scileduled if the

clock is correct at the end of the round.

Mentally

difficult.

retaining all the relevant facts is

34

Page 446: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

EHDM specification/verification system

Based on a simply typed lligher-order logic

subtyping.

wittl

f

Parametric modules used to

specifications.

structure

Specifications

specifications.

can be proved to implement otller

Components include parser, typechecker,

theorem prover, Hoare sentence prover, and

M LS tool.

Theorem prover contains powerful

procedures for integer and rational

decision

inequalities.

New implementation should be ready by

1990.

end of

35

Page 447: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Concluding Observations

Reasoning about fault-tolerant clock

synchronization is extremely difficult.

Proofs involve

manipulations,

Ileavy use

finite set

of inequalities, algebraic

theory, and induction.

Protocol designers themselves

mechanized verification tools.

feel the need for

Benefits of sucll tools are:

• Design discipline

• Efficient location/correction of design errors

• Design library for future reuse

• Standardized language for

designs and proofs

communicating

Specification and verification technology

contribute effectively to the foundations

reliable engineering.

PRE'CEDING PAGE BLANK NOT FILMED

could

of

38

Page 448: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

N91 "17575

A HOL Theory for Voting

Paul S. Miner James L. Caldwell

Page 449: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Outline

• Introduction

• Proofs Comparing Majority and Plurality

• Proofs of Simple Reconfiguration Strategies

• Future directions

Page 450: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Introduction

• Central to fault-tolerant computing is redundancy mange-

ment.

• Common to proofs of fault-tolerance is a maximum fault

assumption.

If there are m or fewer faults in the system, then ...

• Typically a maximum fault assumption is rather restric-

tive. Usually, this is necessary to avoid assumptions about

the behavior of faulty channels.

-For Interactive consistency, in order to tolerate m

faults, 3m + 1 nodes are required.

- For a majority vote, 2m + 1 channels are required.

• A maximum fault assumption is useful because it allows

us to reason about fault tolerance in the presence of arbi-

trarily malicious fault behavior. However, analysis of the

architecture may establish certain scenarios in which the

assumption may be weakened.

Page 451: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

• Should fault-tolerant systems incorporate features which

attempt to recover from failure combinations which exceedthe maximum fault assumption?

• If so, what is the proof obligation?

• At the very least, it is necessary to show that existing

proofs which depend upon the maximum fault assumption

still hold.

4

Page 452: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Hypothetical Scenario

Imagine that plurality voting circuit has been developed for use

in a a four channel fault-tolerant computing system. Suppose

that a designer is considering using this circuit in a system

which depends upon a majority vote in order to maintain cor-

rect system state.

Can this voting circuit be used in this system?

5

Page 453: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

First we define existence predicates for majority and plural-

ity as follows:

VB.majority_exists B = FINITE B A Sx.IB I < 2lBlz

VB.plurality_exists B = 3x.Vx'.(x _ x') _ [Blz, < [S[z

Where B is a bag_ ISl represents its cardinality, and ISlz

represents the count of x in B.

'Essentially a bag i, a set without absorption. [a, a, b] = [b, a, a], but [a, b] _ [a, a, b]

6

Page 454: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

From these we define the following functions:

VB.majority B = ¢ x.[B[ < 2]B[_

VB.pturality B = e x.Vx'.(x ¢ x') D IBIs, < ISl_

7

Page 455: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The property we need to prove is

VB.majority_ezists B 3 (majority B = plurality B).

Page 456: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The first step was to show that

VB.majority_exists B _ plurality_exists B

For this, we needed to prove the following lemma:

VB.FINITE B _ (Vx y.(x # y) _ IBly _< (IBI- IBIs))

From this lemma, coupled with rewriting the right conjunct

of majority_exists to

3x.(IB I -IBIs) < IBIs,

and then using transitivity of '<' and '_<' we can establish the

existence of plurality from the existence of majority.

Page 457: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

In order to show the equivalence between majority and plu-

rality we needed to establish uniqueness from existence (i.e.

if it exists then its unique). This allowed us to substitute in

one side of the equation and then show that the chosen value

satisfied the predicate embedded in the other. 2

aThanks to Brian Graham of the University of Calgary for submitting his methods of

dealing with the HOL choice operator ('e ' or '@') to the info-hol mailing list.

10

Page 458: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Once this was done we looked at proving some other simple

facts about voting which may be useful in the analysis of fault,-

tolerant architectures. Specifically, we proved the preservation

of majority for a few common reconfiguration schemes.

• Graceful Degradation

• Perfect Spares

• Imperfect Spares

Of course, we neglected one of the more difficult aspects of

reconfiguration, namely that of correctly identifying the faulty

channel. All that we have done is prove a little bit of common

sense.

11

Page 459: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Graceful Degradation

The simplest reconfiguration strategy is graceful degradation.

This consists of removing a faulty channel and continuing pro-

cessing with one less channel of redundancy. The proof for

this case showed that a majority is preserved if a non-majority

clement is removed from consideration.

First we show existence

VB.Vx. majority_exists B D

(xeB) D

(x # majority B) D

majority_exists ( B - x)

This essentially reduces to showing

IBI < 21BI,, D (IBI- 1) < 21BIz,.

From existence we get uniqueness so we can then show

VB.Vx. majority_exists B D

(xEn) D(x # majority B) D( majority B = majority (B - x))

12

Page 460: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Perfect Spares

Sometimes, in addition to removing a faulty channel, a good

channel is added to the configuration. To capture this scenario,

we showed that the insertion of the majority element to a bag

preserved both existence and value of the majority.

VB. majority_exists B D

majority_exists ((majority B) ® B)

VB. majority_exists B D

(majority (( majority B) 6) B) = majority B)

13

Page 461: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Imperfect Spares

Finally, recognizing that it is possible for spares to fail, it

was shown that the removal of a non-majority (c.g.failed) el-

emcnt coupled with the addition of an arbitrary clement (of

t,hr proper type) also preserves both existence and the value of

m_Ljority.

VB. majority_exists B D

Vz x'. (x E B) D

(z # majority B) 3

majority_exists (z' ® (B- x))

VB. majority_exists B D

vz x'. (x _ B) 3(x # majority B) 3

( (majority (x' ® (B - z))) = (majority B) )

14

Page 462: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Future Efforts

• Establish a base for reasoning about error manifestations

in order to reason about Fault Detection and Isolation.

When can you conclude that a redundant channel is

faulty?

• Explore the effects that incorporating a plurality voter

would have on the OS proofs.

This would' require adding assumptions concerning the

behavior of faulty channels.

• Explore possible ways to incorporate reconfiguration strate-

gies into the OS effort.

How do you differentiate between a permanent and a

transient fault?

15

Page 463: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

=>'9-DI

3/9,_/6

N9 -175 6

Formally specifying the logic of an

guidance controller

automatic

David Guaspari

Odyssey Research Associates

Page 464: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Truth arises more readily

than from confusion.

from error

Francis

Novum

Bacon

Organum

Page 465: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Penelope project

Interactive, incremental,

verification of Ada programs

specifications).

-- Structure or ordinary text

tool for formal

(Larch/Ada

editor

Permits

proof in

development of

concert, "reuse

program

by replay"

and

• Covers large subset of sequential Ada.

• Mathematically based.

1

Page 466: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Problem" specify

tomatic Guidance

"logic" of experimental Au-

Control System for a 737

Pilot

matic

requests kind

assistance

and degrees of auto-

• Requests may be honored,

on hold

disallowed,

• Responses must be displayed

2

Page 467: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Work-in-progress: Larch/Ada specification

• Formal specification of Ada code

• Goals: precise;

implementors

intelligible to designers and

• Currently wrong, but clear

Related work

• Original code (CSC)

• Experiment in redesign (NASA)

3

Page 468: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

ALT

ENG

FPA

SEL

VERT

PATH L[

4

Page 469: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

knobs,

switches

I logic

J

flight

plan sensors

///9--....

lights,

windows

flight

control

Page 470: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Some failures of informal description

1. Ambiguous:

a mode.

"Select" a switch vs. "select"

2. Incomplete: "CAS ENG may be engaged

independent of all other AGCS modes except

TIME PATH."

3. Contradictory:

• FPA ... cannot be deselected directly.

[if] ... appropriate selection of the FPA

SEL ... switch returns the mode to the

off state ..

6

Page 471: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Larch/Ada specifications: "two-tiered"

Mathematical part

defines vocabulary

(Larch Shared Language)

Interface part

lary to specify

(Larch/Ada)

code

uses vocabu-

7

Page 472: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Example: specifying executable addition

Mathematical part:

on Int, the (infinite)

integers

defines

domain

mathematical +

of mathematical

Interface part Specifying evaluation of x+y

• Type integer is "based on" Int.

• Return value (x + y)if

min < (x -F y) < max.

No side effects.

• Otherwise, raise

effects.

numeric_error. No side

8

Page 473: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The mathematical part

States: AGCS_state, Sensor_state, etc.

Actions:

{ alt_eng_switch,..., alt_eng_knob(i),.

alt_capture,... }

. ° ,

Modes:

{alt_eng,fpa_sel,vert_path,... }

Transition operation:

AGCS_state, Action, ...-_ AGCS_state

Observers: active2d, display,...

9

Page 474: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Building mathematical part (the AGCS states)

AgcsStructure : trait

AGCS_state record of

(on: Bool,

modes: Set_of_modes,

engaged: Engagement_status,

setting:

window:

includes

Value_settings,

Window_array)

Set ( M od e, S et_of_m o des)

introduces

transition:

AGCS_state,

Flight_plan -_

initial_on_state:

Action, Sensor_state,

AGCS_state

AGCS_state

asserts

10

Page 475: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Description of mode changes caused by switches

• Is the mode directly deselectable?

• What mode changes result?

• Under what conditions is the

rectly selectable?

mode di-

• What mode changes result?

11

Page 476: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Building mathematical part (mode changes)

HorPathSwitch • trait

includes SwitchSheil{hor_path }

asserts for all

[agcsmodes: Set_of_modes,

pl Flight_plan,

sens Sensor_state]

hor_pa t h_d eselecta ble

hor_path_selecta ble(agcsmodes, pl) --

(auto (E agcsmodes) A active2d(pl)

hor_p a t h_sel ecti o n_res u It ( ag cs m o des, sen s, pl )

[hor_path] u I[cas]]

hor_path_deselection_result(agcsmodes) --

[tka_sel] u I[cas]]

12

Page 477: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Intuitive description

vs. current)

of window status (chosen

The to_knob makes

window chosen.

the corresponding to-

Any action selecting the

the to-window chosen.

to mode makes

Any action deselecting

the to-window current.

the to mode makes

Any other

to-window

action leaves

unchanged.

the status of the

13

Page 478: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Building the mathematical

StatusShell : trait

imports AgcsStructure

introduces

_.comporlent :

Window_array

md: -, Mode

knob " Value --_

asserts for all

abbreviation

part (window changes)r

-_ Window_status

Action

[agcs:AGCS_state,

agcs' tra nsition(agcs,act,sensor, pla n)

agcs'.window.com ponent --

if md C agcs'.modes- acgs.modes

then chosen

elsif md E agcs.mode- agcs'.modes

then current

elsif act- knob(i) then chosen

else agcs.window.com ponent

Example: Stat usS hel I{ a it, a It_en g ,Airspeed }

14

Page 479: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Design of the code:

• Packages panel_logic, display_manager,

sensor_data, flight_plan, flight_control.

State of panel_logic based on AGCS_state,

etc.

• Actions H procedures of panel_Zogic:

read state of

flight_plan

panel_logic, sensor_data,

modify states of panel_logic,

display_manager, flight_control

• Consistent with polling, interrupts, etc.

15

Page 480: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specifying the code:

--I WITH TRAIT AgcsLogic, AgcsProperties,

--I

WITH

LogicalDisplay

sensor_data, flight_plan,

display_manager, flight_control

with

package

--I

--I

--I

--I

sensor_data_types;

panel_ logic

use

BASED ON AGCS_state

INVARIANT

sensor_data_types ;

panel_logic.on -> good(panel_logic)

INITIALLY not panel_logic.on

end panel_logic ;

16

Page 481: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

procedure

--I WHERE

--I GLOBALS

--I GLOBALS

--i

--i

att_cws_switch;

IN panel_logic

OUT display_manager,

flight_control,

panel logic

--I IN panel_logic, on

--I

--i

--i

--i

--i

--i

--i

--i

--i

--i

OUT panel_logic =

transition (IN panel_logic,

att_cws_switch, •

OUT FORALL ss: Sensor_state ::

look (display_manager, ss) =

display (pane I_ 1 ogi c, ss)

OUT FORALL md:mode ::

f c_engaged (md, f i ight

engaged (md

END WHERE;

_control) =

,panel_logic)

17

Page 482: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

procedure

--l WHERE

turn_on_ages

-- I OUT panel_logic

-- I END WHERE;

= initial_on_state

Page 483: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

. .;" _-7-__'i'

N91-17577

Verification of Floating-Point Software

D. N. IIoover

()dyssey l{esear(:h Associates, Ithaca NY

Abstract

I"loating liiiiilt conillutation presents a nuinber of llroblenis for for-

nial verification. Shouhi one treat the actual details of Iloating point

operations, or accept theln as iillprecisely defined? or Siil)ltlll Olle

ignore round-off error altogether, and behave as if [Iolttiiig lllliilt Oll-

eratiOllS are pel'fel:tly accurate? There is the furtlier ilrolllelli tliat a

nunlerical iilgori[lilli usually ()lily appro×iniateiy eOliillutes some liiath-

elna.tical fuliction, and we often lit) liot know just how good the al)-

proxiiiiation is, eveli in the allselice of round-off error,

()IIA iia.s develolied a theory of asymptotic cori'ectliess which al-

lows lille to verify floating i)Oilit software with a illillilllUlll entluigle-

Illellt in these lirolllenis. We describe this theory and its inllileniell-

tat)on ill tile Ariel C veritieatioii _ystelil> also developed at ORA, Weillustrate the theory IlSillg a silnlile l)rOgl'alll which finds a zero of a

given function hy llisectioil.

Page 484: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verification of Floating-Point Software

Douglas Hoover

Odyssey Research Associates, Inc.

Page 485: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Difficulties

• Machine real arithmetic does not have nice

mathematical properties

• Doesn't match ideal arithmetic (overflow, round-

off, underflow)

• Programs don't satisfy the specification we'dlike them to

Odyssey Research Associates, Inc.

Page 486: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Asymptotic Correctness

• Specify "ideal behavior" of the program (e.g.

"program computes the square root of its in-

put")

• Verify that if program is run on a sequence of

machines converging to perfect accuracy, then

program's behavior converges to ideal behav-ior

Odyssey Research Associates, Inc.

Page 487: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Advantages of the Asymptotic Approach

• Machine real arithmetic can be specified loosely

• Specifications can be written in terms of idealbehavior

• Verification does not require roundoff error anal-

ysis

• Verifies logical correctness -- absence of "bugs"

from inaccuracy of machine arithmetic that

are not related to error magnitude.

Odyssey Research Associates, Inc.

Page 488: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Nonstandard analysis

RC*R

Standard part map

st" *R --,It

rounds offa finitenonstandard rcal to an infinitely(:loscstan-

dard real.

Continuity

f is continuous at (al,... ,a,,) if

._t(f(al,... ,a,,))- f(_t(al),...,._t(n,))

Differentiation by algebraic manipulation

Let st(e) = 0, e _= 0. For all standard x,

dx"-- st

-- st

(x + e)2 _ _:_)E

= sl(2x + E)

--- 2:1:

Page 489: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Nonstandard Analysis

• Asymptotic approach can be formalized natu-

rally in nonstandard analysis using infinitesi-mals

• Primitive operations are assumed to return

values which are infinitely close to the ideal

values when the arguments and ideal answersare finite

• Programs are specified to have behaviors in-

finitely close toideal behavior when inputs arefinite

Odyssey Research Associates, Inc.

Page 490: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Finding Roots of a Continuous Function

• f ±nd_zero searchs for a root of a user-supplied

function F by bisection.

• At each iteration, it tests to see if the values

of F at the left endpoint and the midpoint

are of opposite sign, and changes one of the

endpoints to the midpoint so as to keep a root

between the two endpoints.

• The program terminates when it finds a root

or when it reachs a user-supplied bound onthe number of iterations.

Odyssey Research Associates, Inc.

Page 491: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

float find_zero (leftO,rightO ,maxit)

float leftO°rightO;

int maxit ;

{float left .right, center ;

float cval,lvalO ,rvalO ;

int numit ;

}

numit = O;

lvalO = F(leftO);

rvalO = F(rightO);

left = leftO;

right - rightO;

center = (left + right)/2.0;

cval= F(center);

while(cval != 0.0 &_ numit < maxit) {

if (lvalO *cval < O)

right = center;

else

left = center;

center = (left + right)/2.0;

cval= F(center);

lvalO = F(left);

numit = numit + 1;

}

return(center);

Odyssey Research Associates, Inc.

Page 492: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Specification of find_zero

IF F is continuous and find_zero is started UP

with

• left0 and right0 not "large";

• maxit "large";

• F(left0) and F(right0) of opposite sign

THEN find_zero terminates normally (i.e. with-

out an exception) and the value output is "close

to" some zero of F.

Odyssey Research Associates, Inc.

Page 493: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Attempted Verification

• Proof of termination is easy.

• Proof that termination is normal is a bit harder.

Must prove that no overflow happens. To prove

this, must prove that the values of the end-

points stay in some range of numbers which

are not "large".

Odyssey Research Associates, Inc.

Page 494: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

How would we prove that the program returns an

approximation to a root?

• Prove when the program terminates, the end-

points are "close". This follows from the fact

that the program halves the interval a "large"number of times.

• Prove there's always a root between the end-

points. This should follow from the way the

program decides whether to move the left end-

point or the right. From this we'd get center"close to" a root.

Unfortunately, it's not true that there's always

a root between the endpoints.

Odyssey Research Associates, Inc.

Page 495: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

The Bug

• In the test statement, can have lvalO and

cval of opposite sign, but have the product

underflow to O. This causes the program tomove the wrong endpoint.

• Tests bear out this bug.

Odyssey Research Associates, Inc.

Page 496: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Possible Fixes

Several ways to fix this bug

• Change test to

(IvalO < 0 _ cval >= O) II

(ivalO >= 0 _& cval < O)

• Change test so instead of always testing left

endpoint against midpoint, it always tests the

endpoint with the larger value of F against the

midpoint.This doesn't necessarily keep a root between

the endpoints, but it delivers an approxima-

tion to a root anyway.

Odyssey Research Associates, Inc.

Page 497: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Ariel

• Verification system for subset of C including

real arithmetic and some UNIX system calls.

• Implements nonstandard formalization of the

asymptotic approach.

Odyssey Research Associates, Inc.

Page 498: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Semantic Verification

• Ariel verifies programs by generating a de-

scription of the program's denotation in a higher-

order language (the Clio metalanguage)

• Specifications are statements about the deno-

tation in the Clio metalanguage

• Verification is a proof of the specification di-

rectly from the description of the denotation

in Clio theorem prover

• Specifications can be any statement about the

program's denotation which can be expresse(1

in the Clio, including termination

ORIGINAL PAGE IS

OF POOR QUALITY

Odyssey Research Associates, Inc.

Page 499: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C Semantics

• A "run" of tile program is modeled as a se-

quence of events

• Events are:

- the event of going into a certain state

-terminating and returning a value

- terminating and returning no value

- raising an exception

- an 'hlnknown" event

• The semantics of the program is expressed as a

collection of axioms saying which sequences of

events can happen in the course of executingthe program.

Odyssey Research Associates, Inc.

Page 500: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Sample Verifications

• ZBRENT a program which finds zeros of a

continuous flmction by bisection

• SWAP a very simple program to swap thecontents of 2 locations which contains a sur-

prising bug

• HOSTILE BOOSTER a suite of I)rograms,

developed by Applied Technology Associates

for SDIO, that estimate hostile booster trajec-

tories. This verification is currently in progress.

• SECURE DEVICE DRIVER- specification

and verification of security for an Ethernet de-

vice drivel'. Currently in progress.

Odyssey Research Associates, Inc,

Page 501: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

91-17578

C Formal Verification with Unix

Communication and Concurrency

D. N. Iloover

Odyssey Resear(,h Associates, Ithaca NY

Abstract

This talk reports the results of a NASA SBIR project in which

we developed CSi)-Ariel, a v,,rification system for C programs which

use Unix sygtem calls for concurrent programming, interi)rocess com-

munication, and file input and output. This t)roje(:l, builds on ()I{.A's

Ariel C, verification system l)y using the system of ]loare's book (Jom-

m)micali)).q ,%qucnlial l'roccsscs to model concurrency and comnmni-

('a.l, io)). The system ru ns in 0 II A's Clio theorem proving environ ment.

We outline how we use CSP to 111o(1ol Unix concurrency, an(I sketch

the CSP semantics of a simple concurrent l)rogram. We (liscus._ plans

for 51rther develol)ment of CSi'-Ariel.

Page 502: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

C Formal Verification with

Unix communication and concurrency

(NASA SBIR)

Aim: Verification system for

• C programs

• Unix system calls

• concurrent programming (fork,

exit;, pipe)

wait,

• file and device i/o (read,

close).

write, open,

Page 503: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Example program.

void prodtlcer();vold coHs_lm_r () ;

int p.ipedes [2] ;

void main()

{int J.d;

if (pipe(pipedes) ==-i) return;

id = fork();

if (id == -].) return:

if (id == O) consumer();

else producer():

return;

)

void producer()

{char c;

int status;

while (read(O, &c, I) != O) /* 0 = standard input filedes */

write(pipedes[l], &c, i) :

close (pipedes [i] ) ;

exit (wait (&status)) ;

void consumer()

{char c;

close(pipedes[]]): /* so that pipe read will fail when producer

closes its write end of pipe */

while ( read(pJpedes[O], &c, I) != O)

write(l, &c, I); /* ] = standard output filedes */

exit(O);

Page 504: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Example Program Schematic

stdin

stdout

Main

_v _ pipe

producer

= Main

pipe

fork

pipe

consumer

Page 505: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Technical Approach

• C semantics via Ariel operational semantics (pre-

existing)

• Unix communication and concurrency semanticsvia Hoare's CSP

2

Page 506: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

CSP (Communicating Sequential Processes)

• See Hoare's book, Communicating .Sequential Pro-cesses.

• An algebraic language for describing systems of

processes with synchronous communication.

• ObJects of the language are processes and events.

Processes resemble state machines, events the in-

put alphabet. Deterministic and nondeterrninistic

processes.

• Processes participate in events and are transformed

by them.

• Synchronous communication by participation in sharedevents.

3

Page 507: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Unix modeling

Unix processes, files, pipes,

system tables are modeled as

tic CSP-processes.

and certain

determinis-

Forking, pipe creation, file opening and

closing, I/O, waiting, and exiting are mod-

eled as events.

4

Page 508: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Example: Asynchonous pipe communication

Sending process A, pipe P,

B •

re(s) te(s)

receiving process

d(t) d(s)

AllP()lIB

Write (s)

A' IIP(s) liB

Page 509: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Processes transformed by events

d(s_

it

Page 510: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Verification method

• C program given

• Ariel front end generates Caliban expression for

abstract syntax tree of program.

Ariel C semantics plus Unix system call semantics

define denotation of a C program and associated

files inside operating system as a CSP process.

• Internal operations of systems of processes hidden

by CSP concealment operation.

We reason about the resulting CSP process in

Clio. Main tools are induction on traces (event se-

quences) of processes, and algebraic laws of CSP.Clio is a very general theorem prover, and we arenot limited in the kinds of properties we can prove

about processes.

Page 511: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Producer as a CSP process

te "C"

Page 512: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Hiding events:

°

Overall process with non-I/O events hidden.

RUN Read "c"

CONTENTS <- C:CONTENTS

Read a char from

stdin

CONTENTS

Write "head (CONTENTS)"

CONTENTS <- tail (CONTENTS)

Write a char to

stdin

CONTENTS

Write(head(CONTENTS))

CONTENTS <- tail(CONTENTS)

CONTENTS = ""

Page 513: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

CSP-Ariel Development Plan

• C semantics via Ariel symbolic interpreter (exist-

ing)

• Unix communication and concurrency semantics

via deterministic CSP (initial work completed).

• Extensions to support network communication planned

(sockets).

• Nondeterministic CSP and event concealment for

specification and modularity (planned)

• Graphic specification support using Romulus inter-

face (planned)

Page 514: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Clio, Caliban, and, Ariel

Ariel is a semantic verification system for a sub-

set of C, written in Caliban and the Clio met-

alanguage. Floating point, overflow support via

asymptotic correctness.

• Caliban is a lazy, purely functional language based

on recursive equations and pattern matching.

Clio is a higher-order logic theorem prover. Cal-

iban is its term definition language. Clio's main

proof methods are induction on Caliban defini-tions, term rewriting, and case splitting.

Page 515: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can
Page 516: NASA Formal Methods Workshop 1990 · Rick Butler BREAK Richard Platek John Rushby Don Good MAFT: The Multicomputer Architecture for Fault Tolerance Design For Validation What FM can

Documentation Page

1. Roport No.

NASA CP-10052

Report

2. Government Access0on No

4, Title and Subtitle

NASA Formal Methods Workshop- 1990

7. Author(sl

Ricky W. Butler, Compiler

9, PeHorming Organization Name and Address

NASA Langley Research Center

Hampton, VA 23665-5225

12, Sponsoring Agency Name and Address

National Aeronautics and Space

Washington, DC 20546-000!

Administration

3. Recipient's Catalog No

5. Report Date

November 1990

6. Performing Organization Code

8. Performing Organizataon Report-I_0,- ....

10. Work Unit No.

505-66-21-01

11. Contract or Grant No.

13. Type of Report and Period Covered

Conference Publlcatlon

14 Sponsoring _gency Code

15, Supplementary Notes

Th/s workshop was organized

Research Center.

and chaired by Ricky W. Butler of NASA Langley

ORIGIN'/

OF PC<),'_GE t,c

R OuAu .'_

16. Abltract

Thi$;;po__._.c-m=_nt__a wnrk_hnn !_t_S heio at tne NASA Langiey F_esu=,u;-,Cant6_ o_......... " 24, ; _O. The workshop brought together researchers involved in the NASA formal methods

r"t tJ_lllJ _,w & _.,v

research effort for detailed technical interchange and provided a mechanism for interaction withrepresentatives from the FAA and the aerospace industry. The workshop also included speakers fromindustry to debrief the formal methods researchers on current state of practice in flight critical systemdesign, verification, and certification.

The goals of the workshop were: (1) Define and characterize the verification problem for ultra-reliable life-critical flight control systems and the current state of the practice in industry today, (2))_'etermlne theproper role of formal methods in addressing these problems, and (3),P(ssess the state of the art and recentprogress toward applying formal methods to this area.

A_,,Gn3,_S ;,-_d.,6d, NASA pergoJ_esoam.,hers from the |our-supporttRg.Contfl_s, RSRE

p ," " ors, an-fid-Fepresentatives_rom othergovemment-researc_orgardzati0ns with

i terests in form --_ _ _,c_h_r(_l l_J

.............. ........... ..... ....17, Key Words (Suggested by

Formal Methods | Unclassified - UnJ[mlted -_ c |Digital Flight Control _ _ _ _.{Q.__-7_-'I

Verification I Subject Category 61 _(I It" _ _ I

i ,.oo, -Unclassified Unclassified i 512

NASA FORM 11126 OCT 8_ For sale by the National Technical Information Service,Springfield, Virginia 22]61-217l ORIGINAL PAGE IS

OF POOR QUALITY