SlideShare une entreprise Scribd logo
1  sur  28
Deriving Specifications for
         Composite Web Services
George Baryannis1, Manuel Carro2 and Dimitris Plexousakis1
gmparg@csd.uoc.gr    manuel.carro@imdea.org        dp@csd.uoc.gr

 1Department   of Computer Science, University of Crete, and
 Institute of Computer Science, FORTH, Greece
2School of Computer Science, Universidad Politécnica de Madrid, and

 IMDEA Software Institute, Madrid, Spain




                                            Izmir, Turkey
Outline
Introduction
• Web Services and Formal Specification
• The Need for Service Specifications
• The Special Case of Services
Deriving Composite Service Specifications
• Motivating Example
• Specification Semantics
• Calculating Pre- and Post- Conditions
Handling Special Cases
• Loops
• Asynchronous Execution
Conclusions & Future Work

                                            2
Web Services and Formal Specification (1)

• In recent years a multitude of ways of delivering
  applications via the Web have been proposed
       – Traditional SOAP-based Web Services
              • Semantic Web Services
       – RESTful Web Services
              • Web APIs
              • Linked Data Services (LIDS)
• Regardless of their characteristics, all Web
  services need to be described, in order to be
  discovered and, possibly, composed.
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   3
Web Services and Formal Specification (2)

• Web Service Description deals with specifying all
  the information needed to access and use a
  service
       – Should contain both functional and non-functional
         aspects
       – May contain information on the internal processes of
         the service (especially if it is a composite service)
       – Should be written in a formal, well-defined
         specification language to allow for automated
         processing and verification
       – Should facilitate the discovery and composition of
         services

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   4
The Need for Service Specifications (1)

• Service specifications can be employed for
       – Constructing a service based on a set of
         requirements, provided as a specification

       – Checking conformance of an existing service to a
         specification agreed upon by the parties involved,
         promoting trust between digital society partners

       – Auditing processes that check third party or
         legacy code conformance

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   5
The Need for Service Specifications (2)

• Service specifications can be employed for
       – Verification techniques: checking whether a
         service satisfies a property (e.g. termination or
         temporal ordering of actions)

       – Evaluation of the results of service adaptation or
         service evolution

       – Detecting inconsistencies in a composite service

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   6
The Special Case of Services

• The case of services introduces special characteristics
       – We cannot rely on the implementation, as is common in
         e.g. programming specifications
       – Any service is only known through its specification
       – A composite service is characterized by its composition
         schema
• Existing service description and composition
  frameworks don’t address the problem of
  automatically producing specifications for a composite
  service
       – At best, they support some kind of description of atomic
         services, as well as a description of the composition
         schema

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   7
Outline
Introduction
• Web Services and Formal Specification
• The Need for Service Specifications
• The Special Case of Services
Deriving Composite Service Specifications
• Motivating Example
• Specification Semantics
• Calculating Pre- and Post- Conditions
Handling Special Cases
• Loops
• Asynchronous Execution
Conclusions & Future Work

                                            8
Motivating Example (1)

• Employing services in order to facilitate the
  process of obtaining government-issued
  documents
       – Users login to the system and fill in a request form
       – Some documents require a fee, so a payment
         form may need to be filled in too
       – The payment process is executed only after both
         forms are complete and valid
       – In some cases, the resulting documents need to
         be digitally certified
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   9
Motivating Example (2)




• Initially, we have composite service S1, implemented
  according to specification T1.
• T1 is augmented to T2 in order to include the capability of
  document certification
• S1 evolves to S2 in order to meet the new requirements
• We need to derive the specification for S2 in order to check
  if it conforms to T2
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   10
Motivating Example (3)




                         11
Specification Semantics

• A service specification with preconditions P and
  postconditions Q, can be expressed in first-order logic
  as:

       – si and so denote the states before and after execution of
         the particular service respectively
       – x and y are vector variables representing the input fed to
         the service and the returned output
       – P and Q can be expected to be safe approximations of the
         actual code specifications
• Given similar specifications for the services
  participating in a composition, we want to construct an
  equivalent specification for the composite service as a
  whole
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   12
Proposed Method

