Logic: tool-based modeling and reasoning

Slides:



Advertisements
Similar presentations
Functional Decompositions for Hardware Verification With a few speculations on formal methods for embedded systems Ken McMillan.
Advertisements

Software Engineering Key construction decisions Design challenges.
Teaching Formal Methods for the Unconquered Territory Nestor Catano Madeira ITI, Portugal Camilo Rueda Pontificia Universidad Javeriana (PUJ), Cali, Colombia.
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
An Abstract Interpretation Framework for Refactoring P. Cousot, NYU, ENS, CNRS, INRIA R. Cousot, ENS, CNRS, INRIA F. Logozzo, M. Barnett, Microsoft Research.
Semantics Static semantics Dynamic semantics attribute grammars
Agents That Reason Logically Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2004.
David Evans CS655: Programming Languages University of Virginia Computer Science Lecture 19: Minding Ps & Qs: Axiomatic.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
CSEP590 – Model Checking and Software Verification University of Washington Department of Computer Science and Engineering Summer 2003.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Chess Review October 4, 2006 Alexandria, VA Embedded Systems Education: Vanderbilt Edited and Presented by Janos Sztipanovits ISIS, Vanderbilt University.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Principles of Procedural Programming
Mathematics throughout the CS Curriculum Support by NSF #
Jason Hallstrom (Clemson), Joan Krone (Denison), Joseph E. Hollingsworth (IU Southeast), and Murali Sitaraman(Clemson) This workshop is funded in part.
Business Driven Technology Unit 4
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Software.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Invariant Based Programming in Education Tutorial, FM’08 Linda Mannila
PTLLS – Embedding Literacy, language & numeracy Week 4.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Computer Science 101 Preparing programmers to be architects Michael Huth, Computing, Imperial College.
Computer-Aided Verification 計算機輔助驗證 (Spring 2006) 熊博安 國立中正大學資訊工程研究所
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
An overview of Coq Xinyu Feng USTC Erasmus Mundus NordSecMob Scholar at DTU.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs By Koen Claessen, Juhn Hughes ME: Mike Izbicki.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Lightweight Support for Magic Wands in an Automatic Verifier Malte Schwerhoff and Alexander J. Summers 10 th July 2015, ECOOP, Prague.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS223: Software Engineering
Formal Methods: for All or for Chosen? Victor Kuliamin 1 Vitaliy Omelchenko 1 Olga Petrenko 2 1 Institute for System Programming 2 Institute of Open Education.
URL: by Wishnu Prasetya Course on Program Verification 2015/2016.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
CS 5150 Software Engineering Lecture 21 Reliability 2.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
CPSC 121: Models of Computation REVIEW. Course Learning Outcomes You should be able to: – model important problems so that they are easier to discuss,
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
GCSE Computer Science Content Overview
SDN Network Updates Minimum updates within a single switch
Mechanical Certification of Loop Pipelining Transformations: A Preview
Types for Programs and Proofs
Lexical and Syntax Analysis
Matching Logic An Alternative to Hoare/Floyd Logic
CIS 842: Specification and Verification of Reactive Systems
Leap Frog Fractions 4th Grade
COMPUTING BTEC LEVEL /17.
CSIS 1117A Computer Programming (C++)
Introduction CSE 1310 – Introduction to Computers and Programming
CMPE419 Mobile Application Development
Programming Goals CSCE 121 J. Michael Moore.
Embedding Foundation Skills in ACE Course Activities
IS 2935: Developing Secure Systems
Programming Languages 2nd edition Tucker and Noonan
Computer-Aided Verification 計算機輔助驗證 (Spring 2004)
CMPE419 Mobile Application Development
Programming Languages 2nd edition Tucker and Noonan
An overview of Coq.
Presentation transcript:

Logic: tool-based modeling and reasoning Logic as a tool Michael Huth 2/26/2019 Logic: tool-based modeling and reasoning

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 2/26/2019 Logic: tool-based modeling and reasoning

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning

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

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning

Logic: tool-based modeling and reasoning 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 2/26/2019 Logic: tool-based modeling and reasoning