CN100484140C - Network working flow describing and verificating method driven normally - Google Patents

Network working flow describing and verificating method driven normally Download PDF

Info

Publication number
CN100484140C
CN100484140C CNB2005100277852A CN200510027785A CN100484140C CN 100484140 C CN100484140 C CN 100484140C CN B2005100277852 A CNB2005100277852 A CN B2005100277852A CN 200510027785 A CN200510027785 A CN 200510027785A CN 100484140 C CN100484140 C CN 100484140C
Authority
CN
China
Prior art keywords
state
task
rule
service
function
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
CNB2005100277852A
Other languages
Chinese (zh)
Other versions
CN1719832A (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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CNB2005100277852A priority Critical patent/CN100484140C/en
Publication of CN1719832A publication Critical patent/CN1719832A/en
Application granted granted Critical
Publication of CN100484140C publication Critical patent/CN100484140C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

This invention relates to a canon description and a verification method of a network workflow system driven by s a canon. The method includes: the formalization description of a canon, definition of a rule and a verification method. The method flow includes: first of all, and attributes of all working flow tasks and their influence factor, then, describing the dispatch order of the task and conditions by defining the state driving rule, then defining dispatch rule to select network resources for the task in the process of the task dispatch, finally, simulating the dispatch flow of the work flow task in the network and influence factor to its node attribute with the state driving rule to realize verification to various rules.

Description

Grid work stream description and verification method that a kind of standard drives
Technical field
The invention belongs to the grid work flow technical field, be specifically related to the formalized description and the verification method of standard in a kind of grid work streaming system.Utilize this method, the user needs only the state description and the existing rule of given grid work streaming system, just the semantic conflict of proof rule and integrality automatically.
Background technology
Grid is a kind of distributed collaboration service platform.It integrates resources such as calculating, storage, information and instrument and equipment, collaborative work on the basis of shared resource, thus make collaborative the finding the solution of challenge become possibility.Utilize this super disposal ability of grid, can solve the extensive science that can't solve or be not easy to solve and calculate with last high-performance computer; Utilize the shared resource in the grid, the major application that can handle the participation that needs multiple resource, a plurality of system and multi-door subject studies a question; Grid not only helps to solve the science computational problem in fields such as physics, astronomy, biology, Simulation, Engineering ﹠ Modelling, has potential significant impact aspect all trades and professions of commercial field, social life and national economy simultaneously.
Current, along with grid is tending towards ripe, the application of grid is also in rapid expansion.The process that these application relate to, resource and step are more, not only need to consume a large amount of calculating and the communication resource, and the relation between its task is also quite complicated, have comprised the constraints of resource aspects such as many sequential, space and authority.If use general processing method to manage these processes, not only operating efficiency is low, and causes some task to finish easily.Therefore, some complicated grid projects begin to introduce workflow technology and come managing gridding to use.For example the GridFlow in the GridAnt of USDOE, NASAAMES research center, the GeneGrid of Britain etc. have adopted the grid work flow technology.
In the recent period, a lot of researchs about the grid work stream description have appearred in the world.Utilizing language to describe grid work flow is a kind of method commonly used.Mesh services stream language is a kind of and workflow modeling languages Open Grid Service architecture compatibility, and it has replenished the mesh services integrated functionality in the distributed heterogeneous environment, has strengthened features such as the mutual and complicated life management of P2P resource; The BPEL of Web service has been concentrated the advantage of the XLANG language of Web service stream language and Microsoft, has expanded the Web service interaction models, has had the ability of describing the miscellaneous service process; Global Grid forum has released the grid work flow language that can describe comparatively complicated flow process, and has added characteristics such as resource query, transfer of data at the distributivity and the dynamic of grid.These workflow descriptive languages all meet the standard of extend markup language, can be used for describing the details of grid work streaming system and complicated constraints and the sequential relationship between the task.But its shortcoming is more complicated, is difficult to grasp and understanding, and is unfavorable for the communication between developer and the user.
Many grid work streaming systems adopt patterned mode to describe grid work flow, as: GridAnt, GridFlow, Triana, Condor and Pegasus adopt directed acyclic graph, it is a kind of graphic process describing method that is easily understood, node among the figure is represented activity or the state in the process, and directed arc is then represented the sequential dependence between the node, and the weights on the arc are represented various cost attribute or parameter.But also there are some defectives in it: at first, the statement of directed acyclic graph describing method is limited in one's ability, owing to there is not loop, makes it be difficult to describe cyclic process in the flow process; Secondly, do not have the descriptor of task status in the directed acyclic graph, the user can't simulate the practice condition with supervisory control system; Once more, directed acyclic graph lacks authentication function, can't verify the validity of Workflow system.
Because the Petri net has graphical intuitively expression method equally, and possesses the ability of handling parallel task, concurrent task, resource-sharing, have formal theoretical foundation and multiple analytical technology and instrument simultaneously, in the flow process modeling, be subjected to paying close attention to widely, formed a lot of achievements in research and prototype system and product.In order to remedy the deficiency of directed acyclic drawing method, some models have adopted the Petri net to describe the grid work streaming system.In addition, the researcher also expands the dynamic of Petri net, has proposed dynamic generation and the scheduling that gridding task described in the D-PetriNet descriptive language.Compare with the directed acyclic drawing method, the Petri netting gear has stronger descriptive power.But the substantive requirements of form of Petri net are relatively stricter, ratio is difficulty, and the Petri net is limited to the judgement of whole system state, is difficult to have the processing scheme that provides abnormal conditions exactly in mind from the angle of whole system, also can't definitely describe the flow process control with complicated constraints.
Nowadays, the incident-condition-active rule with deep theory has been applied in the workflow field, is demonstrating advantage aspect the flexible Control work flow process.But this rule also comes with some shortcomings: be difficult to come description incident-condition-active rule with patterned mode, so the user is difficult to management and understands; It is a kind of event driven rule, is difficult to describe the state-driven rule; And incident-condition-active rule does not have the integrality of descriptive system clearly, constraint and dependence in the complication system beyond expression of words.
At present, the research of relevant specification and semiology has especially obtained certain achievement aspect the computer supported cooperative work in computer realm, modeling and function aspects in organization system and information system all have its corresponding theory and method, and have obtained good result in actual applications.The autgmentability of standard is better, and it not only can describe the rule of event-driven and state-driven, and goes out to send research work flow process and abnormal conditions thereof from the integrality of system, is applicable to the system of describing distributed and non-centralized management.Current, the research aspect formalized description, flow process modeling, conflict checking and the emulation of standard is less.
Summary of the invention
The objective of the invention is to propose the formalized description method and the verification method of the grid work streaming system that a kind of standard drives, make in the process of dynamic analog grid work streaming system operation, according to given rule, system mode is constantly changed, up to system finishing.Semantic conflict in can inspection rule in this process is guaranteed its semantic integrity.
The formalized description method of the grid work streaming system that the present invention proposes, main contents are exactly to utilize the general format of standard: whenever<condition〉if<state〉then<agent〉is<deontic operator〉to do<action〉the task scheduling problem in the flow process described.
In the flow process modeling, mainly consider the scheduling problem of task, that is to say and satisfying the task that execution is waited under the certain conditions or hang up, the task of hanging up execution or execution of aborting task or the like.According to the general format of Norm, we treat each task as agent, come scheduler task according to different conditions and state, utilize Norm dynamically to describe sequential relationship between the task.The formalized description of Norm in this process control system comprises: the definition of the definition of the definition of the formalization definition of task, the definition of task status, state discriminant function, the definition of message function, action-function, the definition of grid work streaming system real-time status, the collection of can executing the task, the formalization definition of standard.
1. the formalization of task definition
The formalization definition of the task in the grid work streaming system, it is a five-tuple, comprise input resource, output resource, task executions and finish function, constraints and return results, note τ=<IP, OP, PG, CS, RT 〉, wherein, IP is the input resource, OP is the output finished product, and PG is process, the function of finishing or the subtask that task is carried out, and CS is the constraints of task, CS has comprised execution resource, time of implementation restriction of program implementation environment, task appointment or the like, and RT represents that task carries out the return results after finishing.In the grid work streaming system the set of the task that might be performed be T 0
2. the state of task
The state of task comprises five states: wait state, executing state, suspended state, status of fail and success status, the note state set is S 0, S 0={ " Waiting ", " Running ", " Suspending ", " Aborted ", " Finished " }.Wherein, " Waiting " represents that task is in wait state, and its executive condition is also not ready, and it is the initial condition of all tasks; " Running " represents that this task has begun to carry out, and does not finish but all carry out; " Suspending " represents that task is suspended the execution of suspended task in the process of carrying out; The task of representing " Aborted " takes place to withdraw from executing state unusually or be forced to interrupt in the process of carrying out to carry out, and task is carried out failure; " Finished " represents that task is normally complete, withdraws from executing state, and task runs succeeded." Running " and " Suspending " are the intermediatenesses of task, and " Aborted " and " Finished " are the state of terminations of task.
3. the state discriminant function of task
There are five state discriminant functions in five states corresponding to task, be used for judging whether task is in corresponding state, if five state discriminant functions are: IsWaiting (τ), IsRunning (τ), IsSuspending (τ), IsAborted (τ), IsFinished (τ), corresponding implication is respectively: if the current state of task is " Waiting "/" Running "/" Suspending "/" Aborted "/" Finished ", then return true; Otherwise, return vacation.
4. message function
The message function is the message that task is sent when transition stage, and note message function is Msg (τ), ∀ τ ∈ T 0 , Msg(τ)∈S 0。It is ageing to it should be noted that the message function has, and in certain period of time, the message function returns the state after the transformation, if surpass the specific time, then returns null value.The state exchange of task is clocklike, so also there is corresponding restriction in the message function: the task of the being in " Waiting " " Running " that only may initiate a message; The task of being in " Running " may initiate a message " Suspending ", " Aborted " or " Finished "; The task of being in " Suspending " may initiate a message " Running " or " Aborted "; The task of the being in " Finished " " Running " that only when circulation is carried out, just can initiate a message, other situations are next can not to initiate a message; The task of being in " Aborted " is not sent any message.
5. action-function
Four action-functions can going out on missions according to the state of task: begin to carry out the task of being in wait state, continue to carry out the task of being in suspended state, termination is in the task of execution or suspended state, hang-up is in the task of executing state, be designated as respectively: ToBegin (τ), ToContinue (τ), ToCancel (τ), ToSuspend (τ), corresponding implication is respectively: begin to carry out the task of being in " Waiting " state, continue to carry out the task of being in " Suspending " state, termination is in the task of " Running " state or " Suspending " state, hang-up is in the task of " Running " state.After the action-function of executing the task, corresponding change will take place in the state of task, can send corresponding message function simultaneously.
6. the real-time status of grid work streaming system
The real-time status of grid work streaming system is a tlv triple, and it comprises: the sequential relationship of the function of state of the set of all being performed of tasks, task, all tasks set in the current time flow system.Note q iFor the grid work streaming system at moment t iA tlv triple of real-time status, q i=<T, f i, TS 〉, wherein, T is moment t iThe set of all being performed of tasks in the grid work streaming system (comprise carrying out of task, the task of being in hang-up, running succeeded of task and carry out the task of failing), that is: T ⊆ T 0 ; f iBe a function, the expression task is at moment t iState, that is: ∀ τ ∈ T 0 , f i(τ) ∈ S 0TS is the set of the minimum sequential relationship of all tasks among the T, that is, if τ i, τ j∈ T, and τ iτ j, τ then iτ j∈ TS.The initial condition q of flow system 0={ φ, f 0, φ }, ∀ τ ∈ T 0 , f 0(τ)="Waiting"。
7. the collection of can executing the task
At moment t iSatisfy the task-set of executive condition, be defined as CanRun i
8. the formalization of standard (Norm) definition
The formalization of standard definition is a tlv triple in the grid work streaming system, and it comprises: the system mode of previous moment, back one system mode constantly, the condition that needs are judged.Being expressed as follows of this tlv triple: q i∧ C i→ q I+1, wherein, q iExpression is t constantly iThe state of flow system, q I+1Expression is t constantly I+1The state of flow system, C iExpression is t constantly iNeed the condition of judgement, it is the union of a plurality of functions, can be state discriminant function, message function, constraint discriminant function, also can be the function of time, can also be action-function.
Define with the formalization of Norm and to describe several workflow pattern commonly used:
1 ordered mode
q i∧(Msg(τ 1)="Finished")∧IsMatched(τ CS)→q i+1∧IsFinished(τ 1)∧IsRunning(τ 2)∧Msg(τ 2)="Running"
2 parallel bifurcated patterns
q i∧(Msg(τ 1)="Finished")∧IsMatched(τ CS)∧IsMatched(τ CS)→q i+1∧IsFinished(τ 1)∧IsRunning(τ 2)∧IsRunning(τ 3)∧Msg(τ 2)="Running"∧Msg(τ 3)="Running"
3 synchronous modes
((q i∧(Msg(τ 1)="Finished")∧IsFinished(τ 2))∨(q i+1∧(Msg(τ 2)="Finished")∧IsFinished(τ 1)))∧IsMatched(τ CS)→q i+2∧IsFinished(τ 1)∧IsFinished(τ 2)∧IsRunning(τ 3)∧Msg(τ 3)="Running"
4 exclusive preference patterns
q iEight (Msg (τ 1)=" Finished ") ∧ IsMatched (τ 2CS) → (q I+1∧ IsFinished (τ 1) ∧ IsRunning (τ 2) ∧ IsWaiting (τ 3) ∧ Msg (τ 2)=" Running ")
q i∧(Msg(τ 1)="Finished")∧IsMatched(τ CS)→(q i+2∧IsFinished(τ 1)∧IsRunning(τ 3)∧IsWaiting(τ 2))∧Msg(τ 3)="Running"
5 simple merging patterns
①q i∧(Msg(τ 1)="Finished")∧IsMatched(τ CS)→q i+1∧IsFinished(τ 1)∧IsRunning(τ 3)∧Msg(τ 3)="Running"
②q i+2∧(Msg(τ 2)="Finished")∧IsMatched(τ CS)→q i+3∧IsFinished(τ 2)∧IsRunning(τ 3)∧Msg(τ 3)="Running"
1. formula and 2. formula to set up simultaneously.
6 circulation patterns
q i∧(Msg(τ 1)="Finished")∧IsMatched(τ CS)→q i∧IsRunning(τ 1)∧Msg(τ 1)="Running"
q i∧(Msg(τ 1)="Finished")→q i+1∧IsFinished(τ 1)
The mistake of in the implementation of reality, being brought for fear of Norm, we need describe Norm and carry out necessary checking: at first the semantic integrity of each Norm is verified, verify that then whether whole Norm set exists semantic conflict, proves the semantic completeness of Norm set at last.For this reason, we have proposed the state machine model that Norm drives.
In order to verify the correctness of Norm set, we will analyze the feature of Norm earlier: the formalization definition according to Norm can be found out easily, Norm is made up of three parts: two states and a condition, and when satisfying condition, a state can be converted into another state.
According to this characteristic of Norm, we are the theoretical combination of Norm and state machine, proposed the flow state machine model that Norm drives (a Norm-driven Process State Machine Model, NPSM).NPSM is the expansion of carrying out on traditional state machine, redefined the implication of node and directed arc: node is represented a real-time status among the Norm, directed arc between the node represents that state transforms conditions needed, so directed arc and starting point thereof and terminal point have been formed a Norm jointly.
NPSM is one seven tuple, NPSM=<T 0, S 0, Q, C, δ, q 0, F 〉, wherein:
(1) T 0It is the set of all task in the flow scheduling system;
(2) S 0={ " Waiting ", " Running ", " Suspending ", " Aborted ", " Finished " } is the set of all states of task;
(3) Q is the set of real-time status in the flow system, Q={q i| q iBe moment t iThe state of system;
(4) C is the set of all state discriminant function, message function, constraint discriminant function, the function of time and action-function;
(5) status change function δ: Q * P (C) → Q; The proper subclass of the power set of P (C) expression set C;
(6) q 0∈ Q is an initial condition;
(7) nonempty set F ⊆ Q It is the state of termination collection.
In NPSM, the state of flow system is from start node, by status change function and each intermediate node, arrives terminal node always.So just can verify the semantic integrity of Norm set.
For description and the authentication function of realizing Norm, the present invention has developed prototype system---and based on semiology modeling and the verification tool of Norm, it is divided into four modules: service is provided with module, rule is provided with module, data set module and dry run module.In prototype system, at first the formalization definition with Norm is described the service in the flow system, has defined the attribute that they had, state, function, action and restrictive condition.Come sequential relationship between various functions, the task and constraints in the define system by proof rule and state-driven rule then, and come conflict and semantic integrity in the inspection rule by regular verification tool.At last, utilize the matching relationship between rule, constraints and the system mode, simulate the operation of grid work streaming system by the dry run module.
Below detailed introduce prototype system each form module:
(1) service is provided with module:
Service is provided with the attribute of serving in the module definition system, comprises that COS setting and service entities are provided with two little modules:
It is the set that a class has the entity of same alike result, behavior and action that COS is provided with module, and on the basis of these attributes, has similar state.It mainly is attribute-name, type, behavior, action and the state that service is set that service is provided with module.The behavior setting of service refers to after certain behavior of this service execution the influence to Service Properties played, the objective attribute target attribute, action type and the duration that comprise service, act of execution is exactly in fact to revise the property value of service entities, and excite the generation of other incidents, have different action types with respect to dissimilar attributes.The state setting of service is a state of determining service according to the span of the dynamic attribute of service, the property value that is in the different range has determined the different conditions of serving, the state of service can be by single property value decision, also can be that a plurality of property values are coefficient, the setting of coverage be divided into scope shape and two kinds of situations of definite value shape.
It is that attribute to Service Instance carries out concrete assignment that service entities is provided with module.When increasing a new entity, at first give its initial service, and give initial value according to the attribute of service; This function also can be made amendment to original entity attribute or directly use according to user's actual conditions.Service entities is provided with module an entity general chart also is provided, and shows the details of each entity by tree-like mode, and wherein ground floor is the entity title; The second layer is relevant attribute, state, action and restrictive condition; The 3rd layer of details that specifically describes attribute, state, action and restrictive condition.
In addition, this module also provides the output function of service and entity information, and it can output to the entity information that sets in the XML file and preserve.
(2) rule is provided with module:
Rule is the core of whole prototype system, is the specific implementation that Norm describes.It is that rule setting with system is entered into data centralization that rule is provided with module functions, and it comprises parts such as proof rule, executing rule, state-driven rule, trigger condition setting and rule checking.
Proof rule has partly defined the rule of detection system state, has comprised the object type of needs checkings, needs the type of state, validation value and the return value of checking.Because being a subclass by system property, the state of system determined, so when these attributes that participate in the decision states satisfy validation value, just think that the state of system has obtained checking.When proof rule is set, set a unique name at first will for this proof rule, selecting this rule then is to verify the sort of service, and wherein Yan Zheng COS is to be provided with the set service of module from service to select.Next be the state that the service state of the needs checking that provides in being provided with according to service state is selected the service that needs judge, the whether negate of the data returned can be set then.So just be provided with a proof rule.
Executing rule has partly defined system when carrying out certain action to the rule of the concrete influence that its state produced.This has comprised affected object, and its affected property value is carried out after certain action, and corresponding attribute will change, thereby makes system be in a new state.When executing rule is set, set a unique name at first will for this executing rule, select this rule to operate then at the sort of service, wherein executing rule at service be from current all services, to select.Next be to select the performed action of this rule, action is from service action the module to be set to select in being provided with, and action is set simultaneously to the side-play amount that influences that Service Properties produced.So just be provided with an executing rule.
The state-driven rule is a bridge with incident or state, and proof rule and executing rule are associated.When a driving rule is triggered, at first carry out relevant proof rule, if the verification passes, prove that then this driving rule meets trigger condition, then Xiang Guan executing rule will be performed, and to change the association attributes of system, arrive a new state.The state-driven rule is the precondition of grid work flow system simulation.When the state-driven rule is set, a trigger event will be set at first, this incident can be that a kind of state also can be an incident, and it must be to be provided with during incident is provided with; This regular state Rule of judgment is set then, Rule of judgment is the set of a series of proof rule, proof rule has comprised regular entity two parts of verifying with needs own, proof rule is provided with the module from proof rule and selects in the set rule, the entity of checking will meet the service restriction in the proof rule, just will select the entity that will verify from meet the desired service of proof rule; Also need to be provided with executing rule then, executing rule has also comprised two parts: executing rule itself and execution entity, same reason, executing rule also are to select from the set of existing executing rule, carry out entity and also will meet in the executing rule constraints to the role.
Trigger condition is divided into task triggering, action triggers and state and triggers three kinds of situations, it is the trigger that the state-driven rule is carried out, the state-driven rule only could be moved executing rule satisfying under certain trigger condition, thereby realizes the normal dry run of grid work streaming system.
The rule verification portion can be to certain rule or all rules checks that conflicts, and it checks mistake in the rule according to the restrictive condition of role and entity or sequential relationship, and at length to the rule, identifying object and the checking attribute that make mistake.
(3) data set module:
The data set module has adopted the data structure of relationship type, preserves and represents the various configuration informations of data, system with the form of tree, and do not need extra database support.And can also set up index relative between each table of a data set inside, reach the purpose of data navigation between the table, guarantee the completeness constraint of data by this relation.
In addition, the storage format of data set is to adopt the SDAL form, and it is the expansion of XML form, has increased the element definition that relevant Norm describes, and usually realizes the description of data by these self-defining units.The data set module is supported the function that imports and exports of data.
(4) dry run module:
The dry run module is according to service module and rule to be set module to be set inner data set is carried out the data setting, task executions process in the simulated technological process system, simultaneously can also detect the mistake that may occur in the implementation, it combines dynamically descriptive system to the various elements in the flow system in fact exactly.It divides manual and automatic dual mode to carry out.In addition, system also provides " reduction of data " function, is used for all attributes of entities values are returned to dry run state before, is convenient to the execution repeatedly of dry run.
The dry run module has comprised following several partial contents:
Each attributes of entities and real-time status change in the service watch window display system running, and this window shows all entity titles and affiliated COS; The incident monitor window has shown all driving rules that incident triggered, and explain specifically and carry out this rule by that entity, the selection of concrete entity is calculated according to definite expression formula of rule objects and is got, and shows corresponding proof rule and executing rule simultaneously.
What show in the operation information hurdle is the operating details of system, comprises the variation, the action of triggering, the state that needs are judged, the selection of object or the like of rule, entity attribute and state of incident, state-driven rule, the checking of current triggering.Information has described each the step operation in the system simulation process, the result and the caused state variation of operation in detail.Shown event sequence in the task execution in the event queue, they are to be arranged in order according to the sequencing of carrying out, wherein: beat the complete task of expression of colluding, arrow refers to current carrying out of task, but unmarked entering formation not beginning to carry out of the task that refers to, the task of failure is carried out in the expression of making fork.
Dry run is divided into manual and automatic dual mode.In manual mode, by " beginning " initiating task, each carry out " next step " then can trigger the corresponding driving rule.In this process, the user can be by revising the property value of serving in the service watch window, to reach the purpose of intervening and testing special duty.In the automated manner, all are carried out by the rule that sets in advance, finish or make mistakes up to function smoothly.
Also have " reduction of data " button in the control panel, be used for all attributes of entities values are returned to dry run state before, be convenient to the execution repeatedly of dry run.
In addition, the system simulation program also provides the data monitoring window, can the monitoring system running in all change in information situations.
Embodiment
Test case is an ordering service based on grid work flow.Its flow process is: given one group of data, according to threshold value these group data are divided into two parts by a grid node (node cut apart in abbreviation) that provides data to cut apart service, next respectively two groups of subdatas are sorted by two ordering joint, by a merge node two ranking results are merged then, finally obtain the ranking results of whole data.
Service is provided with:
By COS the interface is set, newly-built COS and corresponding attribute such as following table:
By COS the interface is set, the state such as the following table of COS is set:
Type is set moves as following table:
Figure C200510027785D00151
Establish the interface by proof rule, proof rule such as following table be set:
Figure C200510027785D00152
Establish the interface by executing rule, executing rule such as following table be set:
By service the interface is set, sets the specific object value of service, as following table:
Figure C200510027785D00161
By driving rule the interface is set, newly-built driving rule sets driven object, proof rule set, executing rule set that drives rule and the incident that will trigger, concrete data such as following table:
The driven object part:
Figure C200510027785D00162
The set of driving proof rule:
Figure C200510027785D00163
The set of driving executing rule:
Drive the incident that rule will trigger:
It is as follows that rule is provided with in the module validation process steps to rule:
(1) by the proof rule name, from the table " proof rule tabulation " of data set, obtains the COS name that proof rule will act on.
(2) from the table " proof rule " of data set, obtain all proofing state name and return type thereof by the proof rule name.
(3) for each proofing state, from the table " type state " of data set, obtain all objective attribute target attributes according to proofing state name and COS, and the Authentication-Type of objective attribute target attribute, upper and lower bound.
(4) travel through the objective attribute target attribute of all proofing states, do following the processing:
(a) if objective attribute target attribute is the Inter32 type: if the return type of proofing state is " not negate ", then with objective attribute target attribute as major key, (lower limit, the upper limit) two tuples as object, are inserted in the Hash table; If the return type of proofing state is " negate ", then with objective attribute target attribute as major key, will (, lower limit) be inserted in the Hash table as object with (upper limit ,+) two two tuples.
(b) if objective attribute target attribute is the Double type: if the return type of proofing state is " not negate ", then with objective attribute target attribute as major key, (lower limit, the upper limit) two tuples as object, are inserted in the Hash table; If the return type of proofing state is " negate ", then with objective attribute target attribute as major key, will (, lower limit) be inserted in the Hash table as object with (upper limit ,+) two two tuples.
(c) if objective attribute target attribute is the String type: if the return type of proofing state is " not negate ", then with objective attribute target attribute as major key, will (+, lower limit) two tuples as object, be inserted in the Hash table; If the return type of proofing state is " negate ", then with objective attribute target attribute as major key, will (, lower limit) two tuples as object, be inserted in the Hash table.
(d) if objective attribute target attribute is the Boolean type: if the return type of proofing state is " not negate ", then with objective attribute target attribute as major key, will (+, lower limit) two tuples as object, be inserted in the Hash table; If the return type of proofing state is " negate ", then with objective attribute target attribute as major key, will (, lower limit) two tuples as object, be inserted in the Hash table.
(5) travel through the Hash table that obtains at last,, travel through its two follow-up tuple for each objective attribute target attribute as major key:
(a) if objective attribute target attribute is the Inter32 type, two tuples that then will obtain are treated as the interval, wherein-expression is negative infinite, + expression is just infinite, if existing between two two tuples has codomain to overlap, then export authentication failed information, proof rule name, proofing state name and the objective attribute target attribute name of conflict appears in prompting.
(b) if objective attribute target attribute is the Double type, two tuples that then will obtain are treated as the interval, wherein-expression is negative infinite, + expression is just infinite, if existing between two two tuples has codomain to overlap, then export authentication failed information, proof rule name, proofing state name and the objective attribute target attribute name of conflict appears in prompting.
(c) if objective attribute target attribute is the String type, two tuples that then will obtain are treated as character string, wherein-the expression character string that should not occur, + the character string that should occur, if have the character string that should occur more than two or have a character string promptly to change the existing situation that should not occur again, then export authentication failed information, proof rule name, proofing state name and the objective attribute target attribute name of conflict appears in prompting.
(d) if objective attribute target attribute is the Boolean type, two tuples that then will obtain are treated as Boolean variable, wherein-expression back the Boolean variable negate, the Boolean variable of+expression back does not need negate, if existing True has False again in the Boolean variable sequence, then export authentication failed information, proof rule name, proofing state name and the objective attribute target attribute name of conflict appears in prompting.
(6) if export without any authentication failed information in (5), then output is proved to be successful information, does not have conflict in the expression proof rule.
Drive the implementation of executing rule in the rule:
(1) extracts every the concentrated executing rule name of executing rule that drives in the rule.
(2) according to the executing rule name, from the table " executing rule " of data centralization, extract all object actions, and the pairing objective attribute target attribute of object action, action type, operating parameter.
(3) do following operation according to driving driven object and the resulting object action information determined in the rule:
(a) if action type is " increase ", then from " Service Properties " table of data set, take out property value according to driven object (service) name and objective attribute target attribute name, after operating parameter is added up up, be updated in the property value of " Service Properties " table.
(b) if action type is " minimizing ", then from " Service Properties " table of data set, take out property value according to driven object (service) name and objective attribute target attribute name, deduct after the operating parameter, be updated in the property value of " Service Properties " table.
(c) if action type is " setting ", then from " Service Properties " table of data set, take out property value according to driven object (service) name and objective attribute target attribute name, change to operating parameter again after, be updated in the property value that " Service Properties " show.
(4) after the everything of each bar executing rule executes, according to the executing rule name, from " list of thing " of data set, obtain deserved executing rule trigger event, add the afterbody of event queue to.
(5) after all executing rules that drive rule execute, according to driving rule name, from " the driving trigger event " of data set, obtain deserved executing rule trigger event, add the afterbody of event queue to.
Dry run:
(1) manual mode of operation: after selecting " data sorting task ", press " beginning " manual in the control panel, just " request ordering service " incident is triggered in event queue, and running is as follows:
Driving rule " request ordering service " is triggered:
Service " data storage service 1 " is selected.
With proof rule " stores service can the with " service for checking credentials " data storage service 1 ":
" insufficient space " state (negate) of the service for checking credentials " data storage service 1 ":
Attribute " remaining space " (Double) property value is--48 (G)
Authentication-Type: " scope " lower limit: 0, the upper limit: 1
Checking is passed through!
Trigger executing rule--" execution storage "
The attribute " remaining space (G) " of service " data storage service 1 ": 48--〉47
Producing new events--data are relatively
(2) carry out " next step ", " request ordering service " incident is finished, and the process of operation " data are relatively " incident is as follows:
Driving rule " data are relatively " is triggered:
Service " relatively serving 2 " is selected.
" relatively serve " service for checking credentials available with proof rule and " relatively serve 2 ":
" at full capacity " state (negate) that the service for checking credentials " relatively serves 2 ":
Attribute " processor load " (Double) property value is--0 (%)
Authentication-Type: " scope " lower limit: 90, the upper limit: 100
Checking is passed through!
Trigger executing rule--" carrying out data relatively "
The attribute " processor load (%) " of service " relatively serving 2 ": 0--〉20
Produce new events--data sorting
(3) carry out " next step ", " data are relatively " incident is finished, and the process of operation " data sorting " incident is as follows:
Driving rule " data sorting " is triggered:
" ordering service 2 is " selected in service.
" ordering service 2 is " selected in service.
" sort and serve 2 " with proof rule " the ordering service the is available " service for checking credentials:
" at full capacity " state (negate) of the service for checking credentials " ordering service 2 ":
Attribute " processor load " (Double) property value is--0 (%)
Authentication-Type: " scope " lower limit: 85, the upper limit: 100
Checking is passed through!
Trigger executing rule--" execution data sorting "
The attribute " processor load (%) " of service " ordering service 2 ": 0--〉15
Producing new events--request msg merges
Trigger executing rule--" execution data sorting "
The attribute " processor load (%) " of service " ordering service 2 ": 15--〉30
Producing new events--request msg merges
(4) carry out " next step ", " data sorting " incident is finished, and the process of operation " request msg merging " is as follows:
Driving rule " request msg merging " is triggered:
It is selected that service " merges service 2 ".
" merge service 2 " with proof rule " it is available the to merge service " service for checking credentials:
" at full capacity " state (negate) that the service for checking credentials " merges service 2 ":
Attribute " processor load " (Double) property value is--0 (%)
Authentication-Type: " scope " lower limit: 80 upper limits: 100
" the full connection " state (negate) that the service for checking credentials " merges service 2 ":
Attribute " residue inserts number " (Inter32) property value is--2 (individual)
Authentication-Type: " definite value " lower limit: 0, the upper limit: 0
Checking is passed through!
Trigger executing rule--" carrying out data inserts "
The attribute that service " merges service 2 " " residue inserts number (individual) ": 2--〉1
(5) carry out " next step ", " request msg merging " incident is finished, and the process of moving second " request msg merging " is as follows:
Driving rule " request msg merging " is triggered:
It is selected that service " merges service 2 ".
" merge service 2 " with proof rule " it is available the to merge service " service for checking credentials:
" at full capacity " state (negate) that the service for checking credentials " merges service 2 ":
Attribute " processor load " (Double) property value is--0 (%)
Authentication-Type: " scope " lower limit: 80 upper limits: 100
" the full connection " state (negate) that the service for checking credentials " merges service 2 ":
Attribute " residue inserts number " (Inter32) property value is--1 (individual)
Authentication-Type: " definite value " lower limit: 0, the upper limit: 0
Checking is passed through!
Trigger executing rule--" carrying out data inserts "
The attribute that service " merges service 2 " " residue inserts number (individual) ": 1--〉0
(6) carry out " next step ", " request msg merging " incident is finished, and the process of operation " data merging " is as follows:
Driving rule " data merging " is triggered:
It is selected that service " merges service 2 ".
" merge service 2 " with proof rule " it is ready the to merge service " service for checking credentials:
" the full connection " state (not negate) that the service for checking credentials " merges service 2 ":
Attribute " residue inserts number " (Inter32) property value is--0 (individual)
Authentication-Type: " definite value " lower limit: 0, the upper limit: 0
Checking is passed through!
Trigger executing rule--" carrying out data merges "
The attribute " processor load (%) " that service " merges service 2 ": 0--〉10
Produce new events--event memory
(7) carry out " next step ", " data merging " incident is finished, and the process of operation " event memory " is as follows:
Driving rule " event memory " is triggered:
Service " data storage service 1 " is selected.
With proof rule " stores service can the with " service for checking credentials " data storage service 1 ":
" insufficient space " state (negate) of the service for checking credentials " data storage service 1 ":
Attribute " remaining space " (Double) property value is--47 (G)
Authentication-Type: " scope " lower limit: 0, the upper limit: 1
Checking is passed through!
Trigger executing rule--" execution result storage "
The attribute " remaining space (G) " of service " data storage service 1 ": 47--〉46
(8) whole ordering work is finished!
(9) under automatic mode, the process of (1) to (8) will once be finished, but can't be as manual mode sees the variation of calling of the variation of Service Properties and rule at the monitoring window.

Claims (3)

1, the grid work flow formalized description method that a kind of standard drives, utilize general format: whenever<condition〉if<state〉then<agent〉is<deontic operator〉to do<action〉the task scheduling problem in the flow process is described, it is characterized in that the formalization definition of Norm in this flow process control mesh Workflow system comprises: the formalization definition of task, the definition of task status, the definition of state discriminant function, the definition of message function, the definition of action-function, the definition of grid work streaming system real-time status, the definition that can execute the task and collect, the formalization definition of standard; Wherein:
The formalization definition of task is a five-tuple, comprising: function, constraints and return results that input resource, output resource, task are finished;
The state set of task comprises five states: wait state, executing state, suspended state, status of fail, success status;
The state discriminant function has five, corresponds respectively to five states of task, whether is in corresponding state in order to judge task;
The message function is the message that task is sent when transition stage, and it has ageing, and in certain period of time, the message function returns the state after the transformation, if surpass the specific time, then returns null value;
Action-function draws according to the state of task, have four action-functions: begin to carry out the task, the continuation that are in wait state and carry out the task of being in suspended state, the task that termination is in execution or suspended state, the task that hang-up is in executing state, after the action-function of executing the task, corresponding change will take place in the state of task, can send corresponding message function simultaneously;
The real-time status of grid work streaming system is a tlv triple, and it comprises: the sequential relationship of the function of state of the set of all being performed of tasks, task, all tasks set in the current time grid work streaming system; The collection of can executing the task is to carve the set of tasks that satisfies executive condition at a time;
The formalization of standard definition is a tlv triple in the grid work streaming system, it comprises: the grid work flow system mode of previous moment, back one grid work flow system mode constantly, the condition that needs are judged, wherein Rule of judgment is the union of a plurality of functions, can be state discriminant function, message function, constraint discriminant function, the function of time or action-function.
2, the verification method of the grid work flow formalized description that drives of a kind of standard as claimed in claim 1 is characterized in that providing verification model---the grid work flow state machine model that standard drives of standard; It is the expansion of carrying out on traditional state machine, redefined the implication of node and directed arc: node is represented a real-time status in the grid work flow system, directed arc between the node represents that state transforms conditions needed, and directed arc and starting point thereof and terminal point have been formed a standard jointly; Its formalization is defined as follows:
The grid work flow state machine model that standard drives is seven a tuples<T 0, S 0, Q, C, δ, q 0, F 〉, wherein:
(1) T 0It is the set of all task in the grid work streaming system;
(2) S set of all states of task 0={ " Waiting ", " Running ", " Suspending ", " Aborted ", " Finished " };
(3) Q is the set of real-time status in the grid work streaming system, Q={q i| q iBe moment t iThe state of grid work streaming system;
(4) C is the set of all state discriminant function, message function, constraint discriminant function, the function of time and action-function;
(5) status change function δ: Q * P (C) → Q; The proper subclass of the power set of P (C) expression set C;
(6) q 0∈ Q is an initial condition;
(7) nonempty set F ⊆ Q It is the state of termination collection.
3, verification method according to claim 2 is characterized in that further providing grid work flow modeling and verification tool based on standard, and it is divided into four modules: service is provided with module, rule is provided with module, data set module and dry run module; Wherein, at first the formalization definition with standard is described the service in the grid work streaming system, has defined the attribute that they had, state, function, action and restrictive condition; Define sequential relationship between various functions, the task and constraints in the grid work streaming system by proof rule and state-driven rule then, and come conflict and semantic integrity in the inspection rule by regular verification tool; At last, utilize the matching relationship between rule, constraints and the grid work flow system mode, simulate the operation of grid work streaming system by the dry run module; Wherein:
Service is provided with the attribute of serving in the module definition grid work streaming system, comprise that COS setting and service entities are provided with two little modules: it is the set that a class has the entity of same alike result, behavior and action that COS is provided with module, and on the basis of these attributes, have similar state, it mainly is attribute-name, type, behavior, action and the state that service is set that service is provided with module; It is that attribute to Service Instance carries out concrete assignment that service entities is provided with module, when increasing a new entity, at first gives its initial service, and gives initial value according to the attribute of service; This function also can be made amendment to original entity attribute or directly use according to user's actual conditions;
It is that rule setting with the grid work streaming system is entered into data centralization that rule is provided with module functions, and it comprises parts such as proof rule, executing rule, state-driven rule, trigger condition setting and rule checking;
The data set module has adopted the data structure of relationship type, preserves and represents the various configuration informations of data, grid work streaming system with the form of tree, and do not need extra database support;
The dry run module is exactly according to service module and rule to be set and module is set inner data set is carried out the data setting, and task executions process in the simulation grid work streaming system can also detect the mistake that may occur in the implementation simultaneously; The dry run module has comprised following several partial contents: each attributes of entities and real-time status change in the service watch window show grid Workflow system running, and this window shows all entity titles and affiliated COS; The incident monitor window has shown all driving rules that incident triggered, and explain specifically and carry out this rule by that entity, the selection of concrete entity is calculated according to definite expression formula of rule objects and is got, and shows corresponding proof rule and executing rule simultaneously; What show in the operation information hurdle is the operating details of grid work streaming system, comprises the variation, the action of triggering, the state that needs are judged, the selection of object of rule, entity attribute and state of incident, state-driven rule, the checking of current triggering.
CNB2005100277852A 2005-07-15 2005-07-15 Network working flow describing and verificating method driven normally Expired - Fee Related CN100484140C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100277852A CN100484140C (en) 2005-07-15 2005-07-15 Network working flow describing and verificating method driven normally

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100277852A CN100484140C (en) 2005-07-15 2005-07-15 Network working flow describing and verificating method driven normally

Publications (2)

Publication Number Publication Date
CN1719832A CN1719832A (en) 2006-01-11
CN100484140C true CN100484140C (en) 2009-04-29

Family

ID=35931555

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100277852A Expired - Fee Related CN100484140C (en) 2005-07-15 2005-07-15 Network working flow describing and verificating method driven normally

Country Status (1)

Country Link
CN (1) CN100484140C (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427416B (en) * 2011-12-12 2014-07-23 东软集团股份有限公司 Distributed event detection method and device
CN105068793A (en) * 2015-07-16 2015-11-18 浪潮通用软件有限公司 Method and apparatus for generating business logic relation diagram and realizing business application
CN105844091A (en) * 2016-03-21 2016-08-10 卡斯柯信号有限公司 Three-model system based train operation control system formalized modeling and verification method
CN105787214A (en) * 2016-04-05 2016-07-20 浪潮电子信息产业股份有限公司 Method and device for model verification
CN106156956A (en) * 2016-08-30 2016-11-23 广东华际友天信息科技有限公司 A kind of bank data processing job scheduling system and method thereof
CN107967550B (en) * 2017-05-31 2022-04-19 北京空间技术研制试验中心 Product data packet management system and method
EP3679473B1 (en) * 2017-09-21 2022-06-15 Huawei Cloud Computing Technologies Co., Ltd. A system and method for stream processing
US10951717B2 (en) * 2018-10-10 2021-03-16 Cisco Technology, Inc. Differentiated services within a service mesh
CN109446146B (en) * 2018-11-09 2022-02-08 中国科学院长春光学精密机械与物理研究所 State transition sequence generation method of application layer communication protocol
WO2023004805A1 (en) * 2021-07-30 2023-02-02 西门子股份公司 Workflow modeling implementation system and method, and storage medium

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Grid Workflow based on Dynamic Modeling and Scheduling. Shaohua Zhang,Ning Gu,Saihan Li.Information Technology:Coding and Computing,2004.Proceedings.ITCC 2004.Proceedings of the International Conference on Information Technology:Coding and Computing(ITCC'04),Vol.2 No.2004. 2004
Grid Workflow based on Dynamic Modeling and Scheduling. Shaohua Zhang,Ning Gu,Saihan Li.Information Technology:Coding and Computing,2004.Proceedings.ITCC 2004.Proceedings of the International Conference on Information Technology:Coding and Computing(ITCC'04),Vol.2 No.2004. 2004 *
Research on Workflow of Virtual Organization. Shao-hua Zhang,Ning Gu.Computer Supported Cooperative Work in Design,2004.Proceedings The 8th International Conference on Supported Cooperative Work in Design Proceedings,Vol.1 No.IEEE 2003. 2004
Research on Workflow of Virtual Organization. Shao-hua Zhang,Ning Gu.Computer Supported Cooperative Work in Design,2004.Proceedings The 8th International Conference on Supported Cooperative Work in Design Proceedings,Vol.1 No.IEEE 2003. 2004 *
基于D-Petri Net 和动态调度的网格工作流. 张绍华,顾宁,刘家茂,施伯乐.计算机辅助设计与图形学学报,第17卷第6期. 2005
基于D-Petri Net 和动态调度的网格工作流. 张绍华,顾宁,刘家茂,施伯乐.计算机辅助设计与图形学学报,第17卷第6期. 2005 *

Also Published As

Publication number Publication date
CN1719832A (en) 2006-01-11

Similar Documents

Publication Publication Date Title
CN100484140C (en) Network working flow describing and verificating method driven normally
Moser et al. Semantic integration of software and systems engineering environments
CN105719126B (en) system and method for scheduling Internet big data tasks based on life cycle model
Kheldoun et al. Specification and verification of complex business processes-a high-level petri net-based approach
Biswal et al. A novel approach for scenario-based test case generation
CN102780583B (en) Method for service description, service combination and service quality assessment of Internet of Things
KR100910336B1 (en) A system and method for managing the business process model which mapped the logical process and the physical process model
Cheng et al. Process specification language for project scheduling information exchange
JPH04227544A (en) Method and apparatus for analyzing data flow through complicated information exchange system
Oren et al. Formal frameworks for workflow modelling
Mani et al. Search-based testing of multi-agent manufacturing systems for deadlocks based on models
Liu et al. An improved approach on the model checking for an agent-based simulation system
Koschmider et al. A Petri net based approach for process model driven deduction of BPEL code
Barna et al. A workflow-driven design of web information systems
US7778807B2 (en) Simulation model generator of causality phenomena and events
Bernard et al. Supporting efficient test automation using lightweight MBT
van Hee et al. History-based joins: Semantics, soundness and implementation
Prackwieser et al. Towards a generic hybrid simulation algorithm based on a semantic mapping and rule evaluation approach
CN112817571B (en) Man-machine object fusion application modeling method based on scene storyboard
Li et al. Mapping and Integration of Architecture and Modelling Frameworks.
Ajabri et al. Defining KPIs for Executable DSLs: A Manufacturing System Case Study
Trowitzsch Quantitative Evaluation of UML State Machines Using Stochastic Petri Nets
KR20090073061A (en) A system and method for managing the business process model which mapped the logical process and the physical process model
Calinescu et al. Modelling and simulation of a real complex process-based manufacturing system
Chabbat et al. Formal Verification of UML MARTE Specifications Based on a True Concurrency Real Time Model

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090429

Termination date: 20110715