• Our approach involves characterizing the meaning of all
  fundamental control constructs used in a composition
       – by means of the preconditions and postconditions of the
         composed services
• Using this characterization we propose a derivation process
  based on structural induction
       – The composite specification is constructed using a bottoms-up
         approach
       – Produces specifications syntactically similar to those of the
         constituent services, to facilitate recursive reasoning
       – Relies on the availability of the composition schema (e.g. from
         the BPEL document of the composite service)
       – Applicable to any block-structured process, or graph-based ones
         that can be transformed to block-structured equivalents

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   13
Calculating Pre- And Post-Conditions (1)
Sequence




• a, b and c denote the states before the execution of
  A, after A and before B and after the execution of B.
• z contains all input variables for B, including any
  ones that are not produced as an output of A (they are
     routed through A)
• Based on the individual specifications, we deduce
  the following:

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   14
Calculating Pre- And Post-Conditions (2)
AND-Split/AND-Join




• The diverging branches execute concurrently and both
  activities need to complete
• The derived specification is:



Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   15
Calculating Pre- And Post-Conditions (3)
OR-Split/OR-Join




• Not all of the branches are necessarily activated and there is
  no need for synchronization at the merging stage
• The derived specification is:



Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   16
Calculating Pre- And Post-Conditions (4)
XOR-Split/XOR-Join




• Only one of the diverging branches is to be executed each
  time and is the only one to provide results
• The derived specification is:



Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   17
Calculating Pre- And Post-Conditions (5)
Conditional Constructs




• The truth value of condition C determines which of A and B is
  going to be executed The derived specification is:




Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   18
Calculating Pre- And Post-Conditions (6)
Conditional Constructs




Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   19
Back to the Motivating Example




• Using the specifications calculated previously, we gradually derive
  the following specification for this example composite process :




                                                                   20
Outline
Introduction
• Web Services and Formal Specification
• The Need for Service Specifications
• The Special Case of Services
Deriving Composite Service Specifications
• Motivating Example
• Specification Semantics
• Calculating Pre- and Post- Conditions
Handling Special Cases
• Loops
• Asynchronous Execution
Conclusions & Future Work

                                            21
Current Results
The Case of Loops (1)




Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   22
Current Results
The Case of Loops (2)
• Generating loop invariants is once again affected by the
  special characteristics of services
       – Any generated invariant can only be an approximation of
         the invariant that would be produced based on the actual
         loop code
       – Stronger approximations are required to derive a useful
         precondition (one that disallows invalid executions)
       – Weaker approximations are required to derive a useful
         postcondition (one that doesn’t leave out any execution
         results)
       – Existing loop invariant generation methods can be
         employed (provided they are static, i.e. they don’t depend
         on information gathered by executing the service) but
         need to be adapted to take into account the above points.
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   23
Current Results
The Case of Asynchronous Execution
• The client invokes a service, but does not wait for the
  response
       – Precondition evaluation is not affected
       – Postconditions must be expressed and evaluated in the
         same context as the corresponding preconditions
• To deal with asynchronous execution, we employ the
  Static Single Assignment (SSA) form
       – There is exactly one assignment for each distinct variable
         name
       – For any further assignment, variable renaming is
         employed, so that a history of all previous values is kept
              • e.g. if we want to modify the value of variable y, a new variable, y1,
                is created to represent the new value.

Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   24
Outline
Introduction
• Web Services and Formal Specification
• The Need for Service Specifications
• The Special Case of Services
Deriving Composite Service Specifications
• Motivating Example
• Specification Semantics
• Calculating Pre- and Post- Conditions
Handling Special Cases
• Loops
• Asynchronous Execution
Conclusions & Future Work

                                            25
Conclusions

• This work offers a method to derive composite
  specifications given a composition schema
  and the specifications of the participating
  services
• The derivation is based on structural induction
  and a set of rules defined for fundamental
  control constructs
• Guidelines to handle the cases of loops and
  asynchronous execution are also provided
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   26
Future Work

• An implementation of the proposed approach is
  currently underway
• Further issues involve exploring loop invariant
  generation techniques and applying simplification
  techniques to the derived specifications
• The work is planned to be integrated in a novel
  specification language for Web services and
  service compositions, focusing on eliminating the
  well-known frame, ramification and qualification
  problems
