78
Outline Introduction Data Flow Language Automated Composition Framework Specifying Data-Flow Requirements for the Automated Composition of Web Services Annapaola Marconi [email protected] April 27, 2006 - ASTRO Seminar Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composi

Specifying Data-Flow Requirements for the Automated Composition of Web Services

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Specifying Data-Flow Requirementsfor the Automated Composition of Web Services

Annapaola [email protected]

April 27, 2006 - ASTRO Seminar

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Outline

1 IntroductionAim

2 Data Flow LanguageSyntaxVTA Case StudySemantics

3 Automated Composition Framework

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Aim

Language Aim

Specify how messages sent to component services must beobtained from messages received from component services.e.g. :

how several input messages must be combined to obtain anoutput message,whether an input message can be used several times or justoncewhether all messages received must be processed and sent ornot

Specify message precedences and other requirements relatedto the order in which messages must be sent is not an issue ofthis language.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Aim

Language Aim

Specify how messages sent to component services must beobtained from messages received from component services.e.g. :

how several input messages must be combined to obtain anoutput message,whether an input message can be used several times or justoncewhether all messages received must be processed and sent ornot

Specify message precedences and other requirements relatedto the order in which messages must be sent is not an issue ofthis language.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Outline

1 IntroductionAim

2 Data Flow LanguageSyntaxVTA Case StudySemantics

3 Automated Composition Framework

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Connection Node

���������

���������

A connection node can be external or internal.An external connection node is associated to an output (or aninput) external port. Intuitively, an external input (output) nodecharacterizes an external source (target) of data and it is used toexchange data with the outside world.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Identity

It is connected to one connection node in input and one node inoutput.

The graphical notation for the data-flow identity elementid(a)(b), with input node a and output node b, is the following:

a b!

Intuitive Semantics: it forwards data received from the input node to the

output node.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Identity

It is connected to one connection node in input and one node inoutput.

The graphical notation for the data-flow identity elementid(a)(b), with input node a and output node b, is the following:

a b!

Intuitive Semantics: it forwards data received from the input node to the

output node.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Operation

It is related to a function definition, is connected to as many inputnodes as the number of function parameters and only to oneoutput node corresponding to the function result.

The graphical notation for the data-flow operation elementoper[f](a,b)(c) characterizing function f, with input nodes aand b and output node c, is the following:

������������

��������

��������

����������������������

����������f c

a

b

Intuitive Semantics: when it receives data from all the input nodes, it

computes the result and forwards it to the output channel.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Operation

It is related to a function definition, is connected to as many inputnodes as the number of function parameters and only to oneoutput node corresponding to the function result.

The graphical notation for the data-flow operation elementoper[f](a,b)(c) characterizing function f, with input nodes aand b and output node c, is the following:

������������

��������

��������

����������������������

����������f c

a

b

Intuitive Semantics: when it receives data from all the input nodes, it

computes the result and forwards it to the output channel.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Fork

It is connected to a node in input and to as many nodes asnecessary in output.

The graphical notation for the data-flow fork elementfork(a)(b,c), with input node a and output nodes b and c, isthe following:

b

ca

Intuitive Semantics: It forwards data received on the input node to all the

output nodes.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Fork

It is connected to a node in input and to as many nodes asnecessary in output.

The graphical notation for the data-flow fork elementfork(a)(b,c), with input node a and output nodes b and c, isthe following:

b

ca

Intuitive Semantics: It forwards data received on the input node to all the

output nodes.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Merge

It is connected to one node in output and as many nodes asnecessary in input.

We represent the data-flow merge element merge(a,b)(c), withinput nodes a and b and output node c as:

������������

��������

��������

bc

a

Intuitive Semantics: It forwards data received on some input node to the

output node. It preserves the temporal order of data arriving on input

nodes (if it receives data on two or more input nodes at the same time,

the order is nondeterministic).

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Merge

It is connected to one node in output and as many nodes asnecessary in input.

We represent the data-flow merge element merge(a,b)(c), withinput nodes a and b and output node c as:

������������

��������

��������

bc

a

Intuitive Semantics: It forwards data received on some input node to the

output node. It preserves the temporal order of data arriving on input

nodes (if it receives data on two or more input nodes at the same time,

the order is nondeterministic).

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Cloner

It is connected to one node in input and one node in output.

The data-flow cloner element clone(a)(b), with input node aand output node b is represented as:

+a b

Intuitive Semantics: It forwards, one or more times, data received from

