270 likes | 415 Views
Process Algebra (2IF45) Recursion in Process Algebra . Suzana Andova. http://fusionanomaly.net/recursion.jpg. Equational theory: terms and LTSs. Language: BPA(A ) Signature: 0, 1, ( a._ ) a A , +, … Language terms T(BPA(A)) Closed terms C(BPA(A)). Deduction rules for BPA(A): .
E N D
Process Algebra (2IF45)Recursion in Process Algebra Suzana Andova http://fusionanomaly.net/recursion.jpg
Equational theory: terms and LTSs Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Closed terms C(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x coin.coffee.1 a a x x’ x + y x’ a.x x a x (x + y) one-to-one 1 a coin y y’ x + y y’ a coffee y (x + y) ⑥ Process Algebra (2IF45)
Equational theory: terms and LTSs Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Closed terms C(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x coin.coffee.1 coin.coffee.1 + coin.coffee.1 a a x x’ x + y x’ a.x x a x (x + y) 1 coin.coffee.1 = coin.coffee.1 + coin.coffee.1 coin a coin coin y y’ x + y y’ a coffee coffee coffee y (x + y) ⑥ Bisimilarity of LTSs Equality of terms Soundness Completeness Process Algebra (2IF45)
Recursive processes thinking Socrates_thinks getHungry goThinking Socrates_eats eating Process Algebra (2IF45)
Recursive processes thinking Socrates_thinks getHungry goThinking Socrates_eats eating Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks Process Algebra (2IF45)
Recursive specifications and LTSs Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Closed terms C(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a a x x’ x + y x’ a.x x a x (x + y) 1 Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks a y y’ x + y y’ a goThinking getHungry y (x + y) ⑥ Process Algebra (2IF45)
Recursive specifications and LTSs Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Closed terms C(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a a x x’ x + y x’ a.x x a x (x + y) 1 Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks a y y’ x + y y’ a GoThinking GetHungry y (x + y) ⑥ Process Algebra (2IF45)
Recursive equations and specifications E = { X = a.0 } E1 = { X = a.Y, Y = b.0 } Process Algebra (2IF45)
Recursive Equations and Rec. Specification in Equational Theory Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Closed terms C(BPA(A)) Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x Recursive specification E E = { X = a.Y + c.0,Y = b.X} BPA(A), E ├ X = a.Y +c.0 = a.(b.X) +c.0 = a.(b.(a.Y + c.))) + c.0 Process Algebra (2IF45)
Solutions of recursive equations Example: 1. E = { X = a.0 } 2. E1 = { X = a.Y, Y = b.0 } Process Algebra (2IF45)
Solutions of recursive equations Example: 1. E = { X = X } 2. E1 = { X = X + a.0 } Process Algebra (2IF45)
Solutions of recursive equations Example: 1. E = { X = a.X } 2. E1 = { X = a.(a.(X+1)) +1 } Process Algebra (2IF45)
Solutions of recursive specifications E1= { X = a.(a.(X+1)) +1 } X This is a solution for X in the recursive spec. E1 Substitute it on the left-hand side and on the right-hand side and check bisimilarity. a a.(X+1) a a X+1 Process Algebra (2IF45)
This is also recursion …. Process Algebra (2IF45)
Semantics of Recursive specifications Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … Language terms T(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a a x x’ x + y x’ a.x x a x (x + y) 1 a y y’ x + y y’ a y (x + y) ⑥ Process Algebra (2IF45)
Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, X Language terms T(BPA(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a a x x’ x + y x’ a.x x a x (x + y) 1 a y y’ x + y y’ a y (x + y) ⑥ Process Algebra (2IF45)
Semantics of Recursive specifications Process Algebra (2IF45)
Semantics of Recursive specifications tX,E w, X=t in E X w a a Process Algebra (2IF45)
Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, XE Language terms T(BPArec(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a term a a x x’ x + y x’ a.x x a …. x (x + y) 1 Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks a y y’ x + y y’ a GoThinking GetHungry y (x + y) ⑥ Process Algebra (2IF45)
Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, XE Language terms T(BPArec(A)) Deduction rules for BPA(A): Axioms of BPA(A): (A1) x+ y = y+x (A2) (x+y) + z = x+ (y + z) (A3) x + x = x (A4) x+ 0 = x a term a a x x’ x + y x’ a.x x a one-to-one …. x (x + y) 1 Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks a y y’ x + y y’ a GoThinking GetHungry y (x + y) ⑥ Process Algebra (2IF45)
Term model T(BPArec(A)) and BPArec(A) • Bisimulation is congruence • Soundness holds (it is a model indeed) • Ground completeness does not hold • Every recursive specification has a solution • Not every recursive specification has unique solution Process Algebra (2IF45)
Equational theories with recursion • Model vs. Solution of recursive specification • Two important points for “useful models” • Every recursive specification has a solution • Every recursive specification has a unique solution Process Algebra (2IF45)
Recursive Definition Principle (RDP) For every recursive specification there is a solution in the model Process Algebra (2IF45)
Guarded recursions • Does E = {X = a.Y, Y = Z, Z = b.X} has a solution and is this unique in T(BPArec(A))? Process Algebra (2IF45)
Recursive Specification Principle (RSP) • Every guarded recursive specification has at most one solution. Process Algebra (2IF45)
Restricted Recursive Definition Principle (RSP-) • Every guarded recursive specification has a solution. Process Algebra (2IF45)
Combining principles • RDP- + RSP implies Every guarded recursive specification has a unique solution. Example E = {X = a.X} E’ = {X’ = a.a.X’} Process Algebra (2IF45)