Deriving Specifications for Composite Web Services   George Baryannis, Manuel Carro and Dimitris Plexousakis   27
Questions




A Novel Language for the Specification of Web Services and Service Compositions   George Baryannis   28

Contenu connexe

En vedette

Forum numérique poitiers 300611
Forum numérique poitiers  300611Forum numérique poitiers  300611
Forum numérique poitiers 300611SaaS Guru
 
Introduction to soa composition
Introduction to soa compositionIntroduction to soa composition
Introduction to soa compositionbdemchak
 
CBR Based Workflow Composition Assistant
CBR Based Workflow Composition AssistantCBR Based Workflow Composition Assistant
CBR Based Workflow Composition AssistantEran Chinthaka Withana
 
An overview of standards and related technology in web services
An overview of standards and related technology in web servicesAn overview of standards and related technology in web services
An overview of standards and related technology in web servicesPapa Cheikh Cisse
 
Raisonnement pour le web sémantique : examples
Raisonnement pour le web sémantique : examplesRaisonnement pour le web sémantique : examples
Raisonnement pour le web sémantique : examplesmondeca
 
Jydodenterprisearch2010talk
Jydodenterprisearch2010talkJydodenterprisearch2010talk
Jydodenterprisearch2010talkJohn Yanosy Jr
 
Icws09 Lecue Presentation
Icws09 Lecue PresentationIcws09 Lecue Presentation
Icws09 Lecue PresentationFreddy Lecue
 
Context Adaptive Services
Context Adaptive ServicesContext Adaptive Services
Context Adaptive ServicesJohn Yanosy Jr
 
Ai Planning For Semantic Web Service Composition
Ai Planning For Semantic Web Service CompositionAi Planning For Semantic Web Service Composition
Ai Planning For Semantic Web Service Compositionahmad bassiouny
 
Extraction of Adaptation Knowledge from Internet Communities
Extraction of Adaptation Knowledge from Internet CommunitiesExtraction of Adaptation Knowledge from Internet Communities
Extraction of Adaptation Knowledge from Internet CommunitiesUniversity of Hildesheim, Germany
 
Towards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologTowards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologAndrea Omicini
 
Validation des services web à l’aide de la génération automatique de tests
Validation des services web à l’aide de la génération automatique de testsValidation des services web à l’aide de la génération automatique de tests
Validation des services web à l’aide de la génération automatique de testsVincentPSarga
 
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...Use Age
 
Case Based Reasoning
Case Based ReasoningCase Based Reasoning
Case Based ReasoningR A Akerkar
 
Cloud saas & innovation forum numérique Poitiers 300611
Cloud saas & innovation forum numérique Poitiers  300611Cloud saas & innovation forum numérique Poitiers  300611
Cloud saas & innovation forum numérique Poitiers 300611SaaS Guru
 
Ontology concept et applications
Ontology concept et applicationsOntology concept et applications
Ontology concept et applicationsbenouini rachid
 
Approche qualitative en intelligence artificielle
Approche qualitative en intelligence artificielleApproche qualitative en intelligence artificielle
Approche qualitative en intelligence artificielleNSim Technology
 

En vedette (20)

Forum numérique poitiers 300611
Forum numérique poitiers  300611Forum numérique poitiers  300611
Forum numérique poitiers 300611
 
Introduction to soa composition
Introduction to soa compositionIntroduction to soa composition
Introduction to soa composition
 
CBR Based Workflow Composition Assistant
CBR Based Workflow Composition AssistantCBR Based Workflow Composition Assistant
CBR Based Workflow Composition Assistant
 
An overview of standards and related technology in web services
An overview of standards and related technology in web servicesAn overview of standards and related technology in web services
An overview of standards and related technology in web services
 
Raisonnement pour le web sémantique : examples
Raisonnement pour le web sémantique : examplesRaisonnement pour le web sémantique : examples
Raisonnement pour le web sémantique : examples
 
Jydodenterprisearch2010talk
Jydodenterprisearch2010talkJydodenterprisearch2010talk
Jydodenterprisearch2010talk
 
Icws09 Lecue Presentation
Icws09 Lecue PresentationIcws09 Lecue Presentation
Icws09 Lecue Presentation
 
