Download presentation
Presentation is loading. Please wait.
Published byAleesha Chambers Modified over 6 years ago
1
WSSL: A Fluent Calculus-based Language for Web Service Specifications
George Baryannis and Dimitris Plexousakis Computer Science Department, University of Crete Institute of Computer Science, Foundation for Research & Technology - Hellas June , Valencia, Spain
2
Outline Introduction Web Service Specification Language
The Need for Service Specifications Motivating Example The Frame, Ramification and Qualification Problems Web Service Specification Language The Fluent Calculus WSSL Syntax Decidability & Applicability WSSL Validation Tool WSSL to FLUX Evaluation Conclusions & Future Work
3
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 WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
4
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 WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
5
George Baryannis and Dimitris Plexousakis
Motivating Example (1) Service-based process of obtaining government-issued documents Users login to the system and fill in a request form and a payment form The payment process is executed only after both forms are complete and valid In some cases, the resulting documents need to be digitally certified Service specifications for such tasks employ the precondition/postcondition notation WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
6
The Family of Frame Problems (1)
Frame Problem: how to effectively express what doesnβt change, apart from whatβs changed, based on a specification e.g. πππππ πππ¦πΉπππ, π’π ππ as a postcondition attributes validity to the specific attributes combination; we cannot answer definitively whether anything else changes Ramification Problem: how to represent knock-on and indirect effects (ramifications) e.g. a side effect of πππ¦πΆππππππ‘ππ πππ, π’π ππ is to invalidate the userβs credit card if the daily spending limit has been reached WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
7
The Family of Frame Problems (2)
Qualification Problem: how to deal with qualifications that are outside our knowledge and result in inconsistent behavior (exogenous aspect) e.g. specification states that if π΄πππππ£ππ π‘ππππ πππ‘πππ, π’π ππ β§πππππ ππΆππ, π’π ππ is true before execution, then πππ¦πΆππππππ‘ππ πππ, π’π ππ should be true afterwards. If this contradicts the observed behavior, we need a way to reason about what happened All three problems have been adequately addressed in the formalisms of the fluent and event calculi, and temporal action logic WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
8
Outline Introduction Web Service Specification Language
The Need for Service Specifications Motivating Example The Frame, Ramification and Qualification Problems Web Service Specification Language The Fluent Calculus WSSL Syntax Decidability & Applicability WSSL Validation Tool WSSL to FLUX Evaluation Conclusions & Future Work
9
George Baryannis and Dimitris Plexousakis
WSSL Placement USDL Higher- level SoaML WSSL OWL-S WSMO Semantics/ Behavior SAWSDL WSDL Ground WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
10
Why employ the Fluent Calculus?
Service specification requires a non-narrative-based formalism No need for an explicit representation of time as in the event calculus and temporal action logic The fluent calculus is implemented as a logic programming system (FLUX β FLUent eXecutor) Can be used to implement tools such as the validation tool presented later on WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
11
Fluent Calculus Overview (1)
Fluent: a single atomic property that may change, e.g. due to a service execution State: a snapshot of the environment A fluent is equivalent to a state where only that fluent holds π»ππππ (π,π§) is a macro for state z containing a fluent f Action: a high-level operation, e.g. a service execution Situation: a history of action performances Action Precondition Axiom: πππ π π΄ π₯ , π β‘ π± π΄ π₯, π , i.e. A is possible at situation s iff π± π΄ holds WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
12
Fluent Calculus Overview (2)
State Update Axiom: πππ π π΄ π₯ , π β βπ¦ π₯ π β§ππ‘ππ‘π π·π π΄ π₯ , π =ππ‘ππ‘π π + π + β π β i.e. provided that A is possible at s, executing A results at a successor state which results from the previous one if we add fluents that have been made true ( π + ) and we subtract fluents that have been made false ( π β ) This is a provably correct solution to the frame problem, provided that π + and π β are disjoint Inputs and Outputs: undefined in the fluent calculus We define unary function symbols HasInput and HasOutput An input formula is a state formula composed exclusively of HasInput fluents WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
13
WSSL Abstract Syntax (1)
A WSSL specification is a 5-tuple π= π πππ£πππ, ππππ’π‘, ππ’π‘ππ’π‘, πππ, πππ π‘ , where: π πππ£πππ is a set of identifiers offering general information, e.g. service name, invocation information etc. ππππ’π‘ is a set of input formulas ππ’π‘ππ’π‘ is a set of output formulas πππ is a set of action precondition axioms defining service preconditions πππ π‘ is a set of state update axioms defining service postconditions All elements are defined using WSSL logical expressions WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
14
WSSL Abstract Syntax (2)
A WSSL logical expression is defined using the following alphabet: A countable set π of sorts, representing the fundamental fluent calculus entities (fluents, states, actions, situations), as well as boolean values Logical connectives: Β¬, β§, β¨, β, β‘, β€, β₯ Quantifiers and equality: β π , β π , = π for every sort π βπ A countably infinite set of variables Nonlogical symbols: countable nonempty sets of constants, function symbols (at least Do, State, HasInput, HasOutput), predicate symbols (at least Poss) WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
15
WSSL Abstract Syntax (3)
WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
16
George Baryannis and Dimitris Plexousakis
WSSL Extensions (1) Introduce causal relationships to solve the ramification problem: β ΞβπΆππ’π ππ π§,π,π, π§ β² , π β² , π β² ,π Under conditions Ξ, in situation s, the occurred positive and negative effects p and n possibly cause an automatic update from state to state zβ, with positive and negative effects pβ and nβ E.g. π·ππππ¦πΏππππ‘π
πππβππ ?ππΆππ, ?π’π ππ βπΆππ’π ππ ?π§, πππππ ?πππ¦πΉπππ, ?π’π ππ + πππ¦πΆππππππ‘ππ ?πππ, ?π’π ππ , β
, ?π§_π, β
, πππππ ?ππΆππ, ?π’π ππ , ?π State update axioms are rewritten as πππ π π΄ π₯ , π β βπ¦ π₯ π β§π
πππππ¦ π§, π + , π β ,π·π π΄ π₯ , π , with Ramify denoting the inference of ramifications E.g. πππ π πΈπ₯πππππ¦ππππ‘ ?πππ¦πΉπππ, ?πππ¦ππΆππ , ?π ββ?πππ π
πππππ¦(?π§,πππππ ?πππ¦πΉπππ, ?π’π ππ +πππ¦πΆππππππ‘ππ ?πππ, ?π’π ππ ,β
,?π§_ππ) WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
17
George Baryannis and Dimitris Plexousakis
WSSL Extensions (2) To solve the (exogenous) qualification problem, accident modeling is introduced through a new predicate π΄ππ(πΆ, π ), meaning that accident C occurs in situation s. To assume away accidents, a default logic theory must be employed, such as: Ξ= :Β¬π΄ππ(π,π ) Β¬π΄ππ(π,π ) , Ξ£βͺπ :Β¬π΄ππ(π,π ) Β¬π΄ππ(π,π ) , Ξ£βͺπ , under observations O and domain axiomatization Ξ£. The rule is essentially a single universal default on the non-occurrence of all accidents WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
18
George Baryannis and Dimitris Plexousakis
WSSL Extensions (3) Accidents are then integrated in specifications: Action precondition axioms are rewritten as πππ π π΄ π₯ , π β‘ βπ Β¬π΄ππ π, π βπ± π΄ π₯, π , to express the default case, where no accident has taken place State update axioms now include a disjunct for each accident case (apart from the default no-accident case) E.g. πππ π πΈπ₯πππππ¦ππππ‘ ?πππ¦πΉπππ, ?πππ¦ππΆππ , ?π ββ?πππ β?π Β¬π΄ππ ?π β§ π
πππππ¦(?π§,πππππ ?πππ¦πΉπππ, ?π’π ππ + πππ¦πΆππππππ‘ππ ?πππ, ?π’π ππ ,β
,?π§_ππ β¨β?π π΄ππ ?π, ?π β§?π§_ππ= ?π§ WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
19
Decidability and Applicability
WSSL and its extensions were designed with high expressivity in mind, to support all solutions offered by the fluent calculus Decidability results for the fluent calculus show: There is a correct translation between the fluent and situation calculi (i.e. decidability results can be ported) The two-variable fragment with counting, πΆ 2 , of the situation calculus is decidable in NExpTime WSSL is a language at the level of OWL-S or WSML WSDL (or SAWSDL) can be used as ground languages Existing OWL-S or WSML descriptions can be translated to WSSL and annotated WSSL can facilitate service validation, verification and composition WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
20
Outline Introduction Web Service Specification Language
The Need for Service Specifications Motivating Example The Frame, Ramification and Qualification Problems Web Service Specification Language The Fluent Calculus WSSL Syntax Decidability & Applicability WSSL Validation Tool WSSL to FLUX Evaluation Conclusions & Future Work
21
WSSL to FLUX A validation tool was implemented, that:
Parses a WSSL document WSSL/XML, an XML syntax for WSSL, was defined to allow for machine readability and standardized parsing Translates it into FLUX, an implementation of the fluent calculus in logic programming Expects a goal from the user (expressed in WSSL or FLUX) and validates it against the specification Translation to FLUX obeys the following mapping:
22
George Baryannis and Dimitris Plexousakis
Evaluation (1) The validation tool was implemented using: JAVA for the translation mechanism the ECLiPSe CLP system for the validation process We investigated the scalability of the translation process in terms of runtime and memory consumption Synthetic WSSL specifications were generated, having from 1 to 500 pairs of pre- and postconditions WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
23
George Baryannis and Dimitris Plexousakis
Evaluation (2) Runtime stays under 600ms and memory consumption under 8000 KBs. The overhead of the translation process is insignificant. WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
24
Outline Introduction Web Service Specification Language
The Need for Service Specifications Motivating Example The Frame, Ramification and Qualification Problems Web Service Specification Language The Fluent Calculus WSSL Syntax Complexity, Decidability & Applicability WSSL Validation Tool WSSL to FLUX Evaluation Conclusions & Future Work
25
George Baryannis and Dimitris Plexousakis
Conclusions We proposed WSSL, a novel specification language for Web services based on the fluent calculus that allows for accurately expressing the behavior of a service as conditions before and after execution expressing or inferring causal relationships among conditions Accounting for and explaining unsuccessful executions To demonstrate some initial capabilities, a WSSL validation tool was implemented Validation goals can be checked against a given WSSL specification The tool, as well as all WSSL-related material can be found online at WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
26
George Baryannis and Dimitris Plexousakis
Future Work Integrate behavior specification and formality in service description in the lifecycle of Cloud-based services deployed on multiple Cloud providers (the Multi-Cloud approach) Future Support compatibility with other service description languages through suitable translation and annotation mechanisms Next Definition and development of a service composition and verification framework based on WSSL Currently WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
27
George Baryannis and Dimitris Plexousakis
Questions WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.