SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
S-Cube Learning Package

            Service Specifications:
  Formal Specifications for Services
     and Service Compositions

           University of Crete (UoC),
   Universidad Politecnica de Madrid (UPM)
George Baryannis and Dimitris Plexousakis, UoC
              Manuel Carro, UPM

                www.s-cube-network.eu
Learning Package Categorization


                        S-Cube



           Formal Models and Languages for
           QoS-Aware Service Compositions



             Models and Mechanisms for
           Coordinated Service Compositions


           Formal Specifications for Services
              and Service Compositions
Learning Package Overview



 Problem Description
 Addressing the Frame Problem in Service Specifications
 Automatic Derivation of Composite Specifications
 Discussion and Summary
The Need for Service Specifications (1)

 Formal specifications promote and facilitate the reusability of
  services and service compositions
   – Especially important in the case of legacy services, where it is crucial
     to have a formal representation of the service that can be reasoned
     with
   – In the case of service compositions, specifications abstract away the
     composition method and use all composite services in the same way
     regardless of whether they’ve been composed using Java, C#, BPEL,
     MS Workflow etc.
The Need for Service Specifications (2)

 Service specifications also enable the following:
   – construction of a service based on a set of requirements agreed upon
     by the parties involved
   – checking that a service meets a set of requirements
   – service verification techniques
   – detection of inconsistencies to decide whether a set of services is
     composable

 Complete formal specifications are crucial for both
   – Service providers, to advertise more effectively the offered services
   – Service consumers, to make informed choices by knowing the exact
     way in which a service is expected to perform
Issues involving Service Specifications
(1)
 Service Specifications are usually based on logic-based
  knowledge representation for the description of service
  functionality (Inputs, Outputs, Preconditions and Effects,
  collectively known as IOPEs) (e.g. in OWL-S or WSMO)
 This makes them vulnerable to three well-known problems
   – The Frame Problem: how to state in a succinct way that nothing else
     changes, except when stated otherwise
   – The Ramification Problem: how to represent and infer information
     about the knock-on and indirect effects of an action or an event
   – The Qualification Problem: how to list all preconditions that must be
     satisfied for an action to have a desired effect and how to update them
     when new statements become part of our knowledge
Issues involving Service Specifications
(2)
 A composite service should be delivered to consumers in the
  same way as an atomic one
   – Specifications for composite services should be available, based on
     the specifications of the services that take part in the composition

 No service description frameworks or service composition
  approaches attempt to derive a complete specification of the
  inputs, outputs, preconditions and effects (IOPEs) that should
  be provided to a service consumer
 Both issues (and, as it will become obvious, the solutions we
  propose) share a common basis: the use of logic
  representation to describe a Web service in a richer, more
  flexible way and one that can be reasoned with
Learning Package Overview



 Problem Description
 Addressing the Frame Problem in Service Specifications
 Automatic Derivation of Composite Specifications
 Discussion and Summary
A Motivating Example (1)
 A Motivating Example (1)

 Typical case of an online shop:




 Let’s focus on the Execute Order task, which may
  include the following subtasks:
A Motivating Example (1)
 A Motivating Example (2)

 The three subtasks with the exception of the package and
  delivery can be performed by Web Services
 A Web Service that is tasked with the money withdrawal
  should:
   – Check before execution that the credit card is valid and that the
     account has enough money
   – Withdraw the money and check that the balance is still positive
   – Ban the credit card if the daily withdrawal limit (DL) has been reached
   – If we’re close to the limit (less than an amount of W), warn the client,
     otherwise don’t
A Motivating Example (1)
 A Motivating Example (3)
 Encoding the service description using the precondition/postcondition notation:
PRECONDITIONS:
                                                                         Note the use of
  Valid(creditCard, account) 
  balance(account) ≥ A
                                                                        primed/unprimed
POSTCONDITIONS:                                                       predicates to denote
  balance′(account) = balance(account) – A                            when the predicate
  balance′(account) ≥ 0                                                   is evaluated:
  withdrawalTotal′(day, account)=                                     balance is evaluated
   withdrawalTotal(day, account) + A                                    before execution
  withdrawalTotal′(day, account) ≥ DL                                   while balance′
                              ¬Valid′ (creditCard, account)                afterwards
  (withdrawalTotal′(day, account) < DL 
  DL – withdrawalTotal′(day, account) ≤ W) 
                           Warn′ (creditCard, account) 
  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W) 
                              ¬ warn′ (creditCard, account)
A Motivating Example (1)
 A Motivating Example (4)

 This specification is not complete:
   – We can’t prove that no other accounts or credit cards are affected by
     the service execution
 We need to add frame axioms that explicitly state that nothing else
  changes. The complete specification is shown on the next slide.
 As it will become obvious, including frame axioms
   – becomes rather challenging, especially when handling complex specifications
   – results in an even more complicated and lengthy specification that would
     make computing formal proofs based on it a challenging task
A Motivating Example (1)
  A Motivating Example (5)
POSTCONDITIONS:
  balance′(account) = balance(account) – A  balance′(account) ≥ 0 
  x[x ≠ account  balance(x) = balance′(x)] 
  withdrawalTotal′(day, account) = withdrawalTotal(day, account) + A 
   x,y[x ≠ day, y ≠ account  withdrawalTotal′(x,y) = withdrawalTotal(x,y)] 
  withdrawalTotal′(day, account) ≥ DL  ¬ Valid(creditCard, account) 
   x,y[x ≠ creditCard  y ≠ account  Valid(x,y) ≡ Valid′(x,y)]  x,y[Warn(x,y) ≡ Warn′(x,y)] 
  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) ≤ W)
  Warn′(creditCard, account) 
 x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)] 
  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W)  ¬
  Warn′(creditCard, account) 
 x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]
