CN101872302B - BPEL-based modeling method for control information flow graph - Google Patents

BPEL-based modeling method for control information flow graph Download PDF

Info

Publication number
CN101872302B
CN101872302B CN 201010173783 CN201010173783A CN101872302B CN 101872302 B CN101872302 B CN 101872302B CN 201010173783 CN201010173783 CN 201010173783 CN 201010173783 A CN201010173783 A CN 201010173783A CN 101872302 B CN101872302 B CN 101872302B
Authority
CN
China
Prior art keywords
node
bcmfg
territory
name
assignment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201010173783
Other languages
Chinese (zh)
Other versions
CN101872302A (en
Inventor
邱栋
李必信
周颖
王迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN 201010173783 priority Critical patent/CN101872302B/en
Publication of CN101872302A publication Critical patent/CN101872302A/en
Application granted granted Critical
Publication of CN101872302B publication Critical patent/CN101872302B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a BPEL-based modeling method for a control information flow graph, which comprises the following steps: 1), analyzing a BPEL document to generate a DOM tree; 2), traversing nodes of the DOM tree, creating BCMFG elements when nodes of the DOM tree can be mapped to BCMFG, and assigning values to the domain of the BCMFG elements; 3), constructing a BCMFG model according to the control relationship of the BCMFG elements; and 4), calculating all BCMFG paths according to the BCMFG model. The invention can not only express the BPEL flow, but also can express message interactions in the composite service, thereby realizing modeling for the composite service from the true sense.

Description