Context Adaptive Services
Context Adaptive ServicesContext Adaptive Services
Context Adaptive Services
 
Jpl presentation
Jpl presentationJpl presentation
Jpl presentation
 
Ai Planning For Semantic Web Service Composition
Ai Planning For Semantic Web Service CompositionAi Planning For Semantic Web Service Composition
Ai Planning For Semantic Web Service Composition
 
Extraction of Adaptation Knowledge from Internet Communities
Extraction of Adaptation Knowledge from Internet CommunitiesExtraction of Adaptation Knowledge from Internet Communities
Extraction of Adaptation Knowledge from Internet Communities
 
Towards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologTowards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuProlog
 
Validation des services web à l’aide de la génération automatique de tests
Validation des services web à l’aide de la génération automatique de testsValidation des services web à l’aide de la génération automatique de tests
Validation des services web à l’aide de la génération automatique de tests
 
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...
WUD2010 Sophia 05 - B. Caramel (UNICE/CNRS) : Composition d'applications inte...
 
Case Based Reasoning
Case Based ReasoningCase Based Reasoning
Case Based Reasoning
 
Case based reasoning
Case based reasoningCase based reasoning
Case based reasoning
 
Cloud saas & innovation forum numérique Poitiers 300611
Cloud saas & innovation forum numérique Poitiers  300611Cloud saas & innovation forum numérique Poitiers  300611
Cloud saas & innovation forum numérique Poitiers 300611
 
Ontology concept et applications
Ontology concept et applicationsOntology concept et applications
Ontology concept et applications
 
Seminaire
SeminaireSeminaire
Seminaire
 
Approche qualitative en intelligence artificielle
Approche qualitative en intelligence artificielleApproche qualitative en intelligence artificielle
Approche qualitative en intelligence artificielle
 

Similaire à Deriving Specifications for Composite Web Services

CV_Neeladri Kumar-Packet Core-EPC-Datacenter
CV_Neeladri Kumar-Packet Core-EPC-DatacenterCV_Neeladri Kumar-Packet Core-EPC-Datacenter
CV_Neeladri Kumar-Packet Core-EPC-Datacenterneeladri kumar
 
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...mfrancis
 
QoS Aware Redundant Free Web Services Composition
QoS Aware Redundant Free Web Services CompositionQoS Aware Redundant Free Web Services Composition
QoS Aware Redundant Free Web Services CompositionIRJET Journal
 
Continuous Integration and Continuous Delivery to Facilitate Web Service Testing
Continuous Integration and Continuous Delivery to Facilitate Web Service TestingContinuous Integration and Continuous Delivery to Facilitate Web Service Testing
Continuous Integration and Continuous Delivery to Facilitate Web Service TestingCognizant
 
13257474.ppt-it-networking-gdfgdfgdfgdbd
13257474.ppt-it-networking-gdfgdfgdfgdbd13257474.ppt-it-networking-gdfgdfgdfgdbd
13257474.ppt-it-networking-gdfgdfgdfgdbdssuser38ba4b
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...Michael Erichsen
 
Ahmed Alkokah_CV_VerMay2016
Ahmed Alkokah_CV_VerMay2016Ahmed Alkokah_CV_VerMay2016
Ahmed Alkokah_CV_VerMay2016Ahmed AlKokah
 
Subha Prasanna Das
Subha Prasanna DasSubha Prasanna Das
Subha Prasanna DasSubha P
 
Case Study- Gasco
Case Study- Gasco Case Study- Gasco
Case Study- Gasco Addvantum
 
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...Creating a Centralized Consumer Profile Management Service with WebSphere Dat...
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...Prolifics
 
Managed Services Portfolio
Managed Services PortfolioManaged Services Portfolio
Managed Services PortfolioQuintin Smith
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
 
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA cscpconf
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Brian Petrini
 
Chapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxChapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxAxmedMaxamuudYoonis
 
Envisioning the Network Cloud
Envisioning the Network CloudEnvisioning the Network Cloud
Envisioning the Network CloudAPNIC
 
Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)stanbridge
 
chapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfchapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfAxmedMaxamuud6
 

Similaire à Deriving Specifications for Composite Web Services (20)

