Deriving Semantics from WS- BPEL Specifications of Parallel Business Processes on an Example Prof., Dr. Vladimir Dimitrov, University of Sofia, Faculty.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

Alan Shaffer, Mikhail Auguston, Cynthia Irvine, Tim Levin The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007 Toward a Security Domain.
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
CS 355 – Programming Languages
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
OASIS Reference Model for Service Oriented Architecture 1.0
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Lecture 12 Reengineering Computer-aided Software Engineering Cleanroom Software Engineering.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Software Testing and Quality Assurance
Developing Verifiable Concurrent Software Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Axiomatic Semantics Dr. M Al-Mulhem ICS
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
OWL-S: Semantic Markup for Web Services
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Fundamentals (Chapter 4) Axiomatic Semantics ICS 535.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
Ch5: Software Specification. 1 Overview  Use of specifications  Specification qualities  Classification of specification styles  Verification of specifications.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Describing Syntax and Semantics
David Harrison Senior Consultant, Popkin Software 22 April 2004
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
Demonstrating WSMX: Least Cost Supply Management.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
CS 2104 Prog. Lang. Concepts Dr. Abhik Roychoudhury School of Computing Introduction.
Concurrency Programming Chapter 2. The Role of Abstraction Scientific descriptions of the world are based on abstractions. A living animal is a system.
HUMAN TASK INTEGRATION IN WEB BASED BUSINESS PROCESSES A Groundwork Investigation Xue Bai COMS E6125 WEB-ENHANCED INFORMATION MGMT.
Software Requirements Presented By Dr. Shazzad Hosain.
A view-based approach for semantic service descriptions Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Abstract Processes in BPEL4WS Tony Andrews Software Architect Microsoft.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Online Shopping e-Business ITCS451/951 Group Assignment Online Shopping e-Business Team Members: 1. Elmabourk Benlamma Dhany Setia Purnama
By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream.
Software Testing and Quality Assurance Software Quality Assurance 1.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
WSMO Presentation „A formal Approach to Component Adaption“ – Summary on a paper by A. Bracciali, A. Brogi and C. Canal … to appear in The Journal of Systems.
ECSE Software Engineering 1I HO 4 © HY 2012 Lecture 4 Formal Methods A Library System Specification (Continued) From Specification to Design.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Assignment Help From Requirements Elicitation to Elicitation.
BPEL
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
An Object-Z / CSP Based Approach for the Specification of Architectural Connectors Mourad Maouche Philadelphia University Jordan Mohamed Bettaz MESRS Algeria.
Service Composition Orchestration BPEL Cédric Tedeschi ISI – M2R.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Design by Contract Jim Fawcett CSE784 – Software Studio
Security Issues Formalization
Service-centric Software Engineering
Object-Oriented Design
Formal Methods in software development
Software Design Lecture : 15.
Semantic Markup for Semantic Web Tools:
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Overview of the ETSI Test Description Language
Chapter 5 Architectural Design.
Presentation transcript:

Deriving Semantics from WS- BPEL Specifications of Parallel Business Processes on an Example Prof., Dr. Vladimir Dimitrov, University of Sofia, Faculty of Mathematics and Informatics

Motivation, executable business processes There are two kinds of business processes in WS-BPEL: executable and abstract ones. Behavioral semantics of executable business processes is well defined in the notation framework. There is a problem with extensions, because they go outside the notation framework and they are open and unpredictable.

Motivation, abstract business processes The other category are abstract business processes. Their intention is to describe Web services interactions without internal implementation details. The standard defines concretization procedure that creates an executable business process from an abstract one. The problem here is that it is possible to be generated an executable business process with behavior different from that of the abstract one. It is possible, the executable business process to contain interactions changes of the abstract one and that are not simply its specialization. The standard requires for every abstract process to exist at least one executable business process that is concretized by the procedure defined in the standard and that is compatible with the abstract one. In such a way, the standard guarantees that above mentioned deviations are not available for at least one executable business process.

Motivation, investigation of abstract business processes Abstract business process represents a class of executable business processes compatible with it. It is more productive to investigate abstract business processes because: 1. Investigating abstract business process means investigation of the whole class of executable business processes that it represents. 2. Abstract business process does not contain implementation details that have no impact on Web services interactions.

Specification of business process WSDL, interfaces, formalization in Z notation WS-BPEL, behavior, formalization in CSP

Formalization of the WSDL specification <wsdl:definitions targetNamespace=" xmlns:ship=" xmlns:tns=" xmlns:wsdl=" xmlns:xsd="