A kind of modeling method of the control information flow graph based on BPEL
Technical field
The present invention is a kind of modeling method based on BPEL control information flow graph, is mainly used in solving the modeling problem in the BPEL composite services regression test.
Background technology
Service science take service compute as core is the comprehensive front subject of a fusion software infotech and commerce services theory, has represented newest research results and the developing direction of field of software development.Service compute is centered by service-oriented architecture (SOA), take Web service as main way of realization, take Services Composition as crucial application model, serve good reusability, dirigibility and loose coupling feature so that service-oriented calculating becomes a kind of distributed computing technology with milestone significance, also make the evolution of composite services and maintenance present new rule.
The high reusability of Web service and the instability of user's request determined composite services must be in change frequently and develop among, therefore design the regression test system that can adapt to the composite services characteristics very necessary.Present study general is confined to the regression test of flow process, and composite services are entities of internal process, external interface and member service, and the replacement of member service and the change of interface also are the important contents that service is developed.Because the realization of member service there are differences, the replacement of service causes that probably the composite services function departs from or move unsuccessfully, so the composite services of binding after the conversion also must retest.Therefore, the expression of flow process, interface, binding and the path condition of composite services is seemed particularly important, how more complete effectively modeling to be carried out in composite services be our problems of concern.
Summary of the invention
Technical matters: the purpose of this invention is to provide a kind of modeling (BPELControl and Messaging Flow Graph with, BCMFG) method of the control information flow graph based on BPEL, to solve the modeling problem of BPEL composite services.Than other BPEL composite services model, this model can carry out comprehensive regression test change impact analysis to the BPEL composite services, and identification comprises the various modifications of flow process, binding, interface, path condition.
Technical scheme: the present invention adopts following technical scheme for achieving the above object:
The modeling method of a kind of control information flow graph based on BPEL of the present invention is characterized in that comprising the steps:
Step 1) the BPEL document is resolved, generate dom tree;
Step 2) traversal dom tree node when running into the dom tree node that can be mapped as BCMFG, creates the BCMFG element, and gives the territory assignment of BCMFG element;
Step 3) utilize the control relation between the BCMFG element to make up the BCMFG model;
Step 4) calculates all BCMFG paths according to the BCMFG model.
2, the modeling method of a kind of control information flow graph based on BPEL according to claim 1 is characterized in that step 2) the described territory assignment method of BCMFG element of giving is as follows: each node in the dom tree traveled through,
B) if node representative links partnerLink to the partner, then create BCMFG element m, the value in the Category territory of m is set as service node collection SN, uses that association attributes is the Name territory assignment of m in the node;
C) if node represents basic activity invoke or receive or reply, then at first create BCMFG element m, the value in the Category territory of m is set as mutual set of node IN, use that association attributes is Name territory, partnerLink territory, PortType territory and the Operation territory assignment of m in the node, and search with node deserved service node s by the partnerLink thresholding;
D) if node represents basic activity assign, then create BCMFG element m, the Category field value set of m is ordinary node collection NN, use that association attributes is the Name territory assignment of m in the node, and search deserved service node s by the partnerLink property value among the e, utilize the daughter element endpoint among the e to be the Endpoint territory assignment of s;
E) if node representative structure activity If then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m in the node 1Name territory and Condition territory assignment, and process basic activity or the structured activities of If inside; In node, contain daughter element else if, then continue to process the internal activity of daughter element else if, after the processing of finishing all daughter element else if, create BCMFG element m 2, m 2The Category field value set be single choice merge node EMN, use that association attributes is m in the node 2Name territory assignment, process at last the internal activity of else, process the Target thresholding of all BCMFG elements that if or else if generate before being updated in simultaneously;
F) if node representative structure activity While or foreach then create respectively BCMFG element m 1And m 2, m 1The Category field value set be single choice branch node EDN, m 2The Category field value set be single choice merge node EMN, use that association attributes is m in the node 1Name territory and Condition territory and m 2Name territory assignment; Then create m 2To m 1Control limit ce, utilize equally that association attributes is m among the e 1, m 2And Target territory and the Source territory assignment of ce;
G) if node representative structure activity Repeat-Until then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m in the node 1Name territory and Condition territory assignment, then process all the subactivity m in the Repeat-Until i, i is the natural number greater than 1, records wherein first movable m 2, and create m 1To m 2Control limit ce, again utilize among the e association attributes to upgrade m 1, m 2And Target territory and the Source territory of ce;
H) if node representative structure activity Pick then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m in the node 1Name territory assignment, for<onMessage〉in each activity, create BCMFG element m i, i is the natural number greater than 1, m iThe Category field value set be mutual node IN, use equally that association attributes is m in the node iPartnerLink territory, PortType territory and Operation territory assignment, and search deserved service node s by the partnerLink thresholding i, create from s iTo m iControl limit ce i, and according to control flow relation renewal m i, s iAnd ce iTarget thresholding and Source thresholding, for<onAlarm〉in each activity, create BCMFG element m j(j>max (i), maximal value is got in max () expression, namely j begins successively value from i+1), m jThe Category field value set be ordinary node NN, use equally that association attributes is m among the e jName territory assignment, create at last BCMFG element m k, (k>max (j), namely k begins successively value from j+1), m kThe field value set of Category be single choice merge node EMN;
I) if node representative structure activity Flow then creates BCMFG element m 1And m 2, m 1The Category field value set be concurrent branch node CBN, m 2The Category field value set be concurrent merge node CMN, use that association attributes is m in the node 1Name territory and m 2Name territory assignment.
Beneficial effect: BPEL composite services of the present invention are mapped as the control information flow graph model based on BPEL of the information of being rich in, in the various control structures such as order of representation, selection, concurrent, circulation and flow process and the behavior of member service interacting message, in element, add binding information and predicate constraint information, be used for control flow analysis, the identification of change, the comparison in path and selection and the generation of regression test case.Compare with traditional BP EL flow graph, not only can express the BPEL flow process, can also express the interacting message behavior of composite services inside, from truly modeling being carried out in composite services.
Description of drawings
Fig. 1 is BCMFG element schematic diagram, has provided the diagrammatic representation on all types of nodes and limit among the figure.
Fig. 2 is the structure flow process of BCMFG control flow graph model.
Fig. 3 is among the BPEL<partnerLink〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 4 is among the BPEL<invoke〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 5 is among the BPEL<receive〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 6 is among the BPEL<reply〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 7 is among the BPEL<assign〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 8 is among the BPEL<If〉cycling of elements is the flow process of BCMFG subgraph.
Fig. 9 is among the BPEL<While〉cycling of elements is the flow process of BCMFG subgraph.
Figure 10 is among the BPEL<Repeat-Until〉cycling of elements is the flow process of BCMFG subgraph.
Figure 11 is among the BPEL<Pick〉cycling of elements is the flow process of BCMFG subgraph.
Figure 12 is among the BPEL<Flow〉cycling of elements is the flow process of BCMFG subgraph.
Figure 13 is among the BPEL<Foreach〉cycling of elements is the flow process of BCMFG subgraph.
Figure 14 is among the BPEL<sequence〉and<scope〉cycling of elements is the flow process of BCMFG subgraph.
Figure 15 utilizes the BCMFG figure that the BPEL document of loan portfolio service is made up generation based on the control information flow graph model of BPEL.
Embodiment
Be elaborated below in conjunction with the technical scheme of accompanying drawing to invention:
Method of the present invention is that the BPEL file conversion is the control information flow graph (BCMFG) based on BPEL, then generates the BCMFG path according to BCMFG, as shown in Figure 1.
One, model definition
BCMFG is a tlv triple<N, E; F 〉, wherein: N is set of node, and N=NN ∪ IN ∪ SN ∪ EN ∪ MN ∪ CN, in the formula, NN is the ordinary node collection, IN is mutual set of node, and SN is the service node collection, and EN is the single choice set of node, MN is the multiselect set of node, CN is concurrent set of node, and the number that arrives the directed edge of node is called the in-degree of node, is called the out-degree of node from the number of the directed edge of node; E=CE ∪ ME, wherein, CE is the set of control limit, ME is the set of interacting message limit; Node, limit are referred to as the element of BCMFG.F is the territory of BCMFG element.
1, BCMFG element
The ordinary node of BCMFG represents and does not need the basic activity mutual with member service in the BPEL flow process, as<assign 〉,<wait〉etc.Mutual node represent among the BPEL basic activity mutual with member service, comprises<invoke 〉,<receive 〉,<reply〉and<pick〉in the structure<onMessage〉four kinds of activities.Service node represents the member service mutual with flow process.Single choice node (Exclusive Node) also can be called distance (XOR) node, be divided into single choice branch node (in-degree equals 1, out-degree greater than 1) and single choice merge node (in-degree greater than 1, out-degree equal 1), the single choice node has and only has an input or output limit to be triggered; Multiselect node (Multiple Node) also can be called "or" (OR) node, is divided into multiselect branch node and multiselect merge node, can have the limit of arbitrary number to be triggered; Concurrent node (ConcurrentNode) also can be called " with " (AND) node, be divided into concurrent branch node and concurrent merge node, all limits all must be triggered.Fig. 2 has provided the graphical schematic diagram of BCMFG element, and table 1 has provided classification and the corresponding abbreviation of BCMFG element.
2, the territory of BCMFG element
The information of the territory F record element of EBCMFG element.The all elements of EBCMFG all contains HashCode territory, Id territory, Source territory, Target territory and Category territory.
(1) the HashCode territory is the character array that is produced by hash function, because the hash code that identical character string produces is identical, so can utilize hash code to detect the change of BPEL document.
(2) value in Id territory is unique as the sign of BCMFG element in the BCMFG graph model.
(3) Source territory and Target territory represent respectively precursor element collection and the following element collection of this element, for the BCMFG node, its precursor element collection and following element collection are generally the limit, and correspondingly, forerunner's set of node and the descendant node collection on limit are generally node.
(4) Category domain representation element type, the Category thresholding of ordinary node is NN, and mutual node is IN, and service node is SN, the single choice branch node is EDN, the single choice merge node is EMN, and the multiselect branch node is MBN, and the multiselect branch node is MMN, concurrent branch node is CBN, concurrent merge node is CMN, and the control limit is CE, and the interacting message limit is ME.
In addition, dissimilar element also has its specific territory.
(1) the Name territory is that the node of BCMFG is contained, and its thresholding is the Name property value of corresponding BPEL activity.
(2) the PartnerLink territory is peculiar by mutual node, for<invoke 〉,<receive,<reply and<pick in the structure<onMessage activity, the PartnerLink thresholding be this activity correspondence<partnerLink the Name property value.
(3) the Condition territory is that single choice node, multiselect node, concurrent node, control limit are contained, and it represents jump condition (predicate constraint).For single choice node, multiselect node, concurrent node, the jump condition of its this node of Condition domain representation, its value is the value of corresponding BPEL structured activities Condition attribute; For by<link〉limit that generates, the value in this territory is<link〉element<transitionCondition value.For analysis and Control stream obtains the path transinformation, be necessary to add jump condition information to the limit of being sent by the single choice branch node, if the condition value of single choice node alpha is c, so two of α condition values that go out the limit be respectively c with! C.
(4) the Endpoint territory is peculiar by service node, and its value is the end-point addresses of the member service of this node representative.
(5) PortType territory and Operation territory are that mutual node owns, and their value is respectively the PortType attribute of BPEL activity corresponding to this node and the value of Operation.
3, BCMFG path
The path definition of BCMFG is the element set that comprises node and directed edge.All from the start node of BCMFG, start node has two kinds of situations to every paths: come into play<receive if flow process starts from 〉, namely flow process is excited by the message call that receives member service and send, and this moment, the path started from service node SN; If flow process starts from another kind and comes into play<pick 〉, at this moment the path starts from single choice branch node EDN.Here the definition of given first Control flow path and message pathway, and provide on this basis the definition in BCMFG path.
(1) Control flow path: establish p f={ e i..., e I+k... e I+n(0≤k≤n, e I+k∈ IN ∪ NN ∪ EN ∪ MN ∪ CN ∪ CE), if for
Figure GSA00000123383400061
Figure GSA00000123383400062
e I+p∈ e I+k.targ ert (0≤p≤n), then claim p fIt is a Control flow path.
(2) message pathway: establish p m={ e j..., e J+k... e J+m(0≤k≤m, e J+k∈ SN ∪ ME), p mStart from interacting message limit e mAnd end at interacting message limit e ' mIf, for
Figure GSA00000123383400063
Figure GSA00000123383400064
Figure GSA00000123383400065
e + p∈ e J+k.targ et (0≤p≤m), then claim p mIt is a piece of news path.
(3) BCMFG path: establish p fControl flow path, p Mi(1≤i≤n) is message pathway, p=p f∪ p M1∪ ... ∪ p Mi∪ ... ∪ p Mn(1≤i≤n).If for
Figure GSA00000123383400066
Figure GSA00000123383400067
In m∈ p f∧ in m∈ IN ∧ e m∈ p Mi∧ (e m∈ in m.target) ∨ e m∈ in m.source), claim that then p is a BCMFG path.
Two, method flow
Utilization mainly is divided into two steps based on the control information flow graph model of BPEL to BPEL composite services modeling: make up the BCMFG model and calculate the BCMFG path.
1, makes up the BCMFG model
(2) use the DOM resolver that BPEL document and WSDL document are resolved to dom tree, each tree node is with relevant information
(3) each the node e in the dom tree is traveled through, judge the type of e, generate the BCMFG element according to (a)~(l), and for carrying out assignment in each territory of this element:
If a) node e representative links the definition of partnerLink to the partner, then create BCMFG element m, the value in the Category territory of m is set as " SN ", uses that association attributes is the Name territory assignment of m among the e.The concrete treatment scheme that the partner links PartnerLink as shown in Figure 3.
B) if node e represents basic activity invoke, then at first create BCMFG element m, the value in the Category territory of m is set as " IN ", use that association attributes is Name territory, partnerLink territory, PortType territory and the Operation territory assignment of m among the e, and search deserved service node s by the partnerLink thresholding.Then request-the response modes in the service invocation procedure is judged, if the value of attribute inputVariable is not empty among the e, then created a message limit me from m to s 1, and according to control flow relation setting m, s and me 1Target thresholding and Source thresholding; If the value of attribute outputVariable is not empty among the e, then create a message limit me from s to m 2, and according to control flow relation setting s, m and me 2Target thresholding and Source thresholding.The concrete treatment scheme of basic activity invoke as shown in Figure 4
C) if node e represents basic activity receive, its disposal route and invoke are similar, just do not need request-response modes is judged in to service invocation procedure, directly create a message limit me from s to m and get final product, all the other processing procedures and invoke are similar.The concrete treatment scheme of basic activity receive as shown in Figure 5.
D) if node e represents basic activity reply, because it is reciprocal relation with basic activity receive, therefore as long as reverse establishment message limit me (from m to s).The treatment scheme of basic activity reply as shown in Figure 6.
E) if node e represents basic activity assign, then create BCMFG element m, the Category field value set of m is " NN ", use that association attributes is the Name territory assignment of m among the e, and search deserved service node s by the partnerLink property value among the e, utilize the daughter element endpoint among the e to be the Endpoint territory assignment of s.The treatment scheme of basic activity assign as shown in Figure 7.
F) if node e representative structure activity If then creates BCMFG element m 1, m 1The Category field value set be " EDN ", use that association attributes is Name territory and the Condition territory assignment of m1 among the e, and process the basic activity (or structured activities) of If inside, this processing procedure is recurrence, need to call the treatment scheme of other motility models.Then judge whether contain daughter element else if among the e, if having, then continue to process the internal activity of else if.Finish all else if are disposed after, create BCMFG element m 2, m 2The Category field value set be " EMN ", use that association attributes is m among the e 2Name territory assignment, process at last the internal activity of else, process the Target thresholding of all BCMFG elements that if/elseif generates before being updated in simultaneously.The treatment scheme of structured activities If as shown in Figure 8.
G) if node e representative structure activity While then creates respectively BCMFG element m 1And m 2, m 1The Category field value set be " EDN ", m 2The Category field value set be " EMN ", use that association attributes is m among the e 1Name territory and Condition territory and m 2Name territory assignment.Then create m 2To m 1Control limit ce, utilize equally that association attributes is m among the e 1, m 2And Target territory and the Source territory assignment of ce.Process at last the activity of While inside configuration, the same needs of internal activity call the treatment scheme of other motility models.The treatment scheme of structured activities While as shown in Figure 9.
H) if node e representative structure activity Repeat-Until then creates BCMFG element m 1, m 1The Category field value set be " EDN ", use that association attributes is m among the e 1Name territory and Condition territory assignment, then process all the subactivity m in the Repeat-Until i(i>1) records wherein first movable m 2, and create m 1To m 2Control limit ce, again utilize among the e association attributes to upgrade m 1, m 2And Target territory and the Source territory of ce.The treatment scheme of structured activities Repeat-Until as shown in figure 10.
I) if node e representative structure activity Pick then creates BCMFG element m 1, m 1The Category field value set be " EDN ", use that association attributes is m among the e 1Name territory assignment, for<onMessage〉in each activity, create BCMFG element m i(i>1), m iThe Category field value set be " IN ", use equally that association attributes is m among the e iPartnerLink territory, PortType territory and Operation territory assignment, and search deserved service node s by the partnerLink thresholding iEstablishment is from s iTo m iControl limit ce i, and according to control flow relation renewal m i, s iAnd ce iTarget thresholding and Source thresholding.For<onAlarm〉in each activity, create BCMFG element m j(j>max (i)), m jThe Category field value set be " NN ", use equally that association attributes is m among the e jName territory assignment.Create at last BCMFG element m k(k>max (j)), m kThe field value set of Category be " EMN ".The treatment scheme of structured activities Pick as shown in figure 11.
J) if node e representative structure activity Flow then creates BCMFG element m 1And m 2, m 1The Category field value set be " CBN ", m 2The Category field value set be " CMN ", use that association attributes is m among the e 1Name territory and m 2Name territory assignment.Then process the Flow internal activity, need to call the treatment scheme of other motility models, the synchronous dependence that consists of according to link at last generates other BCMFG element.Structured activities Flow treatment scheme as shown in figure 12.
K) if e representative structure activity foreach, then treatment scheme and While are similar.Idiographic flow is processed and is seen as shown in figure 13.
L) if e representative structure activity sequence (perhaps scope), because sequence (scope) represents simple ordinal relation (subfunction), so the main active process flow process of still calling correspondence for the particular type of internal activity of real treatment scheme.The treatment scheme of Sequence and Scope as shown in figure 14.
(4) finish structure to the BCMFG model
2, calculate the BCMFG path
According to the information of the source element of putting down in writing in the BCMFG node and object element, can by the traversal of figure being found out the BCMFG path that is combined by Control flow path and message pathway, analyze the process that BCMFG generates the BCMFG path.
Before algorithm begins, at first search the control limit e take start node s as source node i, if the such limit of m bar is arranged, then create the m paths, in every paths, add s and e i, again each bar in the m paths is processed respectively.Here use p[count] record the node set that the BCMFG path comprises, count is used for distinguishing different paths.
According to the type of present node e, can be divided into following five kinds of Different treatments:
(1) if present node e is mutual node IN, at first e is added to p[count], generating messages path p by the following method then m: check the Source territory of e, if message limit ME is wherein arranged, then for every message limit, according to its reverse traversal in Source territory, until run into till the mutual node, all add message limit and the service node that traverses to p mIn; Check the Target territory of e, if the message limit is wherein arranged, then for every message limit, according to its Target territory forward traversal, until run into till another mutual node, all add message limit and the service node that traverses to p m' in.At last, with p mAnd p m' in element be added to p[count].
(2) if present node e is the single choice branch node with k branch, then with p[count] to copy (k-1) inferior, again e and the limit take e as source node is added to p[count] and (k-1) paths of copying in.
(3) if present node e is the multiselect branch node, the out-degree of supposing e is k, then this k bar go out the number that can carry out simultaneously in the limit between 1 and k between, be the full combination about k, have 2 k-a kind, therefore need p[count] copy 2 k-2 times, and e is added to p[count] and copy 2 kIn-2 paths, more respectively by this 2 k-a kind of combination is added these limits in the corresponding path to.
(4) if present node e is concurrent branch node, thereby derive many execution routes although can produce according to the thinking of Determinate test in the concurrent test synchronizing sequence of concurrent inside, but for specific input data, these paths have identical executive condition and desired output, method of testing according to this paper can be a paths with they unifications, in view of this consideration, here do not carry out copying of path, and e and all limits take e as source node are added to p[count].
(5) if the destination node n of e is other elements such as ordinary node, then n is added to p[count].
For convenience of description, we utilize the control information flow graph model based on BPEL to carry out modeling analysis by BPEL composite services flow process LoanFlo w.bpel to the loan portfolio service, and its BPEL document is as follows.
<process?nane=″LoanFlow″...>
<partnerLinks>
<partnerLink?name=″client″.../>
<partnerLink?name=″creditRatmgService″.../>
<partnerLink?name=″UnitedLoanService″.../>
<partnerLinkname=″StarLoanService″.../>
</partnerLinnks>
<variables>...</variables>
<sequence>
<--omit the partner and link the assignment activity--〉
<receive?name=″receiveInput″partnerLink=″client″portType=″tns:LoanFlow″
operation=″initiate″variable=”input″createInstance=″yes″/>
<scope?name=″GetCreditRating″variableAccessSerializable=″no″>
<sequence>
<assign?name=″copySSN″>...</assign>
<invoke?name=″invokeCR″partnerLink=″creditRatingService″
portType=″services:CreditRatingService″operation=″process″
inputVariable=″crInput″outputVariable=″crOutput″/>
<assign?name=″copyRating″>...</assign>
</sequence>
</scope>
<scope?name=″GetLoanOffer″variableAccessSerializable=″no″>
<sequence>
<assign?name=″prepareApplication″>...</assign>
<flow?name=″collectOffers″>
<sequence>
<invokename=″invokeUnitedLoan″
partnerLink=″UnitedLoanService″portType=″services:LoanService″
operation=″initiate″inputVariable=″loanApplication″/>
<receive?name=″receive_invokeUnitedLoan″
partnerLink=″UnitedLoanService″portType=″services:LoanServiceCallback″
operation=″onResult″variable=″loanOffer1″/>
</sequence>
<sequence>
<invoke?name=″invokeStarLoan″partnerLink=″StarLoanService″
portType=″services:LoanService″operation=″initiate″
inputVariable=″loanApplication″/>
<receive?name=″receive_invokeStarLoan″partnerLink=″StarLoanService″
portType=″services:LoanServiceCallback″operation=″onResult″variable=″loanOffer2″/>
</sequence>
</flow>
</sequence>
</scope>
<scope?name=″SelectOffer″variableAccessSerializable=″no″>
<if?name=″selectBestOffer″>
<condition>″bpws:getVariableData(′loanOffer1′,′payload′,′/auto:loanOffer/auto:APR′)>
bpws:getVariableData(′loanOffer2′,′payload′,′/auto:loanOfer/auto:APR′)″
</condition>
<assign?name=″selectStarLoanOffer″>...</assign>
<else>
<assign?name=″selectUnitedLoanOffer″>...</assign>
</else>
</if>
</scope>
<invoke?name=″replyOutput″partne?rLink=″client″portType=″tns:LoanFlowCallback″
operation=″onResult″inputVariable=″selectedLoanOffer″/>
</sequence>
</process>
Concrete modeling flow process is as follows:
(1) use the DOM resolver that BPEL document and WSDL document are resolved to dom tree, each tree node is with the essential information of BPEL document elements.
(2) begin to read successively DOM node the tree from root element, whenever running into the BPEL that can be mapped as the BCMFG node when movable, (Fig. 3~Figure 14) creates BCMFG element and each territory assignment of giving this element to use corresponding active process flow process.
(3) utilize the control between the BCMFG element to concern the structure of finishing the BCMFG model.
(4) by the traversal of figure being found out the BCMFG path that is combined by Control flow path and message pathway.
By above-mentioned steps, namely use based on the control information flow graph model of BPEL and finish modeling to the BPEL composite services.Figure 15 has shown the graph-based behind the loan portfolio service modeling.Wherein element 2,5,7,9,21,25,41 is respectively service node, mutual node, ordinary node, interacting message limit, concurrent node, single choice node, control limit.Take element 2 as example, its domain information is as shown in table 2.There is 1 in the BCMFG path, for:
[5;6;1;29;7;30;8;10;2;9;31;11;32;12;33;21;34;13;14;3;16;35;15;36;22;37;17;18;4;20;38;19;39;40;25;41;23;42;26;45;27;28;]。