A Motivating Example (1)
 A Motivating Example:
 Service Composition (1)
 The effects of the frame problem aggravate in the case of composite service
  specifications.
 Suppose we have the following complete specifications for two services that
  handle the wish list and recommendations update subtasks.
    – The Completed predicate denotes that the item contained in that
      particular order has been delivered to the buyer
    – The Included predicate denotes that the second argument (the item) is
      contained in the first argument (the wish list or the recommendations list)
PRE1:   Completed(order, item)  Included(buyersWishList, item)
POST1: ¬Included′(buyersWishList, item) 
  x, y [Completed(x, y) ≡ Completed′(x, y)]
  x, y [x ≠ buyersWishList  y ≠ item  Included(x, y) ≡ Included′(x, y)]
PRE2:     Completed(order, item) 
          ¬Included(buyersRecoms, associatedItem)
POST2: Included′(buyersRecoms, associatedItem) 
        x, y [Completed(x, y) ≡ Completed′(x, y)] 
        x, y [x ≠ buyersRecoms  y ≠ associatedItem 
              Included(x, y) ≡ Included′(x, y)]
A Motivating Example (1)
 A Motivating Example:
 Service Composition (2)
 Suppose now that we want a service that executes an order
  for all items contained in it. We may compose the 3 services
  we specified in the previous slides:




• Let’s describe the parallel composition of the wish list and
  recommendations update services in terms of its
  preconditions and postconditions
A Motivating Example (1)
 A Motivating Example:
 Service Composition (3)
Parallel Composition of Wish List and Recommendations
 Update Services
PRE1: Completed(order, item) 
       Included(buyersWishList, item)
PRE2: Completed(order, item) 
       ¬ Included(buyersRecoms, associatedItem)


The preconditions of the composite service are derived from
  the preconditions of the two services that participate in the
  composition
A Motivating Example (1)
 A Motivating Example:
 Service Composition (3)
Parallel Composition of Wish List and Recommendations
 Update Services
PRE:   Completed(order, item) 
        Included(buyersWishList, item) 
       ¬ Included(buyersRecoms, associatedItem)


Postconditions must be derived similarly, by considering the
 postconditions of the participating services (more on
 deriving composite specifications in the following section)
A Motivating Example (1)
 A Motivating Example:
 Service Composition (3)
Parallel Composition of Wish List and Recommendations Update Services
PRE:    Completed(order, item) 
        Included(buyersWishList, item) 
       ¬ Included(buyersRecoms, associatedItem)


POST1: ¬Included′(buyersWishList, item) 
       x, y [x ≠ buyersWishList  y ≠ item 
             Included(x, y) ≡ Included′(x, y)] 
       x, y [Completed(x, y) ≡ Completed′(x, y)]
POST2: Included′(buyersRecoms, associatedItem) 
       x, y [x ≠ buyersRecoms  y ≠ associatedItem 
             Included(x, y) ≡ Included′(x, y)] 
       x, y [Completed(x, y) ≡ Completed′(x, y)]
A Motivating Example (1)
 A Motivating Example:
 Service Composition (3)
Parallel Composition of Wish List and Recommendations Update Services
PRE:    Completed(order, item) 
        Included(buyersWishList, item) 
       ¬ Included(buyersRecoms, associatedItem)


POST: ¬Included′(buyersWishList, item)                   The highlighted
                                                        postconditions are
       Included′(buyersRecoms, associatedItem)         inconsistent (they
       x, y [x ≠ buyersWishList  y ≠ item              cannot be true
                                                         at the same time)
             Included(x, y) ≡ Included′(x, y)] 
       x, y [x ≠ buyersRecoms  y ≠ associatedItem 
             Included(x, y) ≡ Included′(x, y)] 
       x, y [Completed(x, y) ≡ Completed′(x, y)]
A Motivating the Frame Problem (1)
 Addressing Example (1)

 The frame problem may indeed make Web Service
  specifications
   – lengthier, more complex
   – inconsistent, in the case of Web Service composition

 To solve it, we adopt the solution of Explanation Closure
  axioms
   – Has been applied to procedure specifications, conceptually close to
     Web Service specifications
   – Is expressed in first-order predicate logic, suitable for current Semantic
     Web Service frameworks such as OWL-S
A Motivating the Frame Problem (2)
 Addressing Example (1)

 Frame Axioms: Procedure-oriented perspective
   – State what predicates or functions each procedure (service) does not
     change

 Explanation Closure Axioms: State-oriented perspective
   – State which procedures (services) change each predicate or function
   – Extend first-order predicate logic with:
       - Special predicate Occur, of arity 1 and special variable α
       - Occur(α) is true iff the service denoted by variable α has executed
         successfully
   – Explanation Closure Axioms are also known as Change Axioms
A Motivating Change Axioms (1)
   Expressing Example (1)

 Let’s revisit the money withdrawal service specification from the example:
POSTCONDITIONS:
  balance′(account) = balance(account) – A  balance′(account) ≥ 0 
  x[x ≠ account  balance(x) = balance′(x)] 
  withdrawalTotal′(day, account) = withdrawalTotal(day, account) + A 
   x,y[x ≠ day, y ≠ account  withdrawalTotal′(x,y) = withdrawalTotal(x,y)] 
  withdrawalTotal′(day, account) ≥ DL  ¬ Valid(creditCard, account) 
   x,y[x ≠ creditCard  y ≠ account  Valid(x,y) ≡ Valid′(x,y)]  x,y[Warn(x,y) ≡ Warn′(x,y)] 
  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) ≤ W)
  Warn′(creditCard, account) 
 x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)] 
  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W)  ¬
  Warn′(creditCard, account) 
 x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]
A Motivating Change Axioms (2)
 Expressing Example (1)
 We need to provide a change axiom for each distinct
  function/predicate, stating whice service execution leads to it
  changing
 Some postconditions may be removed since their knowledge is
  captured by the change axioms
