a novel specification and composition language for services

51
A Novel Specification and Composition Language for Services George Baryannis Computer Science Department Institute of Computer Science PhD Defense Presentation University of Crete Foundation for Research & Technology - Hellas

Upload: george-baryannis

Post on 21-Jun-2015

120 views

Category:

Presentations & Public Speaking


0 download

DESCRIPTION

Service-Oriented Architecture (SOA) has emerged as a prominent design style that enables an IT infrastructure to allow different applications to participate in business processes, regardless of their underlying features. In order to effectively discover and use the most suitable services, service description should provide a complete behavior model, describing the inputs and preconditions that are required before execution, as well as the outputs and effects of a successful execution. Such specifications are prone to a family of problems, known in the AI literature as the frame, ramification and qualification problems. These problems deal with the succinct and flexible representation of non-effects, indirect effects and preconditions, respectively. Research in services has largely ignored these problems, at the same time ignoring their effects, such as compromising the integrity and correctness of services and service compositions and the inability to provide justification for unexpected execution results. To address these issues, this thesis proposes the Web Service Specification Language (WSSL), a novel, semantics-aware language for the specification and composition of services, independent of service design models. WSSL's foundation is the fluent calculus, a specification language for robots that offers solutions to the frame, ramification and qualification problems. Further language extensions achieve three major goals: realize service composition via planning, supporting non-deterministic constructs, such as conditionals and loops; include specification of QoS profiles; and support partially observable service states. Moreover, an innovative service composition and verification framework is implemented, that advances state-of-the-art by satisfying several desirable requirements simultaneously: ramifications and partial observability in service and goal modeling; non-determinism in composition schemas; dynamic binding of tasks to concrete services; explanations for unexpected behavior; QoS-awareness through pruning and ranking techniques based on heuristics and task-specific goals and an all-encompassing QoS aggregation method for global goals. Experimental evaluation is performed using synthetically generated specifications and composition goals, investigating performance scalability in terms of execution time, as well as optimality with regard to the produced composite process. The results show that, even in the presence of ramifications in some specifications, functional planning is efficient for repositories up to 500 specifications. Also, the cost of functional discovery per single service is insignificant, hence achieving good performance even when executed for multiple candidate plans. Finally, optimality relies mainly on defining suitable problem-specific heuristics; thus, its success depends mostly on the expertise of the composition designer.

TRANSCRIPT

Page 1: A Novel Specification and Composition Language for Services

A Novel Specification and Composition Language for Services

George Baryannis

Computer Science Department

Institute of Computer Science

PhD Defense Presentation

University of Crete

Foundation for Research & Technology - Hellas

Page 2: A Novel Specification and Composition Language for Services

Introduction

• Service Specifications• Service Composition• Synopsis of

contributions

Background

• Motivating Scenario• Representation

Problems• Composition

Requirements

Web Service Specification

Language (WSSL)

• Fluent calculus foundations

• Language syntax• Language extensions

2

Outline

WSSL Composition and Verification

Framework

•Implementation in FLUX•Functional and non-functional components

Experimental Evaluation

•Individual components•Overall evaluation

Conclusions and Future Research

•Contribution and Impact•Future research directions

Page 3: A Novel Specification and Composition Language for Services

3

Dissertation WordCloud

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 4: A Novel Specification and Composition Language for Services

• Research on service description has led to– Simple interface descriptions, possibly

semantically annotated – (SA)WSDL– Descriptions of inputs, outputs, preconditions and

effects (IOPEs) of a service, linked to ontology concepts – OWL-S, WSMO, USDL

• Move towards specifications of service behavior, accounting for any possible circumstance

4

Service Description

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 5: A Novel Specification and Composition Language for Services

• Service construction based on a set of requirements

• Conformance checks based on agreements between provider and consumer

• Auditing processes for third party or legacy code• Service verification against a property (e.g.,

liveness, safety)• Evaluation of service adaptation/evolution

results5

Why do we need Service Specifications?

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 6: A Novel Specification and Composition Language for Services

• Combining a set of services to achieve value-added functionality, unrealizable by existing services

• Can also benefit from specifications– Deduce composability by detecting

inconsistencies among specifications of participating services

– Make composite services available in the same way as atomic ones

6

Service Composition

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 7: A Novel Specification and Composition Language for Services

• Service specifications are vulnerable to the effects of the frame, ramification and qualification problems– Due to relying on conditions before and

