Tailored Scopes: A Fresh Look at Issues 1 and 10 Satish Thatte Dieter Roller Frank Leymann.

Slides:



Advertisements
Similar presentations
Chapter 11, Section 1 Forces Inside the Earth
Advertisements

Default Compensation Order Satish Thatte Dieter Roller.
Why Do We Need a (Plan) Portability API? Gerd Breiter Frank Leymann Thomas Spatzier.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Concurrency Control Amol Deshpande CMSC424. Approach, Assumptions etc.. Approach  Guarantee conflict-serializability by allowing certain types of concurrency.
Early Completion of the Flow Activity - A proposal -
6. Deadlocks 6.1 Deadlocks with Reusable and Consumable Resources
© 2004, Robert K. Moniot Chapter 6 CSS : Cascading Style Sheets.
Algebra Problems… Solutions Algebra Problems… Solutions © 2007 Herbert I. Gross Set 13 By Herbert I. Gross and Richard A. Medeiros next.
1 Generalizations Multiple Inheritance (finishing up Class Design) Class Design – Another Look – Part 11.
Best-First Search: Agendas
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
CS 211 Inheritance AAA.
Avishai Wool lecture Introduction to Systems Programming Lecture 5 Deadlocks.
Interface & Abstract Class. Interface Definition All method in an interface are abstract methods. Methods are declared without the implementation part.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
The ‘deadlock’ conditions Reviewing some key points concerning the potential for ‘deadlock’ in an operating system.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
GRANULARITY OF LOCKS IN SHARED DATA BASE J.N. Gray, R.A. Lorie and G.R. Putzolu.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Section 12.0 Review of Linear Inequalities
9.3 Linear Inequalities in Two Variables. Objective 1 Graph linear inequalities in two variables. Slide
Review for Final Exam Systems of Equations.
Table of Contents The goal in solving a linear system of equations is to find the values of the variables that satisfy all of the equations in the system.
(C) 2010 Pearson Education, Inc. All rights reserved. Java™ How to Program, 8/e.
Packages. Package A package is a set of related classes Syntax to put a class into a package: package ; public class { …} Two rules:  A package declaration.
Exponential & Logarithmic Equations MATH Precalculus S. Rook.
Object Oriented Programming Elhanan Borenstein Lecture #4.
Solve Equations with Variables on Both Sides
Chapter 4.1 Solving Systems of Linear Equations in two variables.
Chapter 7 Section 6 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
CSE 501N Fall ‘09 14: Inheritance 20 October 2009 Nick Leidenfrost.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Triggers A Quick Reference and Summary BIT 275. Triggers SQL code permits you to access only one table for an INSERT, UPDATE, or DELETE statement. The.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 7 Structured Data and Classes.
Chapter 7 – Deadlock (Pgs 283 – 306). Overview  When a set of processes is prevented from completing because each is preventing the other from accessing.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
Literal Equations Chapter 9 lesson 1.
Process Coordination in BPEL CounterProposal Bob Haugen.
Access and Query Task Force Status at F2F1 Simon Miles.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter 5. Evolution Seoul National University Department of Computer Engineering OOPSLA Lab.
Chapter 16 Concurrency. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.16-2 Topics in this Chapter Three Concurrency Problems Locking Deadlock.
Radical Equations and Problem Solving 4.7 Power Rule When solving radical equations, we use a new principle called the power rule. –The Power Rule states.
Solving Systems of Equations: The Elimination Method Solving Systems of Equations: The Elimination Method Solving Systems of Equations: The Elimination.
Bell Work: Simplify: √500,000,000. Answer: 10,000√5.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Section 06 (a)RDBMS (a) Supplement RDBMS Issues 2 HSQ - DATABASES & SQL And Franchise Colleges By MANSHA NAWAZ.
 Control Flow statements ◦ Selection statements ◦ Iteration statements ◦ Jump statements.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Slide Copyright © 2009 Pearson Education, Inc. 7.2 Solving Systems of Equations by the Substitution and Addition Methods.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Chapter 3 Systems of Equations. Solving Systems of Linear Equations by Graphing.
