400 likes | 547 Views
Beyond Regular Model Checking. By Prof. Dana Fisman and Prof. Amir Pnueli. Presented by Yanir Damti. State explosion problem Parameterized systems Variables over infinite range Symbolic model checking solves this problem by representing the model implicitly For example with BDDs.
E N D
Beyond RegularModel Checking By Prof. Dana Fisman and Prof. Amir Pnueli Presented by Yanir Damti
State explosion problem • Parameterized systems • Variables over infinite range • Symbolic model checking solves this problem by representing the model implicitly • For example with BDDs Background
Use {formal languages} for model representation • One established method is using Regular languages Verification and formal languages
“x is even”: This is a counter system. Sets of states are over alphabet , and the transition relation is over alphabet Regular model checking - Example
– Alphabet • – A language over the alphabet • We denote a word in : • Projection: • L - A language over • Lifting: Few Basic Definitions
Regular languages can be applied to several types of parameterized problems. • Many interesting parameterized systems cannot be represented by regular languages. • The Peterson mutual exclusion algorithm that we’ll see later. • We’ll see three methods using non-regular classes of languages. Non-Regular model checking
On one hand: On the other hand: Adequate for symbolic model checking More expressive than the regular languages Aim: Find a class of languages
Adequacy for Symbolic Model Checking Size of an adequate class of languages is bounded by a set of requirements.
The following languages describe a model: • - property to be verified • - set of initial states • - transition relation Next, we see an algorithm using them. General method for symbolic model checking
Complementation For repeat until return Lifting Equivalence Projection Emptiness Intersection Procedure Backward MC
For repeat until return • – property to be verified, – set of initial states, – transition relation • - classes of languages • We say are adequate for symbolic model checking if the requirements to follow hold. More accurately…
For repeat until return Requirements for Backward MC: • are adequate for representing respectively. • is closed under complementation. • is closed under lifting. • is closed under intersectionwith . • is closed under projection. • is closed under intersection with , and emptiness is decidable for . • Equivalence is decidable for two languages in . More accurately…
1 3 2 Define a new non-regular class of languages Initial states – non-regular, the rest – regulars Private case of 2 3 Methods
: natural initially • Number of processes • : array ofinitially • Array of priorities • : arrayof • Array of signatures The Peterson Algorithm for Mutual Exclusion
: Number of processes : Priorityarray : Signature array : integer : loop forever do : Non-Critical : fortodo : : await : Critical : Process : The Peterson Algorithm for Mutual Exclusion
1 Initial states – non-regular, the rest – regulars
Set of initial states Property to be verified, transition relation Regular language Context-free language 1 Main Principle
For repeat until return • We take to be the context-free languages class • We take and to be the regular languages class • The extra help from the context-free class will make Peterson’s algorithm verification possible. 1 Main Principle
1 Critical (priority still ) Priority (waiting processes) Representing Peterson’s System
Transition relation: Property’s negation: 1 Representing Peterson’s System
For repeat until return • We defined initial states as a context-free language. • We defined the transition relation and property with regular languages. We can model check with the Backward-MC algorithm 1 Goal: Show Mutual Exclusion
2 Define a new non regular class of languages
A DPDAis a tuple • – Input alphabet • – Set of states • - Initial state • – Stack alphabet • – Stack bottom symbol • – Transition relation: • – Set of accepting states 2 Reminder: Pushdown Automata
The class of languages accepted by pushdown automata is denoted: • We also denote the regulars as: 2 Pushdown Automata Language Class
We define an operation: • We take a specific 1DPDA: • We look at the set of all DPDA that is a result of the above operation on with some FA, : 2 DPDA with one state Main Principle
Let be a 1DPDA: • can be considered: • Let be a DFA: 2 Cascade Product
The cascade product is a DPDA: • The transition relation: 2 Cascade Product
Let be over alphabet , for some . • Let be a mapping from to . • The cascade product with respect to , : 2 Let’s complicate…
Let be as before. • Let be a DPDA: • If for some and some , then we say is . • We define the class of languages accepted by any DPDA: 2 Define a Class of Languages
For repeat until return We will show effective closure under: • Complementation • Lifting • Intersection with a regular language And we will also show: • Equivalence is effectively decidable • Emptinessis effectively decidable The hard part: showing closure under projection. 2 is Adequate for Symbolic Model Checking
Let • For simplification assume: • Input alphabet of A is • We compute the automaton of the projection of on the first coordinate: 2 Computing Projection
3 Special Case of Cascade Product
We consider the cascade product where: • does not look at the stack • To accepted a word, stack have to be emptied 3 Simple Product
Separate the DFA part of the representation so that projection can be computed only using the DFA. • If we can write where is regular and has certain properties, than we can use the following algorithm for model checking. 3 Main Principle
Original algorithm: For repeat until return For repeat until return 3 Modified Backward MC
For repeat until return • The computation of in both versions is identical. That is: Induction 3 Original algorithm The Main Claim
Definition: A language is left preserved by a bi-language if: • If and is left preserved by , than we can use the modified Forward MC 3 Preserved Language
is left preserved by We can use the modified Forward MC 3 Peterson example
Claim: • Proof: 3 Problem in the Claim
Definition: Fixing the Problem