after service execution– Largely disregarded in service science

• Service composition approaches– ignore these problems and their effects– focus on a specific subset of composition

requirements, disregarding others7

Research Challenges

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 8: A Novel Specification and Composition Language for Services

• WSSL: Novel service specification language– Addresses frame, ramification, qualification problems– Supports service composition, quality specification and

partial observability – Offers grounding, translation and integration mechanisms to

existing description languages• WSSL/CVF: Design-time composition and verification

framework– Relies on WSSL and inherits its features– Implements specification-based matchmaking– Supports QoS-awareness, non-determinism and partial

observability, among others8

Synopsis of Contributions

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 9: A Novel Specification and Composition Language for Services

Background

• Motivating Scenario• Representation Problems• Composition Requirements

9

Outline

Introduction Web Service Specification Language (WSSL)

Experimental Evaluation

WSSL Composition and Verification Framework

Conclusions and Future Research

Page 10: A Novel Specification and Composition Language for Services

• Design a composite service and specification for a vehicle assistance process– Side-effects: credit card deactivation, mechanic log creation– Specify and explain results even under partial knowledge or

unforeseen circumstances– Satisfy local and global non-functional requirements

10

Motivating Scenario

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 11: A Novel Specification and Composition Language for Services

• How to represent succinctly that nothing else changes apart from what is stated

“Payment form “Credit card charged is completed” and invoice created”

• How do we express the guarantee that no other credit cards are charged, apart from the one included in the input payment form?

11

Representation Problems (1/4): The Frame Problem

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 12: A Novel Specification and Composition Language for Services

• How to adequately represent knock-on and indirect effects that might accompany primary ones

”Credit card charged and invoice created”

”Credit card deactivated”

• How do we express such ramifications?– In correlation with the frame problem solution– Preserving the distinction between primary and

secondary effects12

Representation Problems (2/4): The Ramification Problem

“Daily limit reached”

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 13: A Novel Specification and Composition Language for Services

• How to deal with preconditions that are external or unforeseen and result in contradicting the specified effects

”Report delivered via e-mail”

”Report delivered via traditional mail”

• How do we explain an execution where all specified preconditions are satisfied but no report is actually delivered to the user?

13

Representation Problems (3/4): The Qualification Problem

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 14: A Novel Specification and Composition Language for Services

• Specifications that act as a guarantee of behavior under any known circumstance– Especially important in case of information sensitivity

or critical domains• Prevent inconsistent behavior rooted in

ramifications• Provide explanations for unexpected

observations after executing a service• Equally important in the case of composite

specifications and service composition14

Representation Problems (4/4): Why deal with them?

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 15: A Novel Specification and Composition Language for Services

15

Requirements for Automated Service Composition

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 16: A Novel Specification and Composition Language for Services

Web Service Specification Language (WSSL)

• Fluent calculus foundations• Language syntax• Language extensions

16

Outline

Introduction

Experimental Evaluation

WSSL Composition and Verification Framework

Conclusions and Future Research

Background

Page 17: A Novel Specification and Composition Language for Services

• Representation problems adequately addressed in the formalisms of the fluent and event calculi, and temporal action logic

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

• The fluent calculus is implemented as a logic programming system (FLUX – FLUent eXecutor)– Can be used to implement composition and

verification processes17

Why employ the Fluent Calculus?

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 18: A Novel Specification and Composition Language for Services

• Models service behavior based on 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

18

WSSL Syntax Overview (1/5):Fluent Calculus Foundations

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 19: A Novel Specification and Composition Language for Services

• WSSL specification: a 7-tuple

• service: set of identifiers offering general information

• input/output: service interface defined as formulas containing special / fluents:

19

WSSL Syntax Overview (2/5):Service Interface

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 20: A Novel Specification and Composition Language for Services

• WSSL specification: a 7-tuple

• pre: set of action precondition axioms

• post: set of state update axioms

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

20

WSSL Syntax Overview (3/5):Preconditions and Postconditions

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 21: A Novel Specification and Composition Language for Services

• WSSL specification: a 7-tuple

• causal: set of causal relationships linking effects to ramifications

• post: state update axioms rewritten using macro that denotes ramification inference

21

WSSL Syntax Overview (4/5):Solving the Ramification Problem

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 22: A Novel Specification and Composition Language for Services

• WSSL specification: a 7-tuple

