160 likes | 336 Views
Hybrid Approach to Model-Checking of Timed Automata. DAT4 Project Proposal Supervisor: Alexandre David. What is Model-Checking?. Idea: You define a model in a given formalism/language (TA). You give specifications in the form of formulas in a given logic (TCTL) .
E N D
Hybrid Approach toModel-Checking ofTimed Automata DAT4 Project Proposal Supervisor: Alexandre David
What is Model-Checking? • Idea: • You define a model in a given formalism/language (TA). • You give specifications in the form of formulas in a given logic (TCTL). • … in a tool(UPPAAL). • You press a button and: • Yes, properties are satisfied (and why). • No, properties are not satisfied (and why).
What is UPPAAL? • Tool developed between Uppsala University and Aalborg University. • Model-checker for Timed Automata. • It has a graphical interface to draw the TA = state machines with clock constraints.
UPPAAL • The GUI (java): • Editor. • Simulator. • Verifier. • The server (C++): • Verification engine (model-checker).
Timed Automata in a Nutshell! Closed system Lamp push? Off push? push? x=0 controller x<=5 Low High x>5 push? User environment push !
TA in UPPAAL • Templates to define processes. • Parameters. • States have invariants (progress). • Access to integer variables and C-like functions and syntax.
So What’s The Problem? • Model-checking here: • Enumerate all the possible states = • State-space exploration (enumerative!). • But… size of the state-space = • # of locations in every process * • # of possible values for every variable * • # of different (not included) zones. • And that’s not good!Known as state-space explosion.
Zones • Symbolic representation of clock constraints = difference bound matrices (DBMs). • Size = (clocks+1)2, # of zones?
Example • Size of the state-space is approximately • 4*4*4*4*4 (=210) * • 2 (1 binary variable) * • # of zones for 5 clocks (DBM 6x6) in this model ~ 4 possible values/clock to simplify = 210= 221 states! • Memory: 5+1+36 integers per state = 168 bytes -> 336MB. • Add 1 process: *4*4…
Don’t Panic! • All the states are not reachable! • Synchronizations and conditions between processes. • The system implements some logic, it does not generate everything… but we still have the explosion.
What’s The Project? Initial state Find a path But how? Breadth first search. Goal state Big fat state-space
Project Idea • Help the search by pruning the state-space! • Cheap backward reachability with an over-approximation. • Use the result to prune the search forward!
The Idea! Initial state Pruned! Goal state Big fat state-space
Hybrid Approach • Use a backward search with an approximation technique (BDD or whatever). • Use the forward exact search and pruning.