George Baryannis and Dimitris Plexousakis

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

The 20th International Conference on Software Engineering and Knowledge Engineering (SEKE2008) Department of Electrical and Computer Engineering
Artificial Intelligence Chapter 21 The Situation Calculus Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
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.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Programming with Constraints Jia-Huai You. Subject of Study Constraint Programming (CP) studies the computational models, languages, and systems for solving.
Semantic description of service behavior and automatic composition of services Oussama Kassem Zein Yvon Kermarrec ENST Bretagne France.
A Preliminary Study on Reasoning About Causes Pedro Cabalar AI Lab., Dept. of Computer Science University of Corunna, SPAIN.
Sensemaking and Ground Truth Ontology Development Chinua Umoja William M. Pottenger Jason Perry Christopher Janneck.
The WSMO / L / X Approach Michael Stollberg DERI – Digital Enterprise Research Institute Alternative Frameworks for Semantics in Web Services: Possibilities.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Describing Syntax and Semantics
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
FRANCISCO J. GALAN AND AHMED RIVERAS UNIVERSITY OF SEVILLE SEMANTIC WEB SERVICES IN A TRANSACTIONAL CONTEXT PROLE 2013 (MADRID)
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
 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.
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.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
* * 0 OWL-S: Ontology Web Language For Services Reyhan AYDOĞAN Emre YILMAZ 21/12/2005OWL-S: Ontology Web Language for Services.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Ontology Summit 2015 Track C Report-back Summit Synthesis Session 1, 19 Feb 2015.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Universität Innsbruck Leopold Franzens  Copyright 2007 DERI Innsbruck Technical Task Fair December 2007 SWS Composition The SUPER Approach.
A Logical Framework for Web Service Discovery The Third International Semantic Web Conference Hiroshima, Japan, Michael Kifer 1, Rubén Lara.
Automating DAML-S Web Services Composition Using SHOP2 Based on an article by Dan Wu, Bijan Parsia, Evren Sirin, James Hendler and Dana Nau in Proceedings.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
Composing semantic Web services under constraints E.Karakoc, P.Senkul Journal: Expert Systems with Applications 36 (2009)
1 Modeling Formalism (Modeling Language Foundations) System Modeling Assessment & Roadmap Working Group Meeting – SE DSIG Reston – March, 2016 Yves BERNARD.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
Chapter 7. Propositional and Predicate Logic
Algorithms and Problem Solving
Chapter 3 of Programming Languages by Ravi Sethi
Towards a framework for architectural design decision support
DDC 2423 DATA STRUCTURE Main text:
Tomas Vitvar, Maciej Zaremba, Mathew Moran
KANAL: Knowledge ANALysis
Arab Open University 2nd Semester, M301 Unit 5
Web Ontology Language for Service (OWL-S)
Formal Methods in Software Engineering 1
Daniel Amyot and Jun Biao Yan
Lecture 5 Floyd-Hoare Style Verification
Programming Languages and Compilers (CS 421)
Patterns.
Semantics In Text: Chapter 3.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
WSSL: A Fluent Calculus-based Language for Web Service Specifications
Algorithms and Problem Solving
Chapter 7. Propositional and Predicate Logic
Artificial Intelligence Chapter 21. The Situation Calculus
Deniz Beser A Fundamental Tradeoff in Knowledge Representation and Reasoning Hector J. Levesque and Ronald J. Brachman.
Software Development Process Using UML Recap
Kyriakos Kritikos and Dimitris Plexousakis ICS-FORTH
Presentation transcript:

George Baryannis and Dimitris Plexousakis Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis Computer Science Department, University of Crete Institute of Computer Science, Foundation for Research & Technology - Hellas SWESE 2013 December 2nd 2013, Berlin, Germany

Outline Introduction Composition and Verification of WSSL services Service Specifications in the Semantic Web Web Service Specification Language Motivating Scenario Composition and Verification of WSSL services WSSL for Composition Planning with WSSL Verification capabilities Experimental Evaluation Implementation with FLUX Evaluation Conclusions & Future Work

