ECE/CS 584: Verification of Embedded Computing Systems

Slides:



Advertisements
Similar presentations
1 First order theories (Chapter 1, Sections 1.4 – 1.5)
Advertisements

Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Timed Automata.
Introduction to Uppaal ITV Multiprogramming & Real-Time Systems Anders P. Ravn Aalborg University May 2009.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
AI - Week 13 Knowledge Representation, Logic, Semantic Web Lee McCluskey, room 2/07
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
Computability and Complexity 8-1 Computability and Complexity Andrei Bulatov Logic Reminder.
1 2. Constraint Databases Next level of data abstraction: Constraint level – finitely represents by constraints the logical level.
Knowledge Representation using First-Order Logic (Part II) Reading: Chapter 8, First lecture slides read: Second lecture slides read:
Predicate Calculus.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
ECE/CS 584: Hybrid Automaton Modeling Framework Executions, Reach set, Invariance Lecture 03 Sayan Mitra.
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
1st-order Predicate Logic (FOL)
LDK R Logics for Data and Knowledge Representation First Order Logics (FOL) Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Lecture #5 Properties of hybrid systems João P. Hespanha University of California at Santa Barbara Hybrid Control and Switched Systems.
ECE/CS 584: PVS Tutorial Part 1 Lecture 05 Sayan Mitra 1.
Introduction to Quantification Chapter 9 Language, Proof and Logic.
ARTIFICIAL INTELLIGENCE Lecture 3 Predicate Calculus.
Timed I/O Automata: A Mathematical Framework for Modeling and Analyzing Real-Time Systems Frits Vaandrager, University of Nijmegen joint work with Dilsun.
LDK R Logics for Data and Knowledge Representation PL of Classes.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Logics for Data and Knowledge Representation ClassL (part 1): syntax and semantics.
Bertram Ludäscher Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
ECE/CS 584: Hybrid Automaton Modeling Framework Invariance, Abstractions, Simulation Lecture 04 Sayan Mitra.
CS6133 Software Specification and Verification
LDK R Logics for Data and Knowledge Representation First Order Logics (FOL) Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Ukrprog Formal requirement language and its applications A.Letichevsky Glushkov Institute of Cybernetics.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Web Science & Technologies University of Koblenz ▪ Landau, Germany Models in First Order Logics.
Semantics of Predicate Calculus For the propositional calculus, an interpretation was simply an assignment of truth values to the proposition letters of.
Computing & Information Sciences Kansas State University Lecture 12 of 42 CIS 530 / 730 Artificial Intelligence Lecture 12 of 42 William H. Hsu Department.
LDK R Logics for Data and Knowledge Representation Propositional Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
First-Order Logic Semantics Reading: Chapter 8, , FOL Syntax and Semantics read: FOL Knowledge Engineering read: FOL.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Lecture 041 Predicate Calculus Learning outcomes Students are able to: 1. Evaluate predicate 2. Translate predicate into human language and vice versa.
Logics for Data and Knowledge Representation ClassL (part 1): syntax and semantics.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Propositional Logic (a.k.a. Sentential Logic)
Quick Course Overview Quick review of logic and computational problems
Logics for Data and Knowledge Representation
Notes 8: Predicate logic and inference
Semantics In propositional logic, we associate atoms with propositions about the world. We specify the semantics of our logic, giving it a “meaning”. Such.
Lecture 2 Propositional Logic
CS201: Data Structures and Discrete Mathematics I
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Lesson 5 Relations, mappings, countable and uncountable sets
ECE/CS 584: Hybrid Automaton Modeling Framework Simulations and Composition Lecture 05 Sayan Mitra.
Logics for Data and Knowledge Representation
Formal Methods in software development
1st-order Predicate Logic (FOL)
Lesson 5 Relations, mappings, countable and uncountable sets
Logics for Data and Knowledge Representation
CS 188: Artificial Intelligence
Formal Methods in software development
Logics for Data and Knowledge Representation
CS201: Data Structures and Discrete Mathematics I
Chapter 2: Analysis and Verification of Non-Real-Time Systems
Instructor: Aaron Roth
1st-order Predicate Logic (FOL)
Logics for Data and Knowledge Representation
Presentation transcript:

ECE/CS 584: Verification of Embedded Computing Systems Lecture 02 Sayan Mitra

Propositional Logic Summary Syntax (rules for constructing well formed sentences) Countable set of (atomic) propositions PS: P1, P2, P3, … S = True | 𝑝 1 ¬ 𝑆 1 𝑆 1 ⋀ 𝑆 2 | (S1) Semantics defines a truth value functions or valuations v that maps each proposition PS to a truth value (T or F), v: PS {T, F} and by extension a valuation v’:PROPS{T,F} A proposition A is valid v’(A) = T for all valuations v. A is also called a tautology A proposition is satisfiable if there is a valuation (or truth assignment) v such that v(A) = T. Checking (un)satisfiability is called boolean satisfiability problem (SAT). SAT is (decidable) NP-complete problem

