fresh register automata fresh register automata
play

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend