1 / 9

Logic as a tool

Logic as a tool. Michael Huth. Logical Foundations of Programming. 2 nd year course (David Schmidt) Outcomes: ability to actively apply logical frameworks in modeling and reasoning about computer systems Prerequisites: high-school algebra, basic programming, exposure to loop-invariants.

taariq
Download Presentation

Logic as a tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logic as a tool Michael Huth Logic: tool-based modeling and reasoning

  2. Logical Foundations of Programming • 2nd year course (David Schmidt) • Outcomes: ability to actively apply logical frameworks in modeling and reasoning about computer systems • Prerequisites: high-school algebra, basic programming, exposure to loop-invariants Logic: tool-based modeling and reasoning

  3. Contents • Propositional logic: proofs, semantics, VAL algorithm • Predicate logic: syntax & proofs, quantifier equivalences, models • Model checking: CTL syntax & models, SMV, protocol design • Program verification: correctness proofs for core language Logic: tool-based modeling and reasoning

  4. Challenges • Justify use of logics as tools • Pattern matching is hard!? • Diversity of background • Class size: 60-75 and growing • Varying nomenclature in tools/texts • 12-15 weeks cannot achieve goals Logic: tool-based modeling and reasoning

  5. Opportunities • Algorithms and data structures • Language design and analysis • Compilers & flow analyses • Reactive & embedded systems • Software design validation • Project: mobile code security • Liability & responsibility Logic: tool-based modeling and reasoning

  6. Tool • Symbolic Model Verifier by K. L. McMillan & E. Clarke at CMU • Simple modular language for reactive systems (control) • Freely available for Unix and NT platforms • Logic text featuring SMV now available Logic: tool-based modeling and reasoning

  7. Reality • Too many competing needs • Use of tool SMV requires competency in formal modeling • Active skills confined to comprehension of existing models • Transfer from “logic” to tool language is non-trivial • Skills not re-used in curriculum Logic: tool-based modeling and reasoning

  8. Future • Better motivation of “tool-less” course components • Develop customized projects • Apply tool in team-driven projects • Use tools for software design: e.g. Alcoa/Alloy by Daniel Jackson & the MIT Software Design Group Logic: tool-based modeling and reasoning

  9. Links • Course home page at http://www.cis.ksu.edu/~huth/301/home.html • www tutor available at http://www.cis.ksu.edu/~huth/lics/tutor/index.html • Contact information: huth@cis.ksu.edu Logic: tool-based modeling and reasoning

More Related