Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline...

64
Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER Lee Pike 1 Reporting joint work with Paul Miner 1 Jeffrey Maddalon 1 Alfons Geser 2 Radu Siminiceanu 2 1 Formal Methods Group NASA Langley Research Center {lee.s.pike, paul.s.miner, j.m.maddalon}@larc.nasa.gov 2 National Institute of Aerospace {geser, radu}@nianet.org September 24, 2004 Lee Pike et. al Formal Methods for SPIDER

Transcript of Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline...

Page 1: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Formal Methods for SPIDER

Lee Pike1

Reporting joint work withPaul Miner1 Jeffrey Maddalon1

Alfons Geser2 Radu Siminiceanu2

1Formal Methods GroupNASA Langley Research Center

{lee.s.pike, paul.s.miner, j.m.maddalon}@larc.nasa.gov

2National Institute of Aerospace{geser, radu}@nianet.org

September 24, 2004

Lee Pike et. al Formal Methods for SPIDER

Page 2: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Introduction

Safety-Critical SystemsOverviewSPIDER: A Fault-Tolerant Communications Bus

Formal MethodsWhat are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Conclusion

Lee Pike et. al Formal Methods for SPIDER

Page 3: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

What is a Safety-Critical System?

The failure of a safety-critical system has the potential to causethe loss of life or serious injury.

Such systems are found in

I Aircraft

I Automobiles

I Trains and Rail Systems

I Medical Devices

Lee Pike et. al Formal Methods for SPIDER

Page 4: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

What is a Safety-Critical System?

The failure of a safety-critical system has the potential to causethe loss of life or serious injury.

Such systems are found in

I Aircraft

I Automobiles

I Trains and Rail Systems

I Medical Devices

Lee Pike et. al Formal Methods for SPIDER

Page 5: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

What is a Safety-Critical System?

The failure of a safety-critical system has the potential to causethe loss of life or serious injury.

Such systems are found in

I Aircraft

I Automobiles

I Trains and Rail Systems

I Medical Devices

Lee Pike et. al Formal Methods for SPIDER

Page 6: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

What is a Safety-Critical System?

The failure of a safety-critical system has the potential to causethe loss of life or serious injury.

Such systems are found in

I Aircraft

I Automobiles

I Trains and Rail Systems

I Medical Devices

Lee Pike et. al Formal Methods for SPIDER

Page 7: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

What is a Safety-Critical System?

The failure of a safety-critical system has the potential to causethe loss of life or serious injury.

Such systems are found in

I Aircraft

I Automobiles

I Trains and Rail Systems

I Medical Devices

Lee Pike et. al Formal Methods for SPIDER

Page 8: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 9: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 10: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 11: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 12: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 13: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Quantifying “Safety-Critical”

Safety-critical system should have catastrophic failure rates nohigher than 10−7 to 10−12 per hour of operation.

Just how low is that?

I 109 hours is about 114,000 years.

I Odds of being hit by lightning in a year: 1 in 240,000(1/2.4× 10−5/year).

I Odds of dying in a car wreck per trip: 1 in 4 million(1/4× 10−6/trip).

Lee Pike et. al Formal Methods for SPIDER

Page 14: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 15: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 16: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 17: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 18: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 19: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Current Trends in Safety-Critical Embedded Systems

I Increased deployment.

I Increased sophistication.

I Increased integration.

Leading to increased risk of catastrophic failure.

Every day, our lives are in the hands of computers.

Lee Pike et. al Formal Methods for SPIDER

Page 20: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

SPIDER: What Is It?

Scalable Processor-Independent Design for Enhanced Reliability

A means to safely integrate embedded systems and partition faults.

Lee Pike et. al Formal Methods for SPIDER

Page 21: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

The Need for SPIDER

Integrating interdependent applications of differing criticality inextreme safety-critical environments.

For use in

I Long-term environments (e.g., space-exploration craft).

I Highly-automated environments (e.g., unpiloted air vehicles).

I Highly-integrated environments (e.g., tomorrow’s commercialaircraft).

Lee Pike et. al Formal Methods for SPIDER

Page 22: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

The Need for SPIDER

Integrating interdependent applications of differing criticality inextreme safety-critical environments.

For use in

I Long-term environments (e.g., space-exploration craft).

I Highly-automated environments (e.g., unpiloted air vehicles).

I Highly-integrated environments (e.g., tomorrow’s commercialaircraft).

Lee Pike et. al Formal Methods for SPIDER

Page 23: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

The Need for SPIDER

Integrating interdependent applications of differing criticality inextreme safety-critical environments.

For use in

I Long-term environments (e.g., space-exploration craft).