the input node to the output node.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Cloner

It is connected to one node in input and one node in output.

The data-flow cloner element clone(a)(b), with input node aand output node b is represented as:

+a b

Intuitive Semantics: It forwards, one or more times, data received from

the input node to the output node.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Filter

It is connected to one node in input and one node in output.

We represent the data-flow filter element filt(a)(b), havinginput node a and output node b as:

a b?

Intuitive Semantics: When it receives data on the input node it either

forwards it to the output node or discards it.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Filter

It is connected to one node in input and one node in output.

We represent the data-flow filter element filt(a)(b), havinginput node a and output node b as:

a b?

Intuitive Semantics: When it receives data on the input node it either

forwards it to the output node or discards it.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Last

It is connected to one node in input and one node in output.

The graphical notation for the data-flow last element last(a)(b),with input node a and output node b, is the following:

a bL

Intuitive Semantics: It forwards to the output node at most one data: the

last data received on the input node. It discards all other data received.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Language Components

Last

It is connected to one node in input and one node in output.

The graphical notation for the data-flow last element last(a)(b),with input node a and output node b, is the following:

a bL

Intuitive Semantics: It forwards to the output node at most one data: the

last data received on the input node. It discards all other data received.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Data Net

Data Net

The diagram obtained by modeling the data flow requirementswith the specified language is called data net.

A data net D is characterized by:

a set of external connection nodes associated to input ports N Iext ,

a set of external connection nodes associated to output ports NOext ,

a set of internal connection nodes Nint ,

a set of data-flow elements D

and a set of data values V .

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Data Net

Data Net

The diagram obtained by modeling the data flow requirementswith the specified language is called data net.

A data net D is characterized by:

a set of external connection nodes associated to input ports N Iext ,

a set of external connection nodes associated to output ports NOext ,

a set of internal connection nodes Nint ,

a set of data-flow elements D

and a set of data values V .

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Outline

1 IntroductionAim

2 Data Flow LanguageSyntaxVTA Case StudySemantics

3 Automated Composition Framework

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Flight Service Protocol

Flight Input Ports

f.request.datef.request.loc

Flight Output Ports

f.offer.costf.offer.schedulef.booked.info

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Flight Service Protocol

Flight Input Ports

f.request.datef.request.loc

Flight Output Ports

f.offer.costf.offer.schedulef.booked.info

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Hotel Service Protocol

Hotel Input Ports

h.request.dateh.request.loc

Hotel Output Ports

h.offer.costh.offer.hotel info

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Hotel Service Protocol

Hotel Input Ports

h.request.dateh.request.loc

Hotel Output Ports

h.offer.costh.offer.hotel info

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

AllMaps Service Protocol

AllMaps Input Ports

m.request.from locm.request.to loc

AllMaps Output Ports

m.info.map

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

AllMaps Service ProtocolAllMaps Input Ports

m.request.from locm.request.to loc

AllMaps Output Ports

m.info.map

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Customer Service Protocol

Customer Input Ports

c.f offer.costc.f offer.schedulec.h offer.costc.f offer.hotelc.f offer.dist mapc.booked.costc.booked.info

Customer Output Ports

c.request.datec.request.loc

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

Customer Service ProtocolCustomer Input Ports

c.f offer.costc.f offer.schedulec.h offer.costc.f offer.hotelc.f offer.dist mapc.booked.costc.booked.info

Customer Output Ports

c.request.datec.request.loc

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

VTA datareq 1

! ��������

F.request.date����

C.request.date

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

VTA datareq 2

������������ F.request.loc

����

H.request.loc����

C.request.loc

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

VTA datareq 3

����

C.h_offer.cost

����

C.booked.cost

��������

C.f_offer.cost

prep_costL

���������������

� ��

������������

H.offer.cost

F.offer.cost

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

VTA datareq 4

����

H.request.date

����

C.f_offer.schedule

��������

M.request.from_locget_airport

get_date

����

F.offer.schedule

����

��

+

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

The VTA Case Study

VTA data net

!������������C.request.date ����

F.request.date

������������C.request.loc������������ F.request.loc

H.request.loc

prep_cost

����

H.offer.cost

��

F.offer.cost

����

C.h_offer.cost

����

C.booked.cost

��������

C.f_offer.cost

����

H.request.date

get_airport

get_date

����

F.offer.schedule ����

C.f_offer.schedule

��������

M.request.from_loc

����

M.request.to_loc

������ � � C.h_offer.hotel

