1 ivan lanese computer science department university of bologna roberto bruni computer science...

28
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric synchronization

Post on 20-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

1

Ivan LaneseComputer Science Department

University of Bologna

Roberto BruniComputer Science Department

University of Pisa

A mobile calculus with

parametric synchronization

Page 2: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

2

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 3: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

3

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 4: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

4

Process calculi and synchronization

Process calculi are used to model a wide range

of systems

– Computer networks, biological systems, service

oriented architectures, workflow patterns

Different systems communicate according to

different synchronization policies

Each calculus has its own primitive(s)

– Binary synchronization, broadcast, service

invocation

Page 5: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

5

Modelling troubles

Sometimes the desired primitives are not (all)

available in the used calculus

Either they should be implemented…

– Difficult task, produces unclear models

…or a new ad hoc model is proposed

– Theory and tools have to be redeveloped from

scratch

Page 6: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

6

Our idea

Define a (mobile) calculus where the synchronization

primitives can be freely chosen, combined and

compared

We build on

– Winskel’s work on synchronization algebras» Do not consider mobility

– Our previous work on synchronization algebras with mobility

in the Synchronized Hyperedge Replacement framework» Belongs to the graph transformation approach

We apply the idea in the field of calculi for mobility

Page 7: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

7

What we are claiming and NOT claiming

Our calculus is NOT able to easily and faithfully simulate each

possible calculus– Synchronization is not the only feature that characterize a calculus

But

Real systems can be more easily modelled since the desired

primitives can be defined and exploited

Shows how to use the parametric approach for mobile calculi

Is a first step towards the understanding of the commonalities /

differences between different calculi

Page 8: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

8

A sample scenario

A news server takes news from providers and

broadcasts them to clients

Two kinds of primitives

– Binary communication between providers and the server

– Broadcast between server and clients

Challenging scenario for previous calculi (e.g., π

calculus)

Page 9: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

9

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 10: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

10

Synchronization Algebras with Mobility

Abstract formalization of a synchronization policy

A SAM contains– A set of ranked actions Act

– An element ε standing for “not taking part to the synchronization”

– A set of action synchronizations of the form (a, b, (c, Mob, ))

» Actions a and b can interact, producing action c

» The parameters of a and b are merged according to

» The parameters of c are computed as described by Mob

– A subset Fin of Act containing the complete actions

» Allowed on restricted channels

SAMs must satisfy some coherence conditions

Page 11: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

11

Mob and

a b c

Mob

Page 12: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

12

Milner synchronization as a SAM

Actions: inputs (e.g., in), outputs (e.g., out), τ, ε

No other synchronization is allowed

Only τ and ε are in Fin

in out τ a ε a

Page 13: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

13

Broadcast synchronization as a SAM

Actions: inputs, outputs, ε

ε can synchronize only with itself

Only out and ε are in Fin

As a result a complete synchronization involves one out and

one in from each other partner

in out out in in in

Page 14: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

14

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 15: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

15

PRISMA Calculus syntax

Standard process calculi operators

– Parallel composition, restriction, choice, …

– Prefixes x a y allowing to perform action a on

channel x with parameters in y

Page 16: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

16

PRISMA Calculus syntax

Standard process calculi operators

– Parallel composition, restriction, choice, …

– Prefixes x a y allowing to perform action a on

channel x with parameters in y

Example: P = (info)publish outhinfoi

Page 17: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

17

PRISMA semantics

Given by an LTS– Reduction semantics not suitable for multi-party synchronization

The behavior of a PRISMA process depends on the chosen

SAM S

Inference rules parametric on S to derive labelled transitions– label (Y) x a y, π executes x a y extruding names in Y and applying

fusion π

– label √, π executes an action on a restricted channel applying fusion π

Page 18: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

18

Implementing the news scenario

News server:

Provider:

Clients:

P = (info)publish outhinfoi

S =!(x)publish inhxi :(news outbhxi jS0[x])

Ci = (y)news inbhyi:Usei [y]

P jSjC1jC2publish ¿ hi ; id¡¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡! Sj(info)(news outbhinfoi jS0[info])jC1jC2(info)news outb hinfoi ; id¡¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡! SjS0[info]jUse1[info]jUse2[info]

Page 19: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

19

Abstract semantics

Bisimilarity can be defined in a standard way

Basic axioms (e.g., commutativity and

associativity of parallel composition) bisimulate

for any SAM

Theorem

Hyperbisimilarity (substitution closed

bisimilarity) is a congruence for any SAM

Page 20: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

20

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 21: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

21

PRISMA vs Fusion

Fusion calculus can be easily translated into

Milner PRISMA

– Homomorphic extension of the translation of Fusion

inputs and outputs into PRISMA ones

The obtained semantics is more detailed than

standard Fusion one

– Shows on which (free) channel a fusion is

generated

The induced bisimilarity is more detailed too

Page 22: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

22

Composing SAMs

SAMs can be given a categorical structure

Categorical constructions allow to combine

SAMs

– Coproduct makes the union of the primitives

– Product creates compound primitives

The SAM used in the sample application is a

coproduct of a Milner SAM and a broadcast SAM

Page 23: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

23

Translating processes

A process on S1 can be translated along a

morphism H:S1→S2 to a process on S2

Allows to execute a process in a different

framework

Properties of the morphism ensure

preservation of part of the behaviour

– Translations along isomorphisms preserve

bisimilarity

Page 24: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

24

A sample application

Priority SAM: many outputs synchronize with one

input, the one with the highest priority is received

Suppose we want to execute a Fusion process PF in

this framework

We can translate it into a Milner PRISMA process PM

There is a morphism Hn from Milner to Priority

assigning priority n to each output

Hn(PM) is a priority process

Page 25: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

25

Roadmap

Why PRISMA calculus?

Synchronization Algebras with Mobility

Syntax and semantics

Properties and applications

Conclusions and future work

Page 26: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

26

Conclusions

PRISMA is a mobile calculus suitable to model

different kinds of systems

– Heterogeneous systems

Suitable for interoperability analysis

Allows to reuse theory and tools for different

applications

Page 27: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

27

Future work

Put PRISMA at work on more challenging case

studies

Exploit PRISMA to compare different

synchronization models

Analyze the relationships with existing calculi

Page 28: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric

28

End of talk