420 likes | 555 Views
Downward Closed Language Generators. Parosh Aziz Abdulla Pritha Mahata Aletta Nyl é n. Uppsala University. Outline. Reachability Approaches Downward-closed languages Recognizability of Reachable sets Simple Regular Expressions Downward closed language generators
E N D
Downward Closed Language Generators Parosh Aziz Abdulla Pritha Mahata Aletta Nylén Uppsala University
Outline • Reachability Approaches • Downward-closed languages • Recognizability of Reachable sets • Simple Regular Expressions • Downward closed language generators • Hierarchical dlgs • Timed Petri Net • Ongoing Work
Systems and properties • Transition Systems (Set of states, set of initial states, alphabet, transition rules) • Safety Properties ( Nothing bad will ever happen) Reachability of a bad state in the system Verification of Safety property
Reachability Approaches Post* Bad states Forward Reachability Initial state Pre* Initial states Bad state Backward Reachability Forward Reachability Reachability Analysis Backward Reachability
Reachability Approaches(contd.) Still,Forward Reachabilityis an appealing approach. Why ? • Forward Reachability set is usually not • computable , e.g LCS[CFI96]. • Backward reachability set is sometimes computable, • e.g LCS[AJ96b].
Forward Reachability Set of reachable states of a system – R • (finite state) abstraction Computability of R • Symbolic graph G (V, E) l V = partitions of R wrt some criterion E : v1 v2 iff (e.g control states) l v2 v1
Forward Reachability Set of reachable states of a system – R • (finite state) abstraction Computability of R • Symbolic graph G (V, E) l V = partitions of R wrt some criterion E : v1 v2 iff (e.g control states) l h f v1 v2
Forward Reachability (contd.) Yes, if R is downward-closed [ABJ98] !! G simulates the transition system. If G satisfies a safetyproperty Same result holds for the concrete system. Verification is easier in G. Problem : R is often not computable. But, is R recognizable !
Downward Closed Languages - finite alphabet - substring relation on * L - a language over * If x L and y x => y L, then L is downward closed. y x - downward closed set x - upward closed set • x • L
Why downward closed languages ? LCS – Channel Language is downward closed. A channel can always lose messages and become empty. Reachability set is downward-closed for LCS . TPN - TPN has monotonicity wrt a preorder on markings. M2 and M1 M3 M1 M2 M4 M4 M3
Why downward closed languages ? B’ B M B’ Timed Petri Net, N Lossy TPN, N’ Set of Bad States, Bad (upward closed) Initial states, I Initial states, I Bad loss M M B’ Ml B Bad M Ml Note : Considering safety properties only, markings can be made downward-closed in TPN. and Ml B
Is R recognizable ? If a language R A* is downward closed, then R is upward closed. R is characterized by finite set of minimal elements {w1,….,wm}. [Higman] R = w1 U …. U wm R = w1 …. wm U U for each a1,a2,….A, there is i,j such that (A, ) is wqo if i < j and aiaj If (A, ) is wqo, (A*, *) is a wqo. (Higman) Question : Can we find some generator such that R = L() ?
Is R recognizable ? (contd.) • Answer : We can find some generator such that R = L() if • for a word w in A*, w = L() and • generators are closed under intersection. • Let A = {a,b,c} and w1 = ab, w2 = bc, • then w1 = A* a A* b A* , w2 = A* b A* c A* and • w1 = (A\a)*(a+)(A\b)* w2 = (A\b)*(b+)(A\c)* • = (b+c)*(a+)(c+a)* = (c+a)*(b+)(a+b)* • e = w1 w2 = c* a* + c* (b + ) b* (a + ) a* + • c* (a + ) (a + c)* a* U Question : Can we find s such that w1 , w2 , e are expressed by s ?
Simple Regular Expressions • A product p over M - a concatenation (possibly empty) • (e1• e2••••• en ), where e1,e2,….,en are atomic expressions over M. • Simple regular expression over M - has the form • p1 + p2 + …. + pn , where p1,p2,….,pn are products over M. Generators – simple regular expressions. • M - a finite alphabet. • Atomic expression e over M - a regular expression of the form • (a + )where a M • (a1 + a2 + …. +am )*, where a1,a2,….,am M
R is recognizable ! w1 = (b+c)*(a+)(c+a)* atomic expressions w2 = (c+a)*(b+)(a+b)* e = c* a* + c* (b + ) b* (a + ) a* + c* (a + ) (a + c)* a* Products of atomic expressions e = sum of products – an SRE
Lossy Channel System c?m Control ( LTS) c!n Channel • M – Finite alphabet of messages • State – (s, w) s - control state, w M* - channel content • Set of reachable states of LCS is downward closed and can be expressed by SREs.
Well Quasi Ordering Finite sets (A , = ) is wqo, if A is finite, a1,a2, a3,a4,b, a5,a6, a7,a8,b, a9…. Strings w1 = 2 . 3 . 4 w1* w2 * (N*, *) is wqo w2 = 1 . 3 . 2 . 5 . 3 . 7 . 1 . 1 Natural numbers (N , ) is wqo x1,x2……natural numbers, there is i,j such that i < j and xixj
SRE Downward Closed Language Generators (a1 + a2 + …. +am )* s.t a1,a2,….,am M ~B * e.g Let A = N, B = {3} and L(~B) = {0,1,2}* = (L(~B))* * (M, =) , M : finite alphabet A wqo (A, ) (M*, =*) , =* : substring (A*, *) is wqo Atomic expressions : Let B A. (a + ) s.t a M ~B : L(~B) = {a | a A and a is not larger or equal to any element of B} e.g Let A = N, B = {3} and L(~B) = {0,1,2} U {}
Downward Closed Language Generators ~ ~ Assume a wqo (A, ) Let B A • Atomic expressions are of the form ~ B or B • L(~ B) = Set of elements in A which are not larger or equal to • any element in B. • L( B) = (L(~ B) )* • A product p over A • L(e1••••• en ) = {w1 ….. wn | w1L (e1), ….. , wnL (en)} • where e1,e2,….,en are atomic expressions over A. • DLG over A – L(p1 + p2 + …. + pn) = L(p1) U ….. U L(pn), • where p1,p2,….,pn are products over A.
DLG Answer : For a downward closed language R, we can find some generator such that R = L() if for a word w in A*, w = L() and dlgs are closed under intersection. • Let (N, ) be the wqo. and w1 = 2 • 3, w2 = 1 • 2, • then w1 = N* 2 N* 3 N* and w2 = N* 1 N* 2 N* • w1 = {0,1}*(N U {}){0,1,2}* w2 = 0*(N U {}){0,1}* = L( 2) L(~ ø) L( 3) = L( 1) L(~ ø) L( 2) = L( 1 • 2) = L( 2 • 3) ~ ~ ~ ~ ~ ~ ~ ~ 2 1
DLG (contd.) ~ ~ ~ ~ ~ ~ 2. R = w1 w2 = {0}* (N U {}){0,1}* + {0}* {0,1, } {0,1}* {0,1, } {0,1}* + {0}* {0, } {0}* {0,1,2, } {0,1}* = L( {1}) L(~ ø) L( {2}) + ……………… + ……………… = L( {1} • ( {2}) ) + L(………………) + L(……………..) = L( {1} • ( {2}) + ……………… + ……………..)
Bags (A, ) is wqo and is equality. B1, B2 : N N B1 B2 B1B B2 (AB, B) is wqo • Application : Markings of a Petri Net are represented by bags.
Dlg for bags DLGs for bags DLGs for words with operator • both associative and commutative. A bag dlg, - ~{3} ~ {1} * = {0,1,2} 0* L() 0 0 0 2 L() 1 0 0 L() 0 0 3
String of Bags S1 S2 S1 *S2 ((AB)*, *) is wqo
Dlg for String of Bags A dlg for string of bags, s= ~{bag} ~ {bag} * 32 6 2 3 = ~ ~ * ~ ~ ~4 ~7 ~3 ~4 ~4 ~6 6 Bag dlg = + ~ * + + * * * ~4 ~2 3 Bag dlg* ~ + ~ * + * 0 125 9 2 1 0 5 8 3 e.g 5 3 2 1 16 210 3 3 21 are in language of s.
Dlg for String of Bags(contd.) A = {a,b,c} : a finite alphabet A dlg for string of bags, s= ~ a2 b ~ ~ ~{b,c} ~{b,c} ~b ~{b,c} ~{a,c} ~a {a,b} + ~ * + + Bag dlg = * * c c c c c a b e.g a a a a c c a b a c b b c c c c are in language of s.
Hierarchical DLGs Example : A wqo (A, ) LdcAB is recognizable by a dlg. Bags(A) (AB, B) Atomic expressions are dlgs for bag. Strings of Bags(A) ((AB)*, *) L’dc (AB)* is recognizable by a dlg. • (A, ) is wqo implies (A*, *) is a wqo ( Higman’s Theorem). • If L A* is downward closed, then L is recognizable by some dlg . • We can hierarchically define dlgs over A.
Timed Petri Net P1 P2 2.0 3.0 [1:3] [2:4] Tokens have “ages” : Real numbers. [0:1] [2:5] Conditions on “ages” : Intervals. [4:5] [4:5] [4:5] [1:6] 4.0 0.0 P3 P4 Extended bags of Real Numbers : Mapping from real numbers to natural numbers N U {ω}. B = {4.0, 4.0, 2.0} B(4.0) = 2 MarkingM : A Ebag over (Places x Reals). M(P3,4.0) = 2, M(P1, 2.0) = 1
Timed Transitions T P1 P2 P1 P2 3.0 2.0 3.0 4.0 [1:3] [2:4] [1:3] [2:4] [2:5] [0:1] [2:5] [0:1] Increase of time by 1.0 t t [4:5] [4:5] [4:5] [4:5] [0:0] [0:0] [0:0] [0:0] P3 P4 P3 P4
Discrete Transitions D P1 P2 P1 P2 3.0 2.0 [1:3] [2:4] [1:3] [2:4] Firing t [0:1] [4:5] [0:1] [4:5] t t [4:5] [4:5] [2:5] [2:5] [0:0] [0:0] [0:0] [0:0] 0.0 0.0 P3 P4 P3 P4
Transitions U = D T M2 IfM1 M2 M1 T orM1 M2 D Additionally, there are some lossy transitions in lossy TPN. Remark : A TPN can have unbounded number of tokens !!
Ordering on Marking P2,3.7 P1,2.0 M1 P2,3.5 P4,max P1,2.2 P1,2.0 M2 Increasing fractional parts age >= 5 frac = 0 P1 P2 P1 P2 3.7 2.0 2.2 2.0 3.5 [1:3] [2:4] [1:3] [2:4] [0:1] [4:5] [0:1] [4:5] t t [4:5] [4:5] [2:5] [2:5] [0:0] [0:0] [0:0] [0:0] 4.0 6.2 P3 P4 P3 P4 M1 M2
Regions • Finite no. of clocks (e.g Timed Automata) y 3 Two clocks x,y and cmax = 3 2 1 0 x 1 2 3 0 • Clock values are equivalent in timed automata if they have • same integral parts • same ordering of fractional parts • clock values beyond cmax are equivalent
Regions(Example) • Region R : y • V(x) = 0.6, V(y) = 0.5 • V € R 1 0 x 0 1 Not Powerful for Timed Petri Nets……
Dlgs for LTPN P1 P2 [1:3] [2:4] [0:1] [2:5] • Unboundedness in two directions : • number of tokens • age of tokens [4:5] [4:5] [4:5] [1:5] P3 P4 cmax= 5 Abstraction of ages to express sets of markings : • Tokens with same fractional parts are in the same ebag. • Ordering of ebags is according to the ordering of fractional parts of ages. • Ages of tokens beyond cmax are equivalent.
Dlgs for LTPN Constraints = strings of bags over a finite alphabet of (Places x {0,..max}) Sets of markings and Markings are downward closed for LTPN Constraints are dlgs for strings of bags over a finite set !!!
Universal Regions ! P1 P2 2.0 3.5 3.75 [1:3] [2:4] Note :M can have at most same number of tokens as R. [0:1] [2:5] [4:5] [4:5] [4:5] [1:5] 4.2 P3 P4 frac = 0 Increasing frac age >= 5 * 4* 5 3 2 0 R = If M’ < M, then M’ R 4.2 4.2 2.0 3.5 3.75 M = P1 P2 P2 P3 P4
Universal Regions (contd.) 3 2 Let Universal Region R = T Zero bag dlg Max bag cmax= 5 2 3 4 2 + + P1 P2 4 2 3 4 + + [1:3) [2:4) 3 4 + 3 max + [0:1) [2:5) t [4:5) [4:5) [0:5) [1:3) + 4 max 4 max + max max P3 P4 Generates O((max-1)*2 + sizeof(product) + 1) new regions by timed transition.
Universal Regions (contd.) 3 2 followed by t T x4 5 At most one token in P3 and one token in P4 with ages as follows : 4 3 2 1 0 0 1 2 3 4 5 x3 Lot of universal regions !!! Solution : Universal Zones !!
Acceleration • Compute Post* • Acceleration - a sequence of transitions at each step • Lossy Channel system - accelerate by arbitrary iteration of control loops • Lossy TPN - accelerate by • arbitrary firing of enabled transitions followed by • timed transitions and • combine atomic expressions of the universal regions
Comparison with earlier TPN work • Forward ReachabilityBackward Reachability • Compute Post* Compute Pre* • Markings are downward closed(lossy TPN). Markings are upward closed. • Universal region. Existential region. • Maximal number of tokens in a Minimal number of tokens universal region. in an existential region.
Ongoing Work • Compute Post*(R,t) for all transitions t. • Define universal zones. • Apply forward reachability algorithm.