Sonal Salvi
Sonal SalviSonal Salvi
Sonal Salvi
 
CV_Neeladri Kumar-Packet Core-EPC-Datacenter
CV_Neeladri Kumar-Packet Core-EPC-DatacenterCV_Neeladri Kumar-Packet Core-EPC-Datacenter
CV_Neeladri Kumar-Packet Core-EPC-Datacenter
 
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
The Future Of Service-Oriented Component Models for the OSGi Framework - Clém...
 
QoS Aware Redundant Free Web Services Composition
QoS Aware Redundant Free Web Services CompositionQoS Aware Redundant Free Web Services Composition
QoS Aware Redundant Free Web Services Composition
 
Continuous Integration and Continuous Delivery to Facilitate Web Service Testing
Continuous Integration and Continuous Delivery to Facilitate Web Service TestingContinuous Integration and Continuous Delivery to Facilitate Web Service Testing
Continuous Integration and Continuous Delivery to Facilitate Web Service Testing
 
13257474.ppt-it-networking-gdfgdfgdfgdbd
13257474.ppt-it-networking-gdfgdfgdfgdbd13257474.ppt-it-networking-gdfgdfgdfgdbd
13257474.ppt-it-networking-gdfgdfgdfgdbd
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
Ahmed Alkokah_CV_VerMay2016
Ahmed Alkokah_CV_VerMay2016Ahmed Alkokah_CV_VerMay2016
Ahmed Alkokah_CV_VerMay2016
 
Sukanta_CV
Sukanta_CVSukanta_CV
Sukanta_CV
 
Subha Prasanna Das
Subha Prasanna DasSubha Prasanna Das
Subha Prasanna Das
 
Case Study- Gasco
Case Study- Gasco Case Study- Gasco
Case Study- Gasco
 
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...Creating a Centralized Consumer Profile Management Service with WebSphere Dat...
Creating a Centralized Consumer Profile Management Service with WebSphere Dat...
 
Managed Services Portfolio
Managed Services PortfolioManaged Services Portfolio
Managed Services Portfolio
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
 
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
Impact 2008 1994A - Exposing services people want to consume: a model-driven ...
 
Chapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxChapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptx
 
Envisioning the Network Cloud
Envisioning the Network CloudEnvisioning the Network Cloud
Envisioning the Network Cloud
 
Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)Cs 1023 lec 12 soa (week 4)
Cs 1023 lec 12 soa (week 4)
 
chapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfchapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdf
 

Plus de George Baryannis

A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...
A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...
A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...George Baryannis
 
Rule-based Real-Time Activity Recognition in a Smart Home Environment
Rule-based Real-Time Activity Recognition in a Smart Home EnvironmentRule-based Real-Time Activity Recognition in a Smart Home Environment
Rule-based Real-Time Activity Recognition in a Smart Home EnvironmentGeorge Baryannis
 
A Novel Specification and Composition Language for Services
A Novel Specification and Composition Language for ServicesA Novel Specification and Composition Language for Services
A Novel Specification and Composition Language for ServicesGeorge Baryannis
 
WSSL: A Fluent Calculus-based Language for Web Service Specifications
WSSL: A Fluent Calculus-based Language for Web Service SpecificationsWSSL: A Fluent Calculus-based Language for Web Service Specifications
WSSL: A Fluent Calculus-based Language for Web Service SpecificationsGeorge Baryannis
 
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...George Baryannis
 
Deriving composite service specifications
Deriving composite service specificationsDeriving composite service specifications
Deriving composite service specificationsGeorge Baryannis
 

Plus de George Baryannis (6)

A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...
A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...
A Trajectory Calculus for Qualitative Spatial Reasoning Using Answer Set Prog...
 
Rule-based Real-Time Activity Recognition in a Smart Home Environment
Rule-based Real-Time Activity Recognition in a Smart Home EnvironmentRule-based Real-Time Activity Recognition in a Smart Home Environment
Rule-based Real-Time Activity Recognition in a Smart Home Environment
 
A Novel Specification and Composition Language for Services
A Novel Specification and Composition Language for ServicesA Novel Specification and Composition Language for Services
A Novel Specification and Composition Language for Services
 
