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
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 …