I Highly-automated environments (e.g., unpiloted air vehicles).

I Highly-integrated environments (e.g., tomorrow’s commercialaircraft).

Lee Pike et. al Formal Methods for SPIDER

Page 24: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

The Need for SPIDER

Integrating interdependent applications of differing criticality inextreme safety-critical environments.

For use in

I Long-term environments (e.g., space-exploration craft).

I Highly-automated environments (e.g., unpiloted air vehicles).

I Highly-integrated environments (e.g., tomorrow’s commercialaircraft).

Lee Pike et. al Formal Methods for SPIDER

Page 25: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

Architecture

ProcessorElements

Middleware

OS Drivers

App. ASoftware

ROBUS

PE 1 PE 2

Hardware

App. B App. B

RMU RMU RMU

Middleware

OS Drivers

InterfacePE−ROBUS

InterfacePE−ROBUS

BIU BIU BIU

Lee Pike et. al Formal Methods for SPIDER

Page 26: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

OverviewSPIDER: A Fault-Tolerant Communications Bus

ROBUS Protocols

Highly fault-tolerant protocols implemented for

I Initial Clock Synchronization

I Clock Resynchronization

I Distributed Diagnosis

I Interactive Consistency

I Reintegration

Lee Pike et. al Formal Methods for SPIDER

Page 27: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

What are Formal Methods?

Formal methods is a field in which formal mathematical techniquesare applied to ensure the correctness of digital systems.

Lee Pike et. al Formal Methods for SPIDER

Page 28: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Why Use Formal Methods in the Design of Safety-CriticalSystems?

I Design errors could dramatically and unexpectedly raise thefailure rate of a system.

I To determine whether a system meets a failure rate of10−12/hour by testing, you’d need to test 1 trillion systems inparallel for an hour.

Design assurance via testing is infeasible for safety-critical systems.

Lee Pike et. al Formal Methods for SPIDER

Page 29: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Why Use Formal Methods in the Design of Safety-CriticalSystems?

I Design errors could dramatically and unexpectedly raise thefailure rate of a system.

I To determine whether a system meets a failure rate of10−12/hour by testing, you’d need to test 1 trillion systems inparallel for an hour.

Design assurance via testing is infeasible for safety-critical systems.

Lee Pike et. al Formal Methods for SPIDER

Page 30: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Why Use Formal Methods in the Design of Safety-CriticalSystems?

I Design errors could dramatically and unexpectedly raise thefailure rate of a system.

I To determine whether a system meets a failure rate of10−12/hour by testing, you’d need to test 1 trillion systems inparallel for an hour.

Design assurance via testing is infeasible for safety-critical systems.

Lee Pike et. al Formal Methods for SPIDER

Page 31: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Why Use Formal Methods in the Design of Safety-CriticalSystems?

I Design errors could dramatically and unexpectedly raise thefailure rate of a system.

I To determine whether a system meets a failure rate of10−12/hour by testing, you’d need to test 1 trillion systems inparallel for an hour.

Design assurance via testing is infeasible for safety-critical systems.

Lee Pike et. al Formal Methods for SPIDER

Page 32: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Mechanical Theorem-Proving

A mechanical theorem-prover is a tool supporting formalspecification and mathematical proofs about the specifications.

I As powerful as mathematics, in principle.I As difficult as mathematics, and exacerbated by

I Low-level proof rules.I The complexity of specifying digital systems.

I Little feedback provided for why a proof fails (which is acommon occurance).

Lee Pike et. al Formal Methods for SPIDER

Page 33: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Mechanical Theorem-Proving

A mechanical theorem-prover is a tool supporting formalspecification and mathematical proofs about the specifications.

I As powerful as mathematics, in principle.

I As difficult as mathematics, and exacerbated by

I Low-level proof rules.I The complexity of specifying digital systems.

I Little feedback provided for why a proof fails (which is acommon occurance).

Lee Pike et. al Formal Methods for SPIDER

Page 34: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Mechanical Theorem-Proving

A mechanical theorem-prover is a tool supporting formalspecification and mathematical proofs about the specifications.

I As powerful as mathematics, in principle.I As difficult as mathematics, and exacerbated by

I Low-level proof rules.I The complexity of specifying digital systems.

I Little feedback provided for why a proof fails (which is acommon occurance).

Lee Pike et. al Formal Methods for SPIDER

Page 35: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Mechanical Theorem-Proving

A mechanical theorem-prover is a tool supporting formalspecification and mathematical proofs about the specifications.

I As powerful as mathematics, in principle.I As difficult as mathematics, and exacerbated by

I Low-level proof rules.I The complexity of specifying digital systems.

