fresh register automata fresh register automata

Fresh-Register Automata Fresh-Register Automata Nikos Tzevelekos - PowerPoint PPT Presentation

Fresh-Register Automata Fresh-Register Automata Nikos Tzevelekos Oxford University Computing Laboratory What this talk is about What is a basic automata-theoretic model of computation with names and fresh-name generation? Names in


  1. Fresh-Register Automata Fresh-Register Automata Nikos Tzevelekos Oxford University Computing Laboratory

  2. What this talk is about What is a basic automata-theoretic model of computation with names and fresh-name generation?

  3. Names in computation int mainClass NameTest { public void main(String[] args){ Object A = new Object(); Object B = new Object(); System.out.println(A.equals(B)); }}

  4. Names in computation new x=3 in f(); assert(x==3)

  5. Names in computation new x1,x2,x3,x4,x5 in fn x => case x of x1 => x2 | x2 => x3 | x3 => x4 | x4 => x5 | _ => x1

  6. Motivation and related work What is a basic automata-theoretic model of computation with names and fresh-name generation? ● Programming languages ● Operational, denotational models of higher-order computation with names ● Nominal game semantics

  7. Names in computation (II) P ( a ) = v b . ab . P ( b )

  8. Names in computation (II) P ( a ) = v b . ab . P ( b ) P ( a )

  9. Names in computation (II) P ( a ) = v b . ab . P ( b ) ab P ( a ) P ( b )

  10. Names in computation (II) P ( a ) = v b . ab . P ( b ) ab bc P ( a ) P ( b ) P ( c )

  11. Names in computation (II) P ( a ) = v b . ab . P ( b ) ab bc cd P ( a ) P ( b ) P ( c ) P ( d )

  12. Names in computation (II) P ( a ) = v b . ab . P ( b ) ab ' ab bc cd P ( a ) P ( b ) P ( c ) P ( d )

  13. Names in computation (II) P ( a ) = v b . ab . P ( b ) ab ' cd ' ' bc ab bc cd P ( a ) P ( b ) P ( c ) P ( d )

  14. Motivation and related work What is a basic automata-theoretic model of computation with names and fresh-name generation? ● Programming languages ● Operational, denotational models of higher-order computation with names ● Nominal game semantics ● Process calculi ● Semantics of mobility ● History-Dependent automata

  15. Specifications What is a basic automata-theoretic model of computation with names and fresh-name generation? ● Simple machines of “first principles” ● Infinite alphabet ● Freshness recognition

  16. An appealing paradigm

  17. An appealing paradigm ● Regular languages over infinite alphabets ● Closure properties ● Finite-state + finite memory ● Local reasoning

  18. Fresh-Register Automata ● FMA's satisfy the specifications: ● Simple machines of “first principles” ● Infinite alphabet ● but not: ● Freshness recognition ● Extend FMA's with transitions for fresh names.

  19. Do names with registers ● Let be an infinite set of names ● Let be a finite set of constants ● Consider finite-state automata over:

  20. Do names with registers ● Let be an infinite set of names ● Let be a finite set of constants ● Consider finite-state automata over: ● but operate in reality over:

  21. Definition ● Recall: ● Define register assignments of size n by:

  22. Definition

  23. Configurations

  24. Configurations ● A configuration is a triple: register state history assignment

  25. Configurations ● A configuration is a triple: register state history assignment

  26. Configurations ● A configuration is a triple: ● Transitions between config's: the 'true' semantics

  27. Demo: known transitions i q ' q

  28. Demo: known transitions i q ' q ... ... a 1 i n

  29. Demo: known transitions a i q ' q ... ... ... ... a a 1 i n 1 i n

  30. Demo: locally fresh transitions i • ' q q

  31. Demo: locally fresh transitions • i ' q q ... ... ... 1 i n

  32. Demo: locally fresh transitions • i ' q q ... ... ... a fresh 1 i n

  33. Demo: locally fresh transitions a • i ' q q ... ... ... ... ... a a fresh 1 i n 1 i n

  34. Demo: globally fresh transitions i ' q q

  35. Demo: globally fresh transitions i ' q q ... ... ... 1 i n

  36. Demo: globally fresh transitions i ' q q ... ... ... a fresh 1 i n

  37. Demo: globally fresh transitions a i ' q q ... ... ... ... ... a a fresh 1 i n 1 i n

  38. Demo: globally fresh transitions An FMA is (equivalent to) an FRA without a i ' q q ... ... ... ... ... a a fresh 1 i n 1 i n

  39. Demo: constant transitions C q ' q ... ... ... ... 1 n 1 n

  40. FRA's as language acceptors

  41. A name generator 1 q 0

  42. A name generator 1 q 0 q 0 #

  43. A name generator 1 q 0 a q 1 q 0 0 a 1 #

  44. A name generator 1 q 0 a a q 1 q 2 q 0 0 0 a 1 a 2 #

  45. A name generator 1 q 0 a a a q 1 q 2 q 0 3 q 0 0 0 a 1 a 2 a 3 #

  46. A name generator 1 L 1 q 0 a a a q 1 q 2 q 0 3 q 0 0 0 a 1 a 2 a 3 #

  47. Another example 1 2 2 • 2 • 1 q q q 2 q 3 0 1 # #

  48. Properties ● Closure under union and intersection. ● Non-closure under concatenation and Kleene star. L 1 L 1 E.g. * is not FRA-recognisable.

  49. Properties ● Closure under union and intersection. ● Non-closure under concatenation and Kleene star. L 1 L 1 E.g. * is not FRA-recognisable. Nominal versions of concatenation and Kleene star?

  50. Properties ● Closure under union and intersection. ● Non-closure under concatenation and Kleene star. L 1 L 1 E.g. * is not FRA-recognisable. ● Non-closure under complementation. L 1 L 1 E.g. * is FRA-recognisable.

  51. Bisimulations ● Recall: ● Let be FRA's. Consider relations

  52. Bisimulations ● Recall: ● Let be FRA's. Consider relations ^ q 1 R ^ q 2

  53. Bisimulations ● Recall: ● Let be FRA's. Consider relations ` ^ ^ ' q q 1 1 R ^ q 2

  54. Bisimulations ● Recall: ● Let be FRA's. Consider relations ` ^ ^ ' q q 1 1 R ` ^ ^ ' q q 2 2

  55. Bisimulations ● Recall: ● Let be FRA's. Consider relations ` ^ ^ ' q q 1 1 R R ` ^ ^ ' q q 2 2

  56. Bisimulations ● Recall: ● Let be FRA's. Consider relations ^ q 1 R ' ` ^ ^ ' ' q q 2 2

  57. Bisimulations ● Recall: ● Let be FRA's. Consider relations ' ` ^ ^ ' ' q q 1 1 R R ' ` ^ ^ ' ' q q 2 2

  58. Bisimulations ● Recall: ● Let be FRA's. Consider relations ' ` ^ ^ ' ' q q 1 1 R R ' ` ^ ^ ' ' q q 2 2 Lemma. Bisimilarity implies language equivalence.

  59. Bisimulations formally

  60. Bisimulations formally

  61. Example 1 1 • ~ 1 q 0 q 0 q 1

  62. Example 1 1 • ~ 1 q 0 q 0 q 1

  63. Another example 1 2 2 • 2 • 1 q 0 q 1 q 2 q 3 1 ~ 2 2 • 2 • ' ' ' q 1 q 2 q 3 1 2 • 2 • 1 q 0 q 1 q 2 q 3

  64. Closed FRA's ● is closed if it has no blocking transitions:

  65. Closed FRA's ● is closed if it has no blocking transitions: Lemma. For any FRA we can effectively construct a closed FRA . Corollary . FRA-emptiness is decidable.

  66. Symbolic bisimulations ● Symbolic reasoning can be used for bisimulations too: ● We can define a notion of symbolic bisimulation: ● capturing (actual) bisimilarity.

  67. Symbolic bisimulations ● Symbolic reasoning can be used for bisimulations too: ● We can define a notion of symbolic bisimulation: ● capturing (actual) bisimilarity. Corollary . FRA-bisimilarity is decidable.

  68. Results on FRA's ● As language acceptors: ● Closure under union and intersection. ● Non-closure under concatenation and Kleene star. ● Non-closure under complementation. ● Emptiness is decidable. ● Containment, universality are undecidable. ● Bisimilarity is decidable by symbolic means.

  69. Application: the pi-calculus

  70. Application: the pi-calculus

  71. Application: the pi-calculus

  72. Application: the pi-calculus

  73. Application: the pi-calculus P ( a ) = v b . ab . P ( b ) 11 P ( 1 )

  74. Application: the pi-calculus ● Algorithmic description which is: ● name-free ● finitely-branching ● Bisimilarity can be captured symbolically ● In the finitary case: decide bisimilarity

  75. Interesting directions ● Algorithmic game semantics – e.g. (finitary) Reduced ML ● Connections to HD-automata ● Nominal notions of concatenation, Kleene closure ● Variations: – Labels – Stores – Stack

Recommend


More recommend