26
Universidad de Sevilla An Enablement Detection Algorithm for Open Multiparty Interactions sé Antonio Pérez Castellanos

Universidad de Sevilla An Enablement Detection Algorithm for Open Multiparty Interactions José Antonio Pérez Castellanos

Embed Size (px)

Citation preview

Universidad de Sevilla

An Enablement Detection Algorithm for Open Multiparty Interactions

José Antonio Pérez Castellanos

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Our Ojectives

To devise a high-level coordination model that…

Allows us to express coordination amongst an arbitrary number of entities

Is able to coordinate entities that do not need to know each another

Can be efficiently implemented

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Static Multiparty Interaction Models

Interaction= shared event amongst a set of entities

The occurrence of an interaction is an atomic event

An entity cannot engage in more that one interaction simultaneously

States of an interaction

Disabled

Synchronisation

Enabled

enablement refusement

selection

Enablement=each entity is willing to participate in the interaction

If some interactions share some entity, only one of them will be able to execute!

When synchronisation is achieved, communication can occur by means of slots

After execution, interaction becomes disabled.

Static Multiparty Interaction Models

I1P1

I2

P3

P2 P4

I1

I2P2

Static Multiparty Interaction Models

I1P1

I2

P3

P4P2 P4P2

Static Multiparty Interaction Models

P1

I2

P3

P4P2

I1

Static Multiparty Interaction Models

Static Multiparty Interaction Models

Have efficient, reliable implementations, but…

They are not suitable for open environments

These models…

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Our Proposal

Open multiparty interaction model:

Entities do not need to know each other beforehand

Entities offer to participate in an interaction playing a role

They can put restrictions on what entities should play other roles

P2

R1

S1

Q1

I1

P

Q

R

I2

Q S

P1

S2

I’d like that R be played by

R1

I don’t care at all...

I wish P1 to play role P

I’d like P1 to play

role P, and R1 to play

role R!

I’d like...

I’d like...

Our Proposal

Our Proposal

Advantages:

Entities do not need to know each other beforehand: suitable for open environments

Achieves a good level of expressiveness

Can also be efficiently implemented

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Implementation

Principle:–Deal with enablement detection separately from enablement selection–Once an enablement has been found, it can be managed as a static interaction amongst the entities involved in it

P2

R1

S1

Q1

I1

P

Q

R

I2

Q S

P1

S2

R!R1;Q!Q1

R!R2;Q!Q1

Q!Q1

Q!Q1

-solver: enablement detection

Implementation

R1

S1

Q1

I1(a)

I2(b)

P1

S2

Each enablement is dealt with as a static interaction

I2(a)

-core: selects as many non-conflicting interactions (or enablements) as possible

I2(b) S1

Q1

Implementation

Main ideas:–Participation offers are represented as tuples:

–A binary operation is defined on tuples, such that:– Operation is defined iff both offers are compatible– The resulting tuple gathers the information of its operands

–We can algorithmically build an acyclic directed graph by successive applications of the operation

IP

Q

RP1

Q!Q1 [P1, (Q1), ()]

[P1, (Q1), ()] [(P1), (Q1), R1]

[P1, (Q1), R1]

Implementation-solver

Main ideas (to appear in Coordination’02):–To execute an enablement it must achieve

exclusion on all its participants–Participants in more than one enablement are

considered as a shared resource amongst them–Enablements must compete in order to get

exclusion on their shared participants–To avoid deadlocks:

– Exclusion is requested in a given order, locking participants.

– When an enablement is refused, it releases all the participants that it locked

Implementation-core

Contents

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Performance notes

get_

fork

s

relea

se_f

orks

trans

fer

020406080

100120

Coordinations per second

Our proposal 85 85 70

ad-hocimplementation

104 104 98

get_forks release_forks transfer

Presentation Index

Our objectives

Static multiparty interaction models

Our proposal

Implementation

Performance notes

Conclusions

Conclusions

Contributions: A simple, expressive interaction model and An efficient, reliable implementation

Applications: Multiorganisational web based systems E-commerce Describing behaviours as an aspect: CAL …

Thanks for your attention!

We are on the web!

You can visit us at http://www.lsi.us.es/~tdg