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

of 64 /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

Embed Size (px)

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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

    http://shemesh.larc.nasa.gov/fm/spider/http://shemesh.larc.nasa.gov/fm/

  • 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

    http://www.afm.sbu.ac.uk/http://www.csl.sri.com/papers/csl-93-7/

  • 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

    http://pvs.csl.sri.com/http://sal.csl.sri.com/http://www.cs.wm.edu/~ciardo/SMART/http://www.derivation.com/

    OutlineIntroductionSafety-Critical SystemsOverviewSPIDER: A Fault-Tolerant Communications Bus

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

    Conclusion