WSSL: A Fluent Calculus-based Language for Web Service Specifications
WSSL: A Fluent Calculus-based Language for Web Service SpecificationsWSSL: A Fluent Calculus-based Language for Web Service Specifications
WSSL: A Fluent Calculus-based Language for Web Service Specifications
 
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...
Lifecycle Management of Service-based Applications on Multi-Clouds: A Resear...
 
Deriving composite service specifications
Deriving composite service specificationsDeriving composite service specifications
Deriving composite service specifications
 

Deriving Specifications for Composite Web Services

  • 1. Deriving Specifications for Composite Web Services George Baryannis1, Manuel Carro2 and Dimitris Plexousakis1 gmparg@csd.uoc.gr manuel.carro@imdea.org dp@csd.uoc.gr 1Department of Computer Science, University of Crete, and Institute of Computer Science, FORTH, Greece 2School of Computer Science, Universidad Politécnica de Madrid, and IMDEA Software Institute, Madrid, Spain Izmir, Turkey
  • 2. Outline Introduction • Web Services and Formal Specification • The Need for Service Specifications • The Special Case of Services Deriving Composite Service Specifications • Motivating Example • Specification Semantics • Calculating Pre- and Post- Conditions Handling Special Cases • Loops • Asynchronous Execution Conclusions & Future Work 2
  • 3. Web Services and Formal Specification (1) • In recent years a multitude of ways of delivering applications via the Web have been proposed – Traditional SOAP-based Web Services • Semantic Web Services – RESTful Web Services • Web APIs • Linked Data Services (LIDS) • Regardless of their characteristics, all Web services need to be described, in order to be discovered and, possibly, composed. Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 3
  • 4. Web Services and Formal Specification (2) • Web Service Description deals with specifying all the information needed to access and use a service – Should contain both functional and non-functional aspects – May contain information on the internal processes of the service (especially if it is a composite service) – Should be written in a formal, well-defined specification language to allow for automated processing and verification – Should facilitate the discovery and composition of services Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 4
  • 5. The Need for Service Specifications (1) • Service specifications can be employed for – Constructing a service based on a set of requirements, provided as a specification – Checking conformance of an existing service to a specification agreed upon by the parties involved, promoting trust between digital society partners – Auditing processes that check third party or legacy code conformance Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 5
  • 6. The Need for Service Specifications (2) • Service specifications can be employed for – Verification techniques: checking whether a service satisfies a property (e.g. termination or temporal ordering of actions) – Evaluation of the results of service adaptation or service evolution – Detecting inconsistencies in a composite service Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 6
  • 7. The Special Case of Services • The case of services introduces special characteristics – We cannot rely on the implementation, as is common in e.g. programming specifications – Any service is only known through its specification – A composite service is characterized by its composition schema • Existing service description and composition frameworks don’t address the problem of automatically producing specifications for a composite service – At best, they support some kind of description of atomic services, as well as a description of the composition schema Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 7
  • 8. Outline Introduction • Web Services and Formal Specification • The Need for Service Specifications • The Special Case of Services Deriving Composite Service Specifications • Motivating Example • Specification Semantics • Calculating Pre- and Post- Conditions Handling Special Cases • Loops • Asynchronous Execution Conclusions & Future Work 8
  • 9. Motivating Example (1) • Employing services in order to facilitate the process of obtaining government-issued documents – Users login to the system and fill in a request form – Some documents require a fee, so a payment form may need to be filled in too – The payment process is executed only after both forms are complete and valid – In some cases, the resulting documents need to be digitally certified Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 9
  • 10. Motivating Example (2) • Initially, we have composite service S1, implemented according to specification T1. • T1 is augmented to T2 in order to include the capability of document certification • S1 evolves to S2 in order to meet the new requirements • We need to derive the specification for S2 in order to check if it conforms to T2 Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 10
  • 12. Specification Semantics • A service specification with preconditions P and postconditions Q, can be expressed in first-order logic as: – si and so denote the states before and after execution of the particular service respectively – x and y are vector variables representing the input fed to the service and the returned output – P and Q can be expected to be safe approximations of the actual code specifications • Given similar specifications for the services participating in a composition, we want to construct an equivalent specification for the composite service as a whole Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 12
  • 13. Proposed Method • Our approach involves characterizing the meaning of all fundamental control constructs used in a composition – by means of the preconditions and postconditions of the composed services • Using this characterization we propose a derivation process based on structural induction – The composite specification is constructed using a bottoms-up approach – Produces specifications syntactically similar to those of the constituent services, to facilitate recursive reasoning – Relies on the availability of the composition schema (e.g. from the BPEL document of the composite service) – Applicable to any block-structured process, or graph-based ones that can be transformed to block-structured equivalents Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 13
  • 14. Calculating Pre- And Post-Conditions (1) Sequence • a, b and c denote the states before the execution of A, after A and before B and after the execution of B. • z contains all input variables for B, including any ones that are not produced as an output of A (they are routed through A) • Based on the individual specifications, we deduce the following: Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 14
  • 15. Calculating Pre- And Post-Conditions (2) AND-Split/AND-Join • The diverging branches execute concurrently and both activities need to complete • The derived specification is: Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 15
  • 16. Calculating Pre- And Post-Conditions (3) OR-Split/OR-Join • Not all of the branches are necessarily activated and there is no need for synchronization at the merging stage • The derived specification is: Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 16
  • 17. Calculating Pre- And Post-Conditions (4) XOR-Split/XOR-Join • Only one of the diverging branches is to be executed each time and is the only one to provide results • The derived specification is: Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 17
  • 18. Calculating Pre- And Post-Conditions (5) Conditional Constructs • The truth value of condition C determines which of A and B is going to be executed The derived specification is: Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 18
  • 19. Calculating Pre- And Post-Conditions (6) Conditional Constructs Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 19
  • 20. Back to the Motivating Example • Using the specifications calculated previously, we gradually derive the following specification for this example composite process : 20
  • 21. Outline Introduction • Web Services and Formal Specification • The Need for Service Specifications • The Special Case of Services Deriving Composite Service Specifications • Motivating Example • Specification Semantics • Calculating Pre- and Post- Conditions Handling Special Cases • Loops • Asynchronous Execution Conclusions & Future Work 21
  • 22. Current Results The Case of Loops (1) Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 22
  • 23. Current Results The Case of Loops (2) • Generating loop invariants is once again affected by the special characteristics of services – Any generated invariant can only be an approximation of the invariant that would be produced based on the actual loop code – Stronger approximations are required to derive a useful precondition (one that disallows invalid executions) – Weaker approximations are required to derive a useful postcondition (one that doesn’t leave out any execution results) – Existing loop invariant generation methods can be employed (provided they are static, i.e. they don’t depend on information gathered by executing the service) but need to be adapted to take into account the above points. Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 23
  • 24. Current Results The Case of Asynchronous Execution • The client invokes a service, but does not wait for the response – Precondition evaluation is not affected – Postconditions must be expressed and evaluated in the same context as the corresponding preconditions • To deal with asynchronous execution, we employ the Static Single Assignment (SSA) form – There is exactly one assignment for each distinct variable name – For any further assignment, variable renaming is employed, so that a history of all previous values is kept • e.g. if we want to modify the value of variable y, a new variable, y1, is created to represent the new value. Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 24
  • 25. Outline Introduction • Web Services and Formal Specification • The Need for Service Specifications • The Special Case of Services Deriving Composite Service Specifications • Motivating Example • Specification Semantics • Calculating Pre- and Post- Conditions Handling Special Cases • Loops • Asynchronous Execution Conclusions & Future Work 25
  • 26. Conclusions • This work offers a method to derive composite specifications given a composition schema and the specifications of the participating services • The derivation is based on structural induction and a set of rules defined for fundamental control constructs • Guidelines to handle the cases of loops and asynchronous execution are also provided Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 26
  • 27. Future Work • An implementation of the proposed approach is currently underway • Further issues involve exploring loop invariant generation techniques and applying simplification techniques to the derived specifications • The work is planned to be integrated in a novel specification language for Web services and service compositions, focusing on eliminating the well-known frame, ramification and qualification problems Deriving Specifications for Composite Web Services George Baryannis, Manuel Carro and Dimitris Plexousakis 27
  • 28. Questions A Novel Language for the Specification of Web Services and Service Compositions George Baryannis 28