Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Metodi formali dello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
BDDs & Theorem Proving Binary Decision Diagrams Dr. Eng. Amr T. Abdel-Hamid NETW 703 Winter 2012 Network Protocols Lectures are based on slides by: K.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
Model Checking I What are LTL and CTL?. and or dreq q0 dack q0bar.
CS6133 Software Specification and Verification
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 16, 2003.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Linear and Branching Time Safety, Liveness, and Fairness
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
B. Alizadeh Advanced Logic Design (2008) 1 / 55 Decision Diagrams.
Binary Decision Diagrams (BDDs)
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Survey on Trace Analyzer (2) Hong, Shin /34Survey on Trace Analyzer (2) KAIST.
Algorithmic Software Verification V &VI. Binary decision diagrams.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Verification & Validation By: Amir Masoud Gharehbaghi
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
How CTL model checking works
Basic concepts of Model Checking
CTL model checking algorithms
Planning as model checking, (OBDDs)
SS 2017 Software Verification CTL model checking, BDDs
Binary Decision Diagrams
Automatic Verification of Industrial Designs
Chapter 4: Model Checking of Finite State Systems
Albert M. K. Cheng Real-Time Systems Laboratory University of Houston
Formal Methods in software development
CSCI1600: Embedded and Real Time Software
Discrete Controller Synthesis
Binary Decision Diagrams
Example: Verification
Formal Methods in software development
10 Design Verification and Test
Real-Time Systems, COSC , Lecture 18
Presentation transcript:

Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova

1. Introduction 2. Explicit Model Checking 3. Temporal Logic 4. Symbolic Model Checking 5. Binary Decision Diagrams 6. Planning for Reachability Goals Outline

„ Model Checking is an automatic technique for verifying correctness properties of safety-critical reactive systems “ 1. Introduction Classical planningPlanning under uncertainty DeterminismNondeterminsm Full observabilityPartial observability Reachability goalsExtended Goals 2 kinds of correctness properties: Safety Liveness

State space: a system, implemented as Kripke Structure Verification: build a computation tree for all possible paths within a System 2. Explicit Model Checking

green signal Warning system for planes signal, evasion recommendation

Properties to be checked must be formalized in a temporal logic. A temporal logic provides operators which represent time dependences. Operators: F (in the future), X (next time), G (globaly) Path quantifiers: A (always), E (exist) CTL (Computation Tree Logic) – branching time. LTL (Linear-Time Temporal Logic) – linear time. Validity of LTL and CTL formulas: Model Checking Algorithms. 3. Temporal Logic

Examples: φφ φ LTL formula: F φ CTL formula: AX φ ……………………. ……..

Faces the state explosion problem of explicit state Model Checking. Exploring sets of states, rather than single states. In order to represent a model checking problem symbolically, we need to represent symbolically: 4. Symbolic Model Checking the sets of states of a Kripke Structure, its transition relation, and the model checking algorithms.

Symbolic Representation of Sets of States: A vector x of Boolean variables where each variable corresponds to a an atomic propostion in P. x = { green, signal, evasiion recommendation} A state s is represented with a formula ξ(s) on the propositions: ξ(s o ) = green, ¬signal, ¬evasion recommendation ξ(s 1 ) = ¬green, signal, ¬evasion recommendation ξ(s 2 ) = ¬green, signal, evasion recommendation 4. Symbolic Model Checking A set of states QS represented symbolically as: 

Symbolic Representation of Transition Relations A vector of state variables x = and a further vector of next state variables x‘ = x‘ = { green’, signal’, evasion recommendation’} A transition ξ( ) encoded as: ξ( ) = ξ( ), ξ‘( ) ξ( ) = (green, ¬signal, ¬evasion recommendation), (¬green‘, signal’, ¬evasion recommendation’) Transition relation R represented symbolically as: ξ(R) = V ξ(r) ξ(R) = V ξ(r) 4. Symbolic Model Checking r є R

Symbolic Representation of Model Checking Algorithms Replace each function call with the symbolic counterpart. Cast the operations on sets into the corresponding operations on propositional formulas. 4. Symbolic Model Checking

An efficient approach for manipulation of Boolean formualas. A binary decision diagram represents a Boolean function as rooted, directed acyclic graph. Each nonterminal vertex v is labeled by a variable var(v) and has ars directed toward two children: lo(v) and hi(v). In the first case the variable is assigned 0(- - -) and in the second 1( ). Each terminal vertex is labeled 0 or 1 A Boolean function may be represented by a truth table, binary decision tree etc. A tree is said to be ordered if the variables always occur in the same order along any path from root to leaf. 5.Binary Decision Diagrams

Truth Table and Decision Tree Representations of a Boolean Function. A dashed (solid) tree branch denotes the case where the decision variable is 0 (1). Example:

Reduction of decision tree to OBDD 1. Remove Duplicate Terminals: Eliminate all but one terminal vertex with a given label and redirect all arcs into the eliminated vertices to the remaining one. 2. Remove Duplicate Nonterminals: If nonterminal vertices u and v have var(u)=var(v), lo(u)=lo(v), and hi(u)=hi(v), then eliminate one of the two vertices and redirect all incoming arcs to the other vertex. 3. Remove Redundant Tests: If nonterminal vertex v has lo(v)=hi(v), then eliminate v and redirect all incoming arcs to lo(v). 5.Binary Decision Diagrams

Applying the three reduction rules to the tree of the last example yields the canonical representation of the function as an OBDD.

Rechability goals: Goals are sets of states, i.e., the objective is to build a plan that leads to one of the goal states. A planning domain is a nondeterministic state-transition system Σ= (S, A,  ), where: S is a finite set of states A is a finite set of actions  : S  A  2 s is the state-transition function. 6. Planning for Reachability Goals

Example: nondeteministic state-transition system for a simplified DWR (dock-worker-robots) domain

6. Planning for Reachability Goals A plan is a policy, i.e. a function that maps states into actions. A policy π for a planning domain Σ= (S, A,  ) is a set of pairs (s, a) such that (s, a) є A(s). π1 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4))} π2 = {(s1, move(r1,l1,l2)), (s2, move(r1,l2,l3)), (s3, move(r1,l3,l4)), (s5, move(r1,l3,l4))} π3 = {(s1, move(r1,l1,l4))} Policies for the domain in the previous examle:

We represent the execution of a policy in a planning domain with an execution structure, i.e., a directed graph in which the nodes are all of the states of the domain that can be reached by executing actions in the policy, and the arcs represent possible state transitions caused by actions in the policy. 6. Planning for Reachability Goals π1π1 π2π2 π3π3

A planning problem is a triple (Σ, S o, S g ), where Σ= (S, A,  ) is a planning domain, S o  S is a set of initial states, and S g  S is a set of goal states. Types of solutions for a planning problem: weak solutions strong solutions strong cyclic solutions Planning algorithms – designed to work on sets of states, thus taking advantage of the BDD-based symbolic Model Checking. 6. Planning for Reachability Goals

Thank you for your attention!