• External or unforeseen qualifications modeled as accidents of the form

• default: default theory to assume away accidents– e.g., containing a single rule of the form

• Accidents integrated into pre- and postcondition axioms

22

WSSL Syntax Overview (5/5):Solving the Qualification Problem

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 23: A Novel Specification and Composition Language for Services

• Extend WSSL to support control and data flow– Special function symbols to denote control

constructs

– Foundational axioms to express control and data flow semantics, e.g.,

23

WSSL Extensions (1/3):Service Composition

Sequence AND Split/Join

OR Split/Join

XOR Split/Join

Conditional Iteration

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 24: A Novel Specification and Composition Language for Services

24

WSSL Extensions (2/3):Quality of Service

• Quality profiles incorporated in WSSL specifications– Sets of logical expressions expressing constraints of the

form <term> <operator> <value>– Language alphabet extended to support decimal values

and comparison operators• Correctness of profiles ensured by a pairwise

check of constraints, in terms of operators and values– QoS goal matching against profiles in the same manner

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 25: A Novel Specification and Composition Language for Services

25

WSSL Extensions (3/3):Partial Observability

• Support for incomplete state specification using constraints on fluents, e.g.,– Negation: – Disjunction:

• Constraints included in state update axioms

with a set of fluents and Φ a set of constraints

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 26: A Novel Specification and Composition Language for Services

26

WSSL Placement

Grounding to (SA)WSDLGenerating (SA)WSDL

OWL-S –to– WSSL WSML –to– WSSL

Integrate WSSL into USDLFunctional & Technical modules

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 27: A Novel Specification and Composition Language for Services

WSSL Composition and Verification Framework

• Implementation in FLUX• Functional and non-

functional components

27

Outline

Introduction

Experimental Evaluation

Conclusions and Future Research

Background

Web Service Specification Language (WSSL)

Page 28: A Novel Specification and Composition Language for Services

28

Implementing WSSL in FLUX (1)

• Two customized versions of the original Prolog FLUX kernel that implement WSSL– With and without support for partial observability

(constraint handling)• WSSL planning problem: how to reach goal state ,

starting from initial state • WSSL plan: a sequence of service executions,

which is a solution to the problem iff – supports sequential-only plans– does not address issues of termination and

computation complexityIntroduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 29: A Novel Specification and Composition Language for Services

29

Implementing WSSL in FLUX (2)

• Heuristic encoding of a WSSL planning problem: a FLUX program describing how to reach the goal state from the initial state– more restrictive heuristics decreased planning

complexity– Parallel, conditional and iterative execution can be

expressed• Clauses to handle control and data flow based on

the equivalent foundational axioms, e.g.,– poss_and(A,B,Z):-poss(A,Z), poss(B,Z), A\==B, A@<B.– state_update_and(Z,A,B,Z_PR):-state_update(Z,A,Z_1), state_update(Z_1,B,Z_PR).

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 30: A Novel Specification and Composition Language for Services

30

WSSL/CVF (1/5):Satisfying Requirements

• Automation: via planning in FLUX• Dynamicity: WSSL plans are abstract• Semantics: all WSSL elements can be

associated to ontology concepts through IRIs• QoS-awareness, Nondeterminism and Partial

Observability: via WSSL’s extensions• Correctness: thanks to WSSL’s strong logic

foundations• Scalability: proven by experimental evaluation

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 31: A Novel Specification and Composition Language for Services

31

WSSL/CVF (2/5):Functional Composition and Verification

• Functional composition through WSSL planning– Depends on designer’s expertise in defining heuristic

encodings• Verification focuses on answering questions about

composition behavior– Liveness properties: e.g., verify that plan realizes goals, by

proving that either emailed(report) or delivered(report)hold in the final state z.

– Safety properties: e.g., ensure that payment is performed for the correct payment form by proving holds(hasinput(payform), z_in), holds(paycompleted(payform), z_out)

– Explanations for unexpected behavior, e.g., no report delivery after executing the composition plan means accident failure(deliv)has occurredIntroduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 32: A Novel Specification and Composition Language for Services

32

WSSL/CVF (3/5):Specification-based Functional Discovery

• Each task in abstract plans linked to one or more implementations, by comparing their specifications (S and T, respectively)– T must contain all fluents in the action

precondition axiom of S– All positive and negative effects in the state

update axiom of S must be in T’s as well– T must include all causal relationships of S