!!""

C.booked.info

get_loc

prep_info

##$$

H.offer.info

%%&&

F.booked.info

''((

M.info.map ! ))**

C.h_offer.dist_map

L

L++,,

-�--�-.�..�.

//00

1122

3344

5566

7788

99::

;;<<

+

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Outline

1 IntroductionAim

2 Data Flow LanguageSyntaxVTA Case StudySemantics

3 Automated Composition Framework

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Some definitions..

Given a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉,

Next = N Iext ∪ NO

ext is the set of all external connection nodes.

an event e is a couple 〈n, v〉, where n ∈ Next ∪ Nint , andv ∈ V , which models the fact that the data value v passesthrough the connection node n.

an execution ρ is a finite sequence of events e0, ..en.

given an execution ρ it’s projection on a set of connectionnodes N, denoted it with ΠN(ρ), is the ordered sequencee ′0, ..e

′m representing the events in ρ on a node in N.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Some definitions..

Given a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉,

Next = N Iext ∪ NO

ext is the set of all external connection nodes.

an event e is a couple 〈n, v〉, where n ∈ Next ∪ Nint , andv ∈ V , which models the fact that the data value v passesthrough the connection node n.

an execution ρ is a finite sequence of events e0, ..en.

given an execution ρ it’s projection on a set of connectionnodes N, denoted it with ΠN(ρ), is the ordered sequencee ′0, ..e

′m representing the events in ρ on a node in N.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Some definitions..

Given a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉,

Next = N Iext ∪ NO

ext is the set of all external connection nodes.

an event e is a couple 〈n, v〉, where n ∈ Next ∪ Nint , andv ∈ V , which models the fact that the data value v passesthrough the connection node n.

an execution ρ is a finite sequence of events e0, ..en.

given an execution ρ it’s projection on a set of connectionnodes N, denoted it with ΠN(ρ), is the ordered sequencee ′0, ..e

′m representing the events in ρ on a node in N.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Some definitions..

Given a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉,

Next = N Iext ∪ NO

ext is the set of all external connection nodes.

an event e is a couple 〈n, v〉, where n ∈ Next ∪ Nint , andv ∈ V , which models the fact that the data value v passesthrough the connection node n.

an execution ρ is a finite sequence of events e0, ..en.

given an execution ρ it’s projection on a set of connectionnodes N, denoted it with ΠN(ρ), is the ordered sequencee ′0, ..e

′m representing the events in ρ on a node in N.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Some definitions..

Given a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉,

Next = N Iext ∪ NO

ext is the set of all external connection nodes.

an event e is a couple 〈n, v〉, where n ∈ Next ∪ Nint , andv ∈ V , which models the fact that the data value v passesthrough the connection node n.

an execution ρ is a finite sequence of events e0, ..en.

given an execution ρ it’s projection on a set of connectionnodes N, denoted it with ΠN(ρ), is the ordered sequencee ′0, ..e

′m representing the events in ρ on a node in N.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 1

for each identity element id(a)(b) in D:

Π{a,b}(ρ) =

Xv∈V

〈a, v〉 · 〈b, v〉

!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 1

for each identity element id(a)(b) in D:

Π{a,b}(ρ) =

Xv∈V

〈a, v〉 · 〈b, v〉

!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 2

for each operation element oper[f](a,b)(c) in D:

Π{a,b,c}(ρ) =

0@ Xv,w∈V

(〈a, v〉 · 〈b, w〉 + 〈b, w〉 · 〈a, v〉) · 〈c, f (v, w)〉

1A∗

·X

v,w∈V

(〈a, v〉 + 〈b, w〉 + ε)

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 3

for each fork element fork(a)(b,c) in D:

Π{a,b,c}(ρ) =

Xv∈V

〈a, v〉 · (〈b, v〉 · 〈c, v〉 + 〈c, v〉 · 〈b, v〉)

!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 4

for each merge element merge(a,b)(c) in D:

Π{a,b,c}(ρ) =

Xv∈V

(〈a, v〉 · 〈c, v〉 + 〈b, v〉 · 〈c, v〉)

!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 5

for each cloner element clone(a)(b) in D:

Π{a,b}(ρ) =

Xv∈V

〈a, v〉 · 〈b, v〉 · 〈b, v〉∗!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 6

for each filter element filt(a)(b) in D:

Π{a,b}(ρ) =

Xv∈V

〈a, v〉 · (〈b, v〉 + ε)

!∗

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

