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 process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4
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
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
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
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)
Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4
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 : ✄ ′′ → ◮ ′′ ✄ ′′
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”
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
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
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
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
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
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
Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4
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
Introduction Abstract process categories Conclusions and further work References Introduction 1 Abstract process categories 2 Conclusions and further work 3 References 4
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