Basic types

Formalization of the WSDL specification

Messages

Formalization of the WSDL specification

Port types

Properties and aliases <wsdl:definitions targetNamespace=" xmlns:bpel=" xmlns:vprop=" xmlns:ship=" xmlns:sif=" xmlns:tns=" xmlns:wsdl=" xmlns:xsd=" <wsdl:import location="shippingPT.wsdl" namespace=" /> <!-- types used in Abstract Processes are required to be finite domains. The itemCountType is restricted by range -->

Properties and aliases <xsd:schema targetNamespace="

New type

Properties and aliases

Properties

Properties and aliases <vprop:propertyAlias propertyName="tns:shipOrderID" messageType="sif:shippingRequestMsg" part="shipOrder"> ship:ShipOrderRequestHeader/ship:shipOrderID <vprop:propertyAlias propertyName="tns:shipOrderID" messageType="sif:shippingNoticeMsg" part="shipNotice"> ship:ShipNoticeHeader/ship:shipOrderID

Properties and aliases <vprop:propertyAlias propertyName="tns:itemsTotal" messageType="sif:shippingRequestMsg" part="shipOrder"> ship:ShipOrderRequestHeader/ship:itemsTotal <vprop:propertyAlias propertyName="tns:itemsCount" messageType="sif:shippingRequestMsg" part="shipOrder"> ship:ShipOrderRequestHeader/ship:itemsCount

Properties and aliases <vprop:propertyAlias propertyName="tns:itemsCount" messageType="sif:shippingNoticeMsg" part="shipNotice"> ship:ShipNoticeHeader/ship:itemsCount

Aliases

WS-BPEL specification <process name="shippingService" targetNamespace=" xmlns=" xmlns:plt=" xmlns:props=" xmlns:ship=" xmlns:sif=" abstractProcessProfile= " <import importType=" location="shippingLT.wsdl" namespace=" /> <import importType=" location="shippingPT.wsdl" namespace=" /> <import importType=" location="shippingProperties.wsdl" namespace=" />

WS-BPEL specification <partnerLink name="customer" partnerLinkType="plt:shippingLT" partnerRole="shippingServiceCustomer" myRole="shippingService" />

WS-BPEL specification

WS-BPEL specification bpel:getVariableProperty('shipRequest', 'props:shipComplete')

WS-BPEL specification

WS-BPEL specification 0 $itemsShipped

WS-BPEL specification $itemsShipped < bpel:getVariableProperty('shipRequest', 'props:itemsTotal')

WS-BPEL specification $itemsShipped + bpel:getVariableProperty('shipNotice', 'props:itemsCount')

WS-BPEL specification $itemsShipped

WSDL partner link types <wsdl:definitions targetNamespace=" xmlns:plnk=" xmlns:sif=" xmlns:wsdl=" <wsdl:import location="shippingPT.wsdl" namespace=" />

Business process logic receive shipOrder if condition shipComplete send shipNotice else itemsShipped := 0 while itemsShipped < itemsTotal itemsCount := opaque// non-deterministic assignment corresponding e.g. to // internal interaction with back-end system send shipNotice itemsShipped = itemsShipped + itemsCount

CSP model channel customer 0; shippingService() = customer?shipOrder -> (checkOrder(shipOrder) ||| shippingService()); checkOrder(shipOrder) = (shipComplete -> customer!shipOrder -> Skip) [] (shipNotComplete -> executeOrder(shipOrder)); executeOrder(shipOrder) = (itemsShipped -> Skip) [] (itemsNotShipped -> change_itemsCount -> customer!shipOrder -> executeOrder(shipOrder)); var count = 10; shippingServiceCustomer() = if (count > 0) {customer!count -> {count--} -> receive()} else {Skip}; receive() = customer?shipNotice -> receive(); System() = shippingServiceCustomer() ||| shippingService(); #assert System() deadlockfree;

Conclusion Attractive results in WSDL formalization with Z notation have not been achieved, because there are no behavior. WSDL specification of business process is simply interfaces to Web services. On the other hand, WS-BPEL specification of business process specifies its behavior. Its formalization in CSP maximally abstracted many implementation details saving the original interaction flow. The CSP specification can then be formally verified. The CSP model is very compact and readable. This example of formalization demonstrates an approach to formal verification of business processes. Full description of this research approach will be published in future.

Acknowledgements Research in this paper are funded by Bulgarian Science Fund under contract ДФНИ-И01/12 “Modern programming languages, environments and technologies, and their application in education of software professionals”.