Accepting execution

An execution ρ is accepted by a data net D = 〈N Iext ,N

Oext ,Nint ,D,V 〉 if it

satisfies all the following properties:

Property 7

for each last element last(a)(b) in D:

Π{a,b}(ρ) =

Xv∈V

〈a, v〉

!∗

·

Xv∈V

〈a, v〉 · 〈b, v〉

!+ ε

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

bpel4ws process execution

exec(W ): set of all possible ordered sequence of input/output messages(or message parts) received and sent by the process W from itsactivation to its termination.

Data Net Satisfiability

We say that W satisfies D when for each process executionρW ∈ exec(W ) there exists an accepting execution ρ of D such thatΠNext (ρ) = ρW .

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

SyntaxVTA Case StudySemantics

Semantics

bpel4ws process execution

exec(W ): set of all possible ordered sequence of input/output messages(or message parts) received and sent by the process W from itsactivation to its termination.

Data Net Satisfiability

We say that W satisfies D when for each process executionρW ∈ exec(W ) there exists an accepting execution ρ of D such thatΠNext (ρ) = ρW .

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Outline

1 IntroductionAim

2 Data Flow LanguageSyntaxVTA Case StudySemantics

3 Automated Composition Framework

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Existing Composition Framework

BPEL4WSAbstract

Processes

ΣΣc

Σc ρΣ

StateTransitionSystems

MB

P

BP

EL2

STS

TRA

NS

LATO

RAUTOMATED

ΣWn

ΣW1

TRA

NS

LATO

R

ρFormula

W

CompositeServiceW1

Wn

Ser

vice

sC

ompo

nent BPEL4WS

ExecutableProcess

such that STS

2BP

EL

EaGLe

Req

uire

men

tsC

ompo

sitio

n

R

SYNTHESYS

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

New Composition Framework

Σc

Σc ρΣ

BPEL4WSAbstract

Processes

W1

Wn

Ser

vice

sC

ompo

nent

Σ

Σ

StateTransitionSystems

Wn

W1

BP

EL2

STS

TRA

NS

LATO

R

Σ

Req

uire

men

tsC

ompo

sitio

n

R

RD

C

TRA

NS

LATO

RS

TS2B

PE

L

MB

P

AUTOMATED

ρFormula

W

CompositeService

BPEL4WSExecutable

Process

such that

EaGLe

SYNTHESYS

DR

EQ

2STS

ΣD

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We assume that, in the new composite process, there exists avariable for each connection node in D:

variables associated to external connection nodes are thoseused by the new composite process to store received messagesand to prepare the messages to be sent

variables associated to internal connection nodes are thoseused to manipulate messages by means of internal functionsand assignments

ΣD defines constraints on the possible operations that thecomposite process can perform on these variables.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We assume that, in the new composite process, there exists avariable for each connection node in D:

variables associated to external connection nodes are thoseused by the new composite process to store received messagesand to prepare the messages to be sent

variables associated to internal connection nodes are thoseused to manipulate messages by means of internal functionsand assignments

ΣD defines constraints on the possible operations that thecomposite process can perform on these variables.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We assume that, in the new composite process, there exists avariable for each connection node in D:

variables associated to external connection nodes are thoseused by the new composite process to store received messagesand to prepare the messages to be sent

variables associated to internal connection nodes are thoseused to manipulate messages by means of internal functionsand assignments

ΣD defines constraints on the possible operations that thecomposite process can perform on these variables.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We assume that, in the new composite process, there exists avariable for each connection node in D:

variables associated to external connection nodes are thoseused by the new composite process to store received messagesand to prepare the messages to be sent

variables associated to internal connection nodes are thoseused to manipulate messages by means of internal functionsand assignments

ΣD defines constraints on the possible operations that thecomposite process can perform on these variables.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

For each output operation of a component service in the D we define a STSwhich represents the sending of the message (as an output action) and thestoring of all message parts (as internal actions)

Example

For the output operation C.request with message parts date and loc we definethe following STS:

!C.request

C.request.date−>C_request_date

C.request.loc−>C_request_loc

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

For each output operation of a component service in the D we define a STSwhich represents the sending of the message (as an output action) and thestoring of all message parts (as internal actions)

Example

For the output operation C.request with message parts date and loc we definethe following STS:

!C.request

C.request.date−>C_request_date

C.request.loc−>C_request_loc

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

For each input operation of a component service in the D we define a STSwhich represents the storing of all message parts (as internal actions) and thereception of the message (as an input action).