Claims (1)

1. the modeling method based on the control information flow graph of BPEL is characterized in that comprising the steps:
Step 1) the BPEL document is resolved, generate dom tree;
Step 2) traversal dom tree node when running into the dom tree node that can be mapped as BCMFG, creates the BCMFG element, and gives the territory assignment of BCMFG element;
Step 3) utilize the control relation between the BCMFG element to make up the BCMFG model;
Step 4) calculates all BCMFG paths according to the BCMFG model;
Wherein, step 2) the described territory assignment method of BCMFG element of giving is as follows: each the node e in the dom tree is traveled through,
If a) node e representative links partnerLink to the partner, then create BCMFG element m, the value in the Category territory of m is set as service node collection SN, uses that association attributes is the Name territory assignment of m among the node e;
B) if node e represents basic activity invoke or receive or reply, then at first create BCMFG element m, the value in the Category territory of m is set as mutual set of node IN, use that association attributes is Name territory, partnerLink territory, PortType territory and the Operation territory assignment of m among the node e, and search with node e deserved service node s by the partnerLink thresholding;
C) if node e represents basic activity assign, then create BCMFG element m, the Category field value set of m is ordinary node collection NN, use that association attributes is the Name territory assignment of m among the node e, and search deserved service node s by the partnerLink property value among the node e, utilize the daughter element endpoint among the node e to be the Endpoint territory assignment of s;
D) if node e representative structure activity If then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m among the node e 1Name territory and Condition territory assignment, and process basic activity or the structured activities of If inside; In node e, contain daughter element else if, then continue to process the internal activity of daughter element else if, after the processing of finishing all daughter element else if, create BCMFG element m 2, m 2The Category field value set be single choice merge node EMN, use that association attributes is m among the node e 2Name territory assignment, process at last the internal activity of else, process the Target thresholding of all BCMFG elements that if or else if generate before being updated in simultaneously;
E) if node e representative structure activity While or foreach then create respectively BCMFG element m 1And m 2, m 1The Category field value set be single choice branch node EDN, m 2The Category field value set be single choice merge node EMN, use that association attributes is m among the node e 1Name territory and Condition territory and m 2Name territory assignment; Then create m 2To m 1Control limit ce, utilize equally that association attributes is m among the node e 1, m 2And Target territory and the Source territory assignment of ce;
F) if node e representative structure activity Repeat-Until then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m among the node e 1Name territory and Condition territory assignment, then process all the subactivity m in the Repeat-Until i, i is the natural number greater than 1, records wherein first movable m 2, and create m 1To m 2Control limit ce, again utilize among the node e association attributes to upgrade m 1, m 2And Target territory and the Source territory of ce;
G) if node e representative structure activity Pick then creates BCMFG element m 1, m 1The Category field value set be single choice branch node EDN, use that association attributes is m among the node e 1Name territory assignment, for<onMessage〉in each activity, create BCMFG element m i, i is the natural number greater than 1, m iThe Category field value set be mutual node IN, use equally that association attributes is m among the node e iPartnerLink territory, PortType territory and Operation territory assignment, and search deserved service node s by the partnerLink thresholding i, create from s iTo m iControl limit ce i, and according to control flow relation renewal m i, s iAnd ce iTarget thresholding and Source thresholding, for<onAlarm〉in each activity, create BCMFG element m j, j>max (i), maximal value is got in max () expression, and namely j begins successively value, m from i+1 jThe Category field value set be ordinary node NN, use equally that association attributes is m among the node e jName territory assignment, create at last BCMFG element m k, k>max (j), namely k begins successively value, m from j+1 kThe field value set of Category be single choice merge node EMN, j and k are natural number;
H) if node e representative structure activity Flow then creates BCMFG element m 1And m 2, m 1The Category field value set be concurrent branch node CBN, m 2The Category field value set be concurrent merge node CMN, use that association attributes is m among the node e 1Name territory and m 2Name territory assignment.
CN 201010173783 2010-05-14 2010-05-14 BPEL-based modeling method for control information flow graph Expired - Fee Related CN101872302B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010173783 CN101872302B (en) 2010-05-14 2010-05-14 BPEL-based modeling method for control information flow graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010173783 CN101872302B (en) 2010-05-14 2010-05-14 BPEL-based modeling method for control information flow graph

