Abstract Process Categories Wolfgang Jeltsch TT U K uberneetika - - PowerPoint PPT Presentation

abstract process categories
SMART_READER_LITE
LIVE PREVIEW

Abstract Process Categories Wolfgang Jeltsch TT U K uberneetika - - PowerPoint PPT Presentation

Introduction Abstract process categories Conclusions and further work References Abstract Process Categories Wolfgang Jeltsch TT U K uberneetika Instituut Teooriap aevad Otep a al 2 February 2013 Introduction Abstract


slide-1
SLIDE 1

Introduction Abstract process categories Conclusions and further work References

Abstract Process Categories

Wolfgang Jeltsch

TT¨ U K¨ uberneetika Instituut

Teooriap¨ aevad Otep¨ a¨ al

2 February 2013

slide-2
SLIDE 2

Introduction Abstract process categories Conclusions and further work References

1

Introduction

2

Abstract process categories

3

Conclusions and further work

4

References

slide-3
SLIDE 3

Introduction Abstract process categories Conclusions and further work References

Functional reactive programming (FRP)

extension of functional programming allows programmers to deal with temporal aspects in a declarative fashion two key features:

time-dependent type membership temporal type constructors

Curry–Howard correspondence to temporal logic:

time-dependent trueness temporal operators

slide-4
SLIDE 4

Introduction Abstract process categories Conclusions and further work References

Categorical models of FRP

ingredients: totally ordered set (T, ) time scale CCCC B simple types and functions functor category BT models FRP types and FRP operations, with indices denoting inhabitation times: τ1 A

  • t†

· · · A

  • t‡

τ2 B

  • t† · · ·

B

  • t‡

ϕ ft† ft‡

slide-5
SLIDE 5

Introduction Abstract process categories Conclusions and further work References

Temporal type constructors

process type constructors modeled by functors ✄′′ and ◮′′: (A ✄′′ B)(t) =

  • t′∈(t,∞)

   

  • t′′∈(t,t′)

A

  • t′′

  × B

  • t′

  (A ◮′′ B)(t) = (A ✄′′ B)(t) +

  • t′∈(t,∞)

A

  • t′

variants that also deal with the present: A ✄′ B = A × A ✄′′ B A ✄ B = B + A ✄′ B A ◮′ B = A × A ◮′′ B A ◮ B = B + A ◮′ B behaviors and events as special processes: ✷′A = A ◮′′ 0 ✷A = A ◮′ 0 ✸′B = 1 ✄′ B ✸B = 1 ✄ B

slide-6
SLIDE 6

Introduction Abstract process categories Conclusions and further work References

Topic of this talk

axiomatically defined categorical semantics for this style of FRP road to this semantics:

1

categorical models of intuitionistic S4 (Kobayashi, 1997; Bierman and de Paiva, 2000)

2

temporal categories for FRP with behaviors and events (Jeltsch, 2012)

3

abstract process categories for FRP with arbitrary processes (this talk)

slide-7
SLIDE 7

Introduction Abstract process categories Conclusions and further work References

1

Introduction

2

Abstract process categories

3

Conclusions and further work

4

References

slide-8
SLIDE 8

Introduction Abstract process categories Conclusions and further work References

Basic structure

cartesian closed category C with coproducts process functors: ✄′′, ◮′′ : C × C → C unified process functor: − ✄′′

− − : C × 2 × C → C

traditional process functors by specialization: ✄′′ = ✄′′ ◮′′ = ✄′′

1

weakening as mapping: w : 0 → 1 ✄′′

w : ✄′′ → ◮′′

slide-9
SLIDE 9

Introduction Abstract process categories Conclusions and further work References

Comonads and more

three kinds of structures:

comonads: εA,W ,B : A ✄′

W B → A

δA,W ,B : A ✄′

W B → (A ✄′ W B) ✄′ W B

ideal comonads: δ′

A,W ,B : A ✄′′ W B → (A ✄′ W B) ✄′′ W B

“real comonads”: νA,W ,B : A ✄W B → (A ✄′

W B) ✄W B

derivation: ideal comonads → comonads → “real comonads”

slide-10
SLIDE 10

Introduction Abstract process categories Conclusions and further work References

Monads and more

three kinds of structures:

monads: ηA,W ,B : B → A ✄W B µA,W ,B : A ✄W (A ✄W B) → A ✄W B ideal monads: µ′

A,W ,B : A ✄′ W (A ✄W B) → A ✄′ W B

“fantastic monads”: µ′′

A,W ,B : A ✄′′ W (A ✄W B) → A ✄′′ W B

derivation: “fantastic monads” → ideal monads → monads

slide-11
SLIDE 11

Introduction Abstract process categories Conclusions and further work References

Merging

natural transformation of the following type: A1 ✄′′

