An Automata-Based View on Configurability and Uncertainty Martin Berglund 1 and Ina Schaefer 2 pmberglund@sun.ac.za , i.schaefer@tu-braunschweig.de October 19, 2018 1 Centre for AI Research (CSIR), Dept. of Information Science, Stellenbosch U. 2 Inst. of Software Engineering and Automotive Informatics, TU Braunschweig
How did this come about? A sprawling conversation: algorithms to handle configurability with unknowns and unpredictable actors , with a known configuration space ??? �
The process Listen for and record instruction sequences of peer devices in network
The process Listen for and record Deduce probable instruction sequences of configurations peer devices in network of peer devices
The process Relating to the concept of configurability used in software product line eng. Configuration space possible Listen for and record Deduce probable instruction sequences of configurations peer devices in network of peer devices
The process Relating to the concept of configurability used in software product line eng. Configuration space possible Listen for and record Deduce probable instruction sequences of configurations peer devices in network of peer devices Feature selection probabilities Novel here
The process Relating to the concept of configurability used in software product line eng. Configuration space possible Attempt communication Listen for and record Deduce probable based on the features instruction sequences of configurations available in the deduced peer devices in network of peer devices configuration Feature selection probabilities Novel here
Going for a formalism Definition An extensible automaton A is a tuple A = ( B , ∆ , wt ) where • B = ( Q , Σ , q 0 , δ, F ) is a DFA, the base automaton, • ∆ ⊆ 2 Q × Σ × Q are the features and, • wt the weight function : dom ( wt ) = 2 ∆ , range totally ordered For each { δ 1 , · · · , δ n } ⊆ ∆ A + { δ 1 ,...,δ n } = ( Q , Σ , q 0 , δ ∪ δ 1 ∪ · · · ∪ δ n , F ) . is a realization of A . The weight of the realization is wt ( { δ 1 , . . . , δ n ). If A + δ 1 ,...,δ n is a DFA the realization is proper.
Going for a formalism Definition An extensible automaton A is a tuple A = ( B , ∆ , wt ) where • B = ( Q , Σ , q 0 , δ, F ) is a DFA, the base automaton, • ∆ ⊆ 2 Q × Σ × Q are the extension transition sets, and, • wt the weight function : dom ( wt ) = 2 ∆ , range totally ordered For each { δ 1 , · · · , δ n } ⊆ ∆ A + { δ 1 ,...,δ n } = ( Q , Σ , q 0 , δ ∪ δ 1 ∪ · · · ∪ δ n , F ) . is a realization of A . The weight of the realization is wt ( { δ 1 , . . . , δ n ). If A + δ 1 ,...,δ n is a DFA the realization is proper.
Going for a formalism Definition An extensible automaton A is a tuple A = ( B , ∆ , wt ) where • B = ( Q , Σ , q 0 , δ, F ) is a DFA, the base automaton, • ∆ ⊆ 2 Q × Σ × Q are the extension transition sets, and, • wt the weight function : dom ( wt ) = 2 ∆ , range totally ordered For each { δ 1 , · · · , δ n } ⊆ ∆ A + { δ 1 ,...,δ n } = ( Q , Σ , q 0 , δ ∪ δ 1 ∪ · · · ∪ δ n , F ) . is a realization of A . The weight of the realization is wt ( { δ 1 , . . . , δ n ). If A + δ 1 ,...,δ n is a DFA the realization is proper. Finite state? For tractability, makes sense for e.g. protocols wt may be a Boolean function (matching feature models ), or costs/probabilities. Here mostly just monotonic
An example Example feature model: the base functionality; “ read X ” to query the value X ; can be configured with the features: F1. Monitor, 10% less likely, permits: “ monitor X · get X · get X · · · · get X · unmonitor X ” F2. Logging, 50% less likely, permits: “ log-read X · read X ”, cannot be combined with F1 F3. Logging monitoring 30% less likely, permits: “ monitor X · get X · get X · · · · get X · unmonitor X ” and “ log-mon X · monitor X · get X · get X · · · get X · unmonitor X · log-unmon X ”, requires F2 Most likely for “ log-mon · monitor X · get X · unmonitor X · log-unmon ” is F2 and F3 for 35% chance
An example extensible automaton q 0 q 3 , 1 q 1 q 2 q 3 q 3 , 2 read X q 3 , 3 q f
An example extensible automaton q 0 monitor X q 3 , 1 q 1 q 2 q 3 q 3 , 2 get X read X δ F1 q 3 , 3 unmonitor X q f
An example extensible automaton log-mon X q 0 monitor X q 3 , 1 δ F2 monitor X log-read X q 1 q 2 q 3 q 3 , 2 get X read X read X δ F1 q 3 , 3 unmonitor X q f
An example extensible automaton log-mon X q 0 monitor X q 3 , 1 δ F2 monitor X monitor X log-read X q 1 q 2 q 3 q 3 , 2 get X get X get X read X unmonitor X unmonitor X read X δ F1 q 3 , 3 unmonitor X q f log-unmon X δ F3
An aside: weighted automata relation Weighted finite automata can (somewhat) describe extensible automata when • wt describes a product in some semiring (e.g. wt (∆ ′ ) = � δ ∈ ∆ ′ wt ( δ )); or; • wt ranges over a group, preserving its identity Then stratify the extensible automaton A into a WFA (but, exponential blowup , illustrative only for membership ): A + ∅ wt ( { δ 1 } ) wt ( { δ 3 } ) wt ( { δ 2 } ) A + { δ 1 } A + { δ 2 } A + { δ 3 } wt ( { δ 2 ,δ 3 } ) wt ( { δ 3 } ) wt ( { δ 1 ,δ 2 } ) wt ( { δ 2 ,δ 3 } ) wt ( { δ 1 ,δ 3 } ) wt ( { δ 1 } ) wt ( { δ 2 } ) wt ( { δ 3 } ) A + { δ 1 ,δ 2 } A + { δ 2 ,δ 3 } A + { δ 1 ,δ 3 }
Problems Definition An instance of the cost-constrained superset realization (CCSR) problem is a tuple ( L , ( A , ∆ , wt ) , c ) where • L is a language given as a DFA, • ( A , ∆ , wt ) is an extensible automaton, and • c ∈ range ( wt ), such that there exists a proper realization A +∆ ′ of A with L ⊆ L ( A +∆ ′ ) and a weight greater than or equal to c .
Problems Definition An instance of the cost-constrained superset realization (CCSR) problem is a tuple ( L , ( A , ∆ , wt ) , c ) where • L is a language given as a DFA, • ( A , ∆ , wt ) is an extensible automaton, and • c ∈ range ( wt ), such that there exists a proper realization A +∆ ′ of A with L ⊆ L ( A +∆ ′ ) and a weight greater than or equal to c . Definition An instance of CCSR where L is a singleton is an instance of the cost-constrained membership realization (CCMR) problem.
Hardness Lemma The CCRS and CCMR problems are NP-complete even for a constant wt. SAT reduction, variables x 1 , . . . , x n , clauses c 1 , . . . , c m , base automaton B : x 1 x 2 x 3 x n c 1 c 2 c 3 c m q f · · · · · · extensions s.t. a proper realization accepts a n + m iff c 1 ∧ · · · ∧ c m satisfiable. E.g. with literals x 1 ∈ c 2 , x 1 ∈ c 4 , ¬ x 2 ∈ c 1 and x n ∈ c 3 implies extensions δ x 1 , { c 2 , c 4 } , δ ¬ x 2 , { c 1 } and δ x n , { c 3 , c m } s.t. B + { δ x 1 , { c 2 , c 4 } ,δ ¬ x 2 , { c 1 } ,δ xn , { c 3 , cm } } is a a a a a a a a x 1 x 2 x 3 x n c 1 c 2 c 3 c 4 c 5 c m q f · · · · · · δ x 1 , { c 2 , c 4 } δ ¬ x 2 , { c 1 } δ ¬ x n , { c 3 , c m } With some node duplication and/or subset management taken into account.
Monotonic weights and bounded confusion depth Unfortunate but unsurprising, the case seems somewhat unrealistic however Definition The extension confusion depth of an extensible automaton A = (( Q , Σ , q 0 , δ, F ) , ∆ , wt ) is the smallest k ∈ N such that for all α 1 , . . . , α n ∈ Σ (for n ∈ N ) and q ∈ Q , we have |↓{ ∆ ′ ⊆ ∆ | q 0 α 1 → A +∆ ′ · · · α n − − → A +∆ ′ q }| ≤ k . where ↓ S ⊆ S are the minimal incomparable sets of the set of sets S A mouthful, summary: bound the number of mutually exclusive realizations make some state reachable on some string More premissive than the prefix ambiguity of A +∆
Recommend
More recommend