Post on 22-Jan-2022
transcript
OutlineIntroduction
Data Flow LanguageAutomated Composition Framework
Specifying Data-Flow Requirementsfor the Automated Composition of Web Services
Annapaola Marconimarconi@itc.it
April 27, 2006 - ASTRO Seminar
Annapaola Marconi marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it 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 marconi@itc.it Specifying Data-Flow Requirements for the Automated Composition of Web Services