wssl: a fluent calculus-based language for web service specifications

28
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 17-21 2013, Valencia, Spain

Upload: george-baryannis

Post on 17-Dec-2014

159 views

Category:

Technology


1 download

DESCRIPTION

In order to effectively discover and invoke a Web service, the provider must supply a complete specification of its behavior, with regard to its inputs and outputs, preconditions and effects. Devising such complete specifications comes with many issues that have not been adequately addressed by current service description efforts, such as WSDL, SAWSDL, OWL-S and WSMO. These issues involve the frame, ramification and qualification problems, which deal with the succinct and flexible representation of non-effects, indirect effects and preconditions, respectively. We propose WSSL, a novel specification language for services based on the fluent calculus, that is expressly designed to address the aforementioned issues. Also, a tool is implemented that translates WSSL specifications to FLUX programs and allows for service validation based on user-defined goals.

TRANSCRIPT

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

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 17-21 2013, Valencia, Spain

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

OutlineIntroduction• 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 Work2

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

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

– Auditing processes that check third party or legacy code conformance

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 3

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

The Need for Service Specifications (2)

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 4

• 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

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

Motivating Example (1)

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 5

• Behavioral service specifications employ the precondition/postcondition notation– Prone to the well-known family of frame problems

• Service-based process for obtaining government-issued documents

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

Motivating Example (2)

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 6

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

The Family of Frame Problems (1)

• Frame Problem: how to effectively express what doesn’t change, apart from what’s changed– e.g. can we answer definitively that is the

only change caused by CheckPayment?• Ramification Problem: how to represent

knock-on and indirect effects (ramifications)– e.g. may lead to credit card invalidation if a

limit is reachedWSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 7

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

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. preconditions of ExecutePayment are true before

execution, but postconditions aren’t after execution• All three problems adequately addressed by the

formalisms of the fluent and event calculi, and temporal action logic– largely ignored in the field of service science

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 8

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

Outline

9

Introduction• 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

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

WSSL Placement

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 10

WSDLGround

Semantics/Behavior

Higher-level

SAWSDL

OWL-S WSMO

WSSL

USDL

SoaML

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

Why employ the Fluent Calculus?

• Service specification requires a non-narrative-based formalism– No need for an explicit representation of time

• The fluent calculus is bundled with FLUX, a logic programming implementation– Extremely valuable for creating tools related to

service specifications

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 11

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

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– : state z contains fluent f

• Action: a high-level operation– e.g. a service execution

• Situation: a history of action performances

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 12

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

Fluent Calculus Overview (2)

• Action Precondition Axiom: – i.e. A is possible at situation s iff holds

• State Update Axiom:

– provably correct solution to the frame problem, provided that and are disjoint

• Inputs and Outputs: undefined in the fluent calculus– Introduce unary function symbols HasInput and

HasOutput and input/output formulasWSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 13

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

WSSL Abstract Syntax (1)

• A WSSL specification is a 5-tuple , where:– : set of identifiers offering general information, e.g.

name, invocation details etc.– : set of input formulas– : set of output formulas– : set of action precondition axioms defining service

preconditions– : 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

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

WSSL Abstract Syntax (2)

• A WSSL logical expression is defined using the following alphabet:– A countable set of sorts: fluents, states, actions,

situations, boolean values– Logical connectives: – Quantifiers and equality: for every sort – A countably infinite set of variables– Nonlogical symbols: 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

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

WSSL Abstract Syntax (3)

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 16

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

WSSL Extensions (1)

• Causal relationships to solve the ramification problem: – 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

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

WSSL Extensions (2)

• Accident modeling to solve the (exogenous) qualification problem, – : accident C occurs in situation s.

• To assume away accidents, a default logic theory must be employed – E.g. , under observations O and domain

axiomatization Σ.– a single universal default on the non-occurrence

of all accidentsWSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 18

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

WSSL Extensions (3)

• Accidents are then integrated in specifications:– Action precondition axioms are rewritten as – State update axioms become disjunctive• E.g.

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 19

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

Decidability and Applicability

• WSSL’s design goal: high expressivity• Decidability results for the fluent calculus:– Situation calculus decidability results can be ported to the

fluent calculus– The two-variable fragment with counting, of the situation

calculus is decidable in NExpTime• WSSL at the same level as 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

compositionWSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 20

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

Outline

21

Introduction• 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

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

WSSL to FLUX

• A validation tool was implemented, that:– Parses a WSSL document (in WSSL/XML)– Translates it into FLUX– Validates a user goal (WSSL or FLUX) against the

specification• Translation to FLUX obeys the following mapping:

22

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

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 – Synthetic WSSL specifications, ranging from 1 to

500 pairs of pre- and postconditions

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 23

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

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

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

Outline

25

Introduction• 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

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

Conclusions

• We proposed WSSL, a novel specification language for Web services based on the fluent calculus, that– accurately expresses the behavior of a service– expresses causal relationships between conditions– Accounts for and explaining unsuccessful executions

• A validation tool shows some initial capabilities– Validation goals can be checked against a given WSSL

specification– The tool, as well as all WSSL-related material can be

found online at http://www.csd.uoc.gr/~gmparg/research.html

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 26

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

Future Work

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 27

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

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

Questions

WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis 28

http://www.csd.uoc.gr/~gmparg/research.html