Loading in 2 Seconds...

Ivan Lanese Computer Science Department Univers ity of Bologna Roberto Bruni

Loading in 2 Seconds...

- 66 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Ivan Lanese Computer Science Department Univers ity of Bologna Roberto Bruni' - benita

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

RoadmapRoadmapRoadmap

PRISMA

A mobile calculus with

parametric synchronization

Ivan Lanese

Computer Science Department

University of Bologna

Roberto Bruni

Computer Science Department

University of Pisa

Roadmap

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

Roadmap

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

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

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

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

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

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)

Roadmap

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

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

in

out

τ

a

ε

a

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

out

in

in

in

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

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

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

(

)

h

i

f

b

l

h

f

P

i

i

i

t

n

o

p

u

s

o

u

n

o

=

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:

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 π

j

j

j

(

(

(

)

)

)

h

h

i

i

(

h

[

i

]

h

i

j

0

[

]

)

!

f

b

l

b

h

l

h

f

P

S

S

C

P

C

C

U

S

i

i

i

i

i

i

t

t

x

y

n

p

o

n

u

e

p

w

u

s

s

n

s

n

y

o

x

u

n

s

n

e

e

w

o

y

s

o

u

x

x

=

=

=

b

b

i

i

1

2

:

:

h

i

b

l

h

d

i

i

p

u

s

¿

j

(

)

(

h

i

j

0

[

]

)

j

j

;

f

f

f

S

S

C

C

i

i

i

t

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

n

o

n

e

w

s

o

u

n

o

n

o

!

b

1

2

(

)

h

i

f

f

d

i

i

i

t

n

o

n

e

w

s

o

u

n

o

b

j

0

[

]

j

[

]

j

[

]

;

f

f

f

S

S

U

U

i

i

i

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

¡

n

o

s

e

n

o

s

e

n

o

!

1

2

Implementing the news scenarioNews server:

Provider:

Clients:

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

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

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

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

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

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

- Why PRISMA calculus?
- Synchronization Algebras with Mobility
- Syntax and semantics
- Properties and applications
- Conclusions and future work

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

Future work

- Put PRISMA at work on more challenging case studies
- Exploit PRISMA to compare different synchronization models
- Analyze the relationships with existing calculi

Download Presentation

Connecting to Server..