Fundamentals of PL/SQL part 2 (Basics)
Process Coordination in BPEL Issues and Recommendations
Software Testing.
Chapter 3: Decisions and Loops
Solving Systems of Linear Equations by Addition
Extra slide #3.
State Machine Diagrams
Solving Systems of Linear Equations by Addition
Packages and Interfaces
BPEL Eric Verbeek In these two hours (approx.) we will give an overview of BPEL, the Business Process Execution Language. We will also give some of the.
Chapter 3 Section 4.
Introduction: A review on static electric and magnetic fields
DRILL: x + 4y =1 x - 4y =5 2x – y =6 x + y = 3.
NAME 436.
Module 10: Creating Transactional Business Processes
Presentation transcript:

Tailored Scopes: A Fresh Look at Issues 1 and 10 Satish Thatte Dieter Roller Frank Leymann

Scopes are not Naturally Homogeneous BPEL uses scopes as a hook to hang many capabilities and behaviors that apply to a process region One such behavior is reflected in the presence of fault and compensation handlers—let us call this “reversibility”  An orthogonal capability is the ability to declare local variables The decision to make the reversibility behavior apply to all scopes is a part of the problem  Forces all scopes to have implicit fault/compensation handlers  Any restrictions relative to links crossing reversible scope boundaries apply to all scopes and thus become hard to justify Key part of the proposal is to define explicit attributes to specify the intent of a scope, thus allowing “tailoring” of scope behavior  Not all scopes are reversible  We can invent new attributes such as “permeable” (see below) and define their relationship to other attributes

Proposed Scope Tailoring Attributes Currently there are three proposed  Reversible: has error recovery behavior, i.e., either explicit or implicit fault and compensation  Permeable: Allows links leaving the scope to communicate status immediately as soon as it is determined at the source activity—impermeable scopes force the status communication to wait until the scope is completed, and the status communicated can be “true” only if the scope completed successfully  Serializable: as before (just shortened the name from variableAccessSerializable)  Need defaults for the first two (mutual dependence must be accounted for, thus makes schema “interesting”)

Mutual Interactions of Attributes A control path leaving and reentering an impermeable scope via links would create a control cycle, and therefore this statically detectable condition would be prohibited Serializable scopes must be impermeable otherwise they risk deadlock with other serializable scopes  But we can eliminate the link crossing ban for serializable scopes Serializable scopes must be reversible because otherwise the serializability environment for inner reversible scopes becomes indeterminate  see next slide Reversible scopes should be impermeable because source activities may be compensated after they communicate the status of links originating in them. Permeability would either “break the premise” of the link status or would require us to address “cascading compensation” (not in this version)  Therefore the “effective source” and target of a link must always be in the same reversible scope  Therefore the effective source of a link crossing the boundary of an impermeable scope is the impermeable scope as a whole  The status of a link leaving an impermeable scope is communicated only if the impermeable scope is completed (successfully or otherwise)

Serializability and Reversibility There is a side issue left over from the resolution of Issue 79 The serializability environment for reversible scopes nested directly or indirectly inside serializable scopes is uncertain  Such nested scopes cannot themselves be serializable  When their compensation handlers are called from a fault handler of the serializable scope, they share the serializability environment of the ancestor scope  When those same handlers are called from the compensation handler of the serializable scope they do not  We need to amend the resolution of Issue 79 to make the compensation handler of a serializable scope implicitly serializable If we allowed serializable scopes to be non-reversible, there would be no way to make the serializability environment of nested reversible scopes predictable We therefore end up with a hierarchy of scope properties:  serializable > reversible > impermeable

Benefits of “scope tailoring” proposal Solves Issue 1  The problem cited had to do with a link firing and then its source activity getting compensated as a result of a fault in the scope at the source—the link would not now be able to fire until all danger of such compensation without similar compensation of the target was past Solves Issue 10  It is no longer possible to have other than depth first order of control-flow-dictated completion since we ban circular dependencies via links between reversible scopes Improves the solution for Issue 79, and moreover  Serializable scopes can now be made impermeable rather than banning links crossing their boundaries altogether  Makes it much easier to use serializable scopes for concurrency control in branches