CN103150626B - BPEL process consistency metric method based on program dependency graph - Google Patents
BPEL process consistency metric method based on program dependency graph Download PDFInfo
- Publication number
- CN103150626B CN103150626B CN201310064554.3A CN201310064554A CN103150626B CN 103150626 B CN103150626 B CN 103150626B CN 201310064554 A CN201310064554 A CN 201310064554A CN 103150626 B CN103150626 B CN 103150626B
- Authority
- CN
- China
- Prior art keywords
- activity
- bpel
- dependence
- movable
- collection
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 180
- 230000008569 process Effects 0.000 title claims abstract description 132
- 230000000694 effects Effects 0.000 claims abstract description 180
- 230000006870 function Effects 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000008520 organization Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 239000000284 extract Substances 0.000 claims 1
- 230000006399 behavior Effects 0.000 description 14
- 239000000203 mixture Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a kind of BPEL process consistency metric method based on program dependency graph.With two BPEL processes for input, with the degree of consistency of the two BPEL process for output result;The BPEL process that the method uses must in strict conformity with WS BPEL2.0 specification, and during not comprise<link>movable;Two BPEL processes are separately converted to control flow chart by the characteristic according to BPEL;According to the control flow chart of each BPEL process, three kinds of dependences between analytical activity, generate program dependency graph PDG;Program dependency graph based on two BPEL processes, calculate the degree of consistency of the two BPEL process.The method that the present invention proposes, the concordance of two BPEL processes can be given one from 0 to 1 numerical value rather than as traditional method, be provided solely for one make peace inconsistent qualitative conclusions, thus effectively distinguish BPEL process concordance in various degree.
Description
Technical field
The invention belongs to field of service calculation, the side of two BPEL process state degrees of consistency of a kind of tolerance
Method.
Background technology
In Service-Oriented Architecture Based (SOA), BPEL (business procedure execution language) has become as and describes business based on service
The industrywide standard of industry process.Enriching constantly and extending along with BPEL process, many commercial organization and company establish BPEL mistake
Cheng Ku.In order to preferably the numerous BPEL processes in storehouse be retrieved, safeguard, manage and be reused, a kind of suitably mark is proposed
Standard is measured the degree of consistency of two BPEL processes and is become more and more urgent.Such as, when management personnel are in BPEL procedure library
When increasing a kind of new process, first they should determine in this storehouse whether there is this BPEL process, then need which considers
BPEL process is similar with this newly added process, has how many degrees of consistency.In this case, study different
Between BPEL process, concordance is the most significant.
Owing to the activity during BPEL comprises a lot of information, cause being difficult to measure the concordance between two BPEL processes
Degree, also becomes a challenge simultaneously for the conforming definition provided between them.Some scholars are by the one of process model
Cause property is defined as " uniformity, standardization and noncontradictory ".Owing to the behavior relation between the activity during BPEL is judge two
The basis that individual BPEL process is the most consistent, so, definition BPEL process concordance is " activity relationship invariance and noncontradictory ".
Different standards can be used for formulating BPEL process concordance.Such as, from the angle of interface, definition is based on Interface Matching
The consistency criterion of degree.But, even if owing to two BPEL processes share same set of interfaces, their behavior is likely to thousand
Differ from ten thousand other, so this standard is inappropriate.It is therefore proposed the angle of subordinate act study between BPEL process consistent
Property.
In process model field, the equivalent standard definition procedure model in spectrum when some scholars utilize linear session branch
Between behavior congruence, wherein Mutual simulation (bisimulation) and mark (trace equivalence) of equal value are the most frequently used
Method.And they can only be given when metrics process model consistency " Yes/No " binary judge, but do not distinguish model it
Between there is great difference.Some scholars are also had to utilize the method for graphic structure (thegraphical structure) to pass judgment on
Journey model consistency.But, the possible difference of model seeming closely similar from graphic structure is huge, so graphic structure can
Using an index as Appraisal process model consistency.Alves de Medeiros etc. proposes typical behaviour
The method comparison procedure model consistency of (exemplary behavior), the event that typical behaviour can perform from realistic model
Daily record obtains.This method provides the concrete numerical value of 0 to 1.0 and carrys out the degree of consistency between quantizing process model.These methods
It is all some formal methods, all fails to describe the essential behavior relation in process model.Then, Weidlich etc. propose row
The concordance of the method metrics process model of (behavioral profile) is drawn for side.The method that behavior side is drawn describes process
Three kinds of essential behavior restraint between activity in model.As long as can be simply considered that the activity of all correspondences between behavior
Constraint is identical, then the two process model is exactly consistent.This method is lived by between two process models
The dynamic impact mapped is the least, and also is able to the concrete numerical value providing 0 to 1.0 to quantify the degree of consistency.So, behavior side is drawn
Method be the most suitable at metrics process model consistency.Due in field of software engineering similarity and conforming concept
It is closely, so much the method for the similarity of tolerance process model can be used for metrics process model consistency.?
The similarity aspect of Appraisal process model, has scholar according to model structure, the similarity of model semantics judge process model, also has
Some scholars are from the Similarity Problem of the angle process model of crawler behavior, such as, based on cause effect relation (causal between activity
Footprint) method, the method for primary transition sequence (principal transition sequences), behavior side are drawn
Method with Jaccard coefficient (Jaccard coefficient).But, these above-mentioned methods are the most simply applied to process
Model level, some important information (such as data, partner's link etc.) are all abstracted, and therefore, they are not suitable for tolerance
BPEL process concordance.
Summary of the invention
It is an object of the invention to provide a kind of BPEL process consistency metric method based on program dependency graph, the method
Achieve the function that the process in BPEL procedure library is retrieved, manages, safeguards and reused.
The technical solution realizing the object of the invention is: a kind of BPEL process consistency metric based on program dependency graph
Method, with two BPEL processes for input, with the degree of consistency of the two BPEL process for output result;The method uses
BPEL process has to comply with WS-BPEL2.0 specification, and during not comprise<link>movable;Step is as follows:
(1) two BPEL processes are separately converted to control flow chart according to the characteristic of BPEL by two BPEL processes of input;
(2) according to the control flow chart of each BPEL process, three kinds of dependences between analytical activity, the program that generates relies on
Figure PDG;
(3) by the analysis of the program dependency graph to two BPEL processes, the concordance of the two BPEL process is calculated
Degree.
The present invention compared with prior art, its remarkable advantage: the present invention based on dependence between activity during BPEL and
Mutex relation, it is proposed that a kind of quantitative BPEL process consistency metric method, the method can be to the one of two BPEL processes
Cause property be given one from 0 to 1 numerical value rather than only provide one to make peace inconsistent qualitative conclusions as traditional method, from
And effectively distinguish concordance in various degree.
Accompanying drawing explanation
Fig. 1 is to measure the conforming whole flow process of BPEL process based on program dependency graph.
Fig. 2 is concrete steps flow chart based on the program dependency graph tolerance BPEL process degree of consistency.
Fig. 3 is the control flow chart of two BPEL process instances, and figure (a) is first BPEL process of input, and figure (b) is
Second BPEL process of input.
Fig. 4 is the program dependency graph that two example dependency analysis of the present invention obtain, and figure (a) is given birth to by first BPEL process
The program dependency graph become, the program dependency graph that figure (b) is generated by second BPEL process.
Fig. 5 is the dependence matrix of two examples of the present invention.
Fig. 6 is the degree of consistency that the present invention calculates two examples.
Detailed description of the invention
The present invention proposes the method for behavior congruence degree based on program dependency graph two BPEL processes of tolerance.At BPEL
In program dependency graph (BPDG), during BPEL, relation between activity is divided into mutex relation and dependence, and dependence bag
Containing controlling dependence, data dependence and asynchronous call dependence.Exist during BPEL<if>,<switch>or<pick>choosing
When selecting structure movement, owing to the activity in choice structure activity Zhong Jinyitiao branch can be performed, in so different branches
There is also a kind of relation between activity, this relation is defined as mutex relation.Control dependence and be defined as a movable Xj
Control to depend on another movable Xi and if only if that Xi determines that can Xj perform.Data dependence is divided into again true data to rely on, and counter counts
According to relying on and output data dependence.One movable Xj true data depends on another activity Xi before it, and and if only if, and Xj makes
Certain variable with Xi definition;One anti-data dependence of movable Xj another movable Xi before it, and if only if, and Xj is fixed
Certain variable that justice Xi is used.One movable Xj exports data dependence another movable Xi before it, and and if only if
Xj has redefined certain variable of Xi definition.It practice, anti-data dependence and output data dependence can pass through variable renaming
Mode avoided.A movable Xj asynchronous call during BPEL depend on it before a movable Xi, when and only
When Xi is that an asynchronous call<invoke>is movable, and Xj is used to receive corresponding<receive>activity returning result.Its
In,<invoke>activity during a BPEL may with another BPEL during have asynchronous call dependence<
Invoke>and the corresponding relation of<receive>movable composition 1: 2.
The present invention is exactly that BPEL process is conforming implements to the method tolerance proposed.Require the BPEL mistake of input
Journey meets WS-BPEL2.0 specification, is especially that some decision conditions<condition>must strictly observe set form,
The input/output variable included in condition can be parsed, and during these, between concurrent activities, there is not < link
>。
The present invention will be further described below in conjunction with the accompanying drawings.
Present invention BPEL based on program dependency graph process consistency metric method, its overall flow is as shown in Figure 1.First
First, according to the characteristic of BPEL, two BPEL processes are separately converted to control flow chart;Then, according to the control of each BPEL process
Flow chart processed, three kinds of dependences between analytical activity, generate program dependency graph PDG;Finally, by two BPEL processes
The analysis of program dependency graph, calculates the degree of consistency of the two BPEL process.For the BPEL process of compliant, this
The bright all information that can parse included in it, including all types of activities and the input and output of activity, Huo Banlian
Connect, port type etc..Comprise the following steps that (as shown in Figure 2):
1. pair BPEL process model building, is mainly converted into control flow chart by BPEL process, specifically according to the characteristic of BPEL
Can be divided into following steps:
1.1 travel through given BPEL process according to the mode of depth-first, obtain all of active junction point, and give BPEL
The root activity of process is set as that territory<scope>is movable;
1.2 according to the type of acquired activity, selects the analytical function corresponding with this Activity Type to analyze BPEL process
In the attribute of each active junction point, activity attributes common for all activities is extracted and is stored in internal memory, then basis
Activity Type, stores attribute specific to each type of activity separately;
Analytical function can be divided into following a few class according to Activity Type:
The attribute of the basic activity that the analytical function of basic activity reads during BPEL, movable attribute mainly comprises
Title, type, the follow-up relation of forerunner, input/output variable, partner link and port type, in block structure, only order <
Just there is the follow-up relation of forerunner between activity under sequence > activity, and block structure is by structured activities and its subactivity
Composition, has longitudinal stereovision;
For structured activities<if>,<switch>,<pick>,<while>with<repeatUtil>, their input becomes
Amount can only obtain out from conditional statement<condition>, but these conditional statements must are fulfilled for bpel:
GetVariableProperty (' ', ' ') or bpws:getVariableData (' ', ' ') both forms can be solved
Analysis, and output variable is all empty null in structured activities;
Select the analytical function movable with loop structure to read the attribute of this type activity during BPEL, wherein input
Variable parses from condition<condition>, and, read the branch under respective conditions<conditon>movable;
The analytical function of concurrent structure and sequential organization activity reads the attribute of this type activity during BPEL, and
Read the activity under its Mei Tiao branch.
According to the control flow chart of each BPEL process, three kinds of dependences between analytical activity, generate program dependency graph
PDG, it specifically includes following steps:
2.1 control flow charts traveling through each BPEL processes, by control flow chart except order<sequence>, concurrent<
Flow>and territory<scope>three types beyond basic activity and structured activities be stored in active junction point collection N;
2.2 traversal active junction point collection N, if there is structured activities, by all with it for structured activities subactivity institutes structure
The control dependence become adds dependence collection E to;
2.3 give institute with or without controlling one node Entry that jointly comes into play of movable increase of relying on, make these activities all control
System depends on Entry node, and Entry node and institute is added to or without the control dependence controlled between the activity of dependence
In dependence collection E, Entry node adds in active junction point collection N;
2.4, according to the follow-up relation of forerunner of each activity and input/output variable, find the data dependence between all activities
Relation, and add in dependence collection E;
2.5 judge the title that one asynchronous<invoke>movable partner the most movable with another<receive>links
Identical with the title of port type, if identical, between the two activity, there is asynchronous call dependence, this dependence is added
Being added in dependence collection E, the most asynchronous<invoke>movable only input variable, it performs to use non-blocking fashion: BPEL
Servicing and can continue executing with its follow-up activities after performing this asynchronous<invoke>activity, what this asynchronous<invoke>was movable calls knot
Fruit can be responsible for reception by<receive>afterwards is movable;
2.6 according to active junction point collection N and dependence collection E, thus obtains the program dependency graph of BPEL process, and with square
Dependence between all activities is displayed by the form of battle array, it should be noted that: the position before and after activity is very in a matrix
Important, such as two activity (n1, n2Exist between) and control dependence, but movable (n2, n1The most there is not control between) to depend on
The relation of relying.
Wherein, the method for step 2.4 is as follows:
Traversal active junction point collection N, it is determined that forerunner's activity of a movable input variable title of acquisition and this activity
Output variable title is the most identical, if identical, is added to by this data dependence relation in dependence collection E, then obtains another
One activity, finds this activity and the data dependence relation of the activity before it;If the movable input obtained becomes
Amount title differs with the output variable title of forerunner's activity of this activity, it is necessary first to judge that the forerunner's activity with this activity is
No for structured activities, if not structured activities, according to the movable follow-up relation of forerunner, the forerunner obtaining this activity is movable
Forerunner movable, it is determined that this activity is the most identical with the output variable title of forerunner's activity of its forerunner's activity;If structure
Change activity, the subactivity of traversal structured activities, it is determined that the output variable title of its all subactivitys whether defeated with this activity
Enter name variable identical, if identical, these data dependence relations all added in dependence collection E, if this activity with
All subactivitys of this structured activities do not have data dependence relation, then repeat above-mentioned judgement, until finding the number of this activity
Till dependence or top activity;
Judge whether the input variable title of activity self is equal to output output variable title, if equal, by these data
Dependence is added in dependence collection E;
If there is<while>or<repeatUntil>revolving-door during BPEL, it is determined that the input of sort of activity becomes
Amount title is the most identical with the output variable title of the subactivity of this activity, if identical, is added to by this data dependence relation
In dependence collection E;Also need to whether there is anti-data dependence relation between the subactivity of judgement sort of activity, if it does,
This data dependence relation is also added in dependence collection E.
Analyze and obtain between the two BPEL process inconsistent corresponding movable right, be then based on inconsistent this to taking on service jobs
Dynamic to number calculate the degree of consistency of two BPEL processes;It specifically includes following steps:
3.1, according to active junction point collection N1 and N2 of the program dependency graph of two BPEL processes, set up corresponding active junction point
Collection Na1 and Na2, wherein corresponding relation refers to the movable mutually mapping that two active junction points are concentrated, it is true that a BPEL process
<invoke>and<receive>activity that middle asynchronous call relies on may structure movable with<invoke>during another BPEL
Become the mapping relations of 2: 1;
If it is movable to comprise choice structure in 3.2 program dependency graph<if>,<switch>or<pick>, set up choice structure
Mutex relation collection R between the movable activity in different branches1And R2;
The all of activity of 3.3 two BPEL processes of traversal is right, it is determined that corresponding movable between mutex relation and dependence
Relation is the most identical, as long as there being a kind of relation to differ, then it is assumed that the two activity is to being inconsistent, and it is added respectively
To inconsistent activity to collection Q1And Q2, and activity to by active node concentrate a pair activity that arbitrary two activities form with
And an activity is movable with a pair of self composition;
3.4 according to the active junction point collection N of two BPEL processesa1And Na2Middle active junction point number a and b, and inconsistent
Corresponding movable to collection Q1And Q2In activity to number c and d, use formula 1 to calculate the concordance journey of the two BPEL process
Degree P.
Below in conjunction with embodiment, the present invention will be further described.
The example of the present invention comes from BPEL process Sample Storehouse (the Oracle BPEL Process of Oracle company
Manager Samples Repository), the BPEL process chosen is done some and has adjusted, it is thus achieved that two similar BPEL
Process (as shown in Figure 3).Process (a) is made up of 8 activities, wherein 1 structured activities<if>and 7 basic activities;Process
B () is made up of 6 activities, wherein 1 structured activities<if>and 5 basic activities.
In order to measure the degree of consistency of the two BPEL process, use following implementation:
1. pair BPEL process model building, is mainly converted into control flow chart according to the characteristic of BPEL by BPEL process;
1.1 travel through given BPEL process (a) according to the mode of depth-first, obtain all of active junction point, and give
The root activity of BPEL process (a) is set as territory<scope>active junction point: scope#1 (<scope>), sequence#1 (<
Sequence>), receiveInput (<receive>), assign#1 (<assign>), if#1 (<if>), sequence#2 (<
Sequence>), invokeUnitedLoan (<invoke>), receiveUnitedLoan (<receive>), sequence#3
(<sequence>), invokeAmericanLoan (<invoke>), receiveAmericanLoan (<receive>),
replyOutput(<invoke>)};Travel through BPEL process (b) according to the mode of depth-first, obtain all of active junction point,
And the root activity giving BPEL process (a) is set as territory<scope>active junction point: { scope#1 (<scope>), sequence#1
(<sequence>), receiveInput (<receive>), assign#1 (<assign>), if#1 (<if>), sequence#2
(<sequence>), UnitedLoan (<invoke>), sequence#3 (<sequence>), AmericanLoan (<invoke
>), replyOutput (<invoke>) };
1.2 according to the type of acquired activity, selects the analytical function corresponding with this Activity Type to obtain BPEL mistake
The attribute (shown in table 1) of each active junction point in journey, and the total attribute of all activities include the follow-up relation of title, forerunner,
Input/output variable, partner's link and port type, then according to Activity Type, store each type of movable institute peculiar separately
Attribute, such as<if>is movable, attribute specific to it be condition<condition>and may be nested<if>activity.
Table 1
For BPEL process (b), first the analytical function of corresponding<if>type parses the movable attribute of if#1, then root
According to condition<condition>, obtain respectively the subactivity UnitedLoan (<invoke>) under if#1 activity and
AmericanLoan(<invoke>)。
2. the control flow chart that pair step 1 obtains carries out dependence analysis, sets up program dependency graph (as shown in Figure 4),
Its detailed process is as follows:
2.1 control flow charts traveling through each BPEL process (a), by { receiveInput (<receive>), assign#
1 (<assign>), if#1 (<if>), invokeUnitedLoan (<invoke>), receiveUnitedLoan (<receive
>), invokeAmericanLoan (<invoke>), receiveAmericanLoan (<receive>), replyOutput (<
Invoke >) } it is stored in active junction point collection N1In, by { receiveInput (<receive>), assign#1 (<assign>), if#
1 (<if>), UnitedLoan (<invoke>), AmericanLoan (<invoke>), replyOutput (<invoke>) } deposit
Enter active junction point collection N2In;
2.2 traversal active junction point collection N1And N2, the control constituted by all with it for structured activities if#1 subactivitys relies on
Relation is respectively added to dependence collection E1=(if#1, invokeUnitedLoan), (if#1,
ReceiveUnitedLoan), (if#1, invokeAmericanLoan), (if#1, receiveAmericanLoan) }, E2=
In { (if#1, UnitedLoan), (if#1, AmericanLoan) };
2.3 increase a common beginning node with or without the activity controlling dependence to institute during two BPEL respectively
Entry, make each during sort of activity control to depend on Entry node, and by Entry node and the control between them
Dependence processed is respectively added to dependence collection E1=(Entry, receiveInput), (Entry, assign#1),
(Entry, replyOutput) } and E2=(Entry, receiveInput), (Entry, assign#1), (Entry,
ReplyOutput), in, Entry node is respectively added to active junction point collection N1And N2In;
2.4, according to the follow-up relation of forerunner of each activity and input/output variable, find the data dependence between all activities
Relation, and add in dependence collection E, such as, obtain the replyOutput in BPEL process (a) movable, first look for this
Movable forerunner activity if#1, finds that the input variable title of replyOutput is different from the output variable title of movable if#1,
Then judge whether if#1 activity is structured activities, it is known that if#1 activity is structured activities, the son in traversal activity if#1
Movable invokeUntiedLoan, receiveUntied, invokeAmericanLoan and receiveAmerican, sentence respectively
The output variable title of fixed each subactivity is the most identical with the input variable title of replyOutput activity, finally finds
ReceiveUntied and receiveAmerican is movable constitutes data dependence relation with replyOutput activity;Find other
Movable data dependence relation method like this operation;Analyze the data dependence obtaining during two BPEL between all active junction points to close
Assembly E1=(receiveInput, assign#1), (assign#1, if#1), (assign#1, invokeUnitedLoan),
(assign#1, invokeAmericanLoan), (receiveUnitedLoan, replyOutput) } and E2=
(receiveInput, assign#1), (assign#1, if#1), (assign#1, UnitedLoan), (assign#1,
AmericanLoan), (receiveAmericanLoan, replyOutput) };
2.5 are linked and port type by the partner that the activity of relatively asynchronous<invoke>type is movable with<receive>
Attribute, it is thus achieved that in BPEL process (a), the asynchronous call between invokeUnitedLoan and receiveUnitedLoan relies on pass
System, and add dependence collection E={ (invokeUnitedLoan, receive-UnitedLoan) to,
(invokeAmericanLoan, receiveAmericanLoan) } in, and between all activities in BPEL process (b) the most not
There is asynchronous call dependence;
2.6 according to active junction point collection N1With dependence collection E1, obtain the program dependency graph of BPEL process (a), according to activity
Nodal set N2With dependence collection E2, obtain the program dependency graph of BPEL process (b), and these dependences be with the shape of matrix
Formula is demonstrated out (as shown in Figure 5).
3., according to the program dependency graph of two BPEL processes of step 2 gained, calculate the concordance of the two BPEL process
Degree, detailed process is following (as shown in Figure 6):
3.1 according to the active junction point collection N of the program dependency graph of two BPEL processes1And N2, set up corresponding active junction point collection
Na1=Entry, receiveInput, assign#1, if#1, invokeUnitedLoan, receiveUnitedLoan,
InvokeAmericanLoan, receiveAmericanLoan, replyOutput} and Na2=Entry, receiveInput,
Assign#1, if#1, invokeUnitedLoan, invokeAmericanLoan, replyOutput}, due in process (a)
Movable invokeUnitedLoan and receiveUnitedLoan, invokeAmericanLoan with
Exist between receiveAmericanLoan asynchronous call rely on, so these two pair activity respectively with the activity in process (b)
UnitedLoan and AmericanLoan constitutes the mapping of 2: 1;
3.2 is movable<if>owing to comprising choice structure in the program dependency graph of two BPEL processes, so setting up<if respectively
> mutex relation collection R between activity in movable different branches1=(invokeUnitedLoan,
InvokeAmericanLoan), (invokeUnitedLoan, receiveAmerican-Loan),
(receiveUnitedLoan, invokeAmericanLoan), (receiveUnitedLoan, receive-
AmericanLoan), (invokeAmericanLoan, invokeUnitedLoan), (receiveAmericanLoan,
InvokeUnitedLoan), (invokeAmericanLoan, receiveUnitedLoan), (receiveAmerican-
Loan, receiveUnitedLoan) } and R2=(UnitedLoan, AmericanLoan), (UnitedLoan,
AmericanLoan)};
3.3 by compare two BPEL processes corresponding movable between mutex relation, control planning and data dependence
Relation, it is thus achieved that inconsistent is corresponding movable to collection Q1=(receiveUnitedLoan, replyOutput),
(replyOutput, receiveUnitedLoan), (receiveAmericanLoan, replyOutput),
(replyOutput, receiveAmericanLoan) } and Q2=(receiveAmericanLoan, replyOutput),
(replyOutput, receiveAmericanLoan), (receiveUnitedLoan, replyOutput),
(replyOutput, receiveUnitedLoan) };
The 3.4 active junction point collection N obtaining two BPEL processesa1And Na2Middle active junction point number a=8 and b=6, and
Inconsistent is corresponding movable to collection Q1And Q2In activity to number c=4 and d=4, use formula 1 to calculate the two BPEL mistake
The degree of consistency of journey
Claims (2)
1. a BPEL process consistency metric method based on program dependency graph, it is characterised in that: with two BPEL processes be
Input, with the degree of consistency of the two BPEL process for output result;The BPEL process that the method uses has to comply with WS-
BPEL 2.0 specification, and during not comprise<link>movable;Step is as follows:
(1) two BPEL processes are separately converted to control flow chart according to the characteristic of BPEL by two BPEL processes of input;Specifically
Step is as follows:
1.1 travel through given BPEL process according to the mode of depth-first, obtain all of active junction point, and to BPEL mistake
The root activity of journey is set as that territory<scope>is movable;
1.2 according to the type of acquired activity, during selecting the analytical function corresponding with this Activity Type to analyze BPEL
The attribute of each active junction point, extracts activity attributes common for all activities and is stored in internal memory, then according to activity
Type, stores attribute specific to each type of activity separately;
Analytical function is divided into following a few class according to Activity Type:
The analytical function of basic activity reads the attribute of basic activity during BPEL, movable attribute comprise title, type,
The follow-up relation of forerunner, input/output variable, partner's link and port type, in block structure, only in order<sequence>
The follow-up relation of forerunner is just there is between activity under Huo Dong;
The analytical function movable with loop structure is selected to read the attribute of this type activity, wherein input variable during BPEL
Parse from condition<condition>, and it is movable to read the branch under respective conditions<condition>;
The analytical function of concurrent structure and sequential organization activity reads the attribute of this type activity during BPEL, and reads
Activity under its Mei Tiao branch;
(2) according to the control flow chart of each BPEL process, three kinds of dependences between analytical activity, generate program dependency graph
PDG;Specifically comprise the following steps that
2.1 control flow charts traveling through each BPEL process, will remove order<sequence>, concurrent<flow in control flow chart
>and territory<scope>three types beyond basic activity and structured activities be stored in active junction point collection N;
All with it for structured activities subactivitys, if there is structured activities, are constituted by 2.2 traversal active junction point collection N
Control dependence to add in dependence collection E;
2.3 give institute with or without controlling one node Entry that jointly comes into play of movable increase of relying on, make these activities all control
Depend on Entry node, and by Entry node and add to or without the control dependence controlled between the activity that relies on and depend on
Relying in set of relations E, Entry node adds in active junction point collection N;
2.4, according to the follow-up relation of forerunner of each activity and input/output variable, find the data dependence between all activities to close
System, and add in dependence collection E;
2.5 judge title and the end that one asynchronous<invoke>movable partner the most movable with another<receive>link
The title of mouth type is identical, if identical, there is asynchronous call dependence between the two activity, this dependence is added to
In dependence collection E;
2.6, according to active junction point collection N and dependence collection E, obtain the program dependency graph of BPEL process, and with the shape of matrix
Dependence between all activities is displayed by formula;
(3) by the analysis of the program dependency graph to two BPEL processes, the degree of consistency of the two BPEL process is calculated;
Specifically comprise the following steps that
3.1 according to the active junction point collection N of the program dependency graph of two BPEL processes1And N2, set up corresponding active junction point collection Na1
And Na2, wherein corresponding relation refers to the movable mutually mapping that two active junction points are concentrated;
If it is movable to comprise choice structure in 3.2 program dependency graph<if>,<switch>or<pick>, set up choice structure and live
Mutex relation collection R between the dynamic activity in different branches1And R2;
The all of activity of 3.3 two BPEL processes of traversal is right, it is determined that corresponding movable between mutex relation and dependence
The most identical, as long as there being a kind of relation to differ, then it is assumed that the two activity is to being inconsistent, and is respectively added to not
Consistent activity is to collection Q1And Q2;
3.4 according to the active junction point collection N of two BPEL processesa1And Na2In active junction point number a and b, and inconsistent right
Should be movable to collection Q1And Q2In activity to number c and d, use formula 1 to calculate degree of consistency P of the two BPEL process
BPEL process consistency metric method based on program dependency graph the most according to claim 1, it is characterised in that: step
The method of rapid 2.3 is as follows:
Traversal active junction point collection N, it is determined that the output change that a movable input variable title of acquisition is movable with this activity forerunner
Amount title is the most identical, if identical, is added to by this data dependence relation in dependence collection E, then obtains the next one and lives
Dynamic, find this activity and the data dependence relation of the activity before it;If obtain a movable input variable title with
The output variable title of forerunner's activity of this activity differs, and first determines whether whether the forerunner's activity with this activity is that structuring is lived
Dynamic, if not structured activities, according to the movable follow-up relation of forerunner, obtain forerunner's activity that the forerunner of this activity is movable,
Judge that the output variable title of forerunner's activity of this activity and its forerunner activity is the most identical;If structured activities, traversal
The subactivity of structured activities, it is determined that the output variable title of its all subactivitys whether with the input variable title phase of this activity
With, if identical, these data dependence relations are all added in dependence collection E, if this activity and this structured activities
All subactivitys there is no data dependence relation, then repeat above-mentioned judgement, until find this activity data dependence relation or
Till top activity;
Judge whether the input variable title of activity self is equal to output variable title, if equal, by this data dependence relation
Add in dependence collection E;
If there is<while>or<repeatUntil>revolving-door during BPEL, it is determined that the input variable name of sort of activity
Claim the most identical with the output variable title of the subactivity of this activity, if identical, add this data dependence relation to dependence
In set of relations E;Also need to whether there is anti-data dependence relation between the subactivity of judgement sort of activity, if it does, by this
Data dependence relation is also added in dependence collection E.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064554.3A CN103150626B (en) | 2013-03-01 | 2013-03-01 | BPEL process consistency metric method based on program dependency graph |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310064554.3A CN103150626B (en) | 2013-03-01 | 2013-03-01 | BPEL process consistency metric method based on program dependency graph |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150626A CN103150626A (en) | 2013-06-12 |
CN103150626B true CN103150626B (en) | 2016-08-03 |
Family
ID=48548685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310064554.3A Expired - Fee Related CN103150626B (en) | 2013-03-01 | 2013-03-01 | BPEL process consistency metric method based on program dependency graph |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150626B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679484A (en) * | 2014-01-09 | 2014-03-26 | 安徽理工大学 | Novel method for analyzing E-commerce consistency based on behavior Petri network |
CN106293648B (en) * | 2015-05-13 | 2019-11-29 | 南京理工大学 | Services Composition behavior compliance measure based on Route Dependence figure |
CN105303047B (en) * | 2015-10-30 | 2018-03-02 | 同济大学 | A kind of model consistency analysis method and system based on fork process |
CN113553041B (en) * | 2021-09-22 | 2021-12-10 | 武汉江民网安科技有限公司 | Method, apparatus and medium for generating function code formalized structure in binary program |
-
2013
- 2013-03-01 CN CN201310064554.3A patent/CN103150626B/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
Efficient Consistency Measurement Based on Behavioral Profiles of P rocess Modles;Matthias Weidlich etc.;《IEEE TRANSACTIONS ON SOFTWARE ENGINEERING》;20110630;第37卷(第3期);410-427 * |
WS-BPEL服务可替换性分析;宋巍等;《中国科技论文在线》;20120503;第42卷(第3期);264-277 * |
Also Published As
Publication number | Publication date |
---|---|
CN103150626A (en) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Amparore et al. | 30 years of GreatSPN | |
Van der Aalst | Extracting event data from databases to unleash process mining | |
CN111813661B (en) | Global service data drive automatic test method, device, equipment and medium | |
CN101833507A (en) | Method for testing software based on testing framework | |
CN103150626B (en) | BPEL process consistency metric method based on program dependency graph | |
Mellado et al. | Software product measurement and analysis in a continuous integration environment | |
CN101162437A (en) | Method for analyzing system performance sampled data based on relational model, equipment and system | |
Souza et al. | Efficient runtime capture of multiworkflow data using provenance | |
Khedri et al. | Handling database schema variability in software product lines | |
WO2021012861A1 (en) | Method and apparatus for evaluating data query time consumption, and computer device and storage medium | |
Barcelos et al. | Evaluation Approaches for Software Architectural Documents: a Systematic Review. | |
CN112783475B (en) | Embedded software demand analysis method | |
Viale et al. | New methodology for modeling large scale manufacturing process: Using process mining methods and experts' knowledge | |
CN116701406A (en) | Data comparison method and device, computer equipment and storage medium | |
Zayour et al. | Adoption of reverse engineering tools: a cognitive perspective and methodology | |
Pytel et al. | ENABLING UTXO-BASED BACKWARDS AND FORWARDS TRACEABILTY | |
Sullivan | Hawkeye: User-guided enumeration of scenarios | |
Yusuf et al. | An automatic approach to measure and visualize coupling in object-oriented programs | |
Werewka | Investigation of enterprise architecture and software architecture in relation to quality attributes in military applications | |
Rozsnyai et al. | Automated correlation discovery for semi-structured business processes | |
CN116090183B (en) | Digital simulation method and system for SCR demand model | |
Honsel | Development of agent-based simulation models for software evolution | |
Tan et al. | Applying Structural Equation Modelling in Education Research | |
Koszela | Method of similarity business processes by genetic tagging for warehouses of processes and process mining | |
Ngo et al. | Automated Extraction of database interactions in web applications |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Song Wei Inventor after: Zhang Xuewei Inventor after: Zhang Wenjia Inventor before: Song Wei Inventor before: Zhang Xuewei Inventor before: Xing Jianchun Inventor before: Yang Qiliang Inventor before: Zhang Wenjia |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160803 |