Abstract Processes in BPEL4WS Tony Andrews Software Architect Microsoft.

Slides:



Advertisements
Similar presentations
BPEL4WS Business Process Execution Language for Web Services Jim Clark eBusiness Strategist
Advertisements

IPP Notification and Notification Services White Paper Hugo Parra; Novell, Inc. October 6, 1999 The intent of this paper is to supplement the discussions.
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Web Services Choreography Description Language Overview 6th December 2004 JP Morgan Steve Ross-Talbot Chair W3C Web Services Activity Co-chair W3C Web.
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
Problem Solving and Algorithm Design
UDDI v3.0 (Universal Description, Discovery and Integration)
Semantics Static semantics Dynamic semantics attribute grammars
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
OASIS Reference Model for Service Oriented Architecture 1.0
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
ITEC200 Week02 Program Correctness and Efficiency.
Copyright © 2008 Pearson Addison-Wesley. All rights reserved. Chapter 12A Separate Compilation and Namespaces For classes this time.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
Software Testing and Quality Assurance
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Business Process Orchestration
CS294, YelickConsensus, p1 CS Consensus
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Chapter 1 Principles of Programming and Software Engineering.
Describing Syntax and Semantics
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Software Engineering Case Study Slide 1 Introductory case study.
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
DMSO Technical Exchange 3 Oct 03 1 Web Services Supporting Simulation to Global Information Grid Mark Pullen George Mason University with support from.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Design.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
1 Web Service Choreography Interface (WSCI) 1.0 W3C Note 8 August Dumitru Roman.
Web Services Glossary Summary of Holger Lausen
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 3: SOA Reference Model OASIS 2006.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Course: Software Engineering ©Alessandra RussoUnit 2: States and Operations, slide number 1 States and Operations This unit aims to:  Define: State schemas.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
ADTs and C++ Classes Classes and Members Constructors The header file and the implementation file Classes and Parameters Operator Overloading.
Archie Warnock, A/WWW Enterprises OCG Catalog Specification v2.0 Overview and Discussion Archie Warnock, Doug Nebert Yonsook Enloe, Jolyon Martin May 14,
Semantics In Text: Chapter 3.
1 CS161 Introduction to Computer Science Topic #9.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Salman Marvasti Sharif University of Technology Winter 2015.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Interfaces About Interfaces Interfaces and abstract classes provide more structured way to separate interface from implementation
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Mr H Kandjimi 2016/01/03Mr Kandjimi1 Week 3 –Modularity in C++
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Defining Data Types in C++ Part 2: classes. Quick review of OOP Object: combination of: –data structures (describe object attributes) –functions (describe.
Input Space Partition Testing CS 4501 / 6501 Software Testing
Enterprise Architect, CNA
Semantics In Text: Chapter 3.
Presentation transcript:

Abstract Processes in BPEL4WS Tony Andrews Software Architect Microsoft

Agenda Overview Overview Scenarios Scenarios Rationale Rationale Issues Issues

Abstract Processes Description of public behavior Description of public behavior  If WSDL is vocabulary, BPEL is “grammar” Impact of private aspects on public behavior can be contained Impact of private aspects on public behavior can be contained  via non-determinism (i.e. opaque assignment) Independent of implementation Independent of implementation  Just as WSDL doesn’t require use of a particular language Permits data-dependent behavior Permits data-dependent behavior  Message types aren’t always enough Limited expressive power Limited expressive power  Facilitates use of well-known techniques for static analysis

Executable vs. Abstract WSDL SOAP others... BPEL4WS Core Concepts Executable Abstract Portability Interoperability BPEL e BPEL a

Scenarios Implementation first (inside-out) Implementation first (inside-out)  Extract abstract behavior (BPEL a ) from:  existing process implementation (manual)  BPEL e (automatic or semi-automatic)  Build partner behavior(s) by inspection of “my” behavior  Difficult to automate, in general Protocol first (outside-in) Protocol first (outside-in)  Use BPEL a as an environment for rapid design, prototyping and verification  Build executable skeleton from abstract processes (BPEL a  BPEL e )

Use cases “Here’s how I behave – work with me!” “Here’s how I behave – work with me!” BigCo BPEL a “Here’s how I behave – you should behave like this” “Here’s how I behave – you should behave like this” BigCo BPEL a “It would be great if we all worked together like this” “It would be great if we all worked together like this” BPEL a IndustryCommittee

Key questions we can ask 1. Are the members of a set of abstract processes mutually compatible? 2. Does a process implementation conform to a specification of public behavior? 3. Do two abstract processes (e.g. different versions of the same process) exhibit the “same” public behavior?

Compatibility System is guaranteed “stuck-free” System is guaranteed “stuck-free”  All processes terminate normally under all conditions  No un-processed messages No BPEL exceptions possible No BPEL exceptions possible  Exceptions in BPEL e are more like assertion failures here No invalid request/response sequences No invalid request/response sequences More? (see issues later) More? (see issues later)

Conformance SmallCo asks – “does my implementation satisfy the abstract behavior I used as a template?” SmallCo asks – “does my implementation satisfy the abstract behavior I used as a template?”  Is my behavior the same as (or an acceptable subset of) the specification I started from? (Does my implementation refine my specification?) BigCo asks – “my implementation changed – will my partners notice?” BigCo asks – “my implementation changed – will my partners notice?”  Is my new public behavior identical to my old behavior as far as anyone can tell? (Are my new & old behaviors bisimilar?)

Refinement vs. Bisimulation Not sure how much theory I want to get into here, but we may need to touch on this Not sure how much theory I want to get into here, but we may need to touch on this

Rationale Need to speak to the following: Need to speak to the following:  Expressive power of BPEL  Yes, it’s Turing-complete – but useful systems will still be finite  The need to reference message data  Motivate this with a couple of examples  Opaque assignment  Talk about the importance of coping with non- determinism – it allows us to talk about how the “real world” influences us. It also allows us to hide private aspects of a process cleanly.  The need to be specific about timeouts, for example, in describing behavior This will probably expand to 3 or 4 slides This will probably expand to 3 or 4 slides

Recent changes Simpler syntax Simpler syntax  No need to declare message variables when not otherwise required  Makes simple processes clearer and more concise  (Is it politically appropriate to give SAP credit for this suggestion?) Opaque assignment expanded Opaque assignment expanded  Unconstrained (but simple) types now supported (think UUID)  Required by the simplified syntax (above)

Static Analysis What can/should we say here? Parts of the spec only make sense if you know that we had model-checking in mind as a key tool for static analysis. What can/should we say here? Parts of the spec only make sense if you know that we had model-checking in mind as a key tool for static analysis. I’d like to say that we believe BPEL to be highly amenable to analysis by model-checkers, and that we intended for the extraction of models from BPEL to be a relatively straightforward process. I’d like to say that we believe BPEL to be highly amenable to analysis by model-checkers, and that we intended for the extraction of models from BPEL to be a relatively straightforward process.

Issues (1) Precise statement of operational semantics needed Precise statement of operational semantics needed  Perhaps a reference implementation in some suitably abstract and neutral form (ML? Haskell?) Lack of a “global model” Lack of a “global model”  No way to speak of wiring between services  No mechanism to describe the “external” instantiation of a process

Issues (2) Better support for specifying “safety” properties Better support for specifying “safety” properties  currently prohibited in BPEL a  Something like an assertion would be even better Design patterns for “sound” compensation Design patterns for “sound” compensation  Need to explore and understand how to build robust compensations for the library of BPEL use cases we create

Issues (3) Inability to refer to properties appearing outside the message body Inability to refer to properties appearing outside the message body  No access to SOAP header contents Lame type system in XPath Lame type system in XPath  Restrictions on expressions would be more easily described with XQuery A well-specified model for annotations would be useful A well-specified model for annotations would be useful  Provide useful context to humans for conditional expressions & opaque assignments

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.