130 likes | 347 Views
Plan. 1st Lesson: Systems Lacking Specification 2nd Lesson: Controlling the State Space 3rd Lesson: Integrating Expert Knowledge 4th Lesson: Validation and Diagnosis Model Checking Validation of Foldings Error Diagnosis 5th Lesson: Perspectives. Education. Model Checking...
E N D
Plan • 1st Lesson:Systems Lacking Specification • 2nd Lesson: Controlling the State Space • 3rd Lesson: Integrating Expert Knowledge • 4th Lesson: Validation and Diagnosis • Model Checking • Validation of Foldings • Error Diagnosis • 5th Lesson: Perspectives
Education Model Checking... is to check whether a semantical structure satisfies a logical formula S i.e. whether the structure is a model for the formula.
& Temporal Logic • some regular properties • mainly bounding behavior from above • decidable satisfiability problem • Examples: • AG ~c : never c • AFb : finally b • ASU ( a |b , c ) : (a or b) until c The World of Model Checking Automata • Mainly: • finitely many states • finite alphabet • nondeterministic • infinite runs a b a c c b
!Nondeterminism! Automaton Behavior The automaton a a b a b c a b c c b c a c unfolds into a tree : b
AF AWU (,) Correct Behavior Incorrect Behavior Logic Interpretation AG Specification
The Algorithmics of Model Checking Model-check problems are closely related to graph problems: AF : M_0 := [ ] M_i+1 := M_i {s|t. sttM_i} M_ = [AF ] AG : a reachability problem M_0 := [] M_i+1 := M_i \{s|tM_i. st} M_ = [AG]
Structures: Logic: Model Checking Service Logic Graphs Control view of Service Logic Graphs, i.e.: • SIBs as states • Edges as transitions • SIB names as observations (automaton alphabet) • SIB parameters as additional observations Full mu-calculus • universal and existential specifications • forward and backward modalities • first order extensions referencing SIB parameters
Model Checking:Example 1 • start • startTestCase • upnOffHook • upnCheckDisplay • passed • upnOnHook • end
Counter example Model Checking: Example 1 • start • startTestCase • upnOffHook start => AF(passed failed) • upnCheckDisplay • passed • upnOnHook • end
start • startTestCase • upnOffHook • upnCheckDisplay • failed • end • passed • upnCheckLed • passed • end • failed • end Model Checking: Example 2
start • startTestCase • upnOffHook • upnCheckDisplay • failed • end • passed Counter example • upnCheckLed • passed • end • failed • end Model Checking: Example 2 (passed failed) => AX AG(passed & failed)
Model Checking: Example 3 n. upnOffHook(n) AFupnOnHook(n) • start • startTestCase • upnOffHook_DevB • upnCheckDisplay_DevB • passed • failed • upnOnHook_DevA • end
upnOffHook_DevB AFupnOnHook_DevB & upnOffHook_DevA AFupnOnHook_DevA Model Checking: Example 3 • start • startTestCase n. upnOffHook(n) AFupnOnHook(n) • upnOffHook_DevB • upnCheckDisplay_DevB • passed • failed • upnOnHook_DevA • end