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

fresh register automata fresh register automata
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Fresh-Register Automata Fresh-Register Automata

Nikos Tzevelekos

Oxford University Computing Laboratory

slide-2
SLIDE 2

What this talk is about

What is a basic automata-theoretic model

  • f computation with names and

fresh-name generation?

slide-3
SLIDE 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)); }}

slide-4
SLIDE 4

Names in computation

new x=3 in f(); assert(x==3)

slide-5
SLIDE 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

slide-6
SLIDE 6

Motivation and related work

  • Programming languages
  • Operational, denotational models of higher-order

computation with names

  • Nominal game semantics

What is a basic automata-theoretic model of computation with names and fresh-name generation?

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

P(a)

slide-9
SLIDE 9

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

P(a) P(b)

ab

slide-10
SLIDE 10

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

P(a) P(b)

ab

P(c)

bc

slide-11
SLIDE 11

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

P(a) P(b)

ab

P(c) P(d)

cd bc

slide-12
SLIDE 12

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

P(a) P(b)

ab

P(c) P(d)

cd bc ab '

slide-13
SLIDE 13

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

P(a) P(b)

ab

P(c) P(d)

cd bc ab '

'

cd ' bc

slide-14
SLIDE 14

Motivation and related work

  • Programming languages
  • Operational, denotational models of higher-order

computation with names

  • Nominal game semantics
  • Process calculi
  • Semantics of mobility
  • History-Dependent automata

What is a basic automata-theoretic model of computation with names and fresh-name generation?

slide-15
SLIDE 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
slide-16
SLIDE 16

An appealing paradigm

slide-17
SLIDE 17

An appealing paradigm

  • Regular languages over infinite

alphabets

  • Closure properties
  • Finite-state + finite memory
  • Local reasoning
slide-18
SLIDE 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.
slide-19
SLIDE 19

Do names with registers

  • Let be an infinite set of names
  • Let be a finite set of constants
  • Consider finite-state automata over:
slide-20
SLIDE 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:
slide-21
SLIDE 21

Definition

  • Recall:
  • Define register assignments of size n by:
slide-22
SLIDE 22

Definition

slide-23
SLIDE 23

Configurations

slide-24
SLIDE 24

Configurations

  • A configuration is a triple:

state register assignment history

slide-25
SLIDE 25

Configurations

  • A configuration is a triple:

state register assignment history

slide-26
SLIDE 26

Configurations

  • A configuration is a triple:
  • Transitions between config's: the 'true' semantics
slide-27
SLIDE 27

Demo: known transitions

i q q'

slide-28
SLIDE 28

Demo: known transitions

1

i a

i n

... ...

q q'

slide-29
SLIDE 29

Demo: known transitions

1

i a a

i n

... ...

1

a

i n

... ...

q q'

slide-30
SLIDE 30

Demo: locally fresh transitions

i• q ' q

slide-31
SLIDE 31

Demo: locally fresh transitions

1

i

i n

... ...

  • ...

q ' q

slide-32
SLIDE 32

Demo: locally fresh transitions

1

i

i n

... ...

  • ...

q ' q

a fresh

slide-33
SLIDE 33

Demo: locally fresh transitions

1

i a

i n

... ...

1

a

i n

... ...

  • ...

q ' q

a fresh

slide-34
SLIDE 34

Demo: globally fresh transitions

i q ' q

slide-35
SLIDE 35

Demo: globally fresh transitions

1

i

i n

... ... ...

q ' q

slide-36
SLIDE 36

Demo: globally fresh transitions

1

i

i n

... ... ...

q ' q

a fresh

slide-37
SLIDE 37

Demo: globally fresh transitions

1

i a

i n

... ...

1

a

i n

... ... ...

q ' q

a fresh

slide-38
SLIDE 38

Demo: globally fresh transitions

1

i a

i n

... ...

1

a

i n

... ... ...

q ' q

a fresh

An FMA is (equivalent to) an FRA without

slide-39
SLIDE 39

Demo: constant transitions

C q q'

1 n

... ...