I Little feedback provided for why a proof fails (which is acommon occurance).

Lee Pike et. al Formal Methods for SPIDER

Page 36: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Mechanical Theorem-Proving

A mechanical theorem-prover is a tool supporting formalspecification and mathematical proofs about the specifications.

I As powerful as mathematics, in principle.I As difficult as mathematics, and exacerbated by

I Low-level proof rules.I The complexity of specifying digital systems.

I Little feedback provided for why a proof fails (which is acommon occurance).

Lee Pike et. al Formal Methods for SPIDER

Page 37: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

In Other Words...

Lee Pike et. al Formal Methods for SPIDER

Page 38: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Model-Checking

A model-checker is a tool that automatically explores thestate-space generated from a system specification.

I Automated!

I Can only handle relatively small systems (or sparseabstractions of real systems).

I Model-checking languages are constrained.

Lee Pike et. al Formal Methods for SPIDER

Page 39: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Model-Checking

A model-checker is a tool that automatically explores thestate-space generated from a system specification.

I Automated!

I Can only handle relatively small systems (or sparseabstractions of real systems).

I Model-checking languages are constrained.

Lee Pike et. al Formal Methods for SPIDER

Page 40: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Model-Checking

A model-checker is a tool that automatically explores thestate-space generated from a system specification.

I Automated!

I Can only handle relatively small systems (or sparseabstractions of real systems).

I Model-checking languages are constrained.

Lee Pike et. al Formal Methods for SPIDER

Page 41: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Model-Checking

A model-checker is a tool that automatically explores thestate-space generated from a system specification.

I Automated!

I Can only handle relatively small systems (or sparseabstractions of real systems).

I Model-checking languages are constrained.

Lee Pike et. al Formal Methods for SPIDER

Page 42: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

(Interactive and Automated) Compilation

Interpreters and compilers are so ubiquitous that they are rarelythought of as formal methods, but they are.

I An interactive compiler allows the user to guide thecompilation (e.g., optimizations for a specific architecture).

I The design space of compilation is more restrictive thantheorem-proving.

Lee Pike et. al Formal Methods for SPIDER

Page 43: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

(Interactive and Automated) Compilation

Interpreters and compilers are so ubiquitous that they are rarelythought of as formal methods, but they are.

I An interactive compiler allows the user to guide thecompilation (e.g., optimizations for a specific architecture).

I The design space of compilation is more restrictive thantheorem-proving.

Lee Pike et. al Formal Methods for SPIDER

Page 44: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

(Interactive and Automated) Compilation

Interpreters and compilers are so ubiquitous that they are rarelythought of as formal methods, but they are.

I An interactive compiler allows the user to guide thecompilation (e.g., optimizations for a specific architecture).

I The design space of compilation is more restrictive thantheorem-proving.

Lee Pike et. al Formal Methods for SPIDER

Page 45: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Which methods?

All three methods are used for SPIDER. The specific tools used are

I PVS, a mechanical theorem-prover developed at SRI.

I SAL, a (family of) model-checkers developed at SRI.

I SMART, a model-checker developed at William & Mary.

I DRS, an interactive hardware compiler developed atDerivation Systems, Inc. (based on research by SteveJohnson, Indiana Univ., Bloomington).

Lee Pike et. al Formal Methods for SPIDER

Page 46: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Which methods?

All three methods are used for SPIDER. The specific tools used are

I PVS, a mechanical theorem-prover developed at SRI.

I SAL, a (family of) model-checkers developed at SRI.

I SMART, a model-checker developed at William & Mary.

I DRS, an interactive hardware compiler developed atDerivation Systems, Inc. (based on research by SteveJohnson, Indiana Univ., Bloomington).

Lee Pike et. al Formal Methods for SPIDER

Page 47: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Which methods?

All three methods are used for SPIDER. The specific tools used are

I PVS, a mechanical theorem-prover developed at SRI.

I SAL, a (family of) model-checkers developed at SRI.

I SMART, a model-checker developed at William & Mary.

I DRS, an interactive hardware compiler developed atDerivation Systems, Inc. (based on research by SteveJohnson, Indiana Univ., Bloomington).

Lee Pike et. al Formal Methods for SPIDER

Page 48: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Which methods?

All three methods are used for SPIDER. The specific tools used are

I PVS, a mechanical theorem-prover developed at SRI.

I SAL, a (family of) model-checkers developed at SRI.

I SMART, a model-checker developed at William & Mary.

I DRS, an interactive hardware compiler developed atDerivation Systems, Inc. (based on research by SteveJohnson, Indiana Univ., Bloomington).

Lee Pike et. al Formal Methods for SPIDER