POSTCONDITIONS:
  balance′(account) = balance(account) – A  balance′(account) ≥ 0 
  αx[balance(x) ≠ balance′(x)  Occur(a) 
                       a = MoneyWithdrawal(x, A)] MoneyWithdrawal(x, A)
  αx,y[Valid(x,y) ≢ Valid′(x,y)  Occur(a)        represents the
                      a = MoneyWithdrawal(x, A)      execution of the
       withdrawalTotal′(x) ≥ DL]                     Money Withdrawal
  αx,y[Warn(x,y) ≢ Warn′(x,y)  Occur(a)         service, to withdraw
                                                        an amount A
                       a = MoneyWithdrawal(x, A)      from account x
       DL – withdrawalTotal′(x) ≤ W]
A Motivating Change Axioms (3)
 Expressing Example (1)
 Now let’s deal with the parallel composition specification from the
  example:
PRE:   Completed(order, item) 
        Included(buyersWishList, item) 
       ¬ Included(buyersRecoms, associatedItem)


POST: ¬Included(buyersWishList, item) 
       Included(buyersRecoms, associatedItem) 
       x, y [x ≠ buyersWishList  y ≠ item 
              Included(x, y) ≡ Included(x, y)] 
       x, y [x ≠ buyersRecoms  y ≠ associatedItem 
              Included(x, y) ≡ Included(x, y)] 
       x, y [Completed(x, y) ≡ Completed(x, y)]
A Motivating Change Axioms (4)
 Expressing Example (1)

 A change axiom is provided for each predicate and redundant
  postconditions are removed:
PRE:   Completed(order, item) 
        Included(buyersWishList, item) 
       ¬ Included(buyersRecoms, associatedItem)


POST: α  x, y [Ιncluded (x, y) 
           ¬ Ιncluded(x, y)  Occur(α)] 
       α = WishListUpdate(x, y)  α = RecomsUpdate(x, y)
       α x,y [Completed(x, y)  ¬Completed(x, y)
        Occur(α)]  false
A Motivating Change Axioms (5)
 Expressing Example (1)

 In OWL-S, logic formulas and rules are expressed in the
  Semantic Web Rule Language (SWRL)
   – For change axioms, we use an extension of SWRL, SWRL-FOL
   – SWRL-FOL provides constructs to express all kinds of first-order logic
     formulas
      - Occur can be expressed as a unary predicate which has the
        meaning that its argument belongs to a certain OWL class.
      - The variable α can be expressed as an individual variable.
A Motivating Example (1) Change
 Automatically Producing
 Axioms (1)
 Given a service specification in OWL-S, we want to devise an
  algorithm to produce the change axioms needed for the
  specification to be complete
   – The algorithm must handle both atomic and composite service
     specifications
   – A change axiom must be added, for each predicate contained in the
     specifications
   – A predicate’s value should be considered changed by the service
     execution, if
      - It is negated in a precondition but not in a postcondition
      - It is negated in a postcondition but not in a precondition
A Motivating Example (1)
Automatically Producing Change
Axioms (2)
Learning Package Overview



 Problem Description
 Addressing the Frame Problem in Service Specifications
 Automatic Derivation of Composite Specifications
 Discussion and Summary
Another Motivating Example (1)

 Based on the E-Government case study of S-Cube, we have
  the following example: citizens submit applications to request
  some government-related service, such as obtaining
  government-issued documents.
 The process below is followed:




 The numbers denote the states before and after each
  particular task in the process.
Another Motivating Example (2)

 A possible specification for atomic services that implement the
  tasks in the example process is:




 Given these specifications and the description of the
  composition schema, we want to derive a specification for the
  composite service that implements the process
What constitutes a Specification for a
Composite Service?
 The composite specification is directly linked to the
  composition schema and the way the participating services
  are orchestrated
   – Which part of the participating services’ specifications should be
     exposed?
       - The complete specifications of all participating services?
       - Only the preconditions of the services whose inputs are exposed
         (and the postconditions of the services whose outputs are
         exposed)?

 The first choice may lead to over-specification while the
  second may do just the opposite
 We propose a derivation process that is based on structural
  induction and attempts to construct the composite
  specification using a bottom-up approach.
Calculating Pre/Postconditions for
Basic Control Constructs (1)
 A first-order logic semantics for a service specification with
  regard to its preconditions P and postconditions Q is:


 where x and y are input and output variables, while si and so
 denote the state before service execution and the state after a
 successful execution, respectively
 In order to be able to apply structural induction on any given
  composition schema we need to express such specification
  statements for all basic composition control constructs
Calculating Pre/Postconditions for
Basic Control Constructs (2)
 Let’s consider the case of sequential composition
 For the two services in the figure, the
  following holds:

                                                           Sequence


 This is equivalent to:
 However, in this equation internal variable z is exposed in the
  precondition, which means it is not externally checkable which is
  not desirable
   – We can eliminate this using the postcondition of A:
Calculating Pre/Postconditions for
Basic Control Constructs (3)
 Now let’s consider the case of conditionals.
 If C is true then A is executed,
  otherwise B is executed. Hence:



                                                     Conditional
 From this equation, we can deduce the following:




 The next slide contains a table with pre/postconditions for all basic
  control constructs. The Prover9 theorem prover was used to check
  all necessary proofs.
Calculating Pre/Postconditions for
Basic Control Constructs (4)




                                           Sequence




      Split/Join Constructs          Conditional
Deriving a Composite Specification (1)

 Using the previous slide and the composition schema for the
  process of the motivating example we can derive a
  specification for the composite process
1. The parallel execution of CheckRequest and CheckPayment
   can be specified as follows:




2. The sequence of Login and the above service leads to:
Deriving a Composite Specification (2)

3. Adding the Payment service to the sequence leads to:




4. The conditional execution of
   CreateCertified and
   CreateUncertified is specified
   with the equation on the right:
Deriving a Composite Specification (3)

