Diagrammatic Algebra: from Linear to Concurrent Systems Filippo Bonchi, Joshua Holland, Robin Piedeleu, Pawe� l Soboci´ nski and Fabio Zanasi PoPL ’19, Cascais, Portugal Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 1 / 25
Question Electronic Notes in Theoretical Computer Science, 2006 Process algebras vs. Petri nets Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 2 / 25
In this talk Towards bridging the gap between the two approaches: ◮ Start from a compositional diagrammatic language for linear dynamical systems. ◮ Give it a resource-conscious semantics by changing the domain from a field to the semiring N . ◮ Provide a sound and complete equational theory for this new semantics. ◮ Showcase the expressiveness of the calculus by embedding Petri nets with their usual operational semantics. Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 3 / 25
A simple graphical language Section 1 A simple graphical language Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 4 / 25
A simple graphical language Drawing open systems c d , , . . . Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 5 / 25
A simple graphical language Drawing open systems c d , , . . . �→ � c � X ⊆ X × X 2 , � d � X ⊆ X × X . . . for some fixed set X . Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 5 / 25
A simple graphical language Parallel composition c d Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 6 / 25
A simple graphical language Parallel composition c d �→ y 1 � � x 1 � � � y 1 �� � ∈ � c � X , ( x 2 , y 3 ) ∈ � d � X y 2 x 1 , � x 2 , y 2 � y 3 Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 6 / 25
A simple graphical language Synchronising composition c d Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 7 / 25
A simple graphical language Synchronising composition c d �→ �� � z 1 �� � � � z 1 �� � � � ∃ y ( x , y ) ∈ � d � X , ∈ � c � X x , y , � z 2 z 2 Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 7 / 25
A simple graphical language More complex networks f e g c d Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 8 / 25
A simple graphical language Only the connectivity matters e f g c d Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 9 / 25
A simple graphical language Only the connectivity matters e f g c d � � ��� x � � y �� � � � = � x , y ∈ X � y , x X Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 9 / 25
A simple graphical language Multiple connections f e g c d Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 10 / 25
A simple graphical language Frobenius monoids Special boxes/systems: , , , satisfying: = = = = = = = ◮ form a special commutative Frobenius monoid . Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 11 / 25
A simple graphical language Interpreted as: �� � x �� � � � X = | x ∈ X � � X = { ( x , • ) | x ∈ X } x , x ��� x � � � � � X = | x ∈ X � � X = { ( • , x ) | x ∈ X } , x x Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 12 / 25
A simple graphical language More algebraic structure If X = R is a semiring we buy ourselves more structure: and for r ∈ R r , �→ ��� x � � � | ( x , y ) ∈ R 2 � � R = , x + y � � R = { (0 , • ) } y � � R = { ( x , rx ) | x ∈ R } r Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 13 / 25
A simple graphical language More algebraic structure If X = R is a semiring we buy ourselves more structure: and for r ∈ R r , and tranposes for free: := and := r := r Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 13 / 25
A simple graphical language More algebraic structure If X = R is a semiring we buy ourselves more structure: and for r ∈ R r , satisfying: = = = = , , , form a bimonoid . ◮ Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 13 / 25
A simple graphical language More algebraic structure If X = R is a semiring we buy ourselves more structure: and for r ∈ R r , satisfying: r = = r r r r = = r r r r = = r s rs r + s s = 0 ◮ Encode the additive and multiplicative operations of R. Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 13 / 25
A simple graphical language Adding state ◮ Introduce that we interpret as a state-holding register. x Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 14 / 25
A simple graphical language Adding state ◮ Introduce that we interpret as a state-holding register. x ◮ A stateful diagram c : k → l is interpreted as a relation � c � ⊆ R s + k × R s + l where s is the number of in c . x ◮ Semantics extended inductively with �� � ��� x � � y � � � � R = � x , y ∈ R x � , y x Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 14 / 25
Detour: the Linear Interpretation Section 2 Detour: the Linear Interpretation Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 15 / 25
Detour: the Linear Interpretation Linear relations As relations over a field K : �� � x �� � � � K = | x ∈ K � � K = { ( x , • ) | x ∈ K } x , x ��� x � � � | ( x , y ) ∈ K 2 � � K = , x + y � � K = { (0 , • ) } y � � K = { ( x , rx ) | x ∈ K } r ◮ For a diagram c : k → l , � c � K is a linear subspace of K k × K l , i.e., a relation closed under K -linear combinations. Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 16 / 25
Detour: the Linear Interpretation Complete equational theory ◮ Addition is also a special commutative Frobenius monoid: = = = = ◮ Scalars are invertible: = = for r � = 0 r r r r Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 17 / 25
Detour: the Linear Interpretation Linear dynamical systems For the stateful linear case: ◮ K = R ( x ) susbumes the notion of state we introduced. ◮ Semantics in terms of generalised streams (Laurent series). ◮ Models linear dynamical systems (e.g., filters, amplifiers) ◮ Generalisation of Shannon’s signal flow graphs . ◮ Reformulates control-theory in diagrammatic terms (e.g., controllability, observability). Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 18 / 25
The Resource Interpretation Section 3 The Resource Interpretation Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 19 / 25
The Resource Interpretation Motivating example x Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Motivating example t ��� s � � s ′ �� � � s = t + r , s � �→ � ∃ t s ′ = t + l � x l , r r l Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Motivating example t �� � ��� s � � s ′ � s = t + r , s � �→ � ∃ t s ′ = t + l � x , l r r l Over a field K , we can relate any two l and r : � � = � � K x K Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Motivating example t �� � ��� s � � s ′ � s = t + r , s � �→ � ∃ t s ′ = t + l � x l , r r l Over N , we must have r ≤ s so: � � � = � � N x N Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Motivating example t �� � ��� s � � s ′ � s = t + r , s � �→ � ∃ t s ′ = t + l � x , l r r l Over N , we must have r ≤ s so: � � � = � � N x N Intuition Without additive inverses, we cannot borrow arbitrary quantities. Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Motivating example t ��� s � � s ′ �� � � s = t + r , s � �→ � ∃ t s ′ = t + l � x l , r r l Over N , we must have r ≤ s so: � � � = � � N x N ◮ This diagram behaves like the place of a Petri net! Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 20 / 25
The Resource Interpretation Additive relations For a diagram c : k → l , � c � N is an additive relation : a finitely-generated submonoid of N k × N l , i.e., a relation closed under addition and containing ( 0 , 0 ). Proposition Finitely-generated additive relations form a symmetric monoidal category, AddRel . ◮ The proof that they compose is non-trivial and relies on Dickson’s lemma. Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 21 / 25
The Resource Interpretation Complete equational theory The Resource Calculus (RC) := every equation in Section I + , and , form an idempotent bimonoid: ◮ = = = = = ◮ And = = = for n � = 0 n n Bonchi et al. From Linear to Concurrent Systems 18 Jan 2019 22 / 25
Recommend
More recommend