260 likes | 353 Views
An Enablement Detection Algorithm for Open Multiparty Interactions. Universidad de Sevilla. José Antonio Pérez Castellanos. Contents. Our objectives Static multiparty interaction models Our proposal Implementation Performance notes Conclusions. Contents. Our objectives
E N D
An Enablement Detection Algorithm for Open Multiparty Interactions Universidad de Sevilla 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
enablement refusement selection Static Multiparty Interaction Models States of an interaction • Enablement=each entity is willing to participate in the interaction Disabled • If some interactions share some entity, only one of them will be able to execute! Enabled • After execution, interaction becomes disabled. • When synchronisation is achieved, communication can occur by means of slots Synchronisation
I1 I1 I2 I2 Static Multiparty Interaction Models P1 P3 P2 P2 P4
I1 I2 Static Multiparty Interaction Models P1 P3 P2 P2 P4 P4
I1 I2 Static Multiparty Interaction Models P1 P3 P2 P4
Static Multiparty Interaction Models These models… • Have efficient, reliable implementations, but… • They are not suitable for open environments
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
I’d like that R be played by R1 I don’t care at all... I wish P1 to play role P I1 P R I’d like... I’d like P1 to play role P, and R1 to play role R! Q I2 Q S I’d like... Our Proposal P1 R1 P2 S1 Q1 S2
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
R!R1;Q!Q1 I1 P R R!R2;Q!Q1 Q Q!Q1 I2 Q S Q!Q1 Implementation -solver: enablement detection P1 R1 P2 S1 Q1 S2
I1(a) I2(a) I2(b) I2(b) Implementation Each enablement is dealt with as a static interaction -core: selects as many non-conflicting interactions (or enablements) as possible P1 R1 S1 S1 Q1 Q1 S2
Q!Q1 P I R Q Implementation-solver • Main ideas: • Participation offers are represented as tuples: [P1, (Q1), ()] P1 • 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 [P1, (Q1), R1] [P1, (Q1), ()] [(P1), (Q1), R1] • We can algorithmically build an acyclic directed graph by successive applications of the operation
Implementation-core • 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
Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions
Coordinations per second 120 100 80 60 40 20 0 get_forks transfer release_forks get_forks release_forks transfer 85 85 70 Our proposal 104 104 98 ad-hoc implementation Performance notes
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