5. Combining specifications in steps 3 and 4 to form the
   complete sequence of the process we result in the final
   composite specification:
Learning Package Overview



 Problem Description
 Addressing the Frame Problem in Service Specifications
 Automatic Derivation of Composite Specifications
 Discussion and Summary
Discussion (1)

 The approaches described in this presentation enable the
  creation of service specifications that
   – are free of the effects of the frame problem
   – Effectively capture a composite process comprising basic control
     constructs

 Both approaches enrich service specifications for both atomic
  and composite services and can, in principle, be combined in
  a single Web service specification that possesses both of the
  aforementioned characteristics.
Discussion (2)

 There are several research directions that complement the
  work presented. For instance, the closely associated
  ramification and qualification problems pose issues such as:
   – How de we include ramifications (knock-on and indirect effects) in a
     specification?
   – What if the solution to the frame problem precludes any indirect
     effects?
   – How is new knowledge assimilated in an existing specification? What
     if it leads to an inconsistent specification?
Discussion (3)

 As far as deriving composite specifications is concerned,
  some issues worth exploring are:
   – Simplifying the resulting specification by applying known equivalences
     or by exploiting specific knowledge on the particular composite service
   – Supporting more complex control constructs such as loops which may
     involve approximating loop invariants for the case of Web services and
     determining when the loop terminates
   – Handling asynchronous calls, where the client invokes a service but
     does not wait for its response, which may lead to differences in the
     evaluation of postconditions, depending on when the response is
     received.
Summary

 The frame problem in service specifications can be addressed
  using the approach of change axioms
 Change axioms can be used to provide complete descriptions for
  atomic and composite services containing all major composition
  schemas and an algorithm for the automatic production of change
  axioms was presented
 As far as deriving specifications is concerned, the presented
  approach attempts to construct the specification by using structural
  induction based on derivation rules defined for most fundamental
  control constructs
 The resulting specification can be used to formally describe the
  composite service in terms of its preconditions and postconditions
  without requiring any knowledge of the internals of the composition,
  allowing for an actual ”black box” view of the whole process.
Acknowledgements




      The research leading to these results has
      received funding from the European
      Community’s Seventh Framework
      Programme [FP7/2007-2013] under grant
      agreement 215483 (S-Cube).




                                                  © Philipp Leitner

Contenu connexe

Similaire à S-CUBE LP: Formal Specifications for Services and Service Compositions

Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...
Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...
Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...Victor Romanov
 
Romanov moscow-spring sim2011-finished
Romanov moscow-spring sim2011-finishedRomanov moscow-spring sim2011-finished
Romanov moscow-spring sim2011-finishedVictor Romanov
 
Mobile company services fitting to customer consumtion profile-spring sim2011...
Mobile company services fitting to customer consumtion profile-spring sim2011...Mobile company services fitting to customer consumtion profile-spring sim2011...
Mobile company services fitting to customer consumtion profile-spring sim2011...Victor Romanov
 