Page 49: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

Which methods?

All three methods are used for SPIDER. The specific tools used are

I PVS, a mechanical theorem-prover developed at SRI.

I SAL, a (family of) model-checkers developed at SRI.

I SMART, a model-checker developed at William & Mary.

I DRS, an interactive hardware compiler developed atDerivation Systems, Inc. (based on research by SteveJohnson, Indiana Univ., Bloomington).

Lee Pike et. al Formal Methods for SPIDER

Page 50: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

PVS Screenshot

Return

Lee Pike et. al Formal Methods for SPIDER

Page 51: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

SAL Screenshot

Return

Lee Pike et. al Formal Methods for SPIDER

Page 52: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

SMART Screenshot

Return

Lee Pike et. al Formal Methods for SPIDER

Page 53: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

DRS Screenshot

Lee Pike et. al Formal Methods for SPIDER

Page 54: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

What are Formal Methods and Why Use Them?Tools of the TradeFormal Methods for SPIDER

How are Formal Methods Applied to the Design ofSPIDER?

I Theorem-Proving is used to specify and verifyfault-tolerant protocols.

I Model-checking is used to specify and verifyfault-tolerant protocols.

I Interactive compilation is used to derive hardware forindividual system nodes.

Lee Pike et. al Formal Methods for SPIDER

Page 55: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Ongoing Work in Formal Methods

I A fault-tolerance library for theorem-proving.

I Better abstractions for theorem-proving/model-checking.

I Formal methods tool integration.

I Technology transfer to government and industry.

Lee Pike et. al Formal Methods for SPIDER

Page 56: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Ongoing Work in Formal Methods

I A fault-tolerance library for theorem-proving.

I Better abstractions for theorem-proving/model-checking.

I Formal methods tool integration.

I Technology transfer to government and industry.

Lee Pike et. al Formal Methods for SPIDER

Page 57: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Ongoing Work in Formal Methods

I A fault-tolerance library for theorem-proving.

I Better abstractions for theorem-proving/model-checking.

I Formal methods tool integration.

I Technology transfer to government and industry.

Lee Pike et. al Formal Methods for SPIDER

Page 58: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Ongoing Work in Formal Methods

I A fault-tolerance library for theorem-proving.

I Better abstractions for theorem-proving/model-checking.

I Formal methods tool integration.

I Technology transfer to government and industry.

Lee Pike et. al Formal Methods for SPIDER

Page 59: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Summary

I Safety-critical systems are becoming more ubiquitous,integrated, and complex.

I Formal methods can greatly facilitate the design andvalidation of safety-critical systems.

I Formal methods are not a panacea, but they increase theassurance of correct design.

Lee Pike et. al Formal Methods for SPIDER

Page 60: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Summary

I Safety-critical systems are becoming more ubiquitous,integrated, and complex.

I Formal methods can greatly facilitate the design andvalidation of safety-critical systems.

I Formal methods are not a panacea, but they increase theassurance of correct design.

Lee Pike et. al Formal Methods for SPIDER

Page 61: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Summary

I Safety-critical systems are becoming more ubiquitous,integrated, and complex.

I Formal methods can greatly facilitate the design andvalidation of safety-critical systems.

I Formal methods are not a panacea, but they increase theassurance of correct design.

Lee Pike et. al Formal Methods for SPIDER

Page 62: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Resources

SPIDER Project

http://shemesh.larc.nasa.gov/fm/spider/Google: formal methods spider

NASA Langley Research Center Formal Methods Group

http://shemesh.larc.nasa.gov/fm/Google: nasa formal methods

Lee Pike et. al Formal Methods for SPIDER

Page 63: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Resources (Cont.)

Formal Methods Virtual Library

http://www.afm.sbu.ac.uk/Google: formal methods

Formal Methods and the Certification of Critical Systemsby John Rushby

http://www.csl.sri.com/papers/csl-93-7/Google: rushby certification formal methods

Lee Pike et. al Formal Methods for SPIDER

Page 64: Formal Methods for SPIDER - GitHub Pages › talks › spider_fm.pdf · 2020-04-27 · Outline Introduction Safety-Critical Systems Formal Methods Conclusion Formal Methods for SPIDER

OutlineIntroduction

Safety-Critical SystemsFormal Methods

Conclusion

Formal Methods Tool WebsitesPVS

http://pvs.csl.sri.com/Google: pvs sri

SAL

http://sal.csl.sri.com/Google: sal sri

SMART

http://www.cs.wm.edu/~ciardo/SMART/Google: smart model checking

DRS

http://www.derivation.com/Google: dsi derivation

Lee Pike et. al Formal Methods for SPIDER