1 / 26

An Enablement Detection Algorithm for Open Multiparty Interactions

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

addo
Download Presentation

An Enablement Detection Algorithm for Open Multiparty Interactions

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  3. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  4. 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

  5. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  6. 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

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

  8. I1 I1 I2 I2 Static Multiparty Interaction Models P1 P3 P2 P2 P4

  9. I1 I2 Static Multiparty Interaction Models P1 P3 P2 P2 P4 P4

  10. I1 I2 Static Multiparty Interaction Models P1 P3 P2 P4

  11. Static Multiparty Interaction Models These models… • Have efficient, reliable implementations, but… • They are not suitable for open environments

  12. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  13. 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

  14. 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

  15. 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

  16. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  17. 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

  18. 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

  19. 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

  20. 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 

  21. 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

  22. Contents • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  23. 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

  24. Presentation Index • Our objectives • Static multiparty interaction models • Our proposal • Implementation • Performance notes • Conclusions

  25. 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 • …

  26. Thanks for your attention! • We are on the web! You can visit us at http://www.lsi.us.es/~tdg

More Related