CN103150626B - BPEL process consistency metric method based on program dependency graph - Google Patents

BPEL process consistency metric method based on program dependency graph Download PDF

Info

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
Application number
CN201310064554.3A
Other languages
Chinese (zh)
Other versions
CN103150626A (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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201310064554.3A priority Critical patent/CN103150626B/en
Publication of CN103150626A publication Critical patent/CN103150626A/en
Application granted granted Critical
Publication of CN103150626B publication Critical patent/CN103150626B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

BPEL process consistency metric method based on program dependency graph
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.
P = 1 - c + d | a &times; a | + | b &times; b | - - - ( 1 )
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
P = 1 - c + d | a &times; a | + | b &times; b | - - - ( 1 ) .
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.
CN201310064554.3A 2013-03-01 2013-03-01 BPEL process consistency metric method based on program dependency graph Expired - Fee Related CN103150626B (en)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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