Composition of ConGolog Programs Sebastian Sardina 1 Giuseppe De Giacomo 2 1 Department of Computer Science and Information Technology RMIT University, Melbourne, AUSTRALIA 2 Dipartimento di Informatica e Sistemistica “Antonio Ruberti” Sapienza Universita’ di Roma, Rome, ITALY 1 / 18
Behavior Composition: The Basic Idea ... Environment (description of actions; prec. & effects) Available Behaviors (description of the behavior of available agents/devices) 2 / 18
Behavior Composition: The Basic Idea ... Environment (description of actions; prec. & effects) Target Behavior (desired behavior) Available Behaviors (description of the behavior of available agents/devices) 2 / 18
Behavior Composition: The Basic Idea ... Environment (description of actions; prec. & effects) Controller Target Behavior (desired behavior) Available Behaviors (description of the behavior of available agents/devices) 2 / 18
Behavior Composition: The Basic Idea ... Environment (description of actions; prec. & effects) Controller Target Behavior (desired behavior) Available Behaviors (description of the behavior of available agents/devices) 2 / 18
Behavior Composition: The Basic Idea ... Environment (description of actions; prec. & effects) Now with Controller unbounded Target Behavior (desired behavior) data! Available Behaviors (description of the behavior of available agents/devices) 2 / 18
The ConGolog Composition Problem Given: 1 An action theory D ; 2 n available programs δ 1 , . . . , δ n ; 3 a target program δ t . 3 / 18
The ConGolog Composition Problem Given: 1 An action theory D ; 2 n available programs δ 1 , . . . , δ n ; 3 a target program δ t . Task: find an orchestrator/delegator that coordinates the concurrent execution of the available programs so as to mimic/realize the target program. 3 / 18
The ConGolog Composition Problem Given: 1 An action theory D ; 2 n available programs δ 1 , . . . , δ n ; 3 a target program δ t . Task: find an orchestrator/delegator that coordinates the concurrent execution of the available programs so as to mimic/realize the target program. agent/plan coordination, virtual agents; web-service composition; composition of business processes 3 / 18
The ConGolog Composition Problem Given: 1 An action theory D ; 2 n available programs δ 1 , . . . , δ n ; 3 a target program δ t . Task: find an orchestrator/delegator that coordinates the concurrent execution of the available programs so as to mimic/realize the target program. agent/plan coordination, virtual agents; web-service composition; composition of business processes Notable features: • Programs may include non-deterministic points & may not terminate . • Domain may be infinite . • Programs may go over infinite states . 3 / 18
Controller for a Music Jukebox while True do { if ( ¬ Playing ∧ ( ∃ song ) Pending ( song )) then ( π song , disk ) . { ( Pending ( song ) ∧ InDisk ( song , disk ))?; select ( song ); load ( disk ); play ( song ) } else wait } 4 / 18
Controller for a Music Jukebox while True do { if ( ¬ Playing ∧ ( ∃ song ) Pending ( song )) then ( π song , disk ) . { ( Pending ( song ) ∧ InDisk ( song , disk ))?; select ( song ); load ( disk ); play ( song ) } else wait } • Domain tests relative to an action theory. 4 / 18
Controller for a Music Jukebox while True do { if ( ¬ Playing ∧ ( ∃ song ) Pending ( song )) then ( π song , disk ) . { ( Pending ( song ) ∧ InDisk ( song , disk ))?; select ( song ); load ( disk ); play ( song ) } else wait } • Domain tests relative to an action theory. • Domain actions. 4 / 18
Controller for a Music Jukebox while True do { if ( ¬ Playing ∧ ( ∃ song ) Pending ( song )) then ( π song , disk ) . { ( Pending ( song ) ∧ InDisk ( song , disk ))?; select ( song ); load ( disk ); play ( song ) } else wait } • Domain tests relative to an action theory. • Domain actions. • Nondeterministic features. 4 / 18
Semantics for High-Level Programs In terms of two predicates: 1 Trans ( δ, s , δ ′ , s ′ ): program δ can evolve one step from situation s to situation s ′ with remaining program δ ′ . Trans ( δ 1 ; δ 2 , s , δ ′ , s ′ ) ≡ 1 , s ′ ) ∧ δ ′ = δ ′ Trans ( δ 1 , s , δ ′ 1 ; δ 2 ∨ Final ( δ 1 , s ) ∧ Trans ( δ 2 , s , δ ′ , s ′ ) . 2 Final ( δ, s ): program δ may terminate successfully in s . Final ( δ 1 ; δ 2 , s ) ≡ Final ( δ 1 , s ) ∧ Final ( δ 2 , s ) 5 / 18
Formalizing the Composition Problem: Simulation Informally: System S simulates system T if S can “match” all T’s moves, forever. 6 / 18
Formalizing the Composition Problem: Simulation Informally: System S simulates system T if S can “match” all T’s moves, forever. Formally [Milner IJCAI’71]: Given two labelled TSs S = (Σ S , A S , − → S ) and T = (Σ T , A T , − → T ) , the simulation is the largest relation Sim ⊆ Σ S × Σ T such that: if Sim ( s , t ) holds (state s simulates state t), then: α → T t ′ , then if t − α → S s ′ and Sim ( s ′ , t ′ ) . there exists s − 6 / 18
The Composition Problem: Simulation Sim ( δ t , δ 1 , . . . , δ n , s ): available programs can simulate the target program in s . Sim ( δ t , δ 1 , . . . , δ n , s ) ≡ � � ∃ S . S ( δ t , δ 1 , . . . , δ n , s ) ∧ ∀ δ t , δ 1 , . . . , δ n , s . Θ[ S ]( δ t , δ 1 , . . . , δ n , s ) , where def Θ[ S ]( δ t , δ 1 , . . . , δ n , s ) = S ( δ t , δ 1 , . . . , δ n , s ) → � Final ( δ t , s ) → � � i =1 ,..., n Final ( δ i , s ) ∧ � ∀ δ ′ t , s ′ Trans ( δ t , s , δ ′ t , s ′ ) → i =1 ,..., n ∃ δ ′ i . Trans ( δ i , s , δ ′ i , s ′ ) ∧ S ( δ ′ t , δ 1 , . . . , δ ′ i , . . . , δ n , s ′ ) � � . If the simulation holds then one can build an orchestrator generator based on it. 7 / 18
The Composition Problem: Simulation Sim ( δ t , δ 1 , . . . , δ n , s ): available programs can simulate the target program in s . Sim ( δ t , δ 1 , . . . , δ n , s ) ≡ � � ∃ S . S ( δ t , δ 1 , . . . , δ n , s ) ∧ ∀ δ t , δ 1 , . . . , δ n , s . Θ[ S ]( δ t , δ 1 , . . . , δ n , s ) , where Second def order! Θ[ S ]( δ t , δ 1 , . . . , δ n , s ) = S ( δ t , δ 1 , . . . , δ n , s ) → � Final ( δ t , s ) → � � i =1 ,..., n Final ( δ i , s ) ∧ � ∀ δ ′ t , s ′ Trans ( δ t , s , δ ′ t , s ′ ) → i =1 ,..., n ∃ δ ′ i . Trans ( δ i , s , δ ′ i , s ′ ) ∧ S ( δ ′ t , δ 1 , . . . , δ ′ i , . . . , δ n , s ′ ) � � . If the simulation holds then one can build an orchestrator generator based on it. 7 / 18
The Technique Relies on the following “tools”/notions: 1 Simulation approximates: [Tarski ’55] • Check simulation in a finite way. 2 Regression mechanism: [Reiter’91; Pirri & Reiter’99] • Reason on formulas after action performance. 3 Characteristic graphs: [Classen&Lakemeyer KR’08] • Abstract (infinite) program states into a finite graph. 8 / 18
The Technique Relies on the following “tools”/notions: 1 Simulation approximates: [Tarski ’55] • Check simulation in a finite way. 2 Regression mechanism: [Reiter’91; Pirri & Reiter’99] • Reason on formulas after action performance. 3 Characteristic graphs: [Classen&Lakemeyer KR’08] • Abstract (infinite) program states into a finite graph. 9 / 18
Simulation Approximates Sim k ( δ t , δ 1 , . . . , δ n , s ): the available programs can “simulate” k steps of the target program in s . Sim 0 ( δ t , δ 1 , . . . , δ n , s ) ≡ ( Final ( δ t , s ) → V i =1 ,..., n Final ( δ i , s )) . Sim k +1 ( δ t , δ 1 , . . . , δ n , s ) ≡ Sim k ( δ t , δ 1 , . . . , δ n , s ) ∧ ` ∀ δ ′ t , s ′ . Trans ( δ t , s , δ ′ t , s ′ ) → ´ W i =1 ,..., n ∃ δ ′ i . Trans ( δ i , s , δ ′ i , s ′ ) ∧ Sim k ( δ ′ t , δ 1 , . . . , δ ′ i , . . . , δ n , s ′ ) . 10 / 18
Simulation Approximates Sim k ( δ t , δ 1 , . . . , δ n , s ): the available programs can “simulate” k steps of the target program in s . Sim 0 ( δ t , δ 1 , . . . , δ n , s ) ≡ ( Final ( δ t , s ) → V i =1 ,..., n Final ( δ i , s )) . Sim k +1 ( δ t , δ 1 , . . . , δ n , s ) ≡ Sim k ( δ t , δ 1 , . . . , δ n , s ) ∧ ` ∀ δ ′ t , s ′ . Trans ( δ t , s , δ ′ t , s ′ ) → ´ W i =1 ,..., n ∃ δ ′ i . Trans ( δ i , s , δ ′ i , s ′ ) ∧ Sim k ( δ ′ t , δ 1 , . . . , δ ′ i , . . . , δ n , s ′ ) . Proposition For every k ≥ 0 , if Sim k ( δ t , δ 1 , . . . , δ n , s ) ≡ Sim k +1 ( δ t , δ 1 , . . . , δ n , s ) , then Sim k ( δ t , δ 1 , . . . , δ n , s ) ≡ Sim ( δ t , δ 1 , . . . , δ n , s ) . 10 / 18
The Technique Relies on the following “tools”/notions: 1 Simulation approximates: [Tarski ’55] • Check simulation in a finite way. 2 Regression mechanism: [Reiter’91; Pirri & Reiter’99] • Reason on formulas after action performance. • computes what has to be true in situation s so that φ is true after doing action α in s . • R [ φ ( do ( α, s ))] = φ ′ ( s ) action α has been eliminated! 3 Characteristic graphs: [Classen&Lakemeyer KR’08] • Abstract (infinite) program states into a finite graph. 11 / 18
Recommend
More recommend