1 / 27

Process Algebra (2IF45) Recursion in Process Algebra

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): .

zed
Download Presentation

Process Algebra (2IF45) Recursion in Process Algebra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Process Algebra (2IF45)Recursion in Process Algebra Suzana Andova http://fusionanomaly.net/recursion.jpg

  2. 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): 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)

  3. 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): 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)

  4. Recursive processes thinking Socrates_thinks getHungry goThinking Socrates_eats eating Process Algebra (2IF45)

  5. Recursive processes thinking Socrates_thinks getHungry goThinking Socrates_eats eating Socrates_thinks = getHungry.Socrates_eats Socrates_eats = goThinking.Socrates_thinks Process Algebra (2IF45)

  6. Recursive specifications 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): 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)

  7. Recursive specifications 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): 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)

  8. Recursive equations and specifications E = { X = a.0 } E1 = { X = a.Y, Y = b.0 } Process Algebra (2IF45)

  9. Recursive Equations and Rec. Specification in Equational Theory Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … 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)

  10. Solutions of recursive equations Example: 1. E = { X = a.0 } 2. E1 = { X = a.Y, Y = b.0 } Process Algebra (2IF45)

  11. Solutions of recursive equations Example: 1. E = { X = X } 2. E1 = { X = X + a.0 } Process Algebra (2IF45)

  12. Solutions of recursive equations Example: 1. E = { X = a.X } 2. E1 = { X = a.(a.(X+1)) +1 } Process Algebra (2IF45)

  13. 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)

  14. This is also recursion …. Process Algebra (2IF45)

  15. Semantics of Recursive specifications Language: BPA(A) Signature: 0, 1, (a._ )aA, +, … 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)

  16. Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, 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)

  17. Semantics of Recursive specifications Process Algebra (2IF45)

  18. Semantics of Recursive specifications tX,E w, X=t in E X  w a a Process Algebra (2IF45)

  19. Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, 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)

  20. Semantics of Recursive specifications Language: BPArec(A) Signature: 0, 1, (a._ )aA, +, 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)

  21. 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)

  22. 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)

  23. Recursive Definition Principle (RDP) For every recursive specification there is a solution in the model Process Algebra (2IF45)

  24. 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)

  25. Recursive Specification Principle (RSP) • Every guarded recursive specification has at most one solution. Process Algebra (2IF45)

  26. Restricted Recursive Definition Principle (RSP-) • Every guarded recursive specification has a solution. Process Algebra (2IF45)

  27. 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)

More Related