Example

For the input operation C.booked with message parts info and cost we definethe following STS:

x−>C_booked_info x−>C_booked_cost

x−>C_booked_infox−>C_booked_cost

?C.booked ?C.booked

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

For each input operation of a component service in the D we define a STSwhich represents the storing of all message parts (as internal actions) and thereception of the message (as an input action).

Example

For the input operation C.booked with message parts info and cost we definethe following STS:

x−>C_booked_info x−>C_booked_cost

x−>C_booked_infox−>C_booked_cost

?C.booked ?C.booked

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

id(a)(b)

x−>aa−>b

oper[f](a,b)(c)

x−>a

x−>bx−>a

x−>b

f(a,b)−>c

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

id(a)(b)

x−>aa−>b

oper[f](a,b)(c)

x−>a

x−>bx−>a

x−>b

f(a,b)−>c

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

id(a)(b)

x−>aa−>b

oper[f](a,b)(c)

x−>a

x−>bx−>a

x−>b

f(a,b)−>c

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

fork(a)(b,c)

x−>a

a−>c

a−>c a−>b

a−>b

merge(a,b)(c)

x−>b x−>ab−>c a−>c

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

fork(a)(b,c)

x−>a

a−>c

a−>c a−>b

a−>b

merge(a,b)(c)

x−>b x−>ab−>c a−>c

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

clone(a)(b)

x−>aa−>b

a−>b

filt(a)(b)

x−>aa−>b

x−>a

last(a)(b)

x−>aa−>b

x−>a

The STS ΣD, modeling D, is the synchronized product of all the STSscorresponding to external connection nodes and data-flow elements of D.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

clone(a)(b)

x−>aa−>b

a−>b

filt(a)(b)

x−>aa−>b

x−>a

last(a)(b)

x−>aa−>b

x−>a

The STS ΣD, modeling D, is the synchronized product of all the STSscorresponding to external connection nodes and data-flow elements of D.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

clone(a)(b)

x−>aa−>b

a−>b

filt(a)(b)

x−>aa−>b

x−>a

last(a)(b)

x−>aa−>b

x−>a

The STS ΣD, modeling D, is the synchronized product of all the STSscorresponding to external connection nodes and data-flow elements of D.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Data Requirements as STS

We define a STS for each data-flow element in D:

clone(a)(b)

x−>aa−>b

a−>b

filt(a)(b)

x−>aa−>b

x−>a

last(a)(b)

x−>aa−>b

x−>a

The STS ΣD, modeling D, is the synchronized product of all the STSscorresponding to external connection nodes and data-flow elements of D.

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Automated Composition Framework

Σc

Σc ρΣ

BPEL4WSAbstract

Processes

W1

Wn

Ser

vice

sC

ompo

nent

Σ

Σ

StateTransitionSystems

Wn

W1

BP

EL2

STS

TRA

NS

LATO

R

Σ

Req

uire

men

tsC

ompo

sitio

n

R

RD

C

TRA

NS

LATO

RS

TS2B

PE

L

MB

P

AUTOMATED

ρFormula

W

CompositeService

BPEL4WSExecutable

Process

such that

EaGLe

SYNTHESYS

DR

EQ

2STS

ΣD

... modify STS2BPEL !!!

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Automated Composition Framework

Σc

Σc ρΣ

BPEL4WSAbstract

Processes

W1

Wn

Ser

vice

sC

ompo

nent

Σ

Σ

StateTransitionSystems

Wn

W1

BP

EL2

STS

TRA

NS

LATO

R

Σ

Req

uire

men

tsC

ompo

sitio

n

R

RD

C

TRA

NS

LATO

RS

TS2B

PE

L

MB

P

AUTOMATED

ρFormula

W

CompositeService

BPEL4WSExecutable

Process

such that

EaGLe

SYNTHESYS

DR

EQ

2STS

ΣD

... modify STS2BPEL !!!

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Evaluation of the Approach

Automated synthesis of the VTA Case Study:

... less then 1 sec !!!

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Evaluation of the Approach

Automated synthesis of the VTA Case Study:

... less then 1 sec !!!

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

Evaluation of the Approach

Automated synthesis of the VTA Case Study:

... less then 1 sec !!!

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services

OutlineIntroduction

Data Flow LanguageAutomated Composition Framework

The end

Questions?

Annapaola Marconi [email protected] Specifying Data-Flow Requirements for the Automated Composition of Web Services