Service Specifications in the Semantic Web (1) Service behavior can be formally modeled using semantic specifications in the form of Inputs, Outputs, Preconditions and Effects (IOPEs) using concepts defined in ontologies Such specifications drive the complete service lifecycle Automated and effective composition based on accurately defined service behavior Verification of (composite) service properties against such specifications Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Service Specifications in the Semantic Web (2) Specifications including pre/postconditions are prone to three well-known problems in AI literature Frame Problem: how to effectively express what doesn’t change, apart from what’s changed, based on a specification e.g., how to answer definitively whether a money withdrawal service doesn’t affect other accounts Ramification Problem: how to represent knock-on and indirect effects (ramifications) e.g., invalidate a credit card after the latest transaction causes a daily limit to be reached Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Service Specifications in the Semantic Web (3) Qualification Problem: how to deal with qualifications that are outside our knowledge and result in inconsistent behavior e.g., all preconditions hold for a money withdrawal service but no effects occur after executing it We addressed all three problems by defining the Web Service Specification Language (WSSL), a formal semantic language based on the fluent calculus Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis WSSL Overview (1) Service behavior is modeled using the following fluent calculus notions Fluent: a single atomic property, that may change after a service execution State: a snapshot of the environment, as a fluent set 𝑯𝒐𝒍𝒅𝒔(𝒇,𝒛): a macro denoting state z contains fluent f Action: a service execution Situation: a history of service executions Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis WSSL Overview (2) Action Precondition Axiom: 𝑃𝑜𝑠𝑠 𝐴 𝑥 , 𝑠 ≡ 𝛱 𝐴 𝑥, 𝑠 , i.e. A is possible at situation s iff 𝛱 𝐴 holds – used to represent service preconditions State Update Axiom: 𝑃𝑜𝑠𝑠 𝐴 𝑥 , 𝑠 → ∃𝑦 𝛥 𝑠 ∧𝑆𝑡𝑎𝑡𝑒 𝐷𝑜 𝐴 𝑥 , 𝑠 =𝑆𝑡𝑎𝑡𝑒 𝑠 + 𝜃 + − 𝜃 − – used to represent service postconditions This is a provably correct solution to the frame problem, provided that 𝜃 + and 𝜃 − are disjoint Inputs and Outputs: represented by input and output formulas 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 ( 𝜃 − ) Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis WSSL Overview (3) Causal relationships to solve the ramification problem: ∀ Γ→𝐶𝑎𝑢𝑠𝑒𝑠 𝑧,𝑝,𝑛, 𝑧 ′ , 𝑝 ′ , 𝑛 ′ ,𝑠 Accident modeling to solve the qualification problem 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) WSSL specifications can be translated to FLUX programs, a fluent calculus implementation in logic programming with constraint handling 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’ predicate 𝐴𝑐𝑐 𝐶, 𝑠 means that accident C occurs in situation s. Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis WSSL Placement USDL Higher- level SoaML WSSL OWL-S WSMO Semantics/ Behavior SAWSDL WSDL Ground Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Motivating Scenario (1) Service-based process of assisting vehicle drivers Users contact road assistance via call or SMS Driver’s location and vehicle status are retrieved and a search for the most suitable mechanic is conducted After resolving the issue a payment process follows and a report is sent to the driver by post or e-mail Given a set of service specifications, we want to automatically create a composite process that realizes the scenario Taking into account ramifications of services Determining execution results even under unforeseen circumstances Verify the composability and correctness of a candidate composite process Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Motivating Scenario (2) Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Outline Introduction Composition and Verification of WSSL services Service Specifications in the Semantic Web Web Service Specification Language Motivating Scenario Composition and Verification of WSSL services WSSL for Composition Planning with WSSL Verification capabilities Experimental Evaluation Implementation with FLUX Evaluation Conclusions & Future Work