• Raises discovery to a higher level, relying only on the accompanying specifications– Results in a set of extended plans

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 33: A Novel Specification and Composition Language for Services

33

WSSL/CVF (4/5):Extended Plan Pruning and Ranking

• Number and size of extended plans depends on– Size of the subset of abstract plans that are realizable– Number of concrete services per task

• Pruning to attempt to decrease complexity– Any concrete service that violates a local QoS goal is

discarded• Ranking to order remaining plans based on three

criteria1. Maximum plan length2. Total number of tasks per plan3. Domain/problem-dependent features

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 34: A Novel Specification and Composition Language for Services

34

WSSL/CVF (5/5):QoS-based Selection

• Executed for each one of the ranked plans, until one is found that satisfies all global QoS goals– Best-case scenario: QoS-based selection executed

only for the top-ranked plan • Employ the algorithms defined in [Kritikos and

Plexousakis 2009] or [Mello Ferreira et al. 2009]– Depending on knowledge of execution path

probabilities for each plan• The optimal concrete plan can then be converted to

BPMN and executed

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 35: A Novel Specification and Composition Language for Services

Experimental Evaluation

• Individual components• Overall evaluation

35

Outline

Introduction

Conclusions and Future Research

Background

Web Service Specification Language (WSSL)

WSSL Composition and Verification Framework

Page 36: A Novel Specification and Composition Language for Services

36

Experiments Setup

• Existing service descriptions and service test sets are unsuitable for our evaluation– Vast majority are in WSDL– Few use OWL-S, but are too simplistic

• We generated synthetic WSSL specifications– of complexity depending on the needs of each

experiment• Evaluation performed on an Intel® Core™ i7-

740QM, @1.73GHz, 6GB RAM• Computation time values are an average of 20 runs

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 37: A Novel Specification and Composition Language for Services

37

Functional Planning Performance:Alternating Sequential / Parallel

Sequential-only Parallel-only

Specifications of1 or 2 IOPEs each

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 38: A Novel Specification and Composition Language for Services

38

Functional Planning Performance:Parallel Compositions w/ Ramifications

Sequential-only

Using 50% of repository,ramifications forhalf of them

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 39: A Novel Specification and Composition Language for Services

39

Functional Planning Performance:Alternating Seq/Par w/ Ramifications

Overall

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 40: A Novel Specification and Composition Language for Services

40

Functional Discovery Performance

Matching a singlespecification against1000 ones

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 41: A Novel Specification and Composition Language for Services

41

Pruning Performance:Success rate/No. of implementations per task

Exper. 1 Exper. 2 Exper. 3

100 plans (sequential)100 tasks per plan5 local goals

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 42: A Novel Specification and Composition Language for Services

42

Ranking Optimality for different heuristics

Based on running exampleCase 1: no problem-dependent criteriaCase 2: preferring plans with both report delivery methodsCase 3: Case 2 + preferring plans with both SMS and call support

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 43: A Novel Specification and Composition Language for Services

43

Overall Evaluation: Performance of first three phases

• Repository of 200 specifications– 45%: 1 IOPE, 30%: 2 IOPEs,

15%: 3 IOPEs, 7%: 4 IOPEs, 3%: 5 IOPEs

– 50% of all specs contain a ramification

• Planner resultsCase Plans Length1 3 92 5 9-103 20 9-124 112 10-145 2167 10-17

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 44: A Novel Specification and Composition Language for Services

44

Overall Evaluation: QoS Selection Performance

• Using the algorithms of [Mello Ferreira et al. 2009]

• Cases 1-3: sequential plan with 9 tasks

• Cases 4-5: sequential plan with 10 tasks

• In all cases: 3 implementations per task, 3 QoS profiles per implementationIntroduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 45: A Novel Specification and Composition Language for Services

Conclusions and Future Research

• Contribution and Impact• Research directions

45

Outline

Introduction

Background

Web Service Specification Language (WSSL)

WSSL Composition and Verification Framework

Experimental Evaluation

Page 46: A Novel Specification and Composition Language for Services

46

Contribution and Impact (1/2)

• Illustrate the effects of the frame, ramification and qualification problems in service description

• Provide a unified language for specifying all aspects of service behavior– solving all three representation problems– including support for quality profiles, service composition and

partially observable states• Employ WSSL as a basis for a design-time composition and

verification framework that– produces dynamic, QoS-aware and semantic-aware composite