1 n

... ...

slide-40
SLIDE 40

FRA's as language acceptors

slide-41
SLIDE 41

A name generator

1 q0

slide-42
SLIDE 42

A name generator

1 q0 q0

#

slide-43
SLIDE 43

A name generator

1 q0 a q q

#

1

a 1

slide-44
SLIDE 44

A name generator

1 q0 a q q

#

1

a 1 a q0

2

a 2

slide-45
SLIDE 45

A name generator

1 q0 a q q

#

1

a 1 a q0

2

a 2 a q0

3

a3

slide-46
SLIDE 46

A name generator

1 q0 a q q

#

1

a 1 a q0

2

a 2 a q0

3

a3

L1

slide-47
SLIDE 47

Another example

q q

1

q2 q3

1

1

2 •

2•

2

# #

slide-48
SLIDE 48

Properties

  • Closure under union and intersection.
  • Non-closure under concatenation and Kleene star.

E.g. * is not FRA-recognisable.

L1 L1

slide-49
SLIDE 49

Properties

  • Closure under union and intersection.
  • Non-closure under concatenation and Kleene star.

E.g. * is not FRA-recognisable. Nominal versions of concatenation and Kleene star?

L1 L1

slide-50
SLIDE 50

Properties

  • Closure under union and intersection.
  • Non-closure under concatenation and Kleene star.

E.g. * is not FRA-recognisable.

  • Non-closure under complementation.

E.g. * is FRA-recognisable.

L1 L1 L1 L1

slide-51
SLIDE 51

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations
slide-52
SLIDE 52

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

q1 q2

R ^ ^

slide-53
SLIDE 53

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

` q q

1 1

' q2

R ^ ^ ^

slide-54
SLIDE 54

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

` q q

1 1

' ` q q

2 2

'

R ^ ^ ^ ^

slide-55
SLIDE 55

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

` q q

1 1

' ` q q

2 2

'

R ^ ^ ^ ^ R

slide-56
SLIDE 56

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

q1 ` q q

2 2

'

R ^ ^ ^

' '

slide-57
SLIDE 57

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

` q q

1 1

' ` q q

2 2

'

R ^ ^ ^ ^ R

' ' ' '

slide-58
SLIDE 58

Bisimulations

  • Recall:
  • Let be FRA's. Consider relations

` q q

1 1

' ` q q

2 2

'

R ^ ^ ^ ^ R

' ' ' '

  • Lemma. Bisimilarity implies language equivalence.
slide-59
SLIDE 59

Bisimulations formally

slide-60
SLIDE 60

Bisimulations formally

slide-61
SLIDE 61

Example

1 q0 1 q1 q0 1

  • ~
slide-62
SLIDE 62

Example

1 q0 1 q1 q0 1

  • ~
slide-63
SLIDE 63

Another example

~

q0

1 2•

q1 q2 q3

2 • 2 1 2•

q1 q2 q3

2 • 2 1

q0

1 2•

q1 q2 q3

2 • 1 ' ' '

slide-64
SLIDE 64

Closed FRA's

  • is closed if it has no blocking transitions:
slide-65
SLIDE 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.

slide-66
SLIDE 66

Symbolic bisimulations

  • Symbolic reasoning can be used for bisimulations

too:

  • We can define a notion of symbolic bisimulation:
  • capturing (actual) bisimilarity.
slide-67
SLIDE 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.

slide-68
SLIDE 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.
slide-69
SLIDE 69

Application: the pi-calculus

slide-70
SLIDE 70

Application: the pi-calculus

slide-71
SLIDE 71

Application: the pi-calculus

slide-72
SLIDE 72

Application: the pi-calculus

slide-73
SLIDE 73

Application: the pi-calculus P(a) = vb . ab . P(b)

11

P(1)

slide-74
SLIDE 74

Application: the pi-calculus

  • Algorithmic description which is:
  • name-free
  • finitely-branching
  • Bisimilarity can be captured symbolically
  • In the finitary case: decide bisimilarity
slide-75
SLIDE 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