WSSL for Composition (1) Extend WSSL to support control and data flow ;, ⋅, +, ⊕: 𝐴𝐶𝑇𝐼𝑂𝑁×𝐴𝐶𝑇𝐼𝑂𝑁→𝐴𝐶𝑇𝐼𝑂𝑁, denoting sequence, AND-Split/AND-Join, OR-Split/OR-Join, XOR-Split/XOR-Join 𝐼𝑓:𝐹𝐿𝑈𝐸𝑁𝑇×𝐴𝐶𝑇𝐼𝑂𝑁×𝐴𝐶𝑇𝐼𝑂𝑁→𝐴𝐶𝑇𝐼𝑂𝑁, denoting conditional execution 𝐿𝑜𝑜𝑝:𝐹𝐿𝑈𝐸𝑁𝑇×𝐴𝐶𝑇𝐼𝑂𝑁→𝐴𝐶𝑇𝐼𝑂𝑁, denoting iterative execution Preconditions and postconditions governed by foundational axioms, e.g.: 𝑷𝒐𝒔𝒔 𝒂 𝟏 ⋅ 𝒂 𝟐 , 𝒔 ≡𝑷𝒐𝒔𝒔 𝒂 𝟏 + 𝒂 𝟐 , 𝒔 ≡𝑷𝒐𝒔𝒔 𝒂 𝟏 ⊕ 𝒂 𝟐 , 𝒔 ≡𝑷𝒐𝒔𝒔 𝒂 𝟏 ,𝒔 ∧𝑷𝒐𝒔𝒔 𝒂 𝟐 ,𝒔 𝑷𝒐𝒔𝒔 𝒂 𝟏 ⋅ 𝒂 𝟐 , 𝒔 ⇒𝑺𝒕𝒂𝒕𝒆 𝑫𝒐 𝒂 𝟏 ⋅ 𝒂 𝟐 ,𝒔 =𝑺𝒕𝒂𝒕𝒆(𝑫𝒐 𝒂 𝟐 ,𝒔 + 𝜽 𝟏 + − 𝜽 𝟏 − =𝑺𝒕𝒂𝒕𝒆 𝒔 + 𝜽 𝟐 + − 𝜽 𝟐 − + 𝜽 𝟏 + − 𝜽 𝟏 − Foundational axiom for data flow: 𝑯𝒐𝒍𝒅𝒔 𝑯𝒂𝒔𝑶𝒖𝒕𝒑𝒖𝒕 𝒇 ,𝒛 ⇒𝑯𝒐𝒍𝒅𝒔(𝑯𝒂𝒔𝑰𝒏𝒑𝒖𝒕 𝒇 ,𝒛) Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Planning with WSSL (1) Service composition is realized via WSSL planning WSSL planning problem: how to reach goal state defined by Γ(𝑧), starting from initial state defined by Φ 𝑧 e.g., FLUX encoding of the motivating scenario 𝐴𝑠𝑠𝑖𝑠𝑡𝑃𝑙𝑎𝑛 𝑧,𝑝,𝑧 ⇐𝐻𝑜𝑙𝑑𝑠 𝑆𝑜𝑙𝑣𝑒𝑑 𝑠𝑡𝑎𝑡𝑢𝑠,𝑙𝑜𝑐𝑎𝑡𝑖𝑜𝑛 ,𝑧 , 𝐻𝑜𝑙𝑑𝑠 𝑃𝑎𝑦𝐶𝑜𝑚𝑝𝑙𝑒𝑡𝑒𝑑 𝑝𝑎𝑦𝑓𝑜𝑟𝑚 ,𝑧 , 𝐻𝑜𝑙𝑑𝑠 𝐻𝑎𝑠𝑂𝑢𝑡𝑝𝑢𝑡 𝑟𝑒𝑝𝑜𝑟𝑡 ,𝑧 , 𝑝=[] 𝐴𝑠𝑠𝑖𝑠𝑡𝑃𝑙𝑎𝑛(𝑧, 𝑎 𝑝 , 𝑧 𝑛 )⇐𝑃𝑜𝑠𝑠 𝑎,𝑧 ,𝑆𝑡𝑎𝑡𝑒𝑈𝑝𝑑𝑎𝑡𝑒 𝑧,𝑎, 𝑧 1 ,[] , 𝑃( 𝑧 1 ,𝑝, 𝑧 𝑛 ) WSSL plan: a sequence 𝑎 1 ,…, 𝑎 𝑛 of service executions, which is a solution to the problem iff 𝑃𝑜𝑠𝑠 𝑎 1 ,… 𝑎 𝑛 ,Φ 𝑧 ∧Γ{𝑧/𝑆𝑡𝑎𝑡𝑒(𝐷𝑜 𝑎 1 ,… 𝑎 𝑛 ,Φ 𝑧 )} Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Planning with WSSL (2) Introduce heuristics to produce more than sequential-only plans address issues of termination and computation complexity Heuristic encoding of a WSSL planning problem: a FLUX program describing how to reach the goal state from the initial state As the heuristics grow more and more restrictive, the complexity of the planner decreases (and termination probability increases) Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Planning with WSSL (3) The most restrictive example encoding for the motivating scenario: assist_plan(Z,[A|P],Z_PR) :- A1=receivesms(_,_), A2=receivecall(_,_), A=xor(A1,A2), poss_xor(A1,A2,Z), state_update_xor(Z,A1,A2, Z_1), assist_plan1(Z_1,P,Z_PR). assist_plan1(Z,[A|P],Z_PR) :- A1=retrievelocation(_,_,_), A2=retrievediagnostics(_,_,_), A=and(A1, A2), poss_and(A1,A2,Z), state_update_and(Z,A1,A2,Z_1),assist_plan2(Z_1,P,Z_PR). assist_plan2(Z,[A|P],Z_PR) :- A=findmech(_,_,_), poss(A,Z), state_update(Z,A,Z_1), assist_plan3(Z_1,P,Z_PR). assist_plan3(Z,[A|P],Z_PR) :- A=receivepay(_, _), poss(A,Z), state_update(Z,A,Z_1), assist_plan4(Z_1,P,Z_PR). assist_plan4(Z,A,Z_PR) :- F=req_deliv(REPORT), A1=ereport(_,_),A2=mreport(_,_), A=if(F,A1,A2), poss_if(F,A1,A2,Z), state_update_if(Z,F,A1,A2,Z_PR). Any answer to the FLUX query assist_plan([callcenterup, gpsactive(user1), systemactive(vehicle1), req_deliv(report1)], P, Z_PR). yields a plan that realizes the goals of the scenario Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Verification Capabilities Focus mainly on answering questions about the behavior of produced compositions Liveness properties: e.g., to prove that the produced plan realizes the goals, we prove that either holds(emailed(report,z) or holds(delivered(report, z) in the final state z. Safety properties: e.g., make sure that payment is performed for the correct payment form by proving holds(hasinput(payform, z_in), holds(paycompleted(payform, z) Explanations for unexpected behavior, thanks to WSSL’s accident modeling, e.g., no report delivery after executing the composition plan means accident failure(deliv) has occurred Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Outline Introduction Composition and Verification of WSSL services Service Specifications in the Semantic Web Web Service Specification Language Motivating Scenario Composition and Verification of WSSL services WSSL for Composition Planning with WSSL Verification capabilities Experimental Evaluation Implementation with FLUX Evaluation Conclusions & Future Work

Implementation with FLUX Composition (and verification) goals and candidate service specifications expressed in WSSL are translated into FLUX JAVA used for the translation mechanism the ECLiPSe CLP system to execute FLUX queries Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Evaluation (1) To investigate scalability of the composition process we varied planning problem complexity by increasing service repository size (at the same time increasing the difficulty of achieving the goal) by allowing for more elaborate plans Experiments relied on synthetically generated specifications containing an IOPE quad (plus a causal rule for the final experiment) Composition plans examined contained sequential, parallel and alternating combination of sequential and parallel constructs Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

Evaluation (2) Runtime stays at reasonable levels for up to 500 services and peaks to 4sec for 1000 services and sequence/parallel combinations The inclusion of ramifications (a 50% increase in the size of specifications) leads to a significant increase in runtime) In real-world problems only some postconditions are expected to be linked to a ramification

Outline Introduction Composition and Verification of WSSL services Service Specifications in the Semantic Web Web Service Specification Language Motivating Scenario Composition and Verification of WSSL services WSSL for Composition Planning with WSSL Verification capabilities Experimental Evaluation Implementation with FLUX Evaluation Conclusions & Future Work

George Baryannis and Dimitris Plexousakis Conclusions We proposed a service composition and verification framework using WSSL, a novel specification language for Web services based on the fluent calculus satisfying significant requirements such as automation, dynamicity, and non-determinism supporting rich, semantic behavioral descriptions of services and compositions exploiting WSSL’s solutions to the frame, ramification and qualification problems The framework is an effective demonstration of the benefits of semantic specifications in the context of service science the way to exploit such specifications for the purposes of service composition and verification Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Future Work Support knowledge states and comprehensive modeling of partially observable behavior, asynchronous service execution, and derivation of executable business processes Future Improve efficiency by investigating complexity for different heuristics, limiting search space before planning, exploring graph-based rule optimization Next Extending WSSL to support quality aspects so as to achieve QoS-aware service composition and verification Currently Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis

George Baryannis and Dimitris Plexousakis Questions http://www.csd.uoc.gr/~gmparg/research.html Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL George Baryannis and Dimitris Plexousakis