L {M,s s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docx
L {M,s  s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docxL {M,s  s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docx
L {M,s s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docxcroysierkathey
 
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docxBoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docxjasoninnes20
 
S-CUBE LP: Service Identification
S-CUBE LP: Service IdentificationS-CUBE LP: Service Identification
S-CUBE LP: Service Identificationvirtual-campus
 
Adept Change Management_Panna Visani 2015_1
Adept Change Management_Panna Visani 2015_1Adept Change Management_Panna Visani 2015_1
Adept Change Management_Panna Visani 2015_1Panna Visani MBCS ACCA
 
Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus workKevinPSF
 
Sap sd configuration
Sap sd configurationSap sd configuration
Sap sd configurationjo.gill2010
 
Kafka summit SF 2019 - the art of the event-streaming app
Kafka summit SF 2019 - the art of the event-streaming appKafka summit SF 2019 - the art of the event-streaming app
Kafka summit SF 2019 - the art of the event-streaming appNeil Avery
 
The art of the event streaming application: streams, stream processors and sc...
The art of the event streaming application: streams, stream processors and sc...The art of the event streaming application: streams, stream processors and sc...
The art of the event streaming application: streams, stream processors and sc...confluent
 
Accounting Learning Tutorial
Accounting Learning TutorialAccounting Learning Tutorial
Accounting Learning TutorialAshim Sikder
 
process&models in UML
process&models in UMLprocess&models in UML
process&models in UMLAAshish Ojha
 
R12 New Features In Order Management
R12 New Features In Order ManagementR12 New Features In Order Management
R12 New Features In Order Managementravisagaram
 
Online Cloud based Accounting Software for Personal or Small Business
Online Cloud based Accounting Software for Personal or Small BusinessOnline Cloud based Accounting Software for Personal or Small Business
Online Cloud based Accounting Software for Personal or Small BusinessAshim Sikder
 

Similaire à S-CUBE LP: Formal Specifications for Services and Service Compositions (20)

Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...
Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...
Romanov moscow-boston-22.03, Business rules for profit incresing in mobile co...
 
Romanov moscow-spring sim2011-finished
Romanov moscow-spring sim2011-finishedRomanov moscow-spring sim2011-finished
Romanov moscow-spring sim2011-finished
 
Mobile company services fitting to customer consumtion profile-spring sim2011...
Mobile company services fitting to customer consumtion profile-spring sim2011...Mobile company services fitting to customer consumtion profile-spring sim2011...
Mobile company services fitting to customer consumtion profile-spring sim2011...
 
L {M,s s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docx
L {M,s  s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docxL {M,s  s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docx
L {M,s s ∈ L(M), L(M) = 2}. Prove that L ∉ SD by a reduc.docx
 
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docxBoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
BoardSprintUser Story ScenarioDesignDevelopmentTestUAT Release1U .docx
 
S-CUBE LP: Service Identification
S-CUBE LP: Service IdentificationS-CUBE LP: Service Identification
S-CUBE LP: Service Identification
 
Adept Change Management_Panna Visani 2015_1
Adept Change Management_Panna Visani 2015_1Adept Change Management_Panna Visani 2015_1
Adept Change Management_Panna Visani 2015_1
 
Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus work
 
Sap sd configuration
Sap sd configurationSap sd configuration
Sap sd configuration
 
Kafka summit SF 2019 - the art of the event-streaming app
Kafka summit SF 2019 - the art of the event-streaming appKafka summit SF 2019 - the art of the event-streaming app
Kafka summit SF 2019 - the art of the event-streaming app
 
The art of the event streaming application: streams, stream processors and sc...
The art of the event streaming application: streams, stream processors and sc...The art of the event streaming application: streams, stream processors and sc...
The art of the event streaming application: streams, stream processors and sc...
 
Accounting Learning Tutorial
Accounting Learning TutorialAccounting Learning Tutorial
Accounting Learning Tutorial
 
Telecom Churn Analysis
Telecom Churn AnalysisTelecom Churn Analysis
Telecom Churn Analysis
 
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
CILC 2014 - Montali - Specification and Verification of Commitment-Regulated ...
 
Ap test script
Ap test scriptAp test script
Ap test script
 
process&models in UML
process&models in UMLprocess&models in UML
process&models in UML
 
Sap BPC concepts
Sap BPC conceptsSap BPC concepts
Sap BPC concepts
 
R12 New Features In Order Management
R12 New Features In Order ManagementR12 New Features In Order Management
R12 New Features In Order Management
 
Online Cloud based Accounting Software for Personal or Small Business
Online Cloud based Accounting Software for Personal or Small BusinessOnline Cloud based Accounting Software for Personal or Small Business
Online Cloud based Accounting Software for Personal or Small Business
 
Acceptance tests
Acceptance testsAcceptance tests
Acceptance tests
 

Plus de virtual-campus

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...virtual-campus
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphorvirtual-campus
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...virtual-campus
 
S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programmingvirtual-campus
 
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical InterpreterS-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpretervirtual-campus
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...virtual-campus
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Developmentvirtual-campus
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systemsvirtual-campus
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...virtual-campus
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...virtual-campus
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysisvirtual-campus
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...virtual-campus
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logsvirtual-campus
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiationvirtual-campus
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selectionvirtual-campus
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrationsvirtual-campus
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptationvirtual-campus
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Predictionvirtual-campus
 
S-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web ServiceS-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web Servicevirtual-campus
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiationvirtual-campus
 

Plus de virtual-campus (20)

S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
S-CUBE LP: Analysis Operations on SLAs: Detecting and Explaining Conflicting ...
 
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical MetaphorS-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
S-CUBE LP: Chemical Modeling: Workflow Enactment based on the Chemical Metaphor
 
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
S-CUBE LP: Quality of Service-Aware Service Composition: QoS optimization in ...
 
S-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL ProgrammingS-CUBE LP: The Chemical Computing model and HOCL Programming
S-CUBE LP: The Chemical Computing model and HOCL Programming
 
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical InterpreterS-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
S-CUBE LP: Executing the HOCL: Concept of a Chemical Interpreter
 
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
S-CUBE LP: SLA-based Service Virtualization in distributed, heterogenious env...
 
S-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software DevelopmentS-CUBE LP: Impact of SBA design on Global Software Development
S-CUBE LP: Impact of SBA design on Global Software Development
 
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented SystemsS-CUBE LP: Self-healing in Mixed Service-oriented Systems
S-CUBE LP: Self-healing in Mixed Service-oriented Systems
 
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
S-CUBE LP: Analyzing and Adapting Business Processes based on Ecologically-aw...
 
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
S-CUBE LP: Preventing SLA Violations in Service Compositions Using Aspect-Bas...
 
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency AnalysisS-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
S-CUBE LP: Analyzing Business Process Performance Using KPI Dependency Analysis
 
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
 
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event LogsS-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
S-CUBE LP: Runtime Prediction of SLA Violations Based on Service Event Logs
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiation
 
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service SelectionS-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
S-CUBE LP: A Soft-Constraint Based Approach to QoS-Aware Service Selection
 
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services OrchestrationsS-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
S-CUBE LP: Variability Modeling and QoS Analysis of Web Services Orchestrations
 
S-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive AdaptationS-CUBE LP: Run-time Verification for Preventive Adaptation
S-CUBE LP: Run-time Verification for Preventive Adaptation
 
S-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality PredictionS-CUBE LP: Using Data Properties in Quality Prediction
S-CUBE LP: Using Data Properties in Quality Prediction
 
S-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web ServiceS-CUBE LP: Dynamic Privacy Model for Web Service
S-CUBE LP: Dynamic Privacy Model for Web Service
 
S-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA NegotiationS-CUBE LP: Proactive SLA Negotiation
S-CUBE LP: Proactive SLA Negotiation
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

S-CUBE LP: Formal Specifications for Services and Service Compositions

  • 1. S-Cube Learning Package Service Specifications: Formal Specifications for Services and Service Compositions University of Crete (UoC), Universidad Politecnica de Madrid (UPM) George Baryannis and Dimitris Plexousakis, UoC Manuel Carro, UPM www.s-cube-network.eu
  • 2. Learning Package Categorization S-Cube Formal Models and Languages for QoS-Aware Service Compositions Models and Mechanisms for Coordinated Service Compositions Formal Specifications for Services and Service Compositions
  • 3. Learning Package Overview  Problem Description  Addressing the Frame Problem in Service Specifications  Automatic Derivation of Composite Specifications  Discussion and Summary
  • 4. The Need for Service Specifications (1)  Formal specifications promote and facilitate the reusability of services and service compositions – Especially important in the case of legacy services, where it is crucial to have a formal representation of the service that can be reasoned with – In the case of service compositions, specifications abstract away the composition method and use all composite services in the same way regardless of whether they’ve been composed using Java, C#, BPEL, MS Workflow etc.
  • 5. The Need for Service Specifications (2)  Service specifications also enable the following: – construction of a service based on a set of requirements agreed upon by the parties involved – checking that a service meets a set of requirements – service verification techniques – detection of inconsistencies to decide whether a set of services is composable  Complete formal specifications are crucial for both – Service providers, to advertise more effectively the offered services – Service consumers, to make informed choices by knowing the exact way in which a service is expected to perform
  • 6. Issues involving Service Specifications (1)  Service Specifications are usually based on logic-based knowledge representation for the description of service functionality (Inputs, Outputs, Preconditions and Effects, collectively known as IOPEs) (e.g. in OWL-S or WSMO)  This makes them vulnerable to three well-known problems – The Frame Problem: how to state in a succinct way that nothing else changes, except when stated otherwise – The Ramification Problem: how to represent and infer information about the knock-on and indirect effects of an action or an event – The Qualification Problem: how to list all preconditions that must be satisfied for an action to have a desired effect and how to update them when new statements become part of our knowledge
  • 7. Issues involving Service Specifications (2)  A composite service should be delivered to consumers in the same way as an atomic one – Specifications for composite services should be available, based on the specifications of the services that take part in the composition  No service description frameworks or service composition approaches attempt to derive a complete specification of the inputs, outputs, preconditions and effects (IOPEs) that should be provided to a service consumer  Both issues (and, as it will become obvious, the solutions we propose) share a common basis: the use of logic representation to describe a Web service in a richer, more flexible way and one that can be reasoned with
  • 8. Learning Package Overview  Problem Description  Addressing the Frame Problem in Service Specifications  Automatic Derivation of Composite Specifications  Discussion and Summary
  • 9. A Motivating Example (1) A Motivating Example (1)  Typical case of an online shop:  Let’s focus on the Execute Order task, which may include the following subtasks:
  • 10. A Motivating Example (1) A Motivating Example (2)  The three subtasks with the exception of the package and delivery can be performed by Web Services  A Web Service that is tasked with the money withdrawal should: – Check before execution that the credit card is valid and that the account has enough money – Withdraw the money and check that the balance is still positive – Ban the credit card if the daily withdrawal limit (DL) has been reached – If we’re close to the limit (less than an amount of W), warn the client, otherwise don’t
  • 11. A Motivating Example (1) A Motivating Example (3)  Encoding the service description using the precondition/postcondition notation: PRECONDITIONS: Note the use of Valid(creditCard, account)  balance(account) ≥ A primed/unprimed POSTCONDITIONS: predicates to denote balance′(account) = balance(account) – A  when the predicate balance′(account) ≥ 0  is evaluated: withdrawalTotal′(day, account)= balance is evaluated withdrawalTotal(day, account) + A before execution withdrawalTotal′(day, account) ≥ DL  while balance′ ¬Valid′ (creditCard, account)  afterwards (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) ≤ W)  Warn′ (creditCard, account)  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W)  ¬ warn′ (creditCard, account)
  • 12. A Motivating Example (1) A Motivating Example (4)  This specification is not complete: – We can’t prove that no other accounts or credit cards are affected by the service execution  We need to add frame axioms that explicitly state that nothing else changes. The complete specification is shown on the next slide.  As it will become obvious, including frame axioms – becomes rather challenging, especially when handling complex specifications – results in an even more complicated and lengthy specification that would make computing formal proofs based on it a challenging task
  • 13. A Motivating Example (1) A Motivating Example (5) POSTCONDITIONS: balance′(account) = balance(account) – A  balance′(account) ≥ 0  x[x ≠ account  balance(x) = balance′(x)]  withdrawalTotal′(day, account) = withdrawalTotal(day, account) + A   x,y[x ≠ day, y ≠ account  withdrawalTotal′(x,y) = withdrawalTotal(x,y)]  withdrawalTotal′(day, account) ≥ DL  ¬ Valid(creditCard, account)   x,y[x ≠ creditCard  y ≠ account  Valid(x,y) ≡ Valid′(x,y)]  x,y[Warn(x,y) ≡ Warn′(x,y)]  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) ≤ W) Warn′(creditCard, account)  x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W)  ¬ Warn′(creditCard, account)  x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]
  • 14. A Motivating Example (1) A Motivating Example: Service Composition (1)  The effects of the frame problem aggravate in the case of composite service specifications.  Suppose we have the following complete specifications for two services that handle the wish list and recommendations update subtasks. – The Completed predicate denotes that the item contained in that particular order has been delivered to the buyer – The Included predicate denotes that the second argument (the item) is contained in the first argument (the wish list or the recommendations list) PRE1: Completed(order, item)  Included(buyersWishList, item) POST1: ¬Included′(buyersWishList, item)  x, y [Completed(x, y) ≡ Completed′(x, y)] x, y [x ≠ buyersWishList  y ≠ item  Included(x, y) ≡ Included′(x, y)] PRE2: Completed(order, item)  ¬Included(buyersRecoms, associatedItem) POST2: Included′(buyersRecoms, associatedItem)  x, y [Completed(x, y) ≡ Completed′(x, y)]  x, y [x ≠ buyersRecoms  y ≠ associatedItem  Included(x, y) ≡ Included′(x, y)]
  • 15. A Motivating Example (1) A Motivating Example: Service Composition (2)  Suppose now that we want a service that executes an order for all items contained in it. We may compose the 3 services we specified in the previous slides: • Let’s describe the parallel composition of the wish list and recommendations update services in terms of its preconditions and postconditions
  • 16. A Motivating Example (1) A Motivating Example: Service Composition (3) Parallel Composition of Wish List and Recommendations Update Services PRE1: Completed(order, item)  Included(buyersWishList, item) PRE2: Completed(order, item)  ¬ Included(buyersRecoms, associatedItem) The preconditions of the composite service are derived from the preconditions of the two services that participate in the composition
  • 17. A Motivating Example (1) A Motivating Example: Service Composition (3) Parallel Composition of Wish List and Recommendations Update Services PRE: Completed(order, item)  Included(buyersWishList, item)  ¬ Included(buyersRecoms, associatedItem) Postconditions must be derived similarly, by considering the postconditions of the participating services (more on deriving composite specifications in the following section)
  • 18. A Motivating Example (1) A Motivating Example: Service Composition (3) Parallel Composition of Wish List and Recommendations Update Services PRE: Completed(order, item)  Included(buyersWishList, item)  ¬ Included(buyersRecoms, associatedItem) POST1: ¬Included′(buyersWishList, item)  x, y [x ≠ buyersWishList  y ≠ item  Included(x, y) ≡ Included′(x, y)]  x, y [Completed(x, y) ≡ Completed′(x, y)] POST2: Included′(buyersRecoms, associatedItem)  x, y [x ≠ buyersRecoms  y ≠ associatedItem  Included(x, y) ≡ Included′(x, y)]  x, y [Completed(x, y) ≡ Completed′(x, y)]
  • 19. A Motivating Example (1) A Motivating Example: Service Composition (3) Parallel Composition of Wish List and Recommendations Update Services PRE: Completed(order, item)  Included(buyersWishList, item)  ¬ Included(buyersRecoms, associatedItem) POST: ¬Included′(buyersWishList, item)  The highlighted postconditions are Included′(buyersRecoms, associatedItem)  inconsistent (they x, y [x ≠ buyersWishList  y ≠ item  cannot be true at the same time) Included(x, y) ≡ Included′(x, y)]  x, y [x ≠ buyersRecoms  y ≠ associatedItem  Included(x, y) ≡ Included′(x, y)]  x, y [Completed(x, y) ≡ Completed′(x, y)]
  • 20. A Motivating the Frame Problem (1) Addressing Example (1)  The frame problem may indeed make Web Service specifications – lengthier, more complex – inconsistent, in the case of Web Service composition  To solve it, we adopt the solution of Explanation Closure axioms – Has been applied to procedure specifications, conceptually close to Web Service specifications – Is expressed in first-order predicate logic, suitable for current Semantic Web Service frameworks such as OWL-S
  • 21. A Motivating the Frame Problem (2) Addressing Example (1)  Frame Axioms: Procedure-oriented perspective – State what predicates or functions each procedure (service) does not change  Explanation Closure Axioms: State-oriented perspective – State which procedures (services) change each predicate or function – Extend first-order predicate logic with: - Special predicate Occur, of arity 1 and special variable α - Occur(α) is true iff the service denoted by variable α has executed successfully – Explanation Closure Axioms are also known as Change Axioms
  • 22. A Motivating Change Axioms (1) Expressing Example (1)  Let’s revisit the money withdrawal service specification from the example: POSTCONDITIONS: balance′(account) = balance(account) – A  balance′(account) ≥ 0  x[x ≠ account  balance(x) = balance′(x)]  withdrawalTotal′(day, account) = withdrawalTotal(day, account) + A   x,y[x ≠ day, y ≠ account  withdrawalTotal′(x,y) = withdrawalTotal(x,y)]  withdrawalTotal′(day, account) ≥ DL  ¬ Valid(creditCard, account)   x,y[x ≠ creditCard  y ≠ account  Valid(x,y) ≡ Valid′(x,y)]  x,y[Warn(x,y) ≡ Warn′(x,y)]  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) ≤ W) Warn′(creditCard, account)  x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]  (withdrawalTotal′(day, account) < DL  DL – withdrawalTotal′(day, account) > W)  ¬ Warn′(creditCard, account)  x,y[x ≠ creditCard  y ≠ account Warn(x,y) ≡ Warn′(x,y)]  x,y[Valid (x,y) ≡ Valid′(x,y)]
  • 23. A Motivating Change Axioms (2) Expressing Example (1)  We need to provide a change axiom for each distinct function/predicate, stating whice service execution leads to it changing  Some postconditions may be removed since their knowledge is captured by the change axioms POSTCONDITIONS: balance′(account) = balance(account) – A  balance′(account) ≥ 0  αx[balance(x) ≠ balance′(x)  Occur(a)  a = MoneyWithdrawal(x, A)] MoneyWithdrawal(x, A) αx,y[Valid(x,y) ≢ Valid′(x,y)  Occur(a)  represents the a = MoneyWithdrawal(x, A) execution of the withdrawalTotal′(x) ≥ DL] Money Withdrawal αx,y[Warn(x,y) ≢ Warn′(x,y)  Occur(a)  service, to withdraw an amount A a = MoneyWithdrawal(x, A) from account x DL – withdrawalTotal′(x) ≤ W]
  • 24. A Motivating Change Axioms (3) Expressing Example (1)  Now let’s deal with the parallel composition specification from the example: PRE: Completed(order, item)  Included(buyersWishList, item)  ¬ Included(buyersRecoms, associatedItem) POST: ¬Included(buyersWishList, item)  Included(buyersRecoms, associatedItem)  x, y [x ≠ buyersWishList  y ≠ item  Included(x, y) ≡ Included(x, y)]  x, y [x ≠ buyersRecoms  y ≠ associatedItem  Included(x, y) ≡ Included(x, y)]  x, y [Completed(x, y) ≡ Completed(x, y)]
  • 25. A Motivating Change Axioms (4) Expressing Example (1)  A change axiom is provided for each predicate and redundant postconditions are removed: PRE: Completed(order, item)  Included(buyersWishList, item)  ¬ Included(buyersRecoms, associatedItem) POST: α  x, y [Ιncluded (x, y)  ¬ Ιncluded(x, y)  Occur(α)]  α = WishListUpdate(x, y)  α = RecomsUpdate(x, y) α x,y [Completed(x, y)  ¬Completed(x, y)  Occur(α)]  false
  • 26. A Motivating Change Axioms (5) Expressing Example (1)  In OWL-S, logic formulas and rules are expressed in the Semantic Web Rule Language (SWRL) – For change axioms, we use an extension of SWRL, SWRL-FOL – SWRL-FOL provides constructs to express all kinds of first-order logic formulas - Occur can be expressed as a unary predicate which has the meaning that its argument belongs to a certain OWL class. - The variable α can be expressed as an individual variable.
  • 27. A Motivating Example (1) Change Automatically Producing Axioms (1)  Given a service specification in OWL-S, we want to devise an algorithm to produce the change axioms needed for the specification to be complete – The algorithm must handle both atomic and composite service specifications – A change axiom must be added, for each predicate contained in the specifications – A predicate’s value should be considered changed by the service execution, if - It is negated in a precondition but not in a postcondition - It is negated in a postcondition but not in a precondition
  • 28. A Motivating Example (1) Automatically Producing Change Axioms (2)
  • 29. Learning Package Overview  Problem Description  Addressing the Frame Problem in Service Specifications  Automatic Derivation of Composite Specifications  Discussion and Summary
  • 30. Another Motivating Example (1)  Based on the E-Government case study of S-Cube, we have the following example: citizens submit applications to request some government-related service, such as obtaining government-issued documents.  The process below is followed:  The numbers denote the states before and after each particular task in the process.
  • 31. Another Motivating Example (2)  A possible specification for atomic services that implement the tasks in the example process is:  Given these specifications and the description of the composition schema, we want to derive a specification for the composite service that implements the process
  • 32. What constitutes a Specification for a Composite Service?  The composite specification is directly linked to the composition schema and the way the participating services are orchestrated – Which part of the participating services’ specifications should be exposed? - The complete specifications of all participating services? - Only the preconditions of the services whose inputs are exposed (and the postconditions of the services whose outputs are exposed)?  The first choice may lead to over-specification while the second may do just the opposite  We propose a derivation process that is based on structural induction and attempts to construct the composite specification using a bottom-up approach.
  • 33. Calculating Pre/Postconditions for Basic Control Constructs (1)  A first-order logic semantics for a service specification with regard to its preconditions P and postconditions Q is: where x and y are input and output variables, while si and so denote the state before service execution and the state after a successful execution, respectively  In order to be able to apply structural induction on any given composition schema we need to express such specification statements for all basic composition control constructs
  • 34. Calculating Pre/Postconditions for Basic Control Constructs (2)  Let’s consider the case of sequential composition  For the two services in the figure, the following holds: Sequence  This is equivalent to:  However, in this equation internal variable z is exposed in the precondition, which means it is not externally checkable which is not desirable – We can eliminate this using the postcondition of A:
  • 35. Calculating Pre/Postconditions for Basic Control Constructs (3)  Now let’s consider the case of conditionals.  If C is true then A is executed, otherwise B is executed. Hence: Conditional  From this equation, we can deduce the following:  The next slide contains a table with pre/postconditions for all basic control constructs. The Prover9 theorem prover was used to check all necessary proofs.
  • 36. Calculating Pre/Postconditions for Basic Control Constructs (4) Sequence Split/Join Constructs Conditional
  • 37. Deriving a Composite Specification (1)  Using the previous slide and the composition schema for the process of the motivating example we can derive a specification for the composite process 1. The parallel execution of CheckRequest and CheckPayment can be specified as follows: 2. The sequence of Login and the above service leads to:
  • 38. Deriving a Composite Specification (2) 3. Adding the Payment service to the sequence leads to: 4. The conditional execution of CreateCertified and CreateUncertified is specified with the equation on the right:
  • 39. Deriving a Composite Specification (3) 5. Combining specifications in steps 3 and 4 to form the complete sequence of the process we result in the final composite specification:
  • 40. Learning Package Overview  Problem Description  Addressing the Frame Problem in Service Specifications  Automatic Derivation of Composite Specifications  Discussion and Summary
  • 41. Discussion (1)  The approaches described in this presentation enable the creation of service specifications that – are free of the effects of the frame problem – Effectively capture a composite process comprising basic control constructs  Both approaches enrich service specifications for both atomic and composite services and can, in principle, be combined in a single Web service specification that possesses both of the aforementioned characteristics.
  • 42. Discussion (2)  There are several research directions that complement the work presented. For instance, the closely associated ramification and qualification problems pose issues such as: – How de we include ramifications (knock-on and indirect effects) in a specification? – What if the solution to the frame problem precludes any indirect effects? – How is new knowledge assimilated in an existing specification? What if it leads to an inconsistent specification?
  • 43. Discussion (3)  As far as deriving composite specifications is concerned, some issues worth exploring are: – Simplifying the resulting specification by applying known equivalences or by exploiting specific knowledge on the particular composite service – Supporting more complex control constructs such as loops which may involve approximating loop invariants for the case of Web services and determining when the loop terminates – Handling asynchronous calls, where the client invokes a service but does not wait for its response, which may lead to differences in the evaluation of postconditions, depending on when the response is received.
  • 44. Summary  The frame problem in service specifications can be addressed using the approach of change axioms  Change axioms can be used to provide complete descriptions for atomic and composite services containing all major composition schemas and an algorithm for the automatic production of change axioms was presented  As far as deriving specifications is concerned, the presented approach attempts to construct the specification by using structural induction based on derivation rules defined for most fundamental control constructs  The resulting specification can be used to formally describe the composite service in terms of its preconditions and postconditions without requiring any knowledge of the internals of the composition, allowing for an actual ”black box” view of the whole process.
  • 45. Acknowledgements The research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7/2007-2013] under grant agreement 215483 (S-Cube). © Philipp Leitner