W1 B1 × A2 ✄′′ W2 B2

↓ (A1 × A2) ✄′′

W1×W2 ((A1, W1, B1) ⊙ (A2, W2, B2))

definition of ⊙: (A1, W1, B1) ⊙ (A2, W2, B2) = (B1 × B2) +

  • B1 × A2 ✄′

W2 B2

  • +
  • A1 ✄′

W1 B1 × B2

  • W1 × W2 is minimum of W1 and W2

variants of merging for ✄′ and ✄ nullary version of merging with the following type: 1 → 1 ✄′′

1 0

slide-12
SLIDE 12

Introduction Abstract process categories Conclusions and further work References

Merging

natural transformation of the following type: A1 ✄′′

W1 B1 × A2 ✄′′ W2 B2

↓ (A1 × A2) ✄′′

W1×W2 ((A1, W1, B1) ⊙ (A2, W2, B2))

definition of ⊙: (A1, W1, B1) ⊙ (A2, W2, B2) = (B1 × B2) +

  • B1 × A2 ✄′

W2 B2

  • +
  • A1 ✄′

W1 B1 × B2

  • W1 × W2 is minimum of W1 and W2

variants of merging for ✄′ and ✄ nullary version of merging with the following type: 1 → 1 ✄′′

1 0

slide-13
SLIDE 13

Introduction Abstract process categories Conclusions and further work References

Merging

natural transformation of the following type: A1 ✄′′

W1 B1 × A2 ✄′′ W2 B2

↓ (A1 × A2) ✄′′

W1×W2 ((A1, W1, B1) ⊙ (A2, W2, B2))

definition of ⊙: (A1, W1, B1) ⊙ (A2, W2, B2) = (B1 × B2) +

  • B1 × A2 ✄′

W2 B2

  • +
  • A1 ✄′

W1 B1 × B2

  • W1 × W2 is minimum of W1 and W2

variants of merging for ✄′ and ✄ nullary version of merging with the following type: 1 → 1 ✄′′

1 0

slide-14
SLIDE 14

Introduction Abstract process categories Conclusions and further work References

Merging

natural transformation of the following type: A1 ✄′′

W1 B1 × A2 ✄′′ W2 B2

↓ (A1 × A2) ✄′′

W1×W2 ((A1, W1, B1) ⊙ (A2, W2, B2))

definition of ⊙: (A1, W1, B1) ⊙ (A2, W2, B2) = (B1 × B2) +

  • B1 × A2 ✄′

W2 B2

  • +
  • A1 ✄′

W1 B1 × B2

  • W1 × W2 is minimum of W1 and W2

variants of merging for ✄′ and ✄ nullary version of merging with the following type: 1 → 1 ✄′′

1 0

slide-15
SLIDE 15

Introduction Abstract process categories Conclusions and further work References

Merging

natural transformation of the following type: A1 ✄′′

W1 B1 × A2 ✄′′ W2 B2

↓ (A1 × A2) ✄′′

W1×W2 ((A1, W1, B1) ⊙ (A2, W2, B2))

definition of ⊙: (A1, W1, B1) ⊙ (A2, W2, B2) = (B1 × B2) +

  • B1 × A2 ✄′

W2 B2

  • +
  • A1 ✄′

W1 B1 × B2

  • W1 × W2 is minimum of W1 and W2

variants of merging for ✄′ and ✄ nullary version of merging with the following type: 1 → 1 ✄′′

1 0

slide-16
SLIDE 16

Introduction Abstract process categories Conclusions and further work References

1

Introduction

2

Abstract process categories

3

Conclusions and further work

4

References

slide-17
SLIDE 17

Introduction Abstract process categories Conclusions and further work References

Conclusions and further work

conclusions:

developed abstract process categories (APCs) axiomatically defined categorical semantics for FRP with processes generalize temporal categories (Jeltsch, 2012)

further work:

extensions of APCs:

recursion stateful objects

FRP implementation with API inspired by (extended versions of) APCs

slide-18
SLIDE 18

Introduction Abstract process categories Conclusions and further work References

1

Introduction

2

Abstract process categories

3

Conclusions and further work

4

References

slide-19
SLIDE 19

Introduction Abstract process categories Conclusions and further work References

References

[Kobayashi, 1997] Satoshi Kobayashi. Monad as Modality. Theoretical Computer Science, 175 (1):29–74, 1997. [Bierman and de Paiva, 2000] Gavin Bierman and Valeria de Paiva. On an Intuitionistic Modal Logic. Studia Logica, 65 (3):383–416, 2000. [Jeltsch, 2012] Wolfgang Jeltsch. Towards a Common Categorical Semantics for Linear-Time Temporal Logic and Functional Reactive Programming. Electronic Notes in Theoretical Computer Science, 286:229–242, 2012.