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

Slides:



Advertisements
Similar presentations
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Advertisements

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Deadlock Prevention, Avoidance, and Detection
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Deadlock Prevention, Avoidance, and Detection.  The Deadlock problem The Deadlock problem  Conditions for deadlocks Conditions for deadlocks  Graph-theoretic.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Distributed Transaction Management, Fall 2002Lecture 2 / Distributed Deadlock Management Jyrki Nummenmaa
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
1/25 Concurrency and asynchronous computing How do we deal with evaluation when we have a bunch of processors involved?
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Chapter 6 Concurrency: Deadlock and Starvation
Starvation and Deadlock
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
Transaction Management and Concurrency Control
Transaction Management and Concurrency Control
The ‘deadlock’ conditions Reviewing some key points concerning the potential for ‘deadlock’ in an operating system.
Persistent State Service 1 Distributed Object Transactions  Transaction principles  Concurrency control  The two-phase commit protocol  Services for.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Chapter 7 – Deadlock and Indefinite Postponement
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 8-1 COS 346 Day 18.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
1 Concurrency: Deadlock and Starvation Chapter 6.
Chapter 6 Deadlocks Resources Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
2015/7/2Deadlock-free Packet Switching1 Introduction to Distributed Algorithm Part One: Protocols Chapter 5- Deadlock-free Packet Switching Teacher: Chun-Yuan.
Transaction Management and Concurrency Control
Transactions and concurrency control
Identify important learning opportunities for coaches explain how a mentor can help to maximise these learning opportunities outline the potential roles.
BY VEDASHREE GOVINDA GOWDA
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
SEN 0 – 25 Years Pat Foster.
Purpose of study A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world. Computing.
INTERNATIONAL LABOUR ORGANIZATION Conditions of Work and Employment Programme (TRAVAIL) 2012 Module 15: Capacity development and training on Maternity.
An Architecture for Empathic Agents. Abstract Architecture Planning + Coping Deliberated Actions Agent in the World Body Speech Facial expressions Effectors.
Semantic Interoperability Berlin, 25 March 2008 Semantically Enhanced Resource Allocator Marc de Palol Jorge Ejarque, Iñigo Goiri, Ferran Julià, Jordi.
Development of a Resource Locking Algorithm for a Kernel Debugging User-space API Library TJHSST Computer Systems Lab Timothy Wismer.
1 Processes, Threads, Race Conditions & Deadlocks Operating Systems Review.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
1 Announcements The fixing the bug part of Lab 4’s assignment 2 is now considered extra credit. Comments for the code should be on the parts you wrote.
CY2003 Computer Systems Lecture 04 Interprocess Communication.
15.1 Threads and Multi- threading Understanding threads and multi-threading In general, modern computers perform one task at a time It is often.
An Introduction to Formative Assessment as a useful support for teaching and learning.
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
9 1 Chapter 9_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
SWH The Marketing Plan Devising a Marketing Plan Reviewing and Revising the Marketing Plan 1/22/2016SWH.
Interpersonal communication. defining the process of message transaction between people to create and sustain shared meaning.
10 1 Chapter 10_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
3 Database Systems: Design, Implementation, and Management CHAPTER 9 Transaction Management and Concurrency Control.
Towards a Benchmark for the Evaluation of LD Expressiveness and Suitability Manuel Caeiro Rodríguez
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
Introduction to operating systems What is an operating system? An operating system is a program that, from a programmer’s perspective, adds a variety of.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Concurrency Control Managing Hierarchies of Database Elements (18.6)
Chapter 5 - Process Management
Operating systems Deadlocks.
Transaction Management and Concurrency Control
Devising a Marketing Plan
ICS Principles of Operating Systems
Database Processing: David M. Kroenke’s Chapter Nine: Part One
Operating systems Deadlocks.
Chapter 15 : Concurrency Control
Concurrency: Mutual Exclusion and Process Synchronization
Versioning and Variant Authoring Requirements
NETWORK PROGRAMMING CNET 441
Operating System 6 CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION
CSE 153 Design of Operating Systems Winter 2019
Prepared by: Mudra Patel (113) Pradhyuman Raol(114)
Presentation transcript:

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

Contents n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Contents n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Our Ojectives To devise a high-level coordination model that… n Allows us to express coordination amongst an arbitrary number of entities n Is able to coordinate entities that do not need to know each another n Can be efficiently implemented

Contents n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Static Multiparty Interaction Models n Interaction= shared event amongst a set of entities n The occurrence of an interaction is an atomic event n An entity cannot engage in more that one interaction simultaneously

States of an interaction Disabled Synchronisation Enabled enablement refusementselection 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

I1I1 P1P1 I2I2 P3P3 P2P2 P4P4 I1I1 I2I2 P2P2

I1I1 P1P1 I2I2 P3P3 P4P4 P2P2 P4P4 P2P2

P1P1 I2I2 P3P3 P4P4 P2P2 I1I1

n Have efficient, reliable implementations, but… n They are not suitable for open environments These models…

Contents n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Our Proposal Open multiparty interaction model: n Entities do not need to know each other beforehand n Entities offer to participate in an interaction playing a role n They can put restrictions on what entities should play other roles

P2P2 R1R1 S1S1 Q1Q1 I1I1 P Q R I2I2 QS P1P1 S2S2 I’d like that R be played by R 1 I don’t care at all... I wish P1 to play role P I’d like P 1 to play role P, and R 1 to play role R! I’d like... Our Proposal

Advantages: n Entities do not need to know each other beforehand: suitable for open environments n Achieves a good level of expressiveness n Can also be efficiently implemented

Contents n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Implementation n 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

P2P2 R1R1 S1S1 Q1Q1 I1I1 P Q R I2I2 QS P1P1 S2S2 R!R 1 ;Q!Q 1 R!R 2 ;Q!Q 1 Q!Q 1  -solver: enablement detection Implementation

R1R1 S1S1 Q1Q1 I 1(a) I 2(b) P1P1 S2S2 Each enablement is dealt with as a static interaction I 2(a)  -core: selects as many non-conflicting interactions (or enablements) as possible I 2(b) S1S1 Q1Q1 Implementation

n 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  I P Q R P1P1 Q!Q 1 [P1, (Q1), ()] [(P 1 ), (Q 1 ), R 1 ]  [P 1, (Q 1 ), R 1 ] Implementation  -solver

n 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 n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Performance notes get_forks release_forks transfer Coordinations per second Our proposal ad-hoc implementation get_forksrelease_forkstransfer

Presentation Index n Our objectives n Static multiparty interaction models n Our proposal n Implementation n Performance notes n Conclusions

Conclusions n Contributions: à A simple, expressive interaction model and à An efficient, reliable implementation n 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