Model-Driven Dependability Analysis of Web Services Apostolos Zarras Computer Science Department University of Ioannina, Greece

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Advertisements

Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Making Services Fault Tolerant
1 Building Reliable Web Services: Methodology, Composition, Modeling and Experiment Pat. P. W. Chan Department of Computer Science and Engineering The.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Pervasive Enablement of Business Process 徐天送 2004/11/2.
Reliability on Web Services Pat Chan 31 Oct 2006.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Software Requirements
BPEL4WS Stewart Green University of the West of England.
1 Software Testing and Quality Assurance Lecture 35 – Software Quality Assurance.
1 Making Services Fault Tolerant Pat Chan, Michael R. Lyu Department of Computer Science and Engineering The Chinese University of Hong Kong Miroslaw Malek.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University.
Demonstrating WSMX: Least Cost Supply Management.
1 A Petri Net Siphon Based Solution to Protocol-level Service Composition Mismatches Pengcheng Xiong 1, Mengchu Zhou 2 and Calton Pu 1 1 College of Computing,
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
FAULT TREE ANALYSIS (FTA). QUANTITATIVE RISK ANALYSIS Some of the commonly used quantitative risk assessment methods are; 1.Fault tree analysis (FTA)
CS6133 Software Specification and Verification
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
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.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
1 Reliable Web Services by Fault Tolerant Techniques: Methodology, Experiment, Modeling and Evaluation Term Presentation Presented by Pat Chan 3 May 2006.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Chapter 5 Implementing UML Specification (Part II) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Systems Analysis and Design in a Changing World, Fourth Edition
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
1 Developing Aerospace Applications with a Reliable Web Services Paradigm Pat. P. W. Chan and Michael R. Lyu Department of Computer Science and Engineering.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Compilation of XSLT into Dataflow Graphs for Web Service Composition Peter Kelly Paul Coddington Andrew Wendelborn.
Reliable Web Service Execution and Deployment in Dynamic Environments * Markus Keidl, Stefan Seltzsam, and Alfons Kemper Universität Passau Passau,
Hertong Song Department of Computer Science Louisiana Tech University Cluster Reliability Modeling Using UML.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
UML (Unified Modeling Language)
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Business Process Execution Language (BPEL) Pınar Tekin.
Software Testing.
Service Oriented Computing
Introduction to Unified Modeling Language (UML)
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Web Ontology Language for Service (OWL-S)
Hierarchical Architecture
VHDL Discussion Subprograms
VHDL Discussion Subprograms
Presentation transcript:

Model-Driven Dependability Analysis of Web Services Apostolos Zarras Computer Science Department University of Ioannina, Greece in Collaboration with Panos Vassiliadis and Valerie Issarny.

2 Context  Web Services Architecture. Software entities over the Web communicating through SOAP messages. They provide ports, of a specific port type, which defines a set of operations. WSDL for the specification for basic Web Services. BPEL, WSFL for the specification of composite Web Services.

3 BPEL  Workflow-like specifications.  Composite Web service  BPEL process.  BPEL process consists of: Partners, i.e., basic Web services. Basic activities.  Invoking partner operations (invoke activities).  Reception/sending of SOAP messages (receive, reply activities). Structured activities, consisting of other activities that execute:  Sequentially (sequence activities).  Concurrently (flow activities).  Repeatedly (while activities).  Upon an event (switch activities).  Upon a condition (pick activities).

4 Current Status  Systematic composition of WSs (signature matching and mapping). [Casati et al. in CAISE’01], [Florescu et al. in WWW’02], [Yang et al. in CAISE’02], [Medjahed et al. in VLDB vol. 12] …  Systematic selection of WSs, based on quality criteria. [Zeng et al. in WWW’03]  Quality analysis (reliability, availability, performance, etc.) of conventional composite systems. [Zarras et al. in ASE’01 and in LNCS vol. 2677], [Majzik et al. in LNCS vol. 2677],[Rodrigues et al. in WADS’03] …

