Refinements and Abstractions of Signal-Event (Timed) Languages Paul Gastin LSV ENS de Cachan & CNRS Paul.Gastin@lsv.ens-cachan.fr Joint work with B´ eatrice B´ erard and Antoine Petit FORMATS, Sept. 26th, 2006 1/30
Outline Introduction 1 Signal-Event (Timed) Words and Automata Signal-Event (Timed) Substitutions Recognizable substitutions Conclusion 2/30
Refinements and Abstractions Abstract level Concrete level refinement − − − − − − → ConnectToServer Details used to establish the connection abstraction ← − − − − − − Formalisation of refinement Let σ : A → P ( B ∗ ) be a substitution. Abstract level Concrete level refinement Action a ∈ A − − − − − − → σ ( a ) ⊆ B ∗ refinement Behavior w = abaac ∈ A ∗ − − − − − − → σ ( w ) = σ ( a ) σ ( b ) σ ( a ) σ ( a ) σ ( c ) ⊆ B ∗ refinement � σ ( w ) ⊆ B ∗ Language K ⊆ A ∗ − − − − − − → σ ( K ) = w ∈ K 3/30
Refinements and Abstractions Abstract level Concrete level refinement − − − − − − → ConnectToServer Details used to establish the connection abstraction ← − − − − − − Formalisation of refinement Let σ : A → P ( B ∗ ) be a substitution. Abstract level Concrete level refinement Action a ∈ A − − − − − − → σ ( a ) ⊆ B ∗ refinement Behavior w = abaac ∈ A ∗ − − − − − − → σ ( w ) = σ ( a ) σ ( b ) σ ( a ) σ ( a ) σ ( c ) ⊆ B ∗ refinement � σ ( w ) ⊆ B ∗ Language K ⊆ A ∗ − − − − − − → σ ( K ) = w ∈ K 3/30
Refinements and Abstractions Abstract level Concrete level refinement − − − − − − → ConnectToServer Details used to establish the connection abstraction ← − − − − − − Formalisation of abstraction Let σ : A → P ( B ∗ ) be a substitution. Abstract level Concrete level σ − 1 ( L ) = { w ∈ A ∗ | σ ( w ) ∩ L � = ∅} abstraction ← − − − − − − L ⊆ B ∗ 4/30
Adding time to the picture Timed refinement refinement − − − − − − → Abstract level Concrete level abstraction ← − − − − − − Req · Wait 2 · Ack ConnectToServer 2 Req · Wait 1 · Nack · Wait 0 . 5 · Retry · Wait 3 · Ack ConnectToServer 4 . 5 An abstract action a with duration d should be replaced by a concrete execution (word) w with the same duration � w � = d . 5/30
Adding time to the picture Timed refinement refinement − − − − − − → Abstract level Concrete level abstraction ← − − − − − − Req · Wait 2 · Ack ConnectToServer 2 Req · Wait 1 · Nack · Wait 0 . 5 · Retry · Wait 3 · Ack ConnectToServer 4 . 5 An abstract action a with duration d should be replaced by a concrete execution (word) w with the same duration � w � = d . 5/30
Outline Introduction Signal-Event (Timed) Words and Automata 2 Signal-Event (Timed) Substitutions Recognizable substitutions Conclusion 6/30
Signal-Event (Timed) Words Asarin - Caspi - Maler 2002 ◮ Σ e finite set of (instantaneous) events ◮ Σ s finite set of signals ◮ T time domain, T = T ∪ {∞} ◮ Σ = Σ e ∪ (Σ s × T ) ◮ Notation: a d for ( a, d ) ∈ Σ s × T ◮ Σ ∞ set of signal-event (timed) words Example: a 3 ffgb 1 . 5 a 2 f ◮ Signal stuttering: a 2 a 3 ≈ a 5 , a ∞ = a 2 a 2 a 2 · · · 7/30
Signal-Event (Timed) Words Asarin - Caspi - Maler 2002 ◮ Σ e finite set of (instantaneous) events ◮ Σ s finite set of signals ◮ T time domain, T = T ∪ {∞} ◮ Σ = Σ e ∪ (Σ s × T ) ◮ Notation: a d for ( a, d ) ∈ Σ s × T ◮ Σ ∞ set of signal-event (timed) words Example: a 3 ffgb 1 . 5 a 2 f ◮ Signal stuttering: a 2 a 3 ≈ a 5 , a ∞ = a 2 a 2 a 2 · · · 7/30
Signal-Event (Timed) Words Asarin - Caspi - Maler 2002 ◮ Σ e finite set of (instantaneous) events ◮ Σ s finite set of signals ◮ T time domain, T = T ∪ {∞} ◮ Σ = Σ e ∪ (Σ s × T ) ◮ Notation: a d for ( a, d ) ∈ Σ s × T ◮ Σ ∞ set of signal-event (timed) words Example: a 3 ffgb 1 . 5 a 2 f ◮ Signal stuttering: a 2 a 3 ≈ a 5 , a ∞ = a 2 a 2 a 2 · · · 7/30
Signal-Event (Timed) Words Unobservable signal τ ◮ Useful to hide signals: hiding signals − − − − − − − → Signal-event word Classical timed words a 3 fb 1 gfa 2 f τ 3 fτ 1 gfτ 2 f = ( f, 3)( g, 4)( f, 4)( f, 6) ◮ τ 0 ≈ ε : an hidden signal with zero duration is not observable. a 0 �≈ ε : a signal, even of zero duration, is observable. τ 2 �≈ ε : we still observe a time delay but the actual signal has been hidden. Example : a 2 τ 0 a 1 fτ 0 gτ 1 fb 2 b 2 b 2 · · · ≈ a 3 fgτ 1 fb ∞ ◮ Signal-event words SE (Σ) = Σ ∞ / ≈ 8/30
Signal-Event (Timed) Words Unobservable signal τ ◮ Useful to hide signals: hiding signals − − − − − − − → Signal-event word Classical timed words a 3 fb 1 gfa 2 f τ 3 fτ 1 gfτ 2 f = ( f, 3)( g, 4)( f, 4)( f, 6) ◮ τ 0 ≈ ε : an hidden signal with zero duration is not observable. a 0 �≈ ε : a signal, even of zero duration, is observable. τ 2 �≈ ε : we still observe a time delay but the actual signal has been hidden. Example : a 2 τ 0 a 1 fτ 0 gτ 1 fb 2 b 2 b 2 · · · ≈ a 3 fgτ 1 fb ∞ ◮ Signal-event words SE (Σ) = Σ ∞ / ≈ 8/30
Signal-Event (Timed) Words Unobservable signal τ ◮ Useful to hide signals: hiding signals − − − − − − − → Signal-event word Classical timed words a 3 fb 1 gfa 2 f τ 3 fτ 1 gfτ 2 f = ( f, 3)( g, 4)( f, 4)( f, 6) ◮ τ 0 ≈ ε : an hidden signal with zero duration is not observable. a 0 �≈ ε : a signal, even of zero duration, is observable. τ 2 �≈ ε : we still observe a time delay but the actual signal has been hidden. Example : a 2 τ 0 a 1 fτ 0 gτ 1 fb 2 b 2 b 2 · · · ≈ a 3 fgτ 1 fb ∞ ◮ Signal-event words SE (Σ) = Σ ∞ / ≈ 8/30
Signal-Event (Timed) automata ◮ States emit signals ◮ Transitions emit (instantaneous) events TimeOut x ≤ 0 x = 2 , ε, { x } Req, { x } Req, { x } Wait Ack Idle Connected x ≤ 2 Req, { x } Nack, { x } Fail x ≤ 1 ◮ Run : Idle 3 · Req · Wait 2 · TimeOut 0 · Req · Wait 1 · Ack · Connected 8 ◮ SEL : languages accepted by SE -automata without ε -transitions. ◮ SEL ε : languages accepted by SE -automata with ε -transitions. 9/30
Outline Introduction Signal-Event (Timed) Words and Automata Signal-Event (Timed) Substitutions 3 Recognizable substitutions Conclusion 10/30
Signal-Event (Timed) Substitutions Definition ◮ Abstract alphabet : Σ e and Σ s ◮ Concrete alphabet : Σ ′ e and Σ ′ s ◮ Substitution σ from SE (Σ) to SE (Σ ′ ) defined by: a ∈ Σ e : L a ⊆ (Σ ′ e ∪ Σ ′ s × { 0 } ) ∗ σ ( a ) = L a a ∈ Σ s \ { τ } : L a ⊆ SE (Σ ′ ) not containing Zeno words. σ ( a d ) = { w ∈ L a | � w � = d } a = τ : L τ = { τ } × T σ ( τ d ) = { τ d } Remark If we allow Zeno words in L a then we may get transfinite words as refinements. Example: if b 1 fb 1 / 2 fb 1 / 4 f · · · ∈ L a and L g = { g } then σ ( a 2 g ) is transfinite. 11/30
Signal-Event (Timed) Substitutions Definition ◮ Abstract alphabet : Σ e and Σ s ◮ Concrete alphabet : Σ ′ e and Σ ′ s ◮ Substitution σ from SE (Σ) to SE (Σ ′ ) defined by: a ∈ Σ e : L a ⊆ (Σ ′ e ∪ Σ ′ s × { 0 } ) ∗ σ ( a ) = L a a ∈ Σ s \ { τ } : L a ⊆ SE (Σ ′ ) not containing Zeno words. σ ( a d ) = { w ∈ L a | � w � = d } a = τ : L τ = { τ } × T σ ( τ d ) = { τ d } Remark If we allow Zeno words in L a then we may get transfinite words as refinements. Example: if b 1 fb 1 / 2 fb 1 / 4 f · · · ∈ L a and L g = { g } then σ ( a 2 g ) is transfinite. 11/30
Signal-Event (Timed) Substitutions Remark In general, SE-substitutions are not morphisms Example: if L a = { b 2 } then σ ( a 1 ) = ∅ and σ ( a 2 ) � = σ ( a 1 ) σ ( a 1 ) Substitutions are applied to SE-words in normal form: σ ( a 2 τ 0 a 1 fτ 0 gτ 1 fb 2 b 2 b 2 · · · ) = σ ( a 3 ) σ ( f ) σ ( g ) τ 1 σ ( f ) σ ( b ∞ ) Proposition Let σ be a timed substitution, given by a family ( L a ) a ∈ Σ e ∪ Σ s . Then, σ is a morphism if and only if for each signal a ∈ Σ s we have 1. L a is closed under concatenation: for all u, v ∈ L a with � u � < ∞ , we have uv ∈ L a , 2. L a is closed under decomposition: for each v ∈ L a with � v � = d , for all d 1 ∈ T , d 2 ∈ T such that d = d 1 + d 2 , there exist v i ∈ L a with � v i � = d i such that v = v 1 v 2 . 12/30
Signal-Event (Timed) Substitutions Remark In general, SE-substitutions are not morphisms Example: if L a = { b 2 } then σ ( a 1 ) = ∅ and σ ( a 2 ) � = σ ( a 1 ) σ ( a 1 ) Substitutions are applied to SE-words in normal form: σ ( a 2 τ 0 a 1 fτ 0 gτ 1 fb 2 b 2 b 2 · · · ) = σ ( a 3 ) σ ( f ) σ ( g ) τ 1 σ ( f ) σ ( b ∞ ) Proposition Let σ be a timed substitution, given by a family ( L a ) a ∈ Σ e ∪ Σ s . Then, σ is a morphism if and only if for each signal a ∈ Σ s we have 1. L a is closed under concatenation: for all u, v ∈ L a with � u � < ∞ , we have uv ∈ L a , 2. L a is closed under decomposition: for each v ∈ L a with � v � = d , for all d 1 ∈ T , d 2 ∈ T such that d = d 1 + d 2 , there exist v i ∈ L a with � v i � = d i such that v = v 1 v 2 . 12/30
Recommend
More recommend