nasa formal methods workshop 1990 · rick butler break richard platek john rushby don good maft:...
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/4.jpg)
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!_
i£
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/9.jpg)
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
kapur@albany cs.albany.edu
[email protected]@ucdavis.edu
richard%oravax.uucp @cu-arpa.cs.cornell.edu
[email protected]@cli.com
jlc@air 16.1arc.nasa.gov,[email protected]
??? %oravax.uucp @cu-axpa.cs.cornell.edu
cwm@ air 12.1arc.nasa.gov
hoove%[email protected]].edu
?? ? %[email protected] @iris.ucdavis.edu
"PYGOTT%hermes.mod.uk" @relay.MOD.UK
"KEKSHAW%hermes.mod.uk"@relay.MOD.UK
windley @t ed.mrc.uidaho.edu
jck @neptune.cs.virginia.edu
dee@ csab.larc.nasa.gov
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/11.jpg)
_ /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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/20.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/26.jpg)
||
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/30.jpg)
>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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/31.jpg)
||
|
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/32.jpg)
| 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/34.jpg)
,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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/39.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/43.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/44.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/46.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/49.jpg)
,,!
|
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/50.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/51.jpg)
¢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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/53.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/56.jpg)
%.
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/71.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/73.jpg)
©
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/75.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/77.jpg)
_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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/79.jpg)
(/) (_
_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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/81.jpg)
(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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/82.jpg)
_=
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/83.jpg)
(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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/87.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/88.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/89.jpg)
<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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/90.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/91.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/92.jpg)
_.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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/93.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/94.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/95.jpg)
_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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/96.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/97.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/98.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/99.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/100.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/101.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/102.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/103.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/104.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/105.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/106.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/107.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/108.jpg)
+
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/109.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/110.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/111.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/112.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/113.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/114.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/115.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/116.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/117.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/118.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/119.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/120.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/121.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/122.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/123.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/124.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/125.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/126.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/127.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/128.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/129.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/130.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/131.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/132.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/133.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/134.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/135.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/136.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/137.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/138.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/139.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/140.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/141.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/142.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/143.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/144.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/145.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/146.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/147.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/148.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/149.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/150.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/151.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/152.jpg)
¢.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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/153.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/154.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/155.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/156.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/157.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/158.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/159.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/160.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/161.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/162.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/163.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/164.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/165.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/166.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/167.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/168.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/169.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/170.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/171.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/172.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/173.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/174.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/175.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/176.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/177.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/178.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/179.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/180.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/181.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/182.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/183.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/184.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/185.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/186.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/187.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/188.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/189.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/190.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/191.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/192.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/193.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/194.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/195.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/196.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/197.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/198.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/199.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/200.jpg)
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
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/201.jpg)
"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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/202.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/203.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/204.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/205.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/206.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/207.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/208.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/209.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/210.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/211.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/212.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/213.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/214.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/215.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/216.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/217.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/218.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/219.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/220.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/221.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/222.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/223.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/224.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/225.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/226.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/227.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/228.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/229.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/230.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/231.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/232.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/233.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/234.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/235.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/236.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/237.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/238.jpg)
°_
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/239.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/240.jpg)
,.-.--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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/241.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/242.jpg)
_ 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/243.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/244.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/245.jpg)
_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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/246.jpg)
!
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/247.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/248.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/249.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/250.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/251.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/252.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/253.jpg)
-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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/254.jpg)
"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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/255.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/256.jpg)
,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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/257.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/258.jpg)
r_
m
¢)
t_
0
ro
¢)o,JI
¢)
_ o_o _ o_ _t
_0 _ _ 0
:_ o _ _,., £ >,-_ o _
r£
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/259.jpg)
!
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/260.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/261.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/262.jpg)
• 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/263.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/264.jpg)
• • • • •
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/265.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/266.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/267.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/268.jpg)
"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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/269.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/270.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/271.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/272.jpg)
|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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/273.jpg)
(,.)
¢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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/274.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/275.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/276.jpg)
|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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/277.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/278.jpg)
=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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/279.jpg)
.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:
o°
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/280.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/281.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/282.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/283.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/284.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/285.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/286.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/287.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/288.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/289.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/290.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/291.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/292.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/293.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/294.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/295.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/296.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/297.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/298.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/299.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/300.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/301.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/302.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/303.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/304.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/305.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/306.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/307.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/308.jpg)
• 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/309.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/310.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/311.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/312.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/313.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/314.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/315.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/316.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/317.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/318.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/319.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/320.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/321.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/322.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/323.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/324.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/325.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/326.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/327.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/328.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/329.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/330.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/331.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/332.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/333.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/334.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/335.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/336.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/337.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/338.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/339.jpg)
"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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/340.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/341.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/342.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/343.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/344.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/345.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/346.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/347.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/348.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/349.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/350.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/351.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/352.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/353.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/354.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/355.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/356.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/357.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/358.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/359.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/360.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/361.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/362.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/363.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/364.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/365.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/366.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/367.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/368.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/369.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/370.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/371.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/372.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/373.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/374.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/375.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/376.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/377.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/378.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/379.jpg)
[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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/380.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/381.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/382.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/383.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/384.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/385.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/386.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/387.jpg)
: : .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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/388.jpg)
\ **** '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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/389.jpg)
\ **** 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/390.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/391.jpg)
-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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/392.jpg)
+ +
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/393.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/394.jpg)
+ +
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/395.jpg)
+
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/396.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/397.jpg)
+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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/398.jpg)
-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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/399.jpg)
+ +
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/400.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/401.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/402.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/403.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/404.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/405.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/406.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/407.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/408.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/409.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/410.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/411.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/412.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/413.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/414.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/415.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/416.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/417.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/418.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/419.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/420.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/421.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/422.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/423.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/424.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/425.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/426.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/427.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/428.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/429.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/430.jpg)
• 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/431.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/432.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/433.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/434.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/435.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/436.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/437.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/438.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/439.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/440.jpg)
[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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/441.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/442.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/443.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/444.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/445.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/446.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/447.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/448.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/449.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/450.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/451.jpg)
• 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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/452.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/453.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/454.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/455.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/456.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/457.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/458.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/459.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/460.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/461.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/462.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/463.jpg)
=>'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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/464.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/465.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/466.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/467.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/468.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/469.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/470.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/471.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/472.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/473.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/474.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/475.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/476.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/477.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/478.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/479.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/480.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/481.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/482.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/483.jpg)
. .;" _-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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/484.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/485.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/486.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/487.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/488.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/489.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/490.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/491.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/492.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/493.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/494.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/495.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/496.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/497.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/498.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/499.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/500.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/501.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/502.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/503.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/504.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/505.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/506.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/507.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/508.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/509.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/510.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/511.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/512.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/513.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/514.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/515.jpg)
![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](https://reader033.vdocuments.site/reader033/viewer/2022052008/601c992fd891107cfa654ce6/html5/thumbnails/516.jpg)
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