Publications (2)

Publication Number Publication Date
CN101872302A CN101872302A (en) 2010-10-27
CN101872302B true CN101872302B (en) 2013-02-27

Family

ID=42997176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010173783 Expired - Fee Related CN101872302B (en) 2010-05-14 2010-05-14 BPEL-based modeling method for control information flow graph

Country Status (1)

Country Link
CN (1) CN101872302B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902521B (en) * 2012-08-14 2015-09-30 东南大学 The credible evolution impact analysis method of a kind of composite services based on XCFG
CN102902804B (en) * 2012-10-15 2015-03-18 南京大学 High-efficiency BPEL (business process execution language) service dynamic updating method
CN104008059B (en) * 2014-06-17 2016-06-29 东南大学 A kind of software architecture appraisal procedure based on tolerance and Predicting Technique
CN106569870B (en) * 2016-11-18 2019-09-10 河海大学 A kind of program transformation method based on extension controlling stream graph
CN107704235A (en) * 2017-09-22 2018-02-16 深圳航天科技创新研究院 The analytic method of data flowchart, system and storage medium in mathematics library
CN109101418B (en) * 2018-07-18 2022-03-04 中国空间技术研究院 Satellite energy management software testing method based on information flow interaction characteristics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267452A (en) * 2008-02-27 2008-09-17 华为技术有限公司 A conversion method and application server for WEB service mixing scheme
CN101364176A (en) * 2008-08-12 2009-02-11 北京航空航天大学 BPEL visual model building system based on GMF

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267452A (en) * 2008-02-27 2008-09-17 华为技术有限公司 A conversion method and application server for WEB service mixing scheme
CN101364176A (en) * 2008-08-12 2009-02-11 北京航空航天大学 BPEL visual model building system based on GMF