processes,– establishing correctness and supporting partial observability– in an automated and scalable way

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 47: A Novel Specification and Composition Language for Services

47

Contribution and Impact (2/2)

• Service providers: able to provide complete specifications of what they are offering– More effective communicating of their products– More likely to be trusted

• Service consumers: informed of the exact way a service is expected to perform– Make knowledgeable choices and find the most suitable

matches• SBA designers/Composition architects: composition

design and modeling effort significantly reduced– At the cost of an increased effort in service specification

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 48: A Novel Specification and Composition Language for Services

48

Directions for Future Research (1/2)

1. Tool Support• Create a tool set to assist in – creating WSSL specifications from scratch– translating existing descriptions in (SA)WSDL, OWL-S,

WSMO– filling up information exclusive to WSSL• Extend WSSL/CVF with a visualization

component– view resulting compositions (e.g., as BPMN processes)– modify and execute them

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 49: A Novel Specification and Composition Language for Services

49

Directions for Future Research (2/2)

2. QoS aspects of WSSL/CVF• Explore alignment and normalization procedures• Consider QoS decomposition approaches• Support soft constraints

3. Introduction of adaptation features • based on the proactive cross-layer monitoring and

adaptation approach of [Zeginis et al. 2012], [Zeginis et al. 2013]

4. Application in Cloud environments• Extend WSSL to include deployment information• Integrate WSSL/CVF in a Cloud deployment framework

Introduction Background WSSL WSSL/CVF Evaluation Conclusions

Page 50: A Novel Specification and Composition Language for Services

Publications

• Baryannis G., Kritikos K., and Plexousakis D.: WSSL: A Novel Specification and Composition Language for Services. To be submitted to IEEE Transactions on Services Computing. (2014)

• Baryannis G., and Plexousakis D.: Fluent Calculus-based Semantic Web Service Composition and Verification using WSSL. In ICSOC 2013 Workshops, A. Lomuscio et al., Eds. LNCS Series, vol. 8377. Springer International Publishing Switzerland, 256-270. (2014)

• Baryannis G., and Plexousakis D.: WSSL: A Fluent Calculus-Based Language for Web Service Specifications. In CAiSE 2013, C. Salinesi, M. C. Norrie, and O. Pastor, Eds. LNCS Series, vol. 7908, Springer Berlin Heidelberg, 256-271. (2013)

• Baryannis G., Carro M., and Plexousakis D.: Deriving Specifications for Composite Web Services. In COMPSAC 2012. IEEE Computer Society, 432-437. (2012)

• Baryannis G., and Plexousakis D.: Towards Realizing Dynamic QoS-aware Web Service Composition. In Proceedings of the PhD Symposium at the 8th IEEE European Conference on Web Services, W. Zimmermann, Ed. Institute of Computer Science, University Halle-Wittenberg, 37-40. (2010)

50

Page 51: A Novel Specification and Composition Language for Services

References

• [Kritikos and Plexousakis 2009] Kritikos K., and Plexousakis D.: Mixed-Integer Programming for QoS-based Web Service Matchmaking. IEEE T. Services Computing 2, 2, 122-139

• [Mello Ferreira et al. 2009] Mello Ferreira A., Kritikos K., and Pernici B.: Energy-Aware Design of Service-Based Applications. In ICSOS-ServiceWave 2009, L. Baresi, C.-H. Chi, and J. Suzuki, Eds. Lecture Notes in Computer Science Series, vol. 5900. Springer Berlin Heidelberg, 99-114

• [Zeginis et al. 2012] Zeginis C., Konsolaki K., Kritikos K., and Plexousakis D., Towards Proactive Cross-Layer Service Adaptation. In Web Information Systems Engineering – WISE 2012, X. Wang, I. Cruz, A. Delis, and G. Huang, Eds. Lecture Notes in Computer Science Series, vol. 7651. Springer Berlin Heidelberg, 704-711

• [Zeginis et al. 2013] Zeginis C., Kritikos K., Garefalakis P., Konsolaki K., Magoutis K., and Plexousakis D.: Towards Cross-Layer Monitoring of Multi-Cloud Service-Based Applications. In Service-Oriented and Cloud Computing, K.-K. Lau, W. Lamersdorf, and E. Pimentel, Eds. Lecture Notes in Computer Science Series, vol. 8135. Springer Berlin Heidelberg, 188-195

51