Early Completion of the Flow Activity - A proposal -

Slides:



Advertisements
Similar presentations
Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
Advertisements

Chapter 4: Control Structures I (Selection)
COMMUNICATING SEQUENTIAL PROCESSES C. A. R. Hoare The Queen’s University Belfast, North Ireland.
Intermediate Code Generation
Combinational Logic.
Control Structures Any mechanism that departs from straight-line execution: –Selection: if-statements –Multiway-selection: case statements –Unbounded iteration:
Performance Management Plans Workshop 23 rd September 2010.
CHAPTER 5: LOOP STRUCTURES Introduction to Computer Science Using Ruby (c) 2012 Ophir Frieder et al.
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Dr. Yang, Qingxiong (with slides borrowed from Dr. Yuen, Joe) LT4: Control Flow - Loop CS2311 Computer Programming.
Tailored Scopes: A Fresh Look at Issues 1 and 10 Satish Thatte Dieter Roller Frank Leymann.
Topic 03 Control Statements Programming II/A CMC2522 / CIM2561 Bavy Li.
Sub Programs To Solve a Problem, First Make It Simpler.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
BPEL (Business Process Execution Language)
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana.
Demonstrating WSMX: Least Cost Supply Management.
BPEL4WS (Business Process Execution Language for Web Services) Nirmal Mukhi Component Systems Department IBM Research.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Presenter: Zong Ze-Huang Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi- Core Systems Stattelmann, S. ; Bringmann, O.
ASP.NET Programming with C# and SQL Server First Edition Chapter 3 Using Functions, Methods, and Control Structures.
CPS120 Introduction to Computer Science Iteration (Looping)
What does a computer program look like: a general overview.
Concurrent Aggregates (CA) Andrew A. Chien and William J. Dally Presented by: John Lynn and Ryan Wu.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
COMPUTER PROGRAMMING. Iteration structures (loops) There may be a situation when you need to execute a block of code several number of times. In general,
CSE S. Tanimoto Paradigms 1 Paradigms Imperative Functional Object-Oriented Rule-Based Logic Visual* Scripting* * whether visual and scripting methodologies.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 ‏ Control Structures.
Chapter 3 Functions, Events, and Control Structures JavaScript, Third Edition.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Repetition and Iteration ANSI-C. Repetition We need a control instruction to allows us to execute an statement or a set of statements as many times as.
1 Iterative Statements Repeated execution of a (compound) statement by iteration or recursion –Iteration is statement level –Recursion is unit-level control.
CPS120 Introduction to Computer Science Iteration (Looping)
Repetition Control Structure. Introduction Many applications require certain operations to be carried out more than once. Such situations require repetition.
Visual Basic CDA College Limassol Campus COM123 Visual Programming 1 Semester B Lecture:Pelekanou Olga Week 5: Useful Functions and Procedures.
 Control Flow statements ◦ Selection statements ◦ Iteration statements ◦ Jump statements.
JavaScript and Ajax (Control Structures) Week 4 Web site:
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 8: More BPEL Notes selected from.
1 Chapter 11 Global Properties (Distributed Termination)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 2: Control Structures (Selection & Repetition)
1 SOA Seminar Service Oriented Architecture Lecture 8: More BPEL Notes selected from the paper “Formal Semantics and Analysis of control flow in WS-BPEL.
Loops ( while and for ) CSE 1310 – Introduction to Computers and Programming Alexandra Stefan 1.
Chapter 7 Control Structures. Java has very flexible three looping mechanisms. You can use one of the following three loops:  while Loop  do...while.
Silberschatz and Galvin  C Programming Language Decision making in C Kingdom of Saudi Arabia Ministry of Higher Education Al-Majma’ah University.
Decision Making in C.
Chapter 4 Repetition Statements (loops)
Control Structures.
The order in which statements are executed is called the flow of control. Most of the time, a running program starts at the first programming statement,
Ch 7: JavaScript Control Statements I.
Chapter 2.2 Control Structures (Iteration)
LESSON 11 – WHILE LOOPS UNIT 5 – 1/10/17.
ECE 434 Advanced Digital System L08
Expression Review what is the result and type of these expressions?
Control Structures In Text: Chapter 8.
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.
What’s new in WS-BPEL 2.0? Last Modified: Aug 30, 2006.
Marlon Dumas marlon.dumas ät ut . ee
Chapter 2.2 Control Structures (Iteration)
CSE S. Tanimoto Paradigms
VHDL Programming (08 Marks)
Chapter8: Statement-Level Control Structures April 9, 2019
Verification and transformation of
Flow of Control Flow of control is the order in which a program performs actions. Up to this point, the order has been sequential. A branching statement.
Product Training Program
The Linux Command Line Chapter 27
Presentation transcript:

Early Completion of the Flow Activity - A proposal -

Scenario In many cases the process does not need to wait for all the concurrent activities to complete in order to reach the overall goal Example: A process is waiting in parallel for 3 reviews of a paper. If 2 positive reviews are received the paper will be accepted. Otherwise, all 3 reviews will be collected and the rejection including the responses from reviewers should be sent to the authors.

Requirements A way to express that the desired goal has been achieved is needed All active concurrent activities that are considered as “unnecessary” should be terminated Ability to support various flavors of conditions used to specify when the desired goal has been achieved:  Wait for N out of M  Wait until after condition C evaluates to true The condition is evaluated immediately after one branch has completed

Proposal Consists of two parts: Activity  Specifies a way to explicitly complete a activity  Includes termination of the active concurrent activities Completion condition for the activity  Hides a part of the early completion pattern (e.g. counter for completed branches)

Proposal (cont’d) 1.Targeting activity only – not Most common cases for early completion: rule 2.All flow branches MUST be based Encapsulate the effect and work of early completion to each branch. E.g.: Enabling self clean up of branches Allow differentiation of branch-based completion conditions together avoid the need of at not easy to understand and define

Activity : Syntax Example: … … … … other parallel action … … other parallel action …

Activity : Diagram seq … scopeA CHTH complete seq … scopeB CHTH seq … scopeC CHTH TH = termination handler CH = compensation handler Flow F1 early completion signal termination signal

Activity : Semantics activity (at ‘ScopeA’) sends early-completion signal to the target flow activity ‘F1’ Flow ‘F1’ sends termination signal to scope- based branches which are still running – ‘ScopeB’ and ‘ScopeC’ TH of ‘ScopeB’ and ‘ScopeC’ are activated TH may invoke CH Reach end of the flow, after TH are finished

Completion condition: Syntax ? <branches expressionLanguage="URI"? countCompletedScopesOnly="yes|no"?> an-integer-expression ? a-boolean-expression ?

Completion condition: Semantics a-boolean-expression … …Would be translated into ->

Completion condition: Semantics (cont.) activity-X a-boolean-expression activity-Y … similar switch …

Completion condition: Semantics (cont.) 2 … …Would be translated into ->

Completion condition: Semantics (cont.) … branch=branch+1 “branch=2” …

New standard fault completionConditionFailure: After all scopes branches ends, if the completionCondition is still evaluated to false, the fault MUST be thrown.

Open issues Do we need to allow activity to perform an early completion against a activity which is not the inner most activity in the ancestor chain?

Activity : Cascade Effect complete target=F1 …… Flow F2 early completion signal termination signal Flow F1 ……