Also Published As

Publication number Publication date
CN101872302A (en) 2010-10-27

Similar Documents

Publication Publication Date Title
Tang et al. A hierarchical reliability-driven scheduling algorithm in grid systems
Weisenburger et al. Distributed system development with ScalaLoci
CN101872302B (en) BPEL-based modeling method for control information flow graph
JP2023168539A (en) Maintaining blocks of blockchain in partitioned blockchain network
Zhang et al. Event-driven soa for iot services
Hinze et al. Principles and applications of distributed event-based systems
Basanta-Val et al. Improving the predictability of distributed stream processors
US20140257894A1 (en) Social project collaboration through self-organizing teams
Amato et al. Pattern-based orchestration and automatic verification of composite cloud services
Sturm et al. A blockchain-based and resource-aware process execution engine
Amoretti et al. DEUS: a discrete event universal simulator
US20090112559A1 (en) Model-driven, repository-based application monitoring system
Arslan et al. Advancements in distributed ledger technology for Internet of Things
Ivanchikj et al. Modeling microservice conversations with restalk
Bonfietti et al. Maximum-throughput mapping of SDFGs on multi-core SoC platforms
Jiang et al. A DAG Scheduling Scheme on Heterogeneous Computing Systems Using Tuple‐Based Chemical Reaction Optimization
Yang et al. Modeling and analysis of three properties of mobile interactive systems based on variable Petri nets
Yaqub et al. A protocol development framework for sla negotiations in cloud and service computing
Bianchi et al. Applying predicate abstraction to abstract state machines
CN101695079A (en) Automatic service combination method capable of guaranteeing correction and system thereof
Chakrabortty et al. Robust project scheduling with unreliable resources: A variable neighbourhood search based heuristic approach
Ng et al. Scalable session programming for heterogeneous high-performance systems
Li et al. Decentralized execution of event-driven scientific workflows
Gao et al. Maintaining time and space consistencies in hybrid CAD environments: Framework and algorithms
Zuo et al. A Review of Cross-Blockchain Solutions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130227

Termination date: 20150514

EXPY Termination of patent right or utility model