Maik Merten, learning technology 1
A practical introduction to active automata learning
SFM2011
Bernhard Steffen, Falk Howar, Maik Merten TU Dortmund
A practical introduction to active automata learning Bernhard - - PowerPoint PPT Presentation
A practical introduction to active automata learning Bernhard Steffen, Falk Howar, Maik Merten TU Dortmund SFM2011 Maik Merten, learning technology 1 Overview Motivation Introduction to active automata learning Practical aspects in
Maik Merten, learning technology 1
Bernhard Steffen, Falk Howar, Maik Merten TU Dortmund
learner connector try to use
inform about new service and device interrogate interrogate learn look for known models some service CONNECT environment
WP4 Learning Enabler
Rich & abstract models:
variables
Interface descriptions Semantic information on
Metrics of interest Counterexamples through monitoring
Mealy machine M=(S,, ,,)
S finite set of states finite input-alphabet finite output-alphabet : (S x ) → S transition-function : (S x ) → output-function
:(S x *) → S, (s,)=s, (s,aw) =((s,a),w) : (S x *) → *, (s,)=, (s,aw) = (s,a).((s,a),w)
tape-record communication Create observation tree Construct automaton without contradiction
a/0 a/1 b/1 a/0 b/0 a/0 b/1 a/0 b/0 b/1 b/0 a/0 a/0 b/1 a/1 b/0 b/1 a/0 a/0 b/0 b/0 a/0
a/0 a/1 b/1 a/0 b/0 a/0 b/1 a/0 b/0 b/1 b/0 a/0 "equivalent" states (no contradiction) a/0 b/1 a/1 b/0 b/1 a/0 a/0 b/0 b/0 a/0
a/0 a/1 b/1 a/0 b/0 a/0 b/1 a/0 b/0 b/1 b/0 a/0
a/0 a/1 b/1 a/0 b/0 a/0 b/1 a/0 b/0 b/1 b/0 a/0 a/0 a/1 b/1 b/0 b/0 a/0
The relation "not in conflict" is very weak:
Reflexive, symmetric, but not transitive! `Not in conflict´ clusters typically overlap The relation contain various eqivalence relations Computing the best choice of equivalence is: Expensive for criteria like state minimality Impossible in terms of adequacy for the problem.
Membership Queries: Check the reaction of the
Equivalence Queries: Check for equivalence with
Learner MQ-Oracle EQ-Oracle Σ={a,b} a L? no ? no, bb L!
a a a a b b b b a a,b b
Initialize
state cover set
extensions SA distingushing set
1 1 1 1
Unclosure:
Unclosure:
Conjecture: Unique rows in S become
Rows in S and SA
Counterexample:
Counterexample:
Insert all prefixes of the
Extend SA accordingly
Inconsistency: Equal rows in upper
00 00 00
Inconsistency: Equal rows in upper
b and bbb differ, e.g.,
Inconsistencies lead
Systematic completition of the observation table New states arise as targets of transitions or from
Closure procedure extends SA Consistency is enforced by enlarging the
All hypothesis models are
totally defined: each input is considered at each state, input deterministic: there is only one transition per input at
each state,
transition covered: each transition lies on a path of the original
system,
state minimal: two different states in a hypothesis model
always have a separating future – á la Nerode).
Corollary: Hypothesis automata have at most as
Equivalence Queries At most |Q| Membership Queries At most O(m |Q| |ΣA| ) per EQ (m = length of max. counter example)
High Computational Complexity Even worse: equivalence queries in general
Active automata learning always remains at the level
neither correct nor complete
39
All prefixes of counterexample …
Equivalence Queries At most |Q| Membership Queries for guaranteed progress after Eqs At most O( log2(m) + |ΣA| |Q|) per EQ (m = length of max. counter example)
All rows are filled completely, even if unnecessary
non uniform suffix classifying output
49
ZULU Problem 49763507
56
Behavioral models
Test-driver
<presence type=… /> <iq type= “result“ /> Available OK
reset interfacing real systems:
equivalence queries membership queries
Interface description etc.
58
query c A true M2 Ai
L*
query: string s
s M1 P
conjecture: Ai
Ai M1 P
false+crex c c A c A (simulate s on M1 || Perr) (model check) (model check) false+crex c true / false true P satisfied P violated true false
60
Submit Report
DB
Jboss
Tomcat JEE JMS ECA Work- flows
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
First Hypothesis
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
permissions
(roll back in case of error)
successful and failed execution
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
Resets necessary
Queries 9 to 20 will be ‘pumped’, e.g.
already known
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
(DD) does not change a system state
to be executed Failure invariance + invariant input symbol DD. indicates allowed outputs.
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
knowledge
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
MQs = Resets + Reuses + Pumped
Bernhard Steffen | EternalS' 2011 @ Budapest, HU
Accumulated reset time is highly optimistic!
SP: Submit Paper UD: Upload Document IS: Interrupt Submission IU: Interrupt Upload RS: Restart Submission RU: Restart Upload
Bern hard Steff