Presentation is loading. Please wait.

Presentation is loading. Please wait.

WSSL: A Fluent Calculus-based Language for Web Service Specifications

Similar presentations


Presentation on theme: "WSSL: A Fluent Calculus-based Language for Web Service Specifications"β€” Presentation transcript:

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


Download ppt "WSSL: A Fluent Calculus-based Language for Web Service Specifications"

Similar presentations


Ads by Google