abstract process categories
play

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


  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

  2. Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4

  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

  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 B T models FRP types and FRP operations, with indices denoting inhabitation times: t † � t ‡ � τ 1 � � A · · · A ϕ f t † f t ‡ t † � · · · � � t ‡ � τ 2 B B

  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 ′ � �  × B � A    t ′ ∈ ( t , ∞ ) t ′′ ∈ ( t , t ′ ) ( A ◮ ′′ B )( t ) = ( A ✄ ′′ B )( t ) + � t ′ � � A t ′ ∈ ( 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

  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: categorical models of intuitionistic S4 1 (Kobayashi, 1997; Bierman and de Paiva, 2000) temporal categories for FRP with behaviors and events 2 (Jeltsch, 2012) abstract process categories for FRP with arbitrary processes 3 (this talk)

  7. Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4

  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: ✄ ′′ = ✄ ′′ 0 ◮ ′′ = ✄ ′′ 1 weakening as mapping: w : 0 → 1 w : ✄ ′′ → ◮ ′′ ✄ ′′

  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”

  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

  11. Introduction Abstract process categories Conclusions and further work References Merging natural transformation of the following type: A 1 ✄ ′′ W 1 B 1 × A 2 ✄ ′′ W 2 B 2 ↓ ( A 1 × A 2 ) ✄ ′′ W 1 × W 2 (( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 )) definition of ⊙ : ( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 ) = B 1 × A 2 ✄ ′ A 1 ✄ ′ � � � � ( B 1 × B 2 ) + W 2 B 2 + W 1 B 1 × B 2 W 1 × W 2 is minimum of W 1 and W 2 variants of merging for ✄ ′ and ✄ nullary version of merging with the following type: 1 → 1 ✄ ′′ 1 0

  12. Introduction Abstract process categories Conclusions and further work References Merging natural transformation of the following type: A 1 ✄ ′′ W 1 B 1 × A 2 ✄ ′′ W 2 B 2 ↓ ( A 1 × A 2 ) ✄ ′′ W 1 × W 2 (( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 )) definition of ⊙ : ( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 ) = B 1 × A 2 ✄ ′ A 1 ✄ ′ � � � � ( B 1 × B 2 ) + W 2 B 2 + W 1 B 1 × B 2 W 1 × W 2 is minimum of W 1 and W 2 variants of merging for ✄ ′ and ✄ nullary version of merging with the following type: 1 → 1 ✄ ′′ 1 0

  13. Introduction Abstract process categories Conclusions and further work References Merging natural transformation of the following type: A 1 ✄ ′′ W 1 B 1 × A 2 ✄ ′′ W 2 B 2 ↓ ( A 1 × A 2 ) ✄ ′′ W 1 × W 2 (( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 )) definition of ⊙ : ( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 ) = B 1 × A 2 ✄ ′ A 1 ✄ ′ � � � � ( B 1 × B 2 ) + W 2 B 2 + W 1 B 1 × B 2 W 1 × W 2 is minimum of W 1 and W 2 variants of merging for ✄ ′ and ✄ nullary version of merging with the following type: 1 → 1 ✄ ′′ 1 0

  14. Introduction Abstract process categories Conclusions and further work References Merging natural transformation of the following type: A 1 ✄ ′′ W 1 B 1 × A 2 ✄ ′′ W 2 B 2 ↓ ( A 1 × A 2 ) ✄ ′′ W 1 × W 2 (( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 )) definition of ⊙ : ( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 ) = B 1 × A 2 ✄ ′ A 1 ✄ ′ � � � � ( B 1 × B 2 ) + W 2 B 2 + W 1 B 1 × B 2 W 1 × W 2 is minimum of W 1 and W 2 variants of merging for ✄ ′ and ✄ nullary version of merging with the following type: 1 → 1 ✄ ′′ 1 0

  15. Introduction Abstract process categories Conclusions and further work References Merging natural transformation of the following type: A 1 ✄ ′′ W 1 B 1 × A 2 ✄ ′′ W 2 B 2 ↓ ( A 1 × A 2 ) ✄ ′′ W 1 × W 2 (( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 )) definition of ⊙ : ( A 1 , W 1 , B 1 ) ⊙ ( A 2 , W 2 , B 2 ) = B 1 × A 2 ✄ ′ A 1 ✄ ′ � � � � ( B 1 × B 2 ) + W 2 B 2 + W 1 B 1 × B 2 W 1 × W 2 is minimum of W 1 and W 2 variants of merging for ✄ ′ and ✄ nullary version of merging with the following type: 1 → 1 ✄ ′′ 1 0

  16. Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4

  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

  18. Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4

  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.

Recommend


More recommend