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

Slides:



Advertisements
Similar presentations
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Advertisements

Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Semantics Static semantics Dynamic semantics attribute grammars
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
The Ramification and Qualification Problems in Temporal Databases Nikos Papadakis & Dimitris Plexousakis University of Crete and.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
ISBN Chapter 3 Describing Syntax and Semantics.
CS 355 – Programming Languages
Comp 205: Comparative Programming Languages Semantics of Imperative Programming Languages denotational semantics operational semantics logical semantics.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Describing Syntax and Semantics
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
Knowledge representation
Applying Belief Change to Ontology Evolution PhD Student Computer Science Department University of Crete Giorgos Flouris Research Assistant.
A Logic for Decidable Reasoning about Services Yilan Gu Dept. of Computer Science University of Toronto Mikhail Soutchanski Dept. of Computer Science Ryerson.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Model-based Methods for Web Service Verification.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
A view-based approach for semantic service descriptions Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
CS 363 Comparative Programming Languages Semantics.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Muhammad Idrees Lecturer University of Lahore 1. Outline Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute.
Universität Innsbruck Leopold Franzens  Copyright 2007 DERI Innsbruck Technical Task Fair December 2007 SWS Composition The SUPER Approach.
XML Grammar and Parser for WSOL Kruti Patel, Vladimir Tosic, Bernard Pagurek Network Management & Artificial Intelligence Lab Department of Systems & Computer.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Semantics In Text: Chapter 3.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 12 Friday, 17 September.
COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen.
L. M. Pereira, J. J. Alferes, J. A. Leite Centro de Inteligência Artificial - CENTRIA Universidade Nova de Lisboa, Portugal P. Dell’Acqua Dept. of Science.
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
ece 627 intelligent web: ontology and beyond
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
Describing Syntax and Semantics
Knowledge Representation Techniques
Chapter 7. Propositional and Predicate Logic
Propositional Calculus: Boolean Functions and Expressions
Knowledge Representation and Reasoning
Matching Logic An Alternative to Hoare/Floyd Logic
Input Space Partition Testing CS 4501 / 6501 Software Testing
Web Service Modeling Ontology (WSMO)
Web Ontology Language for Service (OWL-S)
Propositional Calculus: Boolean Algebra and Simplification
Internet of Things A Process Calculus Approach
Denotational Semantics (Denotational Semantics)
Semantics In Text: Chapter 3.
George Baryannis and Dimitris Plexousakis
Chapter 7. Propositional and Predicate Logic
Department of Computer Science Abdul Wali Khan University Mardan
Artificial Intelligence Chapter 21. The Situation Calculus
Sub-system interfaces
Program correctness Axiomatic semantics
Programming Languages and Compilers (CS 421)
Representations & Reasoning Systems (RRS) (2.2)
CH 4 - Language semantics
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WSSL Abstract Syntax (3) WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis

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

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

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

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

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

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:

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

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

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

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 http://www.csd.uoc.gr/~gmparg/research.html WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis

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

George Baryannis and Dimitris Plexousakis Questions http://www.csd.uoc.gr/~gmparg/research.html WSSL: Web Service Specification Language George Baryannis and Dimitris Plexousakis