Predicate Logic or First Order Logic Syntax defined by a signature of predicate & function symbols Variables Predicate symbols with some valence or arity a is predicate of 0-arity, like propositions P(x) is a predicate of 1-arity Q(x,y) is a predicate of 2-arity Function symbols of some valence, Function symbols of 0 arity are called constants f(x) is a function of arity 1, e.g., -x A term t ::= x | f(t1,t2,t3,…), where t1, t2, t3, … are terms A formula 𝜑 ::= a | P(x) | Q(x,y) | t1 = t2 |¬𝜑 | (𝜑1 ⇒𝜑2) | … | … | ∀𝑥𝜑 | ∃𝑥𝜑 Example of Well Formed Formula ∃𝑥 𝑃 𝑥 ,∀x∀y(E(x, y) ⇒ E(y, x)), ∀𝑥 𝑦 𝑄 𝑥,𝑓 𝑦 ≡𝑄(𝑓(𝑦),𝑥) Bounded and unbounded variables, closed formulas Can encode, real arithmetic with addition Prsberger, graph theory, groups, abstract algebras.

Semantics An interpretation or a model M of a FOL formula assigns meaning to all the non-logical symbols and a domain for the variables (i.e., the variables, the predicate symbols, and the function symbols) D: Domain of discourse For each variable x, a valuation v(x) gives a value in D Each function symbol f of arity n is assigned a function Dn  D Each predicate symbol P of atity n is assigned a predicate Dn  {T, F} If formula 𝜑 evaluates to T with model M, then we say M satisfies 𝜑, M ⊨𝜑and 𝜑 is said to be satisfiable 𝜑 is valid if it is true for every interpretation

Example (Un)Decidable Classes Prefix # of n-ary predicate symbols # of n-ary function symbols With Equality Name ∀∃∀ ω, 1 N Kahr 1962 ∀3∃ Suranyi 1959 ∀*∃ 0,1 Kalmar-Suranyi 1950 ∀∃∀∃* Gurevich 1966 ∀ 2 Y Gurevich 1976 0, 1 ∀2∃ Goldfarb 1984 ∃*∀* all Ramsey 1930 ∃*∀∃* Maslov-Orevkov 1972 ∃* ω Lob 1967 Undecidable Decidable

Theory of Time Input/Output Automata Lecture 02 Sayan Mitra

Roadmap Syntax Semantics Abstraction, Implementation Simulations Composition Substitutivity

Variables and Valuations A variable x is a name for a state component type(x) A set of variables X A valuation for X maps each x ∈𝑋 to an element in type(x) 𝑣𝑎𝑙(𝑋): set of all valuations of X x:ℝ color:{R,G,B} clock: ℝ ≥0 X = {x,color,clock} x = <x  5.5, color G, clock  12> y = <x  7.90, color G, clock  1> x.color = G, x.x = 5.5, y.x = 7.90

Trajectories Time = ℝ ≥0 Time interval = [a,b] A trajectory for X is a function 𝜏: 0,𝑡 →𝑣𝑎𝑙 𝑋 , where [0,t] is an interval 𝜏.𝑑𝑜𝑚=[0,𝑡] x is continuous (or analog) if all its trajectories are piecewise continuous Discrete if they are piecewise constant Notations: 𝜏.fstate, 𝜏.lstate, 𝜏.x, 𝜏.X Prefix, suffix, concatenation

Hybrid Automata (a.k.a Timed Automata Kaynar, et al. 2005) 𝓐= 𝑋,𝑄,Θ,𝐸,𝐻,𝒟,𝒯 𝑋: set of internal variables 𝑄⊆𝑣𝑎𝑙(𝑋) set of states Θ⊆𝑄 set of start states E,H sets of internal and external actions, A= E ∪ H 𝒟 ⊆𝑄×𝐴×𝑄 𝒯: set of trajectories for X which is closed under prefix, suffix, and concatenation Pick a couple of nice examples

Bouncing Ball bounce x = 0 /\ v < 0 v’ := -cv Automaton Bouncingball(c,h,g) variables: analog x: Reals := h, v: Reals := 0 states: True actions: external bounce transitions: bounce pre x = 0 /\ v < 0 eff v := -cv trajectories: evolve d(x) = v; d(v) = -g invariant 𝒙≥𝟎 Loc 1 𝑑 𝑥 =𝑣 𝑑 𝑣 =−𝑔 𝒙≥𝟎 x:= h Graphical Representation used in many articles TIOA Specification Language (close to PHAVer & UPPAAL’s language)

Trajectory Semantics