5 Objective  A principled methodology for the dependability analysis of composite Web services. Map BPEL specs in UML models. Extend the UML models with properties for the dependability analysis. Generate dependability analysis models that serve as input to traditional analysis techniques.  Block Diagrams (BDs).  Fault Trees (not addressed but similar to BDs)  Markov Models.

6 Map BPEL 2 UML

7 Properties for Dependability Analysis

8 Example

9 From UML to Block Diagrams  How do we model composite Web service with BDs? A BD graphically represents a constrain for correctly providing a Web Service. It consists of:  Blocks representing partners.  Serial connections between blocks.  Parallel connections between blocks that represent partners, which constitute a redundancy schema.

10 Example if approver is fault tolerant with no- partners = 2 and no-failures = 1

11 From UML to Markov  How can we model composite Web Services using Markov ??? A Markov model for a composite Web Service ws is a set of transitions between ws’s states. A state represents a situation where either the service is correctly provided, or not (i.e. a death state). A state is a composition of sub-states representing the situation of :  Each partner.  Each basic activity.  Structured activities are used to determine the transitions.

12 From UML to Markov  The state of a partner depends on the kind of faults of the partner and its redundancy properties. e.g., a redundancy schema with 2 partners may be in states where both are operational, 1 is failed, both are failed.  The state of a basic activity depends on whether it is embedded in a while activity or not. In the former case the activity may be: inactive, active, complete, or failed. In the later case the activity is reactivated more than once.  Different kinds of transitions modeling: Partner failures. Partner recovery. Activity activation. Activity completion Activity failure (caused by a partner failure).

13 From UML to Markov  In our approach we DO NOT generate states and transitions because we can do something easier !!!  We can generate input for Johnson’s algorithm [Johnson, 8 th AIAA IEEE Digital Avionics Systems Conf.], which then generates complete Markov models.

14 From UML to Markov  Definition of the range of states that constitute the Markov model. We generate a tuple of integer variables, each one representing the range of situations for a partner or a basic activity. if the all partners are not fault tolerant and have permanent or transient faults space = ( customer : 0..1, assessor: 0..1, approver : 0..1, rcvCustomer : 0..3, invAssessor : 0..3, invApprover : 0..3, rplCustomer : 0..3 );

15 From UML to Markov  Definition of a death-state constraint on the space variables, which evaluates to true in states where the composite service is failed. We generate a logical expression, consisting of the disjunction of Boolean expressions, involving the state range variables that represent the situation of the service’s activities. deathif ( rcvCustomer=3 OR invAssessor=3 OR invApprover=3 OR rplCustomer=3 ); if the activities are not embedded in while activities

16 From UML to Markov  Definition of a set of transition rules. A rule has a conditional statement, defined on the space variables. It identifies a set of source states with common features. if approver = 0 and invApprover = 1 then For all these source states there should be transitions to corresponding target states that also have common features. tranto (customer, assessor, approver+1, rcvCustomer, invAssessor, invApprover+2, rplCustomer) by approver_failure_rate; endif; These transitions are generated by Johnson’s algorithm.

17 From UML to Markov  We generate transition rules for: Partner failure. Partner recovery. Activity activation. Activity completion. Activity failure.

18 Assessment  Results showed that: BDs are easier to specify and faster to compute. Markov are more precise but complex to specify and time consuming. In both cases, we alleviate the problem of the specification complexity.

19 Conclusion  A methodology for the dependability analysis of Web services. Mapping BPEL to UML models. Introduce dependability properties in the models. Generate BDs and Markov models.  Future goals: A service that applies the methodology at runtime. Emphasize on other qualities.  Identify dependability measures wrt mobility.  Identify properties characterizing mobility.  Identify techniques that assess the impact of mobility in the overall dependability of composite WSs.  Identify techniques that guarantee dependability in the face of mobility.