JP2009230289A - Business process definition conversion device and program - Google Patents

Business process definition conversion device and program Download PDF

Info

Publication number
JP2009230289A
JP2009230289A JP2008072595A JP2008072595A JP2009230289A JP 2009230289 A JP2009230289 A JP 2009230289A JP 2008072595 A JP2008072595 A JP 2008072595A JP 2008072595 A JP2008072595 A JP 2008072595A JP 2009230289 A JP2009230289 A JP 2009230289A
Authority
JP
Japan
Prior art keywords
activity
node
business process
sequence
process definition
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.)
Granted
Application number
JP2008072595A
Other languages
Japanese (ja)
Other versions
JP5109741B2 (en
Inventor
Atsukimi Monma
敦仁 門馬
Naoki Hayashi
直樹 林
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008072595A priority Critical patent/JP5109741B2/en
Publication of JP2009230289A publication Critical patent/JP2009230289A/en
Application granted granted Critical
Publication of JP5109741B2 publication Critical patent/JP5109741B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To add activity to the front and bark parts only of a specific activity column without changing the set of activity columns suitable to business process definition. <P>SOLUTION: Business process definition, a first activity column constituted of two or more activities included in an activity column executable by the business process definition and a second activity column configured of all the elements or partial elements of the first activity column are input, and whether or not the business process definition satisfies such conditions that activity nodes in the activity node column as all elements (activity node column set) which execute all the elements of the first activity column among the activity node columns executable by the business process definition: the activity nodes which execute the elements of the second activity column, are not executed by the activity node column which is not included in the activity node column set is decided, and when the decision is positive, the activity nodes in the activity node column as the elements of the activity node column set: the activity nodes which execute the elements of the second activity column, are output. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、業務を構成する活動分岐・結合、活動・分岐・結合実行の順序関係(シーケンスフロー)を含む業務プロセス定義、および業務プロセス定義を構成する各活動の実行の順序関係に関する制約を対象とした管理技術、特に、業務プロセス定義を変更するとき、目的に合致した変更を可能にするように業務プロセス定義を変換すると共に、その変更が前記制約に適合していることを保証するよう支援する業務プロセス定義変換装置およびプログラムに関する。   The present invention is directed to a business process definition including an activity branch / join that constitutes a business, an order relation (sequence flow) of the activity / branch / join execution, and a restriction on an order relation of execution of each activity constituting the business process definition Management technology, especially when changing business process definitions, helping to transform business process definitions to enable changes that meet their objectives and to ensure that the changes meet the above constraints The present invention relates to a business process definition conversion device and a program.

企業などで行われる業務を対象にして業務プロセス定義を作成し、この定義に記述された順序に基づいて業務を構成する活動を順次実行することが広く行われている。業務プロセス定義の例を図1に示す。図1の業務プロセス定義は、活動(正方形で表示)、排他的分岐(ひし形で表示)、排他的結合(ひし形で表示)をノードとし、活動・分岐・結合実行の前後関係(シーケンスフロー)をアークとする有向グラフとして表現されている。また、各活動には識別のための名前(“a”など)が付与されている。なお、活動の名前と実行する作業の対応関係の例が表で示されている。この業務プロセス定義に適合する業務は、以下のいずれかとして実現される。   It is widely performed to create a business process definition for a business performed in a company or the like, and sequentially execute activities constituting the business based on the order described in the definition. An example of a business process definition is shown in FIG. The business process definition in FIG. 1 has activities (displayed as squares), exclusive branches (displayed as diamonds), and exclusive connections (displayed as diamonds) as nodes, and the context (sequence flow) of activity / branch / join execution. It is expressed as a directed graph with arcs. Each activity is given a name for identification (such as “a”). An example of the correspondence between the name of the activity and the work to be performed is shown in the table. A business conforming to this business process definition is realized as one of the following.

(1)活動a、活動b、活動d、活動fを順次実行する。
(2)活動a、活動b、活動e、活動fを順次実行する。
(3)活動a、活動c、活動d、活動fを順次実行する。
(4)活動a、活動c、活動e、活動fを順次実行する。
(1) Activity a, activity b, activity d, and activity f are sequentially executed.
(2) Activity a, activity b, activity e, and activity f are sequentially executed.
(3) Activity a, activity c, activity d, and activity f are sequentially executed.
(4) Activity a, activity c, activity e, and activity f are sequentially executed.

図1のような業務プロセス定義では、同ーの活動や分岐・結合が複数の位置に配置される場合がある。以下、業務プロセス定義における活動や分岐・結合の位置に関わらず、その活動や分岐・結合の内容にのみ着目する場合は、たとえば活動aなどと記述し、業務プロセス定義における活動や分岐・結合の位置の違いを明示したい場合には、たとえば活動aではなく活動ノードaなどと記述する。特に、業務プロセス定義のシーケンスフローに番号が付与されている場合は、シーケンスフ口一番号を用いて活動ノードの位置を明示するため、たとえば活動ノードa({1},{2})などと記述する。ここで、括弧内の第一要素は活動ノードaを終了端とするシーケンスフローの集合であり、括弧内の第二要素は活動ノードaを開始端とするシーケンスフローの集合である。   In the business process definition as shown in FIG. 1, the same activity or branch / join may be arranged at a plurality of positions. In the following, when focusing only on the contents of an activity or branch / join regardless of the position of the activity or branch / join in the business process definition, for example, describe as activity a, When it is desired to clearly indicate the difference in position, for example, the activity node a is described instead of the activity a. In particular, when a number is assigned to the sequence flow of the business process definition, for example, the activity node a ({1}, {2}) is used to clearly indicate the position of the activity node using the sequence number. Describe. Here, the first element in the parenthesis is a set of sequence flows starting from the active node a, and the second element in the parenthesis is a set of sequence flows starting from the active node a.

なお、本説明書で対象とする業務プロセス定義では、どのノードからもシーケンスフローや他のノードをたどってそのノードに再び到達できないものとする。   In the business process definition targeted in this manual, it is assumed that the node cannot reach the node again by following the sequence flow or other nodes from any node.

図1の業務プロセス定義を計算機プログラムで利用する場合のデータ構造の例を図2Aに示す。図2のデータ構造は、ノードに関する情報とアークに関する情報からなる。また、図1の業務プロセス定義を計算機プログラムで利用する場合のデータ構造のもう一つの例を図2Bに示す。図2Bのデータ構造は、活動や分岐・結合の情報、ノードの情報、および、アークに関する情報からなる。図2Bのデータ構造では、たとえば後述する図5の業務プロセス定義のように、同じ名前の活動や分岐・結合が業務プロセス定義上の複数の位置に出現する場合でも、これらの活動や分岐・結合に関する情報を一元的に保持できる利点がある。   An example of a data structure when the business process definition of FIG. 1 is used in a computer program is shown in FIG. 2A. The data structure in FIG. 2 includes information about nodes and information about arcs. FIG. 2B shows another example of the data structure when the business process definition of FIG. 1 is used in a computer program. The data structure of FIG. 2B includes information on activity, branching / joining, node information, and information on arcs. In the data structure of FIG. 2B, even when activities, branches, and joins having the same name appear in a plurality of positions on the business process definition as in the business process definition of FIG. There is an advantage that the information about can be held centrally.

業務プロセス定義のもう一つの例を図3に示す。図1の業務プロセス定義では、すべての排他的分岐(たとえば排他的分岐ノードA)に対し、その分岐を経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的結合(たとえば排他的結合ノードB)が存在する。また、すべての排他的結合に対し、その結合を経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的分岐が存在する(つまり、排他的分岐ノードAを経由したすべての活動ノードのみが排他的結合ノードBを経由する)。しかし、図3の業務プロセス定義では、たとえば排他的分岐ノードCを経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的結合は存在しない。また、排他的結合ノードEを経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的分岐は存在しない。   Another example of the business process definition is shown in FIG. In the business process definition of FIG. 1, for all exclusive branches (for example, exclusive branch node A), all the active node columns that pass through the branch go through, and the other active node columns do not go through the exclusive join (E.g., exclusive binding node B) exists. In addition, for every exclusive join, there is an exclusive branch that passes through all the active node sequences that pass through the join and does not pass through any other active node sequence (that is, through the exclusive branch node A). All active nodes only go through exclusive binding node B). However, in the business process definition of FIG. 3, for example, there is no exclusive connection through which all the activity node sequences pass through the exclusive branch node C and no other activity node columns pass through. Further, there is no exclusive branch through which all the active node sequences that pass through the exclusive connection node E pass, and through which no other active node sequence passes.

業務プロセス定義のもう一つの例を図4に示す。図4の業務プロセス定義では、図1の業務プロセス定義で用いた活動、排他的分岐、排他的結合、シーケンスフローに加え、フォーク分岐(斜線入りのひし形で表示)とフォーク結合(斜線入りのひし形で表示)が用いられている。この業務プロセス定義に適合する業務は、以下のいずれかとして実現される。   FIG. 4 shows another example of the business process definition. In the business process definition of FIG. 4, in addition to the activities, exclusive branch, exclusive join, and sequence flow used in the business process definition of FIG. 1, fork branch (displayed with hatched diamonds) and fork join (hatched diamonds) Is used). A business conforming to this business process definition is realized as one of the following.

(1)活動a、活動bを順次実行した後に活動fと活動hを並行して実行し、その後に活動iを実行する。
(2)活動a、活動bを順次実行した後に活動gと活動hを並行して実行し、その後に活動iを実行する。
(3)活動a、活動cを順次実行した後に活動fと活動hを並行して実行し、その後に活動iを実行する。
(4)活動a、活動cを順次実行した後に活動gと活動hを並行して実行し、その後に活動iを実行する。
(1) Activity a and activity b are sequentially executed, then activity f and activity h are executed in parallel, and thereafter activity i is executed.
(2) Activity a and activity b are sequentially executed, then activity g and activity h are executed in parallel, and thereafter activity i is executed.
(3) Activity a and activity c are sequentially executed, then activity f and activity h are executed in parallel, and thereafter activity i is executed.
(4) Activity a and activity c are sequentially executed, then activity g and activity h are executed in parallel, and thereafter activity i is executed.

業務プロセス定義中の分岐が、その分岐の前に実行される活動に関する情報(たとえば、活動で生成された情報)を利用する場合がある。そのような業務プロセス定義の例を図5に示す。図5の業務プロセス定義では、図4の業務プロセス定義の分岐Eが条件付き分岐(破線のひし形として表記)に変更され、分岐先の決定時に活動bまたは活動cの結果が利用されることが吹き出しで示されている。このような分岐を含む業務プロセス定義では、その分岐で利用される情報を生成する活動がその分岐よりも前に実行されなければならない。   A branch in the business process definition may use information (for example, information generated by the activity) regarding an activity executed before the branch. An example of such a business process definition is shown in FIG. In the business process definition of FIG. 5, the branch E of the business process definition of FIG. 4 is changed to a conditional branch (shown as a dashed diamond), and the result of the activity b or activity c is used when the branch destination is determined. Shown in a speech bubble. In a business process definition including such a branch, an activity for generating information used in the branch must be executed before the branch.

また、業務プロセス定義に対し、定義を構成する活動の間の順序関係に関する制約が設定される場合がある。たとえば、財務報告に関わる内部統制に用いられる業務プロセス定義では、活動ごとに以下の情報が設定されることが一般的である。   In addition, there may be a restriction regarding the order relationship between the activities constituting the definition for the business process definition. For example, in a business process definition used for internal control related to financial reporting, the following information is generally set for each activity.

(1)活動を実行するときに発生し得る誤り(リスク)
(2)リスクに記述された誤りの発生を未然に防ぐための行為(予防的コントロール)
(3)リスクに記述された誤りが発生した場合にその誤りを発見して適切に対処する行為(発見的コントロール)
(1) Errors (risks) that can occur when performing activities
(2) Actions to prevent the occurrence of errors described in risks (preventive control)
(3) The act of detecting the error described in the risk and appropriately responding to it (heuristic control)

これらの情報の設定に関連して、ここで業務プロセス定義の例、図6、図7および図8を考える。図6に示した業務プロセス定義に適合する業務は、以下のいずれかとして実現される。   In connection with the setting of these pieces of information, an example of a business process definition, FIG. 6, FIG. 7, and FIG. A business that conforms to the business process definition shown in FIG. 6 is realized as one of the following.

(1)活動a、活動b、活動eを順次実行する。
(2)活動a、活動c、活動d、活動eを順次実行する。
(1) Activity a, activity b, and activity e are sequentially executed.
(2) Activity a, activity c, activity d, and activity e are sequentially executed.

ここで、図6の業務プロセス定義では、すべての排他的分岐(たとえば排他的分岐ノードA)に対し、その分岐を経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的結合(たとえば排他的結合ノードB)が存在する。また、すべての排他的結合に対し、その分岐を経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的分岐が存在する。一方、図7の業務プロセス定義では、たとえば排他的分岐ノードBを経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的結合は存在しない。また、排他的結合ノードCを経由するすべての活動ノード列が経由し、それ以外の活動ノード列が経由しない排他的分岐は存在しない。   Here, in the business process definition of FIG. 6, for all exclusive branches (for example, exclusive branch node A), all the activity node columns that pass through the branch pass, and no other activity node columns pass. There is an exclusive join (eg, exclusive join node B). Further, for every exclusive connection, there is an exclusive branch that passes through all the active node sequences that pass through the branch and does not pass through any other active node sequence. On the other hand, in the business process definition of FIG. 7, for example, there is no exclusive connection through which all the activity node sequences pass through the exclusive branch node B and no other activity node columns pass through. Further, there is no exclusive branch through which all the active node sequences that pass through the exclusive connection node C pass, and no other active node sequence passes through.

図8の業務プロセス定義では、図6の業務プロセス定義で用いた活動、シーケンスフローに加え、フォーク分岐(破線のひし形として表記)とフォーク結合(破線のひし形として表記)が用いられている。この業務プロセス定義に適合する業務は、以下のように実現される。   In the business process definition of FIG. 8, in addition to the activities and sequence flow used in the business process definition of FIG. 6, fork branches (denoted as dashed rhombuses) and fork combinations (denoted as dashed rhombuses) are used. The business conforming to this business process definition is realized as follows.

(1)活動aを実行した後に活動bと、活動cと活動dからなる活動列とを並行して実行し、その後に活動eを実行する。   (1) After the activity a is executed, the activity b, the activity sequence including the activities c and d are executed in parallel, and then the activity e is executed.

図6の業務プロセス定義を計算機プログラムで利用する場合のデータ構造の例を図9Aに示す。図9Aのデータ構造は、ノードに関する情報と、アークに関する情報からなる。また、図6の業務プロセス定義を計算機プログラムで利用する場合のデータ構造のもう一つの例を図9Bに示す。図9Bのデータ構造は、活動や分岐・結合の情報、ノードの情報、および、アークに関する情報からなる。図9Bのデータ構造では、同じ名前の活動や分岐・結合が業務プロセス定義上の複数の位置に出現する場合でも、これらの活動や分岐・結合に関する情報を一元的に保持できる。   FIG. 9A shows an example of a data structure when the business process definition of FIG. 6 is used in a computer program. The data structure of FIG. 9A includes information about nodes and information about arcs. FIG. 9B shows another example of the data structure when the business process definition of FIG. 6 is used in a computer program. The data structure shown in FIG. 9B includes activity, branch / join information, node information, and arc information. In the data structure of FIG. 9B, even when activities or branches / joins with the same name appear at a plurality of positions on the business process definition, information regarding these activities, branches / joins can be centrally held.

次に、図6〜図8に示したような業務プロセス定義に対し、定義を構成する活動の間の順序関係に関する制約が設定される場合を考える。   Next, let us consider a case where constraints on the order relationship between the activities constituting the definition are set for the business process definition as shown in FIGS.

このような制約情報が設定された業務プロセス定義の例を図10〜図12に示す。図10の業務プロセス定義では、活動aに「支払方法を間違える」というリスクR1が設定され、このリスクに対する発見的コントロールとして活動bに発見的コントロールC1「決済前に支払方法が正しいか確認する」が、活動eに発見的コントロールC2「作業開始前に支払処理が完了しているか確認する」がそれぞれ設定されている。この例からわかるように、単一のリスクに対して複数のコントロールを対応付けることが可能である。逆に、単一のコントロールを複数のリスクに対応付けることも可能である。これらの情報を計算機プログラムで利用する場合のデータ構造の例を図13に示す。図13に示すとおり、これらの情報は、各情報に関する情報の集合と、情報の実行順序に関する情報の集合として表現できる。   Examples of business process definitions in which such constraint information is set are shown in FIGS. In the business process definition of FIG. 10, a risk R1 of “wrong payment method” is set for the activity a, and a heuristic control C1 “confirms whether the payment method is correct before settlement” as the heuristic control for this risk. However, heuristic control C2 “confirm whether payment processing is completed before starting work” is set for activity e. As can be seen from this example, it is possible to associate a plurality of controls with a single risk. Conversely, a single control can be associated with multiple risks. FIG. 13 shows an example of a data structure when these pieces of information are used in a computer program. As shown in FIG. 13, these pieces of information can be expressed as a set of information related to each piece of information and a set of information related to the execution order of the information.

ある活動で発生し得るリスクを未然に防ぐための予防的コントロールは、その活動が実行されるより前に実行される活動になければ効果を発揮しない。同様に、ある活動上で発生し得るリスクに対処するための発見的コントロールは、その活動が実行されるより後に実行される活動になければ効果を発揮しない。これらのことから、リスクとコントロールの対応関係は、それぞれが対応付けられている活動の間の順序関係に関する制約とみなすことができる。   Preventive controls to prevent risks that may occur in an activity will only be effective if the activity is performed before the activity is performed. Similarly, heuristic controls to deal with the risks that can occur on an activity will only be effective if the activity is performed later than the activity is performed. From these facts, the correspondence between risk and control can be regarded as a restriction on the order relation between the activities to which each is associated.

このようなリスクとコントロールの対応関係は、実行可能な活動列ごとに、発生し得るリスクに対して適切なコントロールが対応付けられるよう、対象業務に関する豊富な知識や経験を持つ専門家によって設定されるのが一般的である。このようにして作成された業務プロセス定義を変更する場合には、変更の影響を必要最小限に抑え、より多くの活動列を継続して利用できるようにすることが重要である。   Such correspondence between risk and control is set by experts with a wealth of knowledge and experience in the target business so that appropriate controls can be associated with the risks that may occur for each possible sequence of activities. It is common. When changing the business process definition created in this way, it is important to minimize the impact of the change and to continue to use more activity sequences.

これまでに説明したような業務プロセス定義は、業務上の必要性から適宜変更をする必要が生じる。このような変更を支援するための方法として、特開2003−228647号公報(特許文献1)記載の「ビジネスプロセス定義最適化支援装置及び、方法」および特開2006−195892号公報(特許文献2)記載の「フロー処理プログラム、装置およびフロー順序変更方法」が開示されている。   The business process definition as described so far needs to be changed as needed due to business needs. As a method for supporting such a change, “Business Process Definition Optimization Support Device and Method” described in Japanese Patent Application Laid-Open No. 2003-228647 (Patent Document 1) and Japanese Patent Application Laid-Open No. 2006-195892 (Patent Document 2). “A flow processing program, an apparatus, and a flow order changing method” are disclosed.

前者は、業務プロセス定義の構造解析結果に基づいて不必要と思われる条件分岐や活動を検出し、業務プロセス定義の改善を支援するものである。後者は、業務プロセス定義の内容により、業務を構成する各活動の処理順序を入れ替えて、全体処理の時間短縮、エラーリカバリ一等の対策を容易にすることが可能な処理プログラム、装置および活動順序変更方法を提供するものである。   The former detects conditional branches and activities that are considered unnecessary based on the structural analysis result of the business process definition, and supports the improvement of the business process definition. The latter is a processing program, apparatus, and activity sequence that can change the processing order of each activity that constitutes a business according to the contents of the business process definition, thereby facilitating measures such as shortening the overall processing time and error recovery. It provides a change method.

特開2003−228647号公報JP 2003-228647 A 特開2006−195892号公報JP 2006-195892 A

ところで、業務プロセス定義で実行可能な活動列の一部のみに活動を追加し、他の活動列には変更を加えたくない場合がある。たとえば、図1で示した業務プロセス定義で実行可能な活動列{a,b,d,f}の一部である活動dの直後のみに活動x(“バッテリー残量を確認し、必要があればAC電源を探してノートPCを充電する”)を追加し、他の活動列には活動xを追加したくない場合である。たとえば図1の活動dの直後に活動xを追加すると、活動列{a,b,d,f}だけでなく、活動列{a,c,d,f}中の活動dの直後にも活動xが追加されてしまうので、目的を達成できない。このように、分岐や結合を含む業務プロセス定義では、特定の活動列のみに活動を追加できないことがある。   By the way, there is a case where an activity is added to only a part of the activity sequence that can be executed in the business process definition and it is not desired to change the other activity sequence. For example, the activity x (“remaining battery level is necessary and necessary only after the activity d that is a part of the activity sequence {a, b, d, f}” that can be executed in the business process definition shown in FIG. In this case, the user searches for AC power and charges the notebook PC "), and does not want to add activity x to other activity columns. For example, if activity x is added immediately after activity d in FIG. 1, not only activity sequence {a, b, d, f} but also activity d immediately after activity d in activity sequence {a, c, d, f}. Since x is added, the purpose cannot be achieved. As described above, in a business process definition including a branch or connection, it may not be possible to add an activity only to a specific activity sequence.

また、上記のような制約を伴う業務プロセス定義に対し、制約への適合性を損なうことなく活動の順序関係を変更したい場合がある。たとえば、財務報告に関わる内部統制における業務プロセス定義の運用では、業務プロセス定義を構成する活動が不変であれば、上記のリスク・コントロールの対応関係に基づく制約は変更不要と考えられるが、定義を作成・運用する過程で活動の順序関係を変更することが考えられる。   In addition, there is a case where it is desired to change the order relationship of activities without impairing the conformity to the business process definition with the constraints as described above. For example, in the operation of a business process definition in internal control related to financial reporting, if the activities that make up the business process definition remain unchanged, the constraints based on the above risk / control correspondences may not need to be changed. It is conceivable to change the order of activities in the process of creation and operation.

しかし、上で示した従来の技術では、業務プロセス定義で実行可能な一部の活動列の全部または一部の前後のみに活動を追加し、他の活動列には変更を加えずにすむように業務プロセス定義を変換する方法は示されていない。   However, with the conventional technology shown above, activities are added only before or after some or all of some activity sequences that can be executed in the business process definition, and other activity sequences need not be changed. It does not show how to convert business process definitions.

また、上で示した技術では、業務プロセス定義に対して制約への適合性を損なうことなく活動の順序関係を変更したい場合に対処する方法は示されていない。たとえば「ビジネスプロセス定義最適化支援装置及び方法」は、業務プロセス定義の最適化が目的であり、活動の順序関係の自由な変更を支援するものではない。また「フロー処理プログラム、装置およびフロー順序変更方法」は、制約に基づいて業務プロセス定義を一意に変更するものであり、活動の順序関係の自由な変更を支援するものではない。   In addition, the technique described above does not show a method for dealing with a case where it is desired to change the order relation of activities without impairing the conformity to the constraints for the business process definition. For example, the “business process definition optimization support apparatus and method” is for the purpose of optimizing the business process definition and does not support the free change of the order relationship of activities. The “flow processing program, apparatus, and flow order changing method” is for uniquely changing a business process definition based on constraints, and does not support a free change in the order relation of activities.

本発明はこのような背景に鑑みてなされたもので、その目的は、業務を構成する活動の定義、活動の実行の分岐および結合、前記活動・分岐・結合実行の順序関係に関する記述(シーケンスフロー)を含む業務プロセス定義を対象とし、その定義に適合する活動列の集合を変更することなく、特定の活動列のみに対して前後に活動を追加することを可能とするように変換することにより、業務プロセス定義の変更を支援する装置および手法を提供することである。
本発明の別の目的は、前記業務プロセス定義上の特定の活動列のみに対して前後に活動を追加する場合において、リスクとそのコントロール間の制約などの、活動列上の実行順位の制約への適合性を損なわないようにすることである。
The present invention has been made in view of such a background. The purpose of the present invention is to define the activities that make up the business, the branching and combining of the execution of the activities, and the description of the order relationship of the activities / branching / joining execution (sequence flow). ), And converting it so that it is possible to add activities before and after a specific activity sequence without changing the set of activity sequences that conform to that definition. It is to provide an apparatus and a method for supporting a change in business process definition.
Another object of the present invention is to restrict execution order on an activity sequence such as a constraint between a risk and its control when an activity is added before and after only a specific activity sequence on the business process definition. Is to ensure that the suitability of the product is not impaired.

請求項1に記載の発明は、業務を構成する活動、分岐・結合、活動および分岐・結合実行の順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義で実行可能な活動列に含まれる2つ以上の活動からなる第一の活動列、並びに、第一の活動列の全要素または一部要素からなる第二の活動列を入力する手段と、前記入力された業務プロセス定義が、該業務プロセス定義で実行可能な活動ノード列で、前記第一の活動列の全要素を実行するものすべてとして定義される活動ノード列集合の各要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものが、前記活動ノード列集合に含まれない活動ノード列で実行されることが無い、という条件を満足するか否かを判定する手段と、前記条件を満足する場合、活動ノード列集合の要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものを出力する手段と、を備えたことを特徴とするプロセス定義変換装置である。   The invention according to claim 1 is included in an activity sequence that can be executed in the business process definition including the business flow definition including a sequence flow indicating an activity, a branch / join, an activity, and a sequence flow indicating a branch / join execution. Means for inputting a first activity sequence consisting of two or more activities and a second activity sequence consisting of all or part of the first activity sequence, and the input business process definition comprises: An activity node in an activity node sequence that is each element of an activity node sequence set defined as all activity node sequences that can be executed in the business process definition and that executes all elements of the first activity sequence, Means for determining whether or not an element that executes an element of the second activity sequence satisfies a condition that it is not executed on an activity node sequence that is not included in the activity node sequence set; and satisfaction And a means for outputting an activity node in the activity node sequence that is an element of the activity node sequence set and executing the element of the second activity sequence. It is.

請求項2に記載の発明は、請求項1記載の業務プロセス定義変換装置であって、前記入力された業務プロセス定義が請求項1記載の条件を満足しない場合において、前記入力された業務プロセス定義を変換する手段であって、(1)変換後の業務プロセス定義が請求項1記載の条件を満たし、(2)変換後の業務プロセス定義で実行可能な活動列の集合は、前記入力された業務プロセス定義で実行可能な活動列の集合と同一であり、(3)前記入力された業務プロセス定義で実行可能な活動列で実行される分岐および結合は、前記活動列と同一の活動列で変換後の業務プロセス定義で実行可能なものでも実行されるが、それ以外の分岐または結合は実行されないものであり、(4)前記入力された業務プロセス定義で実行可能な活動列で実行される分岐が実行済の活動の結果を利用する場合、前記分岐に対応する変換後の業務プロセス定義中の分岐は、前記分岐が結果を利用した活動と同一の活動が実行された後に実行される、各条件(1)〜(4)の全てを満足するよう前記入力された業務プロセス定義を変換するものと、前記変換された業務プロセス定義で実行可能な活動ノード列で前記第一の活動列の全要素を実行するものに含まれる活動ノードで、前記第二の活動列の要素を実行するものと、前記変換された業務プロセス定義とを出力する手段と、を更に備えたことを特徴とする。   The invention according to claim 2 is the business process definition conversion device according to claim 1, wherein the input business process definition is satisfied when the input business process definition does not satisfy the condition according to claim 1. (1) The converted business process definition satisfies the conditions of claim 1 and (2) the set of activity sequences that can be executed in the converted business process definition is the input It is the same as the set of activity sequences that can be executed in the business process definition. (3) Branches and combinations executed in the activity sequence that can be executed in the input business process definition are the same activity columns as the activity column. Even if it can be executed in the business process definition after conversion, it will be executed, but no other branching or joining will be executed. (4) Execute in the activity sequence that can be executed in the input business process definition When the branch to be used uses the result of the executed activity, the branch in the business process definition after conversion corresponding to the branch is executed after the same activity as the activity using the result of the branch is executed. Converting the input business process definition so as to satisfy all of the conditions (1) to (4), and the activity node sequence executable by the converted business process definition, the first activity sequence The activity node included in the element that executes all the elements of the above, further comprising: an element that executes the element of the second activity sequence; and means for outputting the converted business process definition To do.

請求項3に記載の発明は、請求項2記載の業務プロセス定義変換装置であって、前記入力された業務プロセス定義を構成するすべての分岐・結合が排他的分岐・排他的結合である場合において、前記入力された業務プロセス定義において前記第二の活動列に含まれる活動を実行する第二の活動ノードと、前記第一の活動列に含まれる活動のうち第二の活動ノードを含む活動ノード列の一部でのみ実行されるものを実行する第一の活動ノードとを引数として、活動ノード列における前記第一の活動ノードと前記第二の活動ノードの前後位置を判断する手段と、前記判断において、活動ノード列で第一の活動ノードが第二の活動ノードよりも後に出現する場合に、(1)処理対象の業務プロセス定義において第二の活動ノードから第一の活動ノードに至るノード列に含まれる排他的分岐で、その分岐を開始端とするシーケンスフローの一部が第一の活動ノードに到達できず、かつ、そのノード列において第二の活動ノードとの間に位置するノード数が最小のものを操作対象分岐として特定し、(2)第二の活動ノードから操作対象分岐に至るノードからなる部分グラフを操作対象グラフとして特定し、(3)操作対象分岐を開始端とするシーケンスフローごとに、操作対象グラフのコピーを生成し、そのシーケンスフローの開始端を操作対象グラフコピーの末尾ノードに変更し、(4)操作対象グラフ中のノードを終了端とする元のシーケンスフローごとに、操作対象分岐のコピーを生成し、元のシーケンスフローの終了端を操作対象分岐コピーに変更し、操作対象分岐コピーを開始端とするシーケンスフローを生成し、その終了端を、元のシーケンスフローの終了端であった元の操作対象グラフ中のノードをコピーして生成された、操作対象グラフコピー中のノードとし、(5)元の操作対象分岐、元の操作対象グラフ、及び両者を接続するシーケンスフローを削除する、各操作(1)〜(5)を順次実行する手段と、前記判断において、活動ノード列で第一の活動ノードが第二の活動ノードよりも前に出現する場合に、(6)処理対象の業務プロセス定義において第一の活動ノードから第二の活動ノードに至るノード列に含まれる排他的結合で、その結合を終了端とするシーケンスフローの一部に第一の活動ノードから到達できず、かつ、そのノード列において第二の活動ノードとの間に位置するノード数が最小のものを操作対象結合として特定し、(7)操作対象結合から第二の活動ノードに至るノードからなる部分グラフを操作対象グラフとして特定し、(8)操作対象結合を終了端とするシーケンスフローごとに、操作対象グラフのコピーを生成し、そのシーケンスフローの終了端を操作対象グラフコピーの先頭ノードに変更し、(9)操作対象グラフ中のノードを開始端とする元のシーケンスフローごとに、操作対象結合のコピーを生成し、元のシーケンスフローの開始端を操作対象結合コピーに変更し、操作対象結合コピーを終了端とするシーケンスフローを生成し、その開始端を、元のシーケンスフローの開始端であった元の操作対象グラフ中のノードをコピーして生成された、操作対象グラフコピー中のノードとし、(10)元の操作対象結合、操作対象グラフ、及び両者を接続するシーケンスフローを削除する、各操作(6)〜(10)を順次実行する手段と、を備えたことを特徴とする。   The invention according to claim 3 is the business process definition conversion device according to claim 2, wherein all branches and connections constituting the input business process definition are exclusive branches and exclusive connections. A second activity node for executing an activity included in the second activity column in the input business process definition, and an activity node including a second activity node among the activities included in the first activity column Means for determining the front and back positions of the first activity node and the second activity node in an activity node sequence with a first activity node executing what is executed only in a part of the sequence as an argument; In the determination, if the first activity node appears after the second activity node in the activity node column, (1) the first activity node from the second activity node in the business process definition to be processed. Part of the sequence flow starting from that branch cannot reach the first active node, and between that node sequence and the second active node. Specify the operation target branch with the smallest number of nodes located, (2) specify the subgraph consisting of nodes from the second activity node to the operation target branch as the operation target graph, and (3) select the operation target branch. A copy of the operation target graph is generated for each sequence flow as the start end, the start end of the sequence flow is changed to the end node of the operation target graph copy, and (4) the node in the operation target graph is set as the end end. For each original sequence flow, a copy of the operation target branch is generated, the end of the original sequence flow is changed to the operation target branch copy, and the operation target branch copy is started. A sequence flow to be generated, and the end of the sequence flow is set as a node in the operation target graph copy generated by copying the node in the original operation target graph that was the end end of the original sequence flow, and (5) The original operation target branch, the original operation target graph, and the sequence flow that connects the two are deleted, and each operation (1) to (5) is sequentially executed. When the activity node appears before the second activity node, (6) an exclusive combination included in the node sequence from the first activity node to the second activity node in the business process definition to be processed; A part of the sequence flow whose end is that connection cannot be reached from the first active node, and the one with the smallest number of nodes located between the second active node in the node sequence is operated. Specify as an operation target combination, (7) Specify a subgraph consisting of nodes from the operation target combination to the second activity node as an operation target graph, and (8) For each sequence flow with the operation target combination as the end point, Generate a copy of the operation target graph, change the end of the sequence flow to the first node of the operation target graph copy, and (9) for each original sequence flow starting from the node in the operation target graph Generate a copy of the combination, change the start end of the original sequence flow to the operation target combined copy, generate a sequence flow with the operation target combined copy as the end, and use the start end as the start end of the original sequence flow The node in the operation target graph that was generated by copying the node in the original operation target graph that was Delete object graph, and the sequence flow for connecting the two, characterized by comprising sequentially and means for executing each operation (6) to (10).

請求項4に記載の発明は、請求項1、2または3記載の業務プロセス定義変換装置であって、業務プロセス定義および活動ノードの集合を出力する手段であって、(1)処理対象の業務プロセス定義を入力された業務プロセス定義とし、(2)処理対象の業務プロセス定義で第二の活動列を構成する活動を実行する活動ノードのうち本処理ですでに出力されたもの及び(3)で処理対象から除外されたものを除くものと定義される第二の活動ノードが、入力された業務プロセス定義で第二の活動ノードを含むすべての活動ノード列が第一の活動列に含まれるすべての活動を実行する、という条件を満たすか判定し、満たすすべての活動ノードを出力し、(3)(2)における条件を満たさない第二の活動ノードが無い場合、処理対象の業務プロセス定義を出力して処理を終了すると共に、(2)における条件を満たさない第二の活動ノードがある場合、その活動ノードが、入力された業務プロセス定義で第二の活動ノードを含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動を実行しない、という条件を満たすか判定し、満たすすべての活動ノードを処理対象から除外し、(4)(3)における条件を満たさない第二の活動ノードが無い場合、処理対象の業務プロセス定義を出力して処理を終了し、(3)における条件を満たさない第二の活動ノードがある場合、その活動ノードを対象にして、(4−1)第一の活動列を構成する活動のうち第二の活動ノードを含む活動ノード列の一部のみで実行されるものを特定し、その活動ノード列でその活動を実行する活動ノードとして定義される第一の活動ノードを特定し、(4−2)活動ノード列で第一の活動ノードが第二の活動ノードよりも後に出現する場合、処理対象の業務プロセス定義に対して請求項3記載の操作(1)〜(5)を実行し、(4−3)活動ノード列で第一の活動ノードが第二の活動ノードよりも前に出現する場合、処理対象の業務プロセス定義に対して請求項3記載の操作(6)〜(10)を実行する、各処理を順次実行し、(5)処理対象の業務プロセス定義を変換後の業務プロセス定義として、(2)に処理を戻す、一連の処理を実行することにより、業務プロセス定義・活動ノードの集合を出力する手段、を備えたことを特徴とする。   The invention according to claim 4 is the business process definition conversion device according to claim 1, 2, or 3, and is a means for outputting a set of business process definitions and activity nodes, and (1) a business to be processed The process definition is the input business process definition. (2) Among the activity nodes that execute the activities constituting the second activity sequence in the business process definition to be processed, those that have already been output in this process, and (3) The second activity node, which is defined as excluding those excluded from processing in, includes all activity node columns that include the second activity node in the entered business process definition. It is determined whether or not the condition that all activities are executed is satisfied, and all the activity nodes that satisfy the conditions are output. If there is no second activity node that does not satisfy the conditions in (3) and (2), the business process to be processed is output. If there is a second activity node that does not satisfy the condition in (2), the activity node includes any second activity node that includes the second activity node in the input business process definition. The activity node column also determines whether or not the condition that all activities included in the first activity column are not executed is satisfied, and all the activity nodes that satisfy the condition are excluded from the processing targets, and the conditions in (4) and (3) are satisfied. If there is no second activity node, the business process definition to be processed is output and the process is terminated. If there is a second activity node that does not satisfy the condition in (3), the activity node is targeted, (4-1) An activity that specifies an activity that is executed only in a part of an activity node sequence including the second activity node among activities that constitute the first activity sequence, and executes the activity in the activity node sequence (4-2) If the first activity node appears after the second activity node in the activity node column, the business process definition to be processed is identified. The operations (1) to (5) according to claim 3 are executed, and (4-3) if the first activity node appears before the second activity node in the activity node sequence, The operations (6) to (10) according to claim 3 are executed for the process definition, each process is executed sequentially, and (5) the business process definition to be processed is converted into a business process definition after conversion (2) And a means for outputting a set of business process definitions and activity nodes by executing a series of processes.

請求項5に記載の発明は、請求項3または4記載の業務プロセス定義変換装置であって、第二の活動ノードに対応して特定された第一の活動ノードのうち、第二の活動ノードとの間に位置するノード数の少ないものから順に、請求項3記載の操作(1)〜(5)または操作(6)〜(10)を実行することを特徴とする。   The invention according to claim 5 is the business process definition conversion device according to claim 3 or 4, wherein the second activity node among the first activity nodes identified corresponding to the second activity node The operations (1) to (5) or the operations (6) to (10) according to claim 3 are executed in order from the node having a smaller number of nodes positioned between them.

請求項6に記載の発明は、請求項3、4または5記載の業務プロセス定義変換装置であって、請求項3記載の操作(1)〜(5)における操作対象グラフが、請求項3で定義された操作対象グラフを構成するノードに加え、そのノードを開始端とするすべてのシーケンスフローの終了端が、操作対象グラフに含まれるノードである、という条件を満たす0個以上のノード、およびそのノードを開始端とするシーケンスフローから構成され、請求項3記載の操作(6)〜(10)における操作対象グラフが、請求項3で定義された操作対象グラフを構成するノードに加え、そのノードを終了端とするすべてのシーケンスフローの開始端が、操作対象グラフに含まれるノードである、という条件を満たす0個以上のノード、およびそのノードを終了端とするシーケンスフローから構成される、ことを特徴とする。   The invention according to claim 6 is the business process definition conversion device according to claim 3, 4 or 5, wherein the operation target graph in the operations (1) to (5) according to claim 3 is In addition to the nodes constituting the defined operation target graph, zero or more nodes satisfying the condition that the end ends of all sequence flows starting from that node are nodes included in the operation target graph, and The operation target graph in the operations (6) to (10) according to claim 3 is composed of a sequence flow starting from that node, in addition to the nodes constituting the operation target graph defined in claim 3, Zero or more nodes satisfying the condition that the start end of all sequence flows whose end ends are nodes included in the operation target graph, and the end of the nodes It consists Sequence Flow to an end, and wherein the.

請求項7に記載の発明は、請求項1、2、3、4、5または6記載の業務プロセス定義変換装置であって、業務プロセス定義を入力する手段であって、その業務プロセスが、(1)すべての分岐に対してその分岐を経由するすべての活動ノード列のみが経由する結合が存在し、(2)すべての結合に対してその結合を経由するすべての活動ノード列のみが経由する分岐が存在する、という条件を満たす手段と、入力されたフォーク分岐を含む業務プロセス定義をフォーク分岐を含まない業務プロセス定義に変換する手段であって、(3)排他分岐領域を含まないフォーク分岐領域を活動ノードで代替する操作を、1回以上任意回数実行し、(4)排他分岐領域を含むフォーク分岐領域を、そのフォーク分岐領域中の排他分岐領域をその排他分岐領域中の各分岐先の部分グラフに置き換えたものを、各分岐先の部分グラフとする排他分岐領域に置換する操作を、0回以上任意回数実行する、という条件を満たす手段と、請求項1、2、3、4、5または6記載の処理を実行した後に、(5)フォーク分岐領域を代替した活動ノードを、対応するフォーク分岐領域に置換し、(6)出力される活動ノードにフォーク分岐領域を代替した活動ノードが含まれる場合、フォーク分岐領域を代替した活動ノードを、対応するフォーク分岐領域中の活動ノードで入力された第二の活動列に含まれる活動を実行するものに置換する手段と、を備えたことを特徴とする。   The invention described in claim 7 is the business process definition conversion device according to claim 1, 2, 3, 4, 5 or 6, and is a means for inputting a business process definition, and the business process is ( 1) For all branches, there is a connection through which only all the active node sequences that pass through the branch, and (2) For all connections, only all the active node sequences through that connection pass through. A means for satisfying the condition that a branch exists, and a means for converting a business process definition including an input fork branch into a business process definition not including a fork branch, and (3) a fork branch not including an exclusive branch area The operation of substituting an area with an active node is executed one or more times, and (4) a fork branch area including an exclusive branch area is set as an exclusive branch area within that fork branch area. And means for satisfying a condition that an operation of replacing each branch destination subgraph in the region with an exclusive branch region as each branch destination subgraph is executed zero or more times an arbitrary number of times. After executing the processing described in 2, 3, 4, 5 or 6, (5) replace the active node replacing the fork branch area with the corresponding fork branch area, and (6) fork the output active node. If an activity node that replaces the branch area is included, the activity node that replaces the fork branch area is replaced with one that executes the activity included in the second activity column entered in the activity node in the corresponding fork branch area. And means for carrying out the above.

なお、ここで「排他分岐領域」とは、排他分岐から対応する排他結合に至る全経路上のすべてのノードおよびシーケンスフローからなる部分グラフとして定義され、また、「フォーク分岐領域」とは、フォーク分岐から対応するフォーク結合に至る全経路上のすべてのノードおよびシーケンスフローからなる部分グラフとして定義される。   Here, the “exclusive branch area” is defined as a subgraph consisting of all nodes and sequence flows on all paths from the exclusive branch to the corresponding exclusive connection, and the “fork branch area” is a fork. It is defined as a subgraph consisting of all nodes and sequence flows on all paths from the branch to the corresponding fork join.

請求項8に記載の発明は、業務を構成する活動および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力する手段と、前記入力された業務プロセス定義に含まれるシーケンスフローのうち、該シーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するものを出力する手段と、を備えたことを特徴とする業務プロセス定義変換装置である。   The invention according to claim 8 is a business process definition including a sequence flow indicating an activity constituting a business and a direct execution order relationship of the activity, a constraint on an order relationship of activities constituting the business process definition, and Of the sequence flow included in the input business process definition and the means for inputting the activity to be repositioned, when the input activity is moved on the sequence flow, the business process definition after the movement is A business process definition conversion device comprising: means for outputting all of the input constraints that are relevant to the input activity.

請求項9に記載の発明は、業務を構成する活動および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力する手段と、前記入力された業務プロセス定義に含まれる業務先頭の活動から業務末尾の活動に至るシーケンスフロー列ごとに、その列に含まれるシーケンスフローのうち、そのシーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するシーケンスフローを特定する手段と、前記特定されたシーケンスフローのうち、そのシーケンスフローを含むすべてのシーケンスフロー列で特定されたものを出力する手段と、を備えたことを特徴とする業務プロセス定義変換装置である。   The invention according to claim 9 is a business process definition including an activity constituting a business and a sequence flow indicating a direct execution order relation of the activity, a restriction on an order relation of activities constituting the business process definition, and Means for inputting an activity to be repositioned, and, for each sequence flow column from the business start activity to the business end activity included in the input business process definition, out of the sequence flows included in the sequence Means for specifying a sequence flow that matches all of the input constraints related to the input activity when the input activity is moved on the flow, and the specification Specified sequence flow sequence that includes that sequence flow. And means for outputting a business process definition conversion device characterized by comprising a.

請求項10に記載の発明は、請求項8または9記載の業務プロセス定義変換装置であって、前記活動の順序関係に関する制約は、活動で発生し得る誤りであるリスクと、活動の一環として誤りを発見して対処する行為の記述である発見的コントロールまたは誤りを未然に防止する行為の記述である予防的コントロールとの間の順序関係に関する制約として表現され、前記リスクと前記発見的および/または予防的コントロールの順序関係に関する制約、およびリスク・コントロールと前記活動との対応関係から特定される、ことを特徴とする。   A tenth aspect of the present invention is the business process definition conversion apparatus according to the eighth or ninth aspect, wherein the restriction on the order relation of the activities is a risk of an error that may occur in an activity and an error as a part of the activity. Expressed as a constraint on an order relationship between a heuristic control that is a description of an action that discovers and addresses or a preventive control that is a description of an action that prevents an error in advance, and the risk and the heuristic and / or It is characterized in that it is identified from constraints on the order relationship of preventive controls and the correspondence between risk controls and the activities.

請求項11に記載の発明は、業務を構成する活動、分岐・結合、活動および分岐・結合実行の順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義で実行可能な活動列に含まれる2つ以上の活動からなる第一の活動列、並びに、第一の活動列の全要素または一部要素からなる第二の活動列を入力するステップと、前記入力された業務プロセス定義が、該業務プロセス定義で実行可能な活動ノード列で、前記第一の活動列の全要素を実行するものすべてとして定義される活動ノード列集合の各要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものが、前記活動ノード列集合に含まれない活動ノード列で実行されることが無い、という条件を満足するか否かを判定するステップと、前記条件を満足する場合、活動ノード列集合の要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものを出力するステップと、を備えたことを特徴とする業務プロセス定義変換プログラムである。   The invention described in claim 11 is included in an activity sequence that can be executed in the business process definition including a sequence flow indicating an order relationship of activities, branch / join, activities and branch / join executions constituting the business. Inputting a first activity sequence consisting of two or more activities, and a second activity sequence consisting of all or part of the first activity sequence; and the input business process definition comprises: An activity node in an activity node sequence that is each element of an activity node sequence set defined as all activity node sequences that can be executed in the business process definition and that executes all elements of the first activity sequence, Determining whether or not the element executing the second activity sequence element satisfies the condition that it is not executed on an activity node sequence not included in the activity node sequence set; And a step of outputting, when the condition is satisfied, an activity node in the activity node sequence which is an element of the activity node sequence set, which executes the element of the second activity sequence, It is a process definition conversion program.

請求項12に記載の発明は、業務を構成する活動および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力するステップと、前記入力された業務プロセス定義に含まれるシーケンスフローのうち、該シーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するものを出力するステップと、を備えたことを特徴とする業務プロセス定義変換プログラムである。   The invention according to claim 12 is a business process definition including a sequence flow indicating an activity constituting a business and a direct execution order relationship of the activity, a constraint on an order relationship of activities constituting the business process definition, and Of the sequence flow included in the step of inputting the position change target activity and the input business process definition, when the input activity is moved on the sequence flow, the business process definition after the movement is A business process definition conversion program comprising: a step of outputting all of the input constraints that are relevant to the input activity.

以上の説明から明らかなように、本発明の業務プロセス定義変換装置によれば、業務プロセス定義に適合する活動列の集合を変更せず、特定の活動群を含む活動列のみに対して活動を追加することを可能とするようにその業務プロセス定義を変換できるので、業務プロセス定義で実行可能な活動列のうち特定の活動群を含む活動列のみに活動を追加するといった業務プロセス定義の変更を支援できる。
また本発明によれば、前記業務プロセス定義上の特定の活動列のみに対して前後に活動を追加する場合において、その定義に含まれる分岐で他の活動の情報を利用するものが前記他の活動より後に実行されることが保証されるので、活動列上の実行順位の制約への適合性を損なわないようにすることができる。
As is clear from the above description, according to the business process definition conversion apparatus of the present invention, an activity is applied only to an activity sequence including a specific activity group without changing the set of activity sequences that conform to the business process definition. Since the business process definition can be converted so that it can be added, changes to the business process definition such as adding an activity only to an activity column that includes a specific activity group among the activity columns that can be executed in the business process definition. Can support.
Further, according to the present invention, when an activity is added before and after only a specific activity sequence on the business process definition, a branch that is included in the definition uses information on another activity. Since it is guaranteed to be executed after the activity, the conformity to the constraint of the execution order on the activity sequence can be prevented from being impaired.

以下、図面を参照しながら、本発明の業務プロセス定義変換装置の詳細について説明する。   Details of the business process definition conversion apparatus of the present invention will be described below with reference to the drawings.

(第一の実施の形態)
図14〜図44は、本発明の第一の実施の形態に係る。本実施の形態は、業務プロセス定義における活動列に含まれる特定の活動のみに対して前後に活動を追加することを可能とするように変換する業務プロセス定義変換装置を提供する。
(First embodiment)
14 to 44 relate to the first embodiment of the present invention. The present embodiment provides a business process definition conversion apparatus that performs conversion so that an activity can be added before and after only a specific activity included in an activity sequence in the business process definition.

(変換結果の概要)
最初に、図14〜図17を用いて、本発明の実施の形態に係る業務プロセス定義変換装置による処理の結果の概要を説明する。ここでは、本業務プロセス定義変換装置に対して、図14の業務プロセス定義と第一の活動列として活動bおよび活動fからなる活動列が入力された場合を考える。なお、図14の業務プロセス定義に含まれる各分岐には他の活動で生成される情報を利用した条件は記述されないものとする。
(Overview of conversion results)
First, an outline of a result of processing by the business process definition conversion apparatus according to the embodiment of the present invention will be described with reference to FIGS. Here, a case is considered where an activity sequence consisting of activity b and activity f is input as the first activity sequence and the business process definition of FIG. 14 to the business process definition conversion apparatus. Note that conditions using information generated by other activities are not described in each branch included in the business process definition of FIG.

このとき、活動bを実行する活動列および活動fを実行する活動列はそれぞれ以下の通りとなる。   At this time, the activity sequence for executing activity b and the activity sequence for executing activity f are as follows.

[活動bを実行する活動列]
{a,b,d,f,i}、{a,b,d,g,i}、{a,b,d,h,i}、{a,b,e,f,i}、{a,b,e,g,i}、{a,b,e,h,i}
[活動fを実行する活動列]
{a,b,d,f,i}、{a,b,e,f,i}、{a,c,d,f,i}、{a,c,e,f,i}
[Activity sequence for executing activity b]
{A, b, d, f, i}, {a, b, d, g, i}, {a, b, d, h, i}, {a, b, e, f, i}, {a , B, e, g, i}, {a, b, e, h, i}
[Activity sequence for executing activity f]
{A, b, d, f, i}, {a, b, e, f, i}, {a, c, d, f, i}, {a, c, e, f, i}

ここで、活動bを実行する6つの活動列のうち、活動fも実行するものは2つであり、他の4つは活動fを実行しない。また、活動fを実行する4つの活動列のうち、活動bも実行するものは2つであり、他の2つは活動bを実行しない。このため、活動bおよび活動fをともに含む活動列のみに対して活動を追加しようとしても、図14の業務プロセス定義のままでは目的を達成できない。図14の業務プロセス定義を図15から図17の業務プロセス定義のいずれかに変換することにより、活動bおよび活動fを含む活動列のみに対して活動を追加することが可能となる。   Here, out of the six activity sequences that execute the activity b, two also execute the activity f, and the other four do not execute the activity f. Of the four activity sequences that execute activity f, only two also execute activity b, and the other two do not execute activity b. Therefore, even if an attempt is made to add an activity only to an activity sequence including both activity b and activity f, the purpose cannot be achieved with the business process definition shown in FIG. By converting the business process definition of FIG. 14 into any of the business process definitions of FIG. 15 to FIG. 17, it becomes possible to add an activity only to an activity sequence including the activity b and the activity f.

まず図15の業務プロセス定義は、第二の活動列として活動fのみからなる活動列が入力された場合の変換結果である。図15の業務プロセス定義では、実線の円で固まれた活動ノードfを実行する活動列は{a,b,d,f,i}、{a,b,e,f,i}の2つであり、ともに活動bを含む。このため、前記活動ノードfの直前または直後(太い矢印で示されたシーケンスフロー上)に活動を追加すれば、その活動は活動bおよび活動fをともに含む活動列のみで実行される。   First, the business process definition in FIG. 15 is a conversion result when an activity sequence including only the activity f is input as the second activity sequence. In the business process definition of FIG. 15, there are two activity sequences {a, b, d, f, i} and {a, b, e, f, i} for executing the activity node f solidified by solid circles. Yes, both include activity b. Therefore, if an activity is added immediately before or immediately after the activity node f (on the sequence flow indicated by a thick arrow), the activity is executed only in the activity sequence including both the activity b and the activity f.

図16の業務プロセス定義は、第二の活動列として活動bのみからなる活動列が入力された場合の変換結果である。図16の業務プロセス定義では、実線の円で固まれた活動ノードbを実行する活動列は{a,b,d,f,i}、{a,b,e,f,i}の2つであり、ともに活動fを含む。このため、前記活動ノードbの直前または直後(太い矢印で示されたシーケンスフロー上)に活動を追加すれば、その活動は活動bおよび活動fをともに含む活動列のみで実行される。   The business process definition in FIG. 16 is a conversion result when an activity sequence consisting only of activity b is input as the second activity sequence. In the business process definition of FIG. 16, there are two activity sequences {a, b, d, f, i} and {a, b, e, f, i} for executing the activity node b solidified by a solid circle. Yes, both include activity f. Therefore, if an activity is added immediately before or immediately after the activity node b (on the sequence flow indicated by a thick arrow), the activity is executed only in the activity sequence including both the activity b and the activity f.

図17の業務プロセス定義は、第二の活動列として活動bと活動fからなる活動列が入力された場合の変換結果である。図17の業務プロセス定義では、実線の円で固まれた活動ノードbを実行する活動列、および、実線の円で固まれた活動ノードfを実行する活動列はともに{a,b,d,f,i}、{a,b,e,f,i}の2つのみであり、これらはともに活動bおよび活動fを含む。このため、太い矢印で示されたいずれのシーケンスフロー上に活動を追加しても、その活動は活動bおよび活動fをともに含む活動列のみで実行される。   The business process definition in FIG. 17 is a conversion result when an activity sequence composed of activity b and activity f is input as the second activity sequence. In the business process definition of FIG. 17, the activity sequence for executing the activity node b solidified by a solid circle and the activity sequence for executing the activity node f solidified by a solid circle are both {a, b, d, f, i}, {a, b, e, f, i}, both of which include activity b and activity f. For this reason, even if an activity is added on any sequence flow indicated by a thick arrow, the activity is executed only in an activity sequence including both activity b and activity f.

次に、図14の業務プロセス定義の分岐Eに次の活動を決定するための条件が記述されており、その条件が先行して実行される活動の結果を利用している場合を考える。先の図5はこのような業務プロセス定義を示したものである。本発明の第一の業務プロセス定義変換装置に図5の業務プロセス定義と活動bおよび活動fからなる活動列が第一の活動列として入力される場合、図18の業務プロセス定義が変換結果として出力される。   Next, let us consider a case where a condition for determining the next activity is described in the branch E of the business process definition in FIG. 14, and the condition uses the result of the activity executed in advance. FIG. 5 shows such a business process definition. When the business process definition of FIG. 5 and the activity sequence consisting of activity b and activity f are input as the first activity sequence to the first business process definition conversion apparatus of the present invention, the business process definition of FIG. Is output.

(第一の実施の形態の構成)
次に、第一の実施の形態の構成について説明する。
(Configuration of the first embodiment)
Next, the configuration of the first embodiment will be described.

図19は、本実施の形態に係る業務プロセス定義編集システムの構成図である。図19に示すとおり、本システム120は業務プロセス定義編集部121と業務プロセス定義変換部122から構成される。業務プロセス定義編集部121は利用者の指示に応じて業務プロセス定義のグラフィック表現(たとえば図1のような表現)を表示する。そして活動、分岐、結合、シーケンスフローの追加・削除や、活動・分岐・結合とシーケンスフローの接続・分割などの指示に応じてグラフィック表現を変更し、利用者からの保存指示に応じてグラフィック表現の内容をデータ表現(たとえば図2のような表現)に反映させる。また、利用者から、業務プロセス定義に含まれる活動群からなる活動列(第一の活動列、以下「活動列1」)、前記活動群の部分集合からなる活動列(第二の活動列、以下「活動列2」)、および業務プロセス定義変換指示を受け付け、業務プロセス定義のグラフィック表現をデータ表現に反映させた上でそのデータ表現と二種類の活動列(活動列1、活動列2)を業務プロセス定義変換部122に入力する。これにより、業務プロセス定義変換部122に対して以下の変換が指示される。   FIG. 19 is a configuration diagram of the business process definition editing system according to the present embodiment. As shown in FIG. 19, the system 120 includes a business process definition editing unit 121 and a business process definition conversion unit 122. The business process definition editing unit 121 displays a graphic representation of the business process definition (for example, the representation shown in FIG. 1) in response to a user instruction. Then, the graphic representation is changed according to instructions such as addition / deletion of activity, branch, combination, sequence flow, connection / division of activity / branch / join and sequence flow, etc., and graphic representation according to the save instruction from the user Is reflected in the data expression (for example, the expression as shown in FIG. 2). In addition, from the user, an activity column consisting of an activity group included in the business process definition (first activity column, hereinafter referred to as “activity column 1”), an activity column consisting of a subset of the activity group (second activity column, "Activity column 2") and business process definition conversion instructions are accepted, and the graphic representation of the business process definition is reflected in the data representation, and then the data representation and two types of activity columns (activity column 1, activity column 2) Is input to the business process definition conversion unit 122. As a result, the following conversion is instructed to the business process definition conversion unit 122.

(1)業務プロセス定義で実行可能な活動列のうち、活動列1に含まれるすべての活動を実行する活動列のみで実行される活動ノードで、その名前の活動が活動列2に含まれるものをすべて特定せよ。
(2)そのような活動ノードが入力の業務プロセス定義に存在しなければ、業務プロセス定義を変換してそのような活動ノードを生成した上で特定せよ。
(1) Among activity columns that can be executed in the business process definition, an activity node that is executed only in an activity column that executes all activities included in activity column 1, and an activity column that includes an activity with that name Identify all of them.
(2) If such an activity node does not exist in the input business process definition, convert the business process definition to generate such an activity node and specify it.

そして、業務プロセス定義編集部121は、業務プロセス定義変換部122から出力された業務プロセス定義のデータ表現および活動ノードの集合を受理してそのデータ表現で自らのデータ表現を更新し、グラフィック表現に反映させる。また、受理した活動ノードの集合の各要素をグラフィック表現上で他の活動ノードと区別できるようにして利用者に示す。   Then, the business process definition editing unit 121 receives the business process definition data representation and the set of activity nodes output from the business process definition conversion unit 122, updates the data representation with the data representation, and converts it into a graphic representation. To reflect. Each element of the accepted set of activity nodes is shown to the user so that it can be distinguished from other activity nodes on the graphic representation.

業務プロセス定義変換部122の基本的な処理の流れの例を図20Aおよび図20Bに示す。また、業務プロセス定義中のフォーク分岐をフォーク分岐代替活動に置換する処理の詳細な流れの例(図20におけるステップS2002の処理)を図21に示す。また、図20の処理で実行される操作1および操作2の詳細な流れの例をそれぞれ図22、図23に示し、図21の処理で実行される操作3の詳細な処理の流れの例を図24に示す。   An example of the basic processing flow of the business process definition conversion unit 122 is shown in FIGS. 20A and 20B. FIG. 21 shows an example of a detailed flow of processing for replacing a fork branch in the business process definition with a fork branch replacement activity (step S2002 in FIG. 20). Also, examples of detailed flows of operation 1 and operation 2 executed in the process of FIG. 20 are shown in FIGS. 22 and 23, respectively, and examples of detailed processes of operation 3 executed in the process of FIG. It shows in FIG.

なお、以下の説明で用いる業務プロセス例の一部ではシーケンスフローに識別のための番号を付与しているが、本実施例の業務プロセス定義変換部122は、シーケンスフローと番号の対応関係によらず同一の結果を得ることができる。   Note that, in some of the business process examples used in the following description, a number for identification is given to the sequence flow. However, the business process definition conversion unit 122 of the present embodiment is based on the correspondence between the sequence flow and the number. The same result can be obtained.

(第一の実施の形態の動作)
(業務プロセス定義の変換例1)
以下、業務プロセス定義変換部122に、以下の業務プロセス定義、活動列1、活動列2が入力された場合の業務プロセス定義の変換過程を示す。
(Operation of the first embodiment)
(Business process definition conversion example 1)
Hereinafter, the conversion process of the business process definition when the following business process definition, activity column 1 and activity column 2 are input to the business process definition conversion unit 122 is shown.

(1)業務プロセス定義:図14の業務プロセス定義
(2)活動列1:{活動b,活動f}
(3)活動列2:{活動b}
(1) Business process definition: Business process definition in FIG. 14 (2) Activity sequence 1: {activity b, activity f}
(3) Activity column 2: {Activity b}

図20において、業務プロセス定義変換部122が起動すると、ステップS2001で変数Aに、入力された業務プロセス定義が代入された後、ステップS2002で、変数Aの値である業務プロセス定義中のフォーク分岐を、フォーク分岐代替活動に置換する処理が実行される。この処理の詳細な流れの例が図21に記載されているが、図14の業務プロセス定義にはフォーク分岐が含まれないので、ここでは処理内容の説明を省略する。   In FIG. 20, when the business process definition conversion unit 122 is activated, the input business process definition is substituted into the variable A in step S2001, and then the fork branch in the business process definition that is the value of the variable A in step S2002. Is replaced with a fork branch substitution activity. An example of the detailed flow of this processing is shown in FIG. 21, but since the fork branch is not included in the business process definition of FIG. 14, description of the processing content is omitted here.

ステップS2003とステップS2004で変数群が初期化された後に、ステップS2005で、変数Aの業務プロセス定義(図14の業務プロセス定義)中の活動ノードで、入力された第二の活動列中の活動(ここでは活動b)を実行する活動ノードのうち、変数B(この時点では空)及び変数C(この時点では空)に含まれないものを特定して変数Dに代入する。ここでは、図14の活動ノードbが変数Dに代入される。   After the variable group is initialized in step S2003 and step S2004, in step S2005, the activity in the input second activity sequence at the activity node in the business process definition of variable A (business process definition in FIG. 14). Among the activity nodes that execute (here, activity b), those not included in variable B (empty at this time) and variable C (empty at this time) are identified and substituted into variable D. Here, the activity node b in FIG.

次にステップS2006で、変数D中の活動ノード(活動ノードb)が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Bに、満たさないすべての活動ノードを変数Eに代入する。   Next, in step S2006, it is determined whether or not the activity node (activity node b) in the variable D satisfies the following condition, and all the activity nodes that satisfy the condition are substituted for the variable B, and all the activity nodes that do not satisfy the condition are substituted for the variable E.

(条件)変数Aの業務プロセス定義(図14の業務プロセス定義)でその活動ノードを含むすべての活動ノード列が、第一の活動列に含まれるすべての活動を実行する。   (Condition) In the business process definition of the variable A (business process definition in FIG. 14), all the activity node columns including the activity node execute all the activities included in the first activity column.

ここでは、図14の業務プロセス定義で活動ノードbを含む活動ノード列として以下の6つの活動ノード列が特定される。   Here, the following six activity node strings are specified as the activity node string including the activity node b in the business process definition of FIG.

(1){活動ノードa,活動ノードb,活動ノードd,活動ノードf、活動ノードi}
(2){活動ノードa,活動ノードb,活動ノードd,活動ノードg,活動ノードi}
(3){活動ノードa,活動ノードb,活動ノードd,活動ノードh,活動ノードi}
(4){活動ノードa,活動ノードb,活動ノードe,活動ノードf,活動ノードi}
(5){活動ノードa,活動ノードb,活動ノードe,活動ノードg,活動ノードi}
(6){活動ノードa,活動ノードb,活動ノードe,活動ノードh,活動ノードi}
(1) {Activity node a, activity node b, activity node d, activity node f, activity node i}
(2) {Activity node a, activity node b, activity node d, activity node g, activity node i}
(3) {Activity node a, activity node b, activity node d, activity node h, activity node i}
(4) {Activity node a, activity node b, activity node e, activity node f, activity node i}
(5) {Activity node a, activity node b, activity node e, activity node g, activity node i}
(6) {Activity node a, activity node b, activity node e, activity node h, activity node i}

これらの活動ノード列のうち、第一の活動列に含まれるすべての活動(活動b、活動f)を実行するのは、1つめの活動ノード列と4つめの活動ノード列のみである。したがって、活動ノードbは上記条件を満たしておらず、変数Eに代入される。ステップS2007では変数Eが空であるか判定されるが、変数EにはステップS2006で活動ノードbが代入されており空ではないため、処理はステップS2008に進む。   Of these activity node columns, only the first activity node column and the fourth activity node column execute all the activities included in the first activity column (activity b, activity f). Therefore, the activity node b does not satisfy the above condition and is assigned to the variable E. In step S2007, it is determined whether or not the variable E is empty. However, since the activity node b is assigned to the variable E in step S2006 and is not empty, the process proceeds to step S2008.

ステップS2008では、変数E中の活動ノード(活動ノードb)が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Cに、満たさないすべての活動ノードを変数Fに代入する。   In step S2008, it is determined whether the activity node (activity node b) in the variable E satisfies the following conditions, and all the activity nodes that satisfy the condition are substituted for the variable C, and all the activity nodes that do not satisfy the condition are substituted for the variable F.

(条件)変数Aの業務プロセス定義(図14の業務プロセス定義)でその活動ノードを含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動を実行しない。   (Condition) In the business process definition of the variable A (business process definition in FIG. 14), any activity node column including the activity node does not execute all the activities included in the first activity column.

すでに示したとおり、活動ノードbを含む活動ノード列で第一の活動列に含まれるすべての活動を実行するものが2つあるので、活動ノードbは上記条件を満たしておらず、変数Fに代入される。ステップS2009では変数Fが空であるか判定されるが、変数FにはS2008で活動ノードbが代入されており空ではないため、処理はステップS2010に進む。   As already indicated, since there are two activity node sequences including the activity node b that execute all the activities included in the first activity column, the activity node b does not satisfy the above condition and the variable F Assigned. In step S2009, it is determined whether or not the variable F is empty. However, since the activity node b is assigned to the variable F in S2008 and is not empty, the process proceeds to step S2010.

ステップS2010では変数Gに、変数Fの値の先頭要素が代入される。ここでは変数Fの唯一の要素である活動ノードbが変数Gに代入される。次いでステップS2011では、第一の活動列を構成する活動のうち変数Gの値の活動ノードを含む活動ノード列の一部のみで実行されるものが変数Hに代入される。ここでは、第一の活動列を構成する活動(活動b、活動f)のうち、上で示した6つの活動ノード列の一部のみで実行される活動fが変数Hに代入される。そして、変数Iには、変数Gの値(活動ノードb)を含む活動ノード列で、変数Hに代入された活動を実行する活動ノードを、変数Gの値(活動ノードb)との問のノード数の小さいものから並べたリストが代入される。ここでは、変数Iに活動ノードfのみからなるリストが代入される。ステップS2012では、変数Iの先頭要素が変数Jに代入される。ここでは、変数Iの唯一の要素である活動ノードfが変数Jに代入される。   In step S2010, the leading element of the value of variable F is substituted for variable G. Here, the activity node b which is the only element of the variable F is substituted into the variable G. Next, in step S2011, among the activities constituting the first activity sequence, those executed only in a part of the activity node sequence including the activity node having the value of the variable G are substituted into the variable H. Here, among the activities (activity b, activity f) constituting the first activity sequence, the activity f executed only in a part of the 6 activity node sequences shown above is substituted into the variable H. The variable I is an activity node string including the value of the variable G (activity node b), and the activity node that executes the activity assigned to the variable H is the query of the value of the variable G (activity node b). A list arranged from the smallest number of nodes is substituted. Here, a list consisting only of the activity node f is substituted for the variable I. In step S2012, the leading element of variable I is substituted into variable J. Here, the activity node f which is the only element of the variable I is substituted into the variable J.

ステップS2013では、変数Gの値(活動ノードb)および変数Jの値(活動ノードf)を含む活動ノード列で変数Jの値が変数Gの値より後に出現するか判定される。ここでは、活動ノードfは活動ノードbの後に出現するので、処理はステップS2014に進む。   In step S2013, it is determined whether the value of the variable J appears after the value of the variable G in the activity node sequence including the value of the variable G (activity node b) and the value of the variable J (activity node f). Here, since the activity node f appears after the activity node b, the process proceeds to step S2014.

ステップS2014では、(変数Jの値,変数Gの値)の組を引数として変数Aの値である業務プロセス定義(図14の業務プロセス定義)に操作1が実行され、その結果(図28の業務プロセス定義)が変数Aに代入される。   In step S2014, the operation 1 is executed on the business process definition (business process definition in FIG. 14) that is the value of the variable A using the set of (variable J value, variable G value) as an argument, and the result (in FIG. 28). Business process definition) is substituted into variable A.

操作1の詳細な処理の流れは図22に示されている。まずステップS2201では、変数Aにおいて変数Gの値(活動ノードb)から変数Jの値(活動ノードf)に至るノード列に含まれる排他的分岐で、その分岐を開始端とするシーケンスフローの一部が第一の活動ノードに到達できず、かつ、そのノード列において変数Gの値(活動ノードb)との間に位置するノード数が最小のものを特定し、変数Kに代入する。ここでは、活動ノードbから活動ノードfに至るノード列に含まれる3つの排他的分岐(分岐ノードC、分岐ノードE、分岐ノードF)のうち、その分岐を開始端とするシーケンスフローの一部が第一の活動ノードに到達できないものは2つ(分岐ノードE、分岐ノードF)であり、そのうち活動ノードbとの間に位置するノード数が最小のものは分岐ノードEであるため、変数Kには分岐ノードEが代入される。次いでステップS2202では、変数Aの業務プロセス定義において変数Gの値(活動ノードb)から変数Kの値(分岐ノードE)に至るノードおよびノードを開始端とするシーケンスフローからなる部分グラフ(変数Kの値および変数Kの値を終了端とするシーケンスフローは除く)が変数Lに代入される。ここで変数Lに代入される部分グラフを図25に示す。   The detailed processing flow of operation 1 is shown in FIG. First, in step S2201, in the variable A, an exclusive branch included in a node sequence from the value of the variable G (activity node b) to the value of the variable J (activity node f) is a sequence flow starting from that branch. The part that cannot reach the first active node and has the smallest number of nodes located between the value of the variable G (active node b) in the node sequence is specified and substituted into the variable K. Here, of the three exclusive branches (branch node C, branch node E, branch node F) included in the node sequence from the active node b to the active node f, part of the sequence flow starting from that branch Are two that cannot reach the first active node (branch node E, branch node F), and the one with the smallest number of nodes located between the active node b is the branch node E. A branch node E is substituted for K. Next, in step S2202, in the business process definition of variable A, a subgraph (variable K) consisting of a node from the value of variable G (activity node b) to the value of variable K (branch node E) and a sequence flow starting from the node. And the sequence flow that ends with the value of the variable K) are substituted into the variable L. FIG. 25 shows a subgraph assigned to the variable L here.

次いでステップS2203では、変数Kの値(分岐ノードE)を開始端とするシーケンスフローごとに変数Lの値(図25の部分グラフ)のコピーを生成し、そのシーケンスフローの開始端を変数Lのコピーの末尾ノードに変更する。ステップS2203終了時点での業務プロセス定義を図26に示す。図26では、変数Lの値のコピーの背景に斜線を付している。   Next, in step S2203, a copy of the value of the variable L (subgraph of FIG. 25) is generated for each sequence flow starting from the value of the variable K (branch node E), and the starting end of the sequence flow is set to the variable L. Change to the end node of the copy. FIG. 26 shows the business process definition at the end of step S2203. In FIG. 26, the background of the copy of the value of the variable L is hatched.

さらにステップS2204では、変数L中のノードを終了端とするシーケンスフロー(元のシーケンスフロー)ごとに変数Kの値(分岐ノードE)のコピーを生成し、元のシーケンスフローの終了端を変数Kの値のコピーに変更する。また、変数Kの値のコピーを開始端とするシーケンスフローを生成し、その終了端を、元のシーケンスフローの終了端であった変数Lの値中のノードをコピーして生成された、変数Lの値のコピー中のノードに設定する。ステップS2204終了時点での業務プロセス定義を図27に示す。最後にステップS2205で変数Kの値と変数Lの値、および、変数Kの値と変数Lの値を接続するシーケンスフローを削除し、処理を終了する。ステップS2205終了時点での業務プロセス定義を図28に示す。なお、図28の業務プロセス定義では同ーの活動や分岐・結合に対応する活動ノードや分岐・結合ノードが複数存在するので、これ以降は業務プロセス定義中のシーケンスフローに番号を付与し、活動ノードや分岐・結合ノードをたとえば活動ノードa({},{1})などと表記することとする。   Further, in step S2204, a copy of the value of the variable K (branch node E) is generated for each sequence flow (original sequence flow) whose end is the node in the variable L, and the end of the original sequence flow is the variable K. Change to a copy of the value. In addition, a sequence flow starting from a copy of the value of the variable K is generated, and the end of the variable is generated by copying the node in the value of the variable L that is the end of the original sequence flow. Set to the node whose L value is being copied. FIG. 27 shows the business process definition at the end of step S2204. Finally, in step S2205, the value of the variable K and the value of the variable L, and the sequence flow connecting the value of the variable K and the value of the variable L are deleted, and the process ends. FIG. 28 shows the business process definition at the end of step S2205. In the business process definition in FIG. 28, there are a plurality of activity nodes and branch / join nodes corresponding to the same activity, branch / join, and so on. A node or a branch / join node is represented as an active node a ({}, {1}), for example.

処理は図20に戻り、ステップS2018では変数Jの値(活動ノードf)が変数Iの末尾要素か否か判定される。ここでは活動ノードfが変数Iの唯一の要素なので、処理はステップS2019に進み、変数Gの値(活動ノードb)が変数Fの末尾要素か否か判定される。活動ノードbも変数Fの唯一の要素なので、処理はステップS2004に戻る。   The processing returns to FIG. 20, and it is determined in step S2018 whether or not the value of the variable J (activity node f) is the last element of the variable I. Here, since the activity node f is the only element of the variable I, the process advances to step S2019 to determine whether or not the value of the variable G (activity node b) is the last element of the variable F. Since the activity node b is also the only element of the variable F, the process returns to step S2004.

ステップS2004で変数群が初期化された後、ステップS2005では変数Aの値の業務プロセス定義(図28の業務プロセス定義)中の活動ノードで、入力された第二の活動列中の活動(活動b)を実行する活動ノードのうち、変数Bおよび変数Cに含まれないものを変数Dに代入する。ここでは、活動ノードb({4},{7})と活動ノードb({5},{8})が変数Dに代入される。次いでステップS2006では、変数D中の活動ノード(活動ノードb({4},{7})と活動ノードb({5},{8}))が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Bに、満たさないすべての活動ノードを変数Eに代入する。   After the variable group is initialized in step S2004, in step S2005, the activity (activity) in the input second activity sequence is the activity node in the business process definition (business process definition in FIG. 28) of the value of variable A. Of the activity nodes that execute b), those not included in variable B and variable C are substituted into variable D. Here, the activity node b ({4}, {7}) and the activity node b ({5}, {8}) are substituted into the variable D. Next, in step S2006, it is determined whether or not the activity nodes (activity node b ({4}, {7}) and activity node b ({5}, {8})) in variable D satisfy the following conditions, Are assigned to the variable B, and all the unsatisfied activity nodes are assigned to the variable E.

(条件)変数Aの業務プロセス定義(図28の業務プロセス定義)でその活動ノードを含むすべての活動ノード列が第一の活動列に含まれるすべての活動(活動b、活動f)を実行する。   (Condition) In the business process definition of variable A (business process definition in FIG. 28), all activity node columns including the activity node execute all activities (activity b, activity f) included in the first activity column. .

まず、活動ノードb({4},{7})を含む全ての活動ノード列は以下の4つである。   First, all the active node strings including the active node b ({4}, {7}) are the following four.

(1){活動ノードa({},{1}),活動ノードb({4},{7}),活動ノードd({13},{17}),活動ノードf({23},{26}),活動ノードi({28},{})}
(2){活動ノードa({},{1}),活動ノードb({4},{7}),活動ノードd({13},{17}),活動ノードg({24},{27}),活動ノードi({28},{})}
(3){活動ノードa({},{1}),活動ノードb({4},{7}),活動ノードe({14},{18}),活動ノードf({23},(26}),活動ノードi({28},{})}
(4){活動ノードa({},{1}),活動ノードb({4},{7}),活動ノードe({14},{18}),活動ノードg({24},{27}),活動ノードi({28},{})}
(1) {Activity node a ({}, {1}), Activity node b ({4}, {7}), Activity node d ({13}, {17}), Activity node f ({23}, {26}), activity node i ({28}, {})}
(2) {Activity node a ({}, {1}), Activity node b ({4}, {7}), Activity node d ({13}, {17}), Activity node g ({24}, {27}), activity node i ({28}, {})}
(3) {Activity node a ({}, {1}), Activity node b ({4}, {7}), Activity node e ({14}, {18}), Activity node f ({23}, (26}), activity node i ({28}, {})}
(4) {Activity node a ({}, {1}), Activity node b ({4}, {7}), Activity node e ({14}, {18}), Activity node g ({24}, {27}), activity node i ({28}, {})}

これらのうち、第一の活動列に含まれるすべての活動(活動b、活動f)を実行するのは、第一の活動ノード列と第三の活動ノード列のみである。このため、活動ノードb({4},{7})は、上記条件を満たしておらず、変数Eに代入される。同様に、活動ノードb({5},{8})を含む全ての活動ノード列は以下の2つである。   Of these, only the first activity node column and the third activity node column execute all activities (activity b, activity f) included in the first activity column. For this reason, the activity node b ({4}, {7}) does not satisfy the above condition and is assigned to the variable E. Similarly, all the active node sequences including the active node b ({5}, {8}) are the following two.

(1){活動ノードa({},{1}),活動ノードb({5},{8}),活動ノードd({15},{19}),活動ノードh({22},{25}),活動ノードi({28},{})}   (1) {Activity node a ({}, {1}), Activity node b ({5}, {8}), Activity node d ({15}, {19}), Activity node h ({22}, {25}), activity node i ({28}, {})}

(2){活動ノードa({},{1}),活動ノードb({5},{8}),活動ノードe({16},{20}),活動ノードh({22},{25}),活動ノードi({28},{})}   (2) {Activity node a ({}, {1}), Activity node b ({5}, {8}), Activity node e ({16}, {20}), Activity node h ({22}, {25}), activity node i ({28}, {})}

これらはいずれも第一の活動列に含まれるすべての活動(活動b、活動f)を実行しない。このため、活動ノードb({5},(8})も変数Eに代入される。処理はステップS2007を経てステップS2008に進み、変数E中の活動ノード(活動ノードb({4},{7})、活動ノードb({5},(8}))が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Cに、満たさないすべての活動ノードを変数Fに代入する。   None of these execute all activities (activity b, activity f) included in the first activity column. Therefore, the activity node b ({5}, (8}) is also assigned to the variable E. The process proceeds to step S2008 through step S2007, and the activity node (activity node b ({4}, { 7}), the activity node b ({5}, (8})) determines whether or not the following condition is satisfied, and all the activity nodes that satisfy the condition are substituted for the variable C, and all the activity nodes that do not satisfy the condition are substituted for the variable F.

(条件)変数Aの業務プロセス定義(図28の業務プロセス定義)でその活動ノードを含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動を実行しない。   (Condition) In the business process definition of the variable A (business process definition in FIG. 28), any activity node column including the activity node does not execute all the activities included in the first activity column.

上で示したとおり、活動ノードb({5},{8})はこの条件を満たすが、活動ノードb({4},{7})はこの条件を満たさない。したがって、活動ノードb({5},(8})は変数Cに代入され、活動ノードb({4},{7})は変数Fに代入される。ステップS2009を経て処理はステップS2010に進み、変数Gには変数Fの先頭要素である活動ノードb({4},{7})が代入される。   As shown above, the active node b ({5}, {8}) satisfies this condition, but the active node b ({4}, {7}) does not satisfy this condition. Therefore, the activity node b ({5}, (8}) is assigned to the variable C, and the activity node b ({4}, {7}) is assigned to the variable F. The process proceeds to step S2010 via step S2009. The variable G is assigned with the activity node b ({4}, {7}), which is the first element of the variable F.

ステップS2011では、第一の活動列を構成する活動(活動b、活動f)のうち変数Gの値(活動ノードb({4},{7}))を含む活動ノード列の一部のみで実行されるものが変数Hに代入され、前記活動ノード列で変数Hの活動を実行する活動ノードが変数Iに代入される。ここでは、変数Iに活動ノードf({23},{26})が代入される。処理はステップS2012、ステップS2013を経てステップS2014に進み、(変数Jの値(活動ノードf({23},{26})),変数Gの値(活動ノードb({4},{7})))を引数として変数Aの値である業務プロセス定義(図28の業務プロセス定義)に操作1が実行される。操作1終了時点での業務プロセス定義を図29に示す。   In step S2011, only a part of the activity node sequence including the value of the variable G (activity node b ({4}, {7})) among the activities (activity b, activity f) constituting the first activity sequence is included. What is to be executed is assigned to the variable H, and the activity node that executes the activity of the variable H in the activity node sequence is assigned to the variable I. Here, the activity node f ({23}, {26}) is substituted into the variable I. The process proceeds to step S2014 via step S2012 and step S2013, and (value of variable J (activity node f ({23}, {26})), value of variable G (activity node b ({4}, {7})). ))) As an argument, operation 1 is executed on the business process definition (business process definition in FIG. 28) which is the value of variable A. FIG. 29 shows a business process definition at the end of the operation 1.

ステップS2018では変数Jの値(活動ノードf({23},{26}))が変数Iの末尾要素か否か判定される。ここでは活動ノードf({23},{26})が変数Iの唯一の要素なので、処理はステップS2019に進み、変数Gの値(活動ノードb({4},{7}))が変数Fの末尾要素か否か判定される。活動ノードb({4},{7})も変数Fの唯一の要素なので、処理はステップS2004に戻る。   In step S2018, it is determined whether or not the value of variable J (activity node f ({23}, {26})) is the last element of variable I. Here, since the activity node f ({23}, {26}) is the only element of the variable I, the process proceeds to step S2019, and the value of the variable G (activity node b ({4}, {7})) is the variable. It is determined whether or not it is the last element of F. Since the activity node b ({4}, {7}) is also the only element of the variable F, the process returns to step S2004.

処理はステップS2004に戻り、ステップS2004で変数が初期化された後、ステップS2005では、変数Aの値の業務プロセス定義(図29の業務プロセス定義)中の活動ノードで入力の第二の活動列中の活動(活動b)を実行する活動ノードのうち、変数Bおよび変数Cに含まれないものを変数Dに代入する。ここでは、図29の業務プロセス定義における活動ノードb({30},{34})と活動ノードb({31},{35})が変数Dに代入される。次いでステップS2006では、変数D中の活動ノード(活動ノードb({30},{34})と活動ノードb({31},{35}))が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Bに、満たさないすべての活動ノードを変数Eに代入する。   The process returns to step S2004, and after the variable is initialized in step S2004, in step S2005, the second activity sequence input at the activity node in the business process definition (business process definition in FIG. 29) of the value of variable A is obtained. Among the activity nodes that execute the middle activity (activity b), those not included in variable B and variable C are substituted into variable D. Here, the activity node b ({30}, {34}) and the activity node b ({31}, {35}) in the business process definition of FIG. Next, in step S2006, it is determined whether or not the activity nodes (activity node b ({30}, {34}) and activity node b ({31}, {35})) in variable D satisfy the following conditions, Are assigned to the variable B, and all the unsatisfied activity nodes are assigned to the variable E.

(条件)変数Aの業務プロセス定義(図29の業務プロセス定義)でその活動ノードを含むすべての活動ノード列が第一の活動列に含まれるすべての活動(活動b、活動f)を実行する。   (Condition) In the business process definition of variable A (business process definition in FIG. 29), all activity node columns including the activity node execute all activities (activity b, activity f) included in the first activity column. .

まず、活動ノードb({30},{34})を含む全ての活動ノード列は以下の2つである。   First, all the active node sequences including the active node b ({30}, {34}) are the following two.

(1){活動ノードa({},{1}),活動ノードb({30},{34}),活動ノードd({38},{42}),活動ノードf({23},{26}),活動ノードi({28},{})}
(2){活動ノードa({},{1}),活動ノードb({30},{34}),活動ノードe({39},{43}),活動ノードf({23},{26}),活動ノードi({28},{})}
(1) {Activity node a ({}, {1}), Activity node b ({30}, {34}), Activity node d ({38}, {42}), Activity node f ({23}, {26}), activity node i ({28}, {})}
(2) {Activity node a ({}, {1}), Activity node b ({30}, {34}), Activity node e ({39}, {43}), Activity node f ({23}, {26}), activity node i ({28}, {})}

これらはともに、第一の活動列に含まれるすべての活動(活動b、活動f)を実行する。このため、活動ノードb({30},{34})は、上記条件を満たしており、変数Bに代入される。同様に、活動ノードb({31},{35})を含む全ての活動ノード列は以下の2つである。   Both execute all activities (activity b, activity f) included in the first activity column. Therefore, the activity node b ({30}, {34}) satisfies the above condition and is assigned to the variable B. Similarly, all the active node sequences including the active node b ({31}, {35}) are the following two.

(1){活動ノードa({},{1}),活動ノードb({31},{35}),活動ノードd({40},{44}),活動ノードg({24},{27}),活動ノードi({28},{})}
(2){活動ノードa({},{1}),活動ノードb({31},{35}),活動ノードe({41},{45}),活動ノードg({24},{27}),活動ノードi({28},{})}
(1) {Activity node a ({}, {1}), Activity node b ({31}, {35}), Activity node d ({40}, {44}), Activity node g ({24}, {27}), activity node i ({28}, {})}
(2) {Activity node a ({}, {1}), Activity node b ({31}, {35}), Activity node e ({41}, {45}), Activity node g ({24}, {27}), activity node i ({28}, {})}

これらはいずれも第一の活動列に含まれるすべての活動(活動b、活動f)を実行しない。このため、活動ノードb({31},{35})は変数Eに代入される。   None of these execute all activities (activity b, activity f) included in the first activity column. Therefore, the activity node b ({31}, {35}) is substituted into the variable E.

処理はステップS2007を経てステップS2008に進み、変数E中の活動ノード(活動ノードb({31},{35})が以下の条件を満たすか判定し、満たすすべての活動ノードを変数Cに、満たさないすべての活動ノードを変数Fに代入する。   The process proceeds to step S2008 through step S2007, determines whether the activity node (activity node b ({31}, {35})) in variable E satisfies the following condition, and sets all the activity nodes that satisfy the condition to variable C. Substitute all the activity nodes that do not satisfy the variable F.

(条件)変数Aの業務プロセス定義(図29の業務プロセス定義)でその活動ノードを含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動を実行しない。   (Condition) In the business process definition of the variable A (business process definition in FIG. 29), any activity node column including the activity node does not execute all the activities included in the first activity column.

上で示したとおり、活動ノードb({31},{35})を含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動(活動b、活動f)を実行しない。このため、活動ノードb({31},{35})は変数Cに代入される。処理はステップS2007に進み、変数Eが空か判定される。ここでは変数Eは空なので処理はステップS2016に進み、変数Aの値である業務プロセス定義中のフォーク分岐代替活動ノードを活動ノードに置換する処理が実行されるが、図29の業務プロセス定義にはフォーク分岐代替活動ノードが含まれないので、置換処理は実行されない。最後にステップS2017で変数Aの値(図29の業務プロセス定義)と変数Bの値(活動ノードb({30},{34})が出力され、業務プロセス定義変換部の処理が終了する。   As indicated above, any activity node sequence that includes activity node b ({31}, {35}) does not execute all activities (activity b, activity f) included in the first activity sequence. Therefore, the activity node b ({31}, {35}) is substituted into the variable C. The process proceeds to step S2007 to determine whether the variable E is empty. Here, since the variable E is empty, the process proceeds to step S2016, and processing for replacing the fork branch substitution activity node in the business process definition, which is the value of the variable A, with the activity node is executed. Does not include a fork branch substitution active node, so no replacement process is performed. Finally, in step S2017, the value of the variable A (business process definition in FIG. 29) and the value of the variable B (activity node b ({30}, {34})) are output, and the processing of the business process definition conversion unit ends.

本実施例の業務プロセス編集システムの利用者は、業務プロセス定義編集部を介して図29の業務プロセス定義と活動ノードb({30},{34})を取得する。利用者は、活動ノードb({30},{34})の直前または直後のシーケンスフロー(シーケンスフロー30、シーケンスフロー34)上に活動を挿入することで、活動bおよび活動fを実行する活動列のみで実行され、活動bまたは活動fの少なくとも一方を含まない活動列では実行されない活動を追加できる。   The user of the business process editing system of this embodiment acquires the business process definition and the activity node b ({30}, {34}) in FIG. 29 via the business process definition editing unit. The user inserts an activity on the sequence flow (sequence flow 30, sequence flow 34) immediately before or immediately after the activity node b ({30}, {34}) to execute the activity b and activity f. It is possible to add an activity that is performed only in the column and not performed in an activity column that does not include at least one of activity b or activity f.

なお、本実施例では、図22のステップS2202において、変数Aの業務プロセス定義において変数Gの値から変数Kの値に至るノードおよびノードを開始端とするシーケンスフローからなる部分グラフ(変数Kの値自身および変数Kの値を終了端とするシーケンスフローは除く)が変数Lの値として代入された。しかし、変数Aの業務プロセス定義において変数Gの値から変数Kの値に至るノードに加え、以下の条件を満たす任意の数のノードおよびそのノードを開始端とするシーケンスフローからなる部分グラフを変数Lの値として代入しても、同等の効果を得ることができる。   In this embodiment, in step S2202 of FIG. 22, in the business process definition of variable A, a subgraph (sequence of variable K) consisting of a node from the value of variable G to the value of variable K and a sequence flow starting from the node is set. The value itself and the sequence flow that ends with the value of the variable K are excluded) as the value of the variable L. However, in the business process definition of variable A, in addition to the node from the value of variable G to the value of variable K, a subgraph consisting of an arbitrary number of nodes satisfying the following conditions and a sequence flow starting from that node is represented by variable Even if it is substituted as the value of L, an equivalent effect can be obtained.

(条件)そのノードを開始端とするすべてのシーケンスフローの終了端は、変数Lの値であるグラフに含まれるノードである。   (Condition) The end of all sequence flows starting from that node is a node included in the graph that is the value of the variable L.

ステップS2202の処理を上記の通り変更した場合に、変数Aの値が図14の業務プロセス定義、変数Gの値が活動ノードb、変数Kの値が排他的分岐ノードEであるとき、ステップS2202において変数Lに代入される部分グラフの例を図30に示す。図30の部分グラフには、図25の部分グラフに対して上の条件を満たすノードとして排他的分岐ノードAと活動ノードcが追加されている。また、変数Lに図30の部分グラフが代入された場合の、ステップS2205終了時点での業務プロセス定義を図31に示す。   When the processing in step S2202 is changed as described above, when the value of variable A is the business process definition of FIG. 14, the value of variable G is the activity node b, and the value of variable K is the exclusive branch node E, step S2202 FIG. 30 shows an example of the subgraph assigned to the variable L in FIG. In the subgraph of FIG. 30, an exclusive branch node A and an activity node c are added as nodes satisfying the above conditions with respect to the subgraph of FIG. Further, FIG. 31 shows a business process definition at the end of step S2205 when the subgraph of FIG.

同様に、図23のステップS2302においては、変数Aの業務プロセス定義において変数Mの値から変数Gの値に至るノードおよびノードを終了端とするシーケンスフローからなる部分グラフ(変数Mの値自身および変数Mの値を開始端とするシーケンスフローは除く)が変数Nの値として代入されている。しかし、変数Aの業務プロセス定義において変数Mの値から変数Gの値に至るノードに加え、以下の条件を満たす任意の数のノードおよびそのノードを終了端とするシーケンスフローからなる部分グラフを変数Nの値として代入しても、同等の効果を得ることができる。   Similarly, in step S2302 of FIG. 23, in the business process definition of variable A, a node from the value of variable M to the value of variable G and a subgraph consisting of a sequence flow with the node at the end (the value of variable M itself and (Except for the sequence flow starting from the value of the variable M) is substituted as the value of the variable N. However, in the business process definition of variable A, in addition to the node from the value of variable M to the value of variable G, a subgraph consisting of an arbitrary number of nodes satisfying the following conditions and a sequence flow with that node as the end point is represented by variable Even if it is substituted as the value of N, the same effect can be obtained.

(条件)そのノードを終了端とするすべてのシーケンスフローの開始端は、変数Nの値であるグラフに含まれるノードである。   (Condition) The starting end of all sequence flows whose end is that node is a node included in the graph that is the value of the variable N.

(業務プロセス定義の変換例2)   (Business process definition conversion example 2)

次に、業務プロセス定義変換部122に、以下の業務プロセス定義、活動列1、活動列2が入力された場合の業務プロセス定義の変換過程の概要を示す。なお、以下の説明では、先に示した変換例1の場合と同じ処理についてはその説明を省略することがあるので、必要に応じて変換例1の説明を参照されたい。   Next, an outline of the conversion process of the business process definition when the following business process definition, activity column 1 and activity column 2 are input to the business process definition conversion unit 122 is shown. In the following description, the description of the same processing as that of the conversion example 1 described above may be omitted, so refer to the description of the conversion example 1 as necessary.

(1)業務プロセス定義:図14の業務プロセス定義
(2)活動列1:{活動b,活動d,活動f}
(2)活動列2:{活動b}
(1) Business process definition: Business process definition of FIG. 14 (2) Activity sequence 1: {activity b, activity d, activity f}
(2) Activity column 2: {Activity b}

業務プロセス定義変換部122が起動すると、図20のステップS2005では図14の活動ノードbが変数Dに代入される。そしてステップS2006からステップS2009に至る一連の処理の結果、変数Dの値(活動ノードb)が変数Fに代入され、ステップS2010で変数Gに代入される。次いでステップS2011では、第一の活動列を構成する活動のうち、上で示した6つの活動列の一部のみで実行される活動として活動dと活動fが変数Hに代入される。そして、変数Gの値(活動ノードb)を含む活動ノード列で、変数Hの値に代入された活動を実行する活動ノードを、変数Gの値との問のノード数の小さいものから並べたリストである{活動ノードd,活動ノードf}が変数Iに代入される。   When the business process definition conversion unit 122 is activated, the activity node b in FIG. 14 is substituted for the variable D in step S2005 in FIG. As a result of a series of processes from step S2006 to step S2009, the value of variable D (activity node b) is assigned to variable F, and is assigned to variable G in step S2010. Next, in step S2011, activity d and activity f are substituted into variable H as activities executed in only a part of the six activity sequences shown above among the activities constituting the first activity sequence. Then, in the activity node sequence including the value of the variable G (activity node b), the activity nodes that execute the activity assigned to the value of the variable H are arranged in ascending order of the number of nodes with the value of the variable G. The list {active node d, active node f} is substituted into variable I.

処理はステップS2012、ステップS2013、ステップS2014と進み、変数Aの値(図14の業務プロセス定義)に対して(活動ノードd,活動ノードb)を引数として操作1が実行される。操作1実行終了時点での業務プロセス定義を図32に示す。   The process proceeds to step S2012, step S2013, and step S2014, and operation 1 is executed with (activity node d, activity node b) as an argument for the value of variable A (the business process definition in FIG. 14). FIG. 32 shows the business process definition at the end of the execution of operation 1.

処理はステップS2004に戻り、ステップS2005では図32の活動ノードb({4},{7})と活動ノードb({5},{8})が変数Dに代入される。S2008では、これらのうち活動ノードb({4},{7})が変数Fに、活動ノードb({5},{8})が変数Cに代入される。そしてステップS2010で変数Gには活動ノードb({4},{7})が代入され、ステップS2011で変数Hに活動fが代入される。処理はステップS2012、ステップS2013、ステップS2014と進み、変数Aの値(図32の業務プロセス定義)に対して(活動ノードb({4},{7}),活動ノードf({18},{21}))を引数として操作1が実行される。操作1実行終了時点での業務プロセス定義を図33に示す。   The process returns to step S2004, and in step S2005, the activity node b ({4}, {7}) and the activity node b ({5}, {8}) in FIG. In S2008, among these, the activity node b ({4}, {7}) is substituted into the variable F, and the activity node b ({5}, {8}) is substituted into the variable C. In step S2010, the activity node b ({4}, {7}) is assigned to the variable G, and the activity f is assigned to the variable H in step S2011. The process proceeds to step S2012, step S2013, and step S2014, and for the value of variable A (business process definition in FIG. 32), (activity node b ({4}, {7}), activity node f ({18}, Operation 1 is executed with {21})) as an argument. FIG. 33 shows the business process definition at the end of the execution of operation 1.

処理は再びステップS2004に戻り、ステップS2005では図33の活動ノードb({25},{31})と活動ノードb({26},{32})が変数Dに代入される。S2008では、これらのうち活動ノードb({25},{31})が変数Fに、活動ノードb({26},{32})が変数Cに代入される。そしてステップS2010で変数Gには活動ノードb({25},{31})が代入され、ステップS2011で変数Hに活動fが代入される。処理はステップS2012、ステップS2013、ステップS2014と進み、変数Aの値(図33の業務プロセス定義)に対して(活動ノードb({25},{31}),活動ノードf({18},{21}))を引数として操作1が実行される。操作1実行終了時点での業務プロセス定義を図34に示す。   The process returns to step S2004 again, and in step S2005, the activity node b ({25}, {31}) and the activity node b ({26}, {32}) in FIG. In S2008, among these, the activity node b ({25}, {31}) is substituted into the variable F, and the activity node b ({26}, {32}) is substituted into the variable C. In step S2010, the activity node b ({25}, {31}) is assigned to the variable G, and the activity f is assigned to the variable H in step S2011. Processing proceeds to step S2012, step S2013, and step S2014, and for the value of variable A (business process definition in FIG. 33), (activity node b ({25}, {31}), activity node f ({18}, Operation 1 is executed with {21})) as an argument. FIG. 34 shows the business process definition at the end of the operation 1 execution.

処理は再びステップS2004に戻り、S2005では図34の活動ノードb({37},{43})と活動ノードb({38},{44})が変数Dに代入される。これらのうち、活動ノードb({37},{43})はステップS2006で変数Bに代入され、活動ノードb({38},{44})はS2008で変数Cに代入される。この結果、ステップS2009開始時点で変数Fの値は空となるため処理はステップS2016に進み、変数Aの値である業務プロセス定義中のフォーク分岐代替活動ノードを活動ノードに置換する処理が実行されるが、図34の業務フ口セス定義にはフォーク分岐代替活動ノードが含まれないので、置換処理は実行されない。最後にステップS2017で、変数Aの値(図34の業務プロセス定義)と変数Bの値(活動ノードb({37},{43}))が出力され、業務プロセス定義変換部の処理が終了する。   The process returns to step S2004 again, and in S2005, the activity node b ({37}, {43}) and the activity node b ({38}, {44}) in FIG. Of these, the activity node b ({37}, {43}) is assigned to the variable B in step S2006, and the activity node b ({38}, {44}) is assigned to the variable C in step S2008. As a result, since the value of the variable F becomes empty at the start of step S2009, the process proceeds to step S2016, and the process of replacing the fork branch substitution activity node in the business process definition, which is the value of the variable A, with the active node is executed. However, since the business process definition in FIG. 34 does not include the fork branch substitution activity node, the replacement process is not executed. Finally, in step S2017, the value of variable A (business process definition in FIG. 34) and the value of variable B (activity node b ({37}, {43})) are output, and the process of the business process definition conversion unit is completed. To do.

(業務プロセス定義の変換例3)   (Business process definition conversion example 3)

次に、業務プロセス定義変換部122に、以下の業務プロセス定義、活動列1、活動列2が入力された場合の業務プロセス定義の変換過程の概要を示す。以下の説明でも同様に、先に示した変換例1の場合と同じ処理についてはその説明を省略することがあるので、必要に応じて変換例1の説明を参照されたい。   Next, an outline of the conversion process of the business process definition when the following business process definition, activity column 1 and activity column 2 are input to the business process definition conversion unit 122 is shown. Similarly, in the following description, the description of the same processing as that of the conversion example 1 described above may be omitted, so refer to the description of the conversion example 1 as necessary.

(1)業務プロセス定義:図3の業務プロセス定義
(2)活動列1:{活動b,活動d}
(3)活動列2:{活動b}
(1) Business process definition: Business process definition in FIG. 3 (2) Activity sequence 1: {activity b, activity d}
(3) Activity column 2: {Activity b}

業務プロセス定義変換部122が起動すると、図20のS2005では、図3の活動ノードbが変数Dに代入される。続いてステップS2006では、変数Dの値(活動ノードb)を含む活動ノード列として以下の3つの活動ノード列が特定され、これらのうち第三の活動ノード列が第一の活動列のすべての活動を実行しないため、活動ノードbは変数Eに代入される。   When the business process definition conversion unit 122 is activated, the activity node b in FIG. 3 is assigned to the variable D in S2005 of FIG. Subsequently, in step S2006, the following three activity node sequences are specified as the activity node sequence including the value of the variable D (activity node b), and among these, the third activity node sequence is all of the first activity sequences. Activity node b is assigned to variable E because no activity is performed.

(1){活動ノードa,活動ノードb,活動ノードx,活動ノードd,活動ノードf}
(2){活動ノードa,活動ノードb,活動ノードd,活動ノードf}
(3){活動ノードa,活動ノードb,活動ノードe,活動ノードf}
(1) {activity node a, activity node b, activity node x, activity node d, activity node f}
(2) {Activity node a, activity node b, activity node d, activity node f}
(3) {Activity node a, activity node b, activity node e, activity node f}

そしてステップS2007からステップS2009に至る一連の処理の結果、変数Eの値(活動ノードb)は変数Fに、次いでステップS2010で変数Gに代入される。次いでステップS2011では、第一の活動列を構成する活動のうち上記の3つの活動ノード列の一部のみで実行されるものとして活動dが特定され、変数Hに代入される。そして変数I、変数Jには活動ノードdが代入される。   As a result of a series of processes from step S2007 to step S2009, the value of variable E (activity node b) is substituted for variable F and then for variable G in step S2010. Next, in step S2011, the activity d is specified as being executed by only a part of the above three activity node sequences among the activities constituting the first activity sequence, and is substituted into the variable H. Then, the activity node d is assigned to the variables I and J.

処理はステップS2013、ステップS2014と進み、変数Aの値(図3の業務プロセス定義)に対して(活動ノードd,活動ノードb)を引数として操作1が実行される。操作1実行終了時点での業務プロセス定義を図35に示す。   Processing proceeds to step S2013 and step S2014, and operation 1 is executed with (activity node d, activity node b) as an argument for the value of variable A (the business process definition in FIG. 3). FIG. 35 shows a business process definition at the end of the operation 1 execution.

処理はステップS2004に戻り、S2005では図35の活動ノードb({5},{9})と活動ノードb({6},{10})が変数Dに代入される。このうち活動ノードb({5},{9})はステップS2006で変数Bに代入され、活動ノードb({6},{10})はステップS2008で変数Eに、ステップS2008で変数Fに、さらにステップS2010で変数Gに代入される。ステップS2011では第一の活動列を構成する活動(活動b、活動d)のうち変数Gの値(活動ノードb({6},{10}))を含む活動ノード列の一部のみで実行されるものとして活動dが変数Hに代入され、変数Iには活動ノードd({16},{17})が代入される。   The processing returns to step S2004, and in S2005, the activity node b ({5}, {9}) and the activity node b ({6}, {10}) in FIG. Of these, the activity node b ({5}, {9}) is assigned to the variable B in step S2006, the activity node b ({6}, {10}) is changed to the variable E in step S2008, and the variable F in step S2008. In step S2010, the variable G is substituted. In step S2011, only a part of the activity node sequence including the value of the variable G (activity node b ({6}, {10})) among the activities (activity b, activity d) constituting the first activity sequence is executed. As a result, activity d is assigned to variable H, and activity node d ({16}, {17}) is assigned to variable I.

処理はステップS2013、ステップS2014と進み、変数Aの値(図35の業務プロセス定義)に対して(活動ノードd({16},{17}),活動ノードb({6},{10}))を引数として操作1が実行される。操作1実行終了時点での業務プロセス定義を図36に示す。   Processing proceeds to step S2013 and step S2014, and for the value of variable A (business process definition in FIG. 35), (activity node d ({16}, {17}), activity node b ({6}, {10}) Operation 1 is executed with)) as an argument. FIG. 36 shows the business process definition at the end of the execution of operation 1.

処理は再びステップS2004に戻り、S2005では図36の活動ノードb({20},{24})と活動ノードb({21},{25})が変数Dに代入される。このうち活動ノードb({20},{24})はステップS2006で変数Bに代入され、活動ノードb({21},{25})はS2008で変数Cに代入される。この結果、ステップS2009開始時点で変数Fの値が空となるため処理はステップS2016に進み、変数Aの値である業務プロセス定義中のフォーク分岐代替活動ノードを活動ノードに置換する処理が実行されるが、図36の業務プロセス定義にはフォーク分岐代替活動ノードが含まれないので、置換処理は実行されない。最後にステップS2017で変数Aの値(図36の業務プロセス定義)と変数Bの値(活動ノードb({5},{9})、活動ノードb({20},{24}))が出力され、業務プロセス定義変換部の処理が終了する。   The process returns to step S2004 again, and in S2005, the activity node b ({20}, {24}) and the activity node b ({21}, {25}) in FIG. Of these, the activity node b ({20}, {24}) is assigned to the variable B in step S2006, and the activity node b ({21}, {25}) is assigned to the variable C in step S2008. As a result, since the value of the variable F becomes empty at the start of step S2009, the process proceeds to step S2016, and the process of replacing the fork branch substitution activity node in the business process definition that is the value of the variable A with the active node is executed. However, since the business process definition in FIG. 36 does not include a fork branch replacement activity node, the replacement process is not executed. Finally, in step S2017, the value of variable A (business process definition in FIG. 36) and the value of variable B (activity node b ({5}, {9}), activity node b ({20}, {24})) are obtained. Is output, and the process of the business process definition conversion unit ends.

(業務プロセス定義の変換例4)   (Business process definition conversion example 4)

次に、業務プロセス定義変換部122に以下の業務プロセス定義、活動列1、活動列2が入力された場合の業務プロセス定義の変換過程の概要を示す。以下の説明でも同様に、先に示した変換例1の場合と同じ処理についてはその説明を省略することがあるので、必要に応じて変換例1の説明を参照されたい。   Next, an outline of the conversion process of the business process definition when the following business process definition, activity column 1 and activity column 2 are input to the business process definition conversion unit 122 is shown. Similarly, in the following description, the description of the same processing as that of the conversion example 1 described above may be omitted, so refer to the description of the conversion example 1 as necessary.

(1)業務プロセス定義:図3の業務プロセス定義
(2)活動列1:{活動b,活動d}
(3)活動列2:{活動d}
(1) Business process definition: Business process definition in FIG. 3 (2) Activity sequence 1: {activity b, activity d}
(3) Activity column 2: {Activity d}

業務プロセス定義変換部122が起動すると、図20のステップS2005では図3の活動ノードdが変数Dに代入される。続いてステップS2006では、変数Dの値(活動ノードd)を含む活動ノード列として以下の3つの活動ノード列が特定され、これらのうち第三の活動ノード列が第一の活動列のすべての活動(活動b、活動d)を実行しないため、活動ノードdは変数Eに代入される。   When the business process definition conversion unit 122 is activated, the activity node d in FIG. 3 is substituted for the variable D in step S2005 in FIG. Subsequently, in step S2006, the following three activity node sequences are specified as the activity node sequence including the value of the variable D (activity node d), and among these, the third activity node sequence is all the first activity sequences. Activity node d is assigned to variable E because activity (activity b, activity d) is not executed.

(1){活動ノードa,活動ノードb,活動ノードx,活動ノードd,活動ノードf}
(2){活動ノードa,活動ノードb,活動ノードd,活動ノードf}
(3){活動ノードa,活動ノードc,活動ノードd,活動ノードf}
(1) {activity node a, activity node b, activity node x, activity node d, activity node f}
(2) {Activity node a, activity node b, activity node d, activity node f}
(3) {Activity node a, activity node c, activity node d, activity node f}

そしてステップS2007からステップS2009に至る一連の処理の結果、変数Dの値(活動ノードd)は変数Fに、ステップS2010で変数Gに代入される。次いでステップS2011では、第一の活動列を構成する活動のうち、上で示した3つの活動列の一部のみで実行される活動として活動bが変数Hに代入される。そして、変数Iには活動ノードbのみからなるリストが代入される。   As a result of a series of processes from step S2007 to step S2009, the value of variable D (activity node d) is substituted into variable F and variable G at step S2010. Next, in step S2011, activity b is substituted into variable H as an activity executed in only a part of the three activity sequences shown above among the activities constituting the first activity sequence. Then, a list consisting only of the activity node b is substituted for the variable I.

処理はステップS2012を経てステップS2013に進み、ここで変数Jの値(活動ノードb)が変数Gの値(活動ノードd)より後に出現しないと判断されて、処理はステップS2015と進む。ステップS2015においては、変数Aの値(図3の業務プロセス定義)に対して(活動ノードb,活動ノードd)を引数として操作2が実行される。操作2実行終了時点での業務プロセス定義を図37に示す。   The process proceeds to step S2013 via step S2012, where it is determined that the value of variable J (activity node b) does not appear after the value of variable G (activity node d), and the process proceeds to step S2015. In step S2015, operation 2 is executed with (activity node b, activity node d) as an argument for the value of variable A (the business process definition in FIG. 3). FIG. 37 shows the business process definition at the end of the execution of operation 2.

処理はステップS2004に戻り、ステップS2005では図37の活動ノードd({16},{18})と活動ノードd({17},{19})が変数Dに代入される。これらのうち活動ノードd({16},{18})がステップS2006で変数Bに代入され、活動ノードd({17},{19})がステップS2008で変数Cに代入される。この結果、ステップS2009開始時点で変数Fの値が空となるため、処理はステップS2016に進み、変数Aの値である業務プロセス定義中のフォーク分岐代替活動ノードを活動ノードに置換する処理が実行されるが、図37の業務プロセス定義にはフォーク分岐代替活動ノードが含まれないので、置換処理は実行されない。最後にステップS2017で変数Aの値(図37の業務プロセス定義)と変数Bの値(活動ノードb({16},{18}))が出力され、業務プロセス定義変換部の処理が終了する。   The process returns to step S2004. In step S2005, the activity node d ({16}, {18}) and the activity node d ({17}, {19}) in FIG. Of these, the activity node d ({16}, {18}) is substituted into the variable B in step S2006, and the activity node d ({17}, {19}) is substituted into the variable C in step S2008. As a result, since the value of the variable F becomes empty at the start of step S2009, the process proceeds to step S2016, and the process of replacing the fork branch substitution activity node in the business process definition that is the value of the variable A with the active node is executed. However, since the business process definition in FIG. 37 does not include the fork branch substitution activity node, the replacement process is not executed. Finally, in step S2017, the value of variable A (business process definition in FIG. 37) and the value of variable B (activity node b ({16}, {18})) are output, and the process of the business process definition conversion unit ends. .

(業務プロセス定義の変換例5)   (Business Process Definition Conversion Example 5)

次に、業務プロセス定義変換部122に、以下のフォーク分岐代替活動ノードを含む業務プロセス定義、活動列1、活動列2が入力された場合の業務プロセス定義の変換過程の概要を示す。   Next, an outline of the conversion process of the business process definition when the business process definition including the following fork branch substitution activity node, the activity column 1 and the activity column 2 is input to the business process definition conversion unit 122 is shown.

(1)業務プロセス定義:図4の業務プロセス定義
(2)活動列1:{活動b,活動f}
(3)活動列2:{活動f}
(1) Business process definition: Business process definition in FIG. 4 (2) Activity sequence 1: {activity b, activity f}
(3) Activity column 2: {Activity f}

業務プロセス定義変換部122が起動すると、ステップS2002で業務プロセス定義中のフォーク分岐をフォーク分岐代替活動に置換する処理が実行される。具体的には、図21のステップS2101で変数Xに業務プロセス定義中の全分岐ノードが代入される。ただし、第一の分岐ノードを開始端とする分岐領域が第二の分岐ノードを開始端とする分岐領域を含むとき、Xでは第二の分岐ノードが第一の分岐ノードより先に出現するようにする。なお、ここでは、変数Xに対して以下の順序で分岐ノードが格納されたものとするが、ステップS2101に記述された条件を満たす範囲で分岐ノードの順序を変更しても同一の結果を得ることができる。   When the business process definition conversion unit 122 is activated, processing for replacing the fork branch in the business process definition with a fork branch replacement activity is executed in step S2002. Specifically, all branch nodes in the business process definition are substituted for variable X in step S2101 of FIG. However, when the branch region starting from the first branch node includes the branch region starting from the second branch node, in X, the second branch node appears before the first branch node. To. Here, it is assumed that the branch nodes are stored in the following order for the variable X, but the same result is obtained even if the order of the branch nodes is changed within the range satisfying the condition described in step S2101. be able to.

(変数Xの値)分岐ノードA、分岐ノードF、分岐ノードE   (Value of variable X) branch node A, branch node F, branch node E

次いでステップS2102では変数YにXの先頭要素(ここでは分岐A)が代入される。ステップS2103では、変数Yの値(分岐ノードA)はフォーク分岐か否かが判定される。分岐ノードAはフォーク分岐ではないので処理はステップS2107に進み、変数Yの値を含むフォーク分岐があるか否かが判定される。変数Yの値(分岐ノードA)を含む分岐は無いので処理はステップS2105に進み、変数Yの値(分岐ノードA)が変数Xの末尾要素か否かが判定される。ここでは分岐ノードAは変数Xの末尾要素ではないので、処理はステップS2106に進み、変数Yに変数Xの次要素(分岐ノードF)が格納される。   In step S2102, the first element of X (branch A in this case) is assigned to the variable Y. In step S2103, it is determined whether the value of variable Y (branch node A) is a fork branch. Since the branch node A is not a fork branch, the process advances to step S2107 to determine whether or not there is a fork branch including the value of the variable Y. Since there is no branch including the value of variable Y (branch node A), the process advances to step S2105 to determine whether or not the value of variable Y (branch node A) is the last element of variable X. Here, since the branch node A is not the last element of the variable X, the process proceeds to step S2106, and the next element (branch node F) of the variable X is stored in the variable Y.

処理はステップS2103に戻り、変数Yの値(分岐ノードF)がフォーク分岐であるか否かが判定される。分岐ノードFは排他的分岐でありフォーク分岐ではないので、処理はステップS2107に進み、変数Yの値(分岐ノードF)を含むフォーク分岐領域があるか否か判定される。ここではフォーク分岐ノードEを開始端とするフォーク分岐領域が分岐ノードFを含むので、処理はステップS2108に進み、変数Wに変数Yの値(分岐ノードF)を含む最小のフォーク分岐領域として分岐ノードEを開始端とするフォーク分岐領域が代入される。処理はステップS2109に進み、変数Yの値(分岐ノードF)が変数Wの値(分岐ノードEを開始端とするフォーク分岐領域)内の活動の情報を利用しているか否かが判定される。ここでは分岐ノードFは他の活動の情報を利用していないので、処理はステップS2110に進み、(変数Y,変数W)に対して操作3が実行される。   The process returns to step S2103 to determine whether or not the value of variable Y (branch node F) is a fork branch. Since the branch node F is an exclusive branch and not a fork branch, the process advances to step S2107 to determine whether or not there is a fork branch region including the value of the variable Y (branch node F). Here, since the fork branch region starting from the fork branch node E includes the branch node F, the process advances to step S2108 to branch as the minimum fork branch region in which the variable W includes the value of the variable Y (branch node F). A fork branch area starting from node E is substituted. The process advances to step S2109 to determine whether or not the value of the variable Y (branch node F) uses information on the activity in the value of the variable W (fork branch region starting from the branch node E). . Here, since the branch node F does not use the information of other activities, the process proceeds to step S2110, and the operation 3 is performed on (variable Y, variable W).

図24のステップS2401では、変数Yの値(分岐ノードF)を開始端とするシーケンスフローの数だけ変数Wの値(分岐ノードEを開始端とするフォーク分岐領域)のコピーを作成する。ここでは、分岐ノードFを開始端とするシーケンスフローは2つなので、分岐ノードEを開始端とするフォーク分岐領域は2つ作成される。ステップS2402では、変数Pに変数Yの値(分岐ノードF)のコピーを代入し、変数Qに変数Yの値に対応する結合ノード(結合ノードG)のコピーを代入する。ステップS2403では、変数Wの値を直前直後のシーケンスフローから分離し、変数Wの値の開始端の分岐(分岐ノードE)を終了端とするシーケンスフローの終了端を変数Pの値(分岐ノードF)に、変数Wの値の終了端の結合(結合ノードH)を開始端とするシーケンスフローの開始端を変数Qの値(結合ノードG)に置き換える。なお、変数Wの値のオリジナルは削除されたものとする。この時点での業務プロセス定義を図38に示す。   In step S2401 of FIG. 24, copies of the value of the variable W (fork branch area starting from the branch node E) are created for the number of sequence flows starting from the value of the variable Y (branch node F). Here, since there are two sequence flows starting from the branch node F, two fork branch regions starting from the branch node E are created. In step S2402, a copy of the value of variable Y (branch node F) is substituted for variable P, and a copy of the join node (join node G) corresponding to the value of variable Y is substituted for variable Q. In step S2403, the value of the variable W is separated from the sequence flow immediately before and after, and the end of the sequence flow whose end is the branch at the start of the variable W (branch node E) is the value of the variable P (branch node). In F), the start end of the sequence flow starting from the end of the variable W value (join node H) is replaced with the value of the variable Q (join node G). It is assumed that the original value of the variable W has been deleted. The business process definition at this point is shown in FIG.

次いでステップS2404では、変数Rに変数Wの値(分岐ノードEを開始端とするフォーク分岐領域)の1番目のコピーを代入する。ステップS2405では、変数Rの値(分岐ノードEを開始端とするフォーク分岐領域)に含まれる、変数Yの値(分岐ノードF)を開始端とする分岐領域を、分岐領域のn番目(ここでは1番目)の分岐から分岐領域終了端の結合まで(ここでは活動ノードf)に置き換える。ステップS2406では、変数Pの値(分岐ノードF)のn番目(ここでは1番目)の分岐を開始端とし、変数Rの値(分岐ノードEを開始端とするフォーク分岐領域)の開始端の分岐を終了端とするシーケンスフローを生成する。ステップS2407では、変数Rの値(分岐ノードEを開始端とするフォーク分岐領域)の終了端の結合を開始端とし、変数Qの値(結合ノードG)のn番目の結合を終了端とするシーケンスフローを生成する。この時点での業務プロセス定義を図39に示す。   In step S2404, the first copy of the value of variable W (fork branch area starting from branch node E) is substituted for variable R. In step S2405, the branch area starting from the value of variable Y (branch node F) included in the value of variable R (fork branch area starting from branch node E) is designated as the nth (here In this case, the first branch is replaced with the connection at the end of the branch area (here, the active node f). In step S2406, the n-th (here, the first) branch of the value of the variable P (branch node F) is set as the start end, and the value of the variable R (fork branch region starting from the branch node E) Generate a sequence flow that ends at a branch. In step S2407, the connection at the end of the value of variable R (fork branch region starting from branch node E) is the start, and the nth connection of the value of variable Q (connection node G) is the end. Generate a sequence flow. The business process definition at this point is shown in FIG.

この後も図24での処理が継続し、変数Wに複数のコピーがある場合、ステップS2405からS2407の処理が繰り返される。図24の処理終了時点での業務プロセス定義を図40に示す。   Thereafter, the processing in FIG. 24 continues, and when there are a plurality of copies in the variable W, the processing from step S2405 to S2407 is repeated. FIG. 40 shows the business process definition at the end of processing in FIG.

処理は図21に戻り、ステップS2111では操作3で生成された分岐領域開始端の分岐ノードを、変数Xにおける変数Yの次の値として追加し、操作3で削除された分岐領域開始端の分岐ノードをXから削除する。このとき、Xから削除される分岐ノードに変数Yの値が含まれる場合は以下の通り処理する。
(1)変数Yの値が変数Xの先頭要素でない場合、変数Yの値の直前に位置する分岐ノードを変数Yの値とする。
(2)変数Yの値が変数Xの先頭要素である場合、変数Yの値を特別な値(たとえばNULL値)とし、S2106ではその特別な値の次要素として変数Xにおける先頭要素を変数Yに代入する。
この結果、変数Xの値は以下の通りとなる。
The processing returns to FIG. 21. In step S2111, the branch node at the branch region start end generated in operation 3 is added as the next value of variable Y in variable X, and the branch region start end branch deleted in operation 3 is added. Delete the node from X. At this time, when the value of the variable Y is included in the branch node deleted from X, the following processing is performed.
(1) If the value of the variable Y is not the first element of the variable X, the branch node located immediately before the value of the variable Y is set as the value of the variable Y.
(2) If the value of the variable Y is the first element of the variable X, the value of the variable Y is set to a special value (for example, a NULL value). In S2106, the first element in the variable X is set to the variable Y as the next element of the special value. Assign to.
As a result, the value of the variable X is as follows.

(変数Xの値)分岐ノードA({1},{2,4})、分岐ノードE({7},{8,10})、分岐ノードE({13},{14,16})、分岐ノードF({6},{7,13})   (Value of variable X) Branch node A ({1}, {2, 4}), Branch node E ({7}, {8, 10}), Branch node E ({13}, {14, 16}) , Branch node F ({6}, {7, 13})

処理はステップS2105、ステップS2106と進み、変数Yに変数Xの次要素(分岐ノードE({7},{8,10}))が代入されて処理がステップS2103に戻り、変数Yの値(分岐ノードE({7},{8,10}))がフォーク分岐か否かが判定される。分岐ノードE({7},{8,10})はフォーク分岐なので、処理はステップS2104に進み、フォーク分岐領域代替活動ノードである変数Z(ここでは活動ノードxとする)を生成し、変数Yの値(分岐ノードE({7},{8,10}))を開始端とする分岐領域と置き換える。フォーク分岐領域代替活動は活動の一種で、置換したフォーク分岐領域との対応関係を保持している。この時点での業務プロセス定義、および、フォーク分岐領域代替活動ノードxと元のフォーク分岐領域との対応関係を図41に示す。なお、図において、フォーク分岐領域代替活動ノードは斜線を付した正方形で表記する。   The process proceeds to step S2105 and step S2106, the next element of variable X (branch node E ({7}, {8, 10})) is substituted for variable Y, the process returns to step S2103, and the value of variable Y ( It is determined whether or not the branch node E ({7}, {8, 10})) is a fork branch. Since branch node E ({7}, {8, 10}) is a fork branch, the process advances to step S2104 to generate a variable Z (here, active node x) which is a fork branch region alternative activity node. Replace with the branch region starting from the value of Y (branch node E ({7}, {8, 10})). Fork branch area substitution activity is a kind of activity, and maintains a correspondence with the replaced fork branch area. FIG. 41 shows the business process definition at this time and the correspondence relationship between the fork branch area substitution activity node x and the original fork branch area. In the figure, the fork branch area substitution activity node is represented by a hatched square.

この後も図21での処理が継続され、変数Xの各要素に対してステップS2103からS2105の処理が繰り返される。図21の処理終了時点での業務プロセス定義を図42に示す。   Thereafter, the processing in FIG. 21 is continued, and the processing of steps S2103 to S2105 is repeated for each element of the variable X. FIG. 42 shows the business process definition at the end of the processing in FIG.

処理は図20のステップS2003に戻り、S2005では図42の活動ノードx({7},{12})が変数Dに代入される。続いてステップS2006では、変数Dの値(活動ノードx({7},{12}))を含む活動ノード列として以下の2つの活動ノード列が特定され、これらのうち第二の活動ノード列が第一の活動列のすべての活動(活動b、活動x)を実行しないため、活動ノードx({7},{12})は変数Eに代入される。   The processing returns to step S2003 in FIG. 20, and the active node x ({7}, {12}) in FIG. Subsequently, in step S2006, the following two activity node sequences are specified as the activity node sequence including the value of the variable D (activity node x ({7}, {12})). Does not execute all activities (activity b, activity x) in the first activity sequence, so activity node x ({7}, {12}) is assigned to variable E.

(1){活動ノードa,活動ノードb,活動ノードx,活動ノードi}
(2){活動ノードa,活動ノードc,活動ノードx,活動ノードi}
(1) {Activity node a, activity node b, activity node x, activity node i}
(2) {activity node a, activity node c, activity node x, activity node i}

そしてステップS2007からステップS2010に至る一連の処理の結果、変数Eの値(活動ノードx({7},{12}))が変数Fおよび変数Gに代入される。次いでステップS2011では、第一の活動列を構成する活動のうち、上の2つの活動ノード列の一部のみで実行される活動として活動bが特定され、変数Hに代入される。そして変数Iには活動ノードb({2},{3})が代入される。処理はステップS2012、ステップS2013、ステップS2015と進み、変数Aの値(図42の業務プロセス定義)に対して(活動ノードb,活動ノードx)を引数として操作2が実行される。操作2実行終了時点での業務プロセス定義を図43に示す。   As a result of a series of processing from step S2007 to step S2010, the value of variable E (activity node x ({7}, {12})) is substituted into variable F and variable G. Next, in step S2011, activity b is identified as an activity to be executed in only a part of the above two activity node sequences among the activities constituting the first activity sequence, and is assigned to variable H. Then, the activity node b ({2}, {3}) is assigned to the variable I. The process proceeds to step S2012, step S2013, and step S2015, and operation 2 is executed with (activity node b, activity node x) as an argument for the value of variable A (business process definition in FIG. 42). FIG. 43 shows a business process definition at the end of execution of operation 2.

処理はステップS2004に戻り、ステップS2005では図43の活動ノードx({20},{24})と活動ノードx({22},{25})が変数Dに代入される。これらのうち活動ノードx({20},{24})はステップS2006で変数Bに代入され、活動ノードx({22},{25})はステップS2008で変数Cに代入される。この結果、ステップS2009開始時点で変数Fの値が空となるため処理はステップS2016に進み、変数Aの値である業務プロセス定義中のフォーク分岐代替活動ノードを活動ノードに置換する処理が実行される。この時点での業務プロセス定義を図44に示す。またステップS2016では、変数Bに含まれるフォーク分岐代替活動ノード(活動ノードx({20},{24}))が、対応するフォーク分岐領域内の活動ノードで第二の活動列に含まれる活動(活動f)を実行する活動ノード(活動ノードf({26},{32}))に置換される。この結果、ステップS2017では、業務プロセス定義として図44の業務プロセス定義と、変数Xの値として活動ノードf({26},{32})が出力され、業務プロセス定義変換部の処理が終了する。   The process returns to step S2004. In step S2005, the activity node x ({20}, {24}) and the activity node x ({22}, {25}) in FIG. Of these, the activity node x ({20}, {24}) is assigned to the variable B in step S2006, and the activity node x ({22}, {25}) is assigned to the variable C in step S2008. As a result, since the value of the variable F becomes empty at the start of step S2009, the process proceeds to step S2016, and the process of replacing the fork branch substitution activity node in the business process definition that is the value of the variable A with the active node is executed. The FIG. 44 shows the business process definition at this point. In step S2016, the fork branch substitution activity node (activity node x ({20}, {24})) included in the variable B is an activity node in the corresponding fork branch area and included in the second activity column. It is replaced with an activity node (activity node f ({26}, {32})) that executes (activity f). As a result, in step S2017, the business process definition in FIG. 44 and the activity node f ({26}, {32}) are output as the value of the variable X as the business process definition, and the processing of the business process definition conversion unit is completed. .

(第二の実施の形態)
次に、本発明の第二の実施の形態について説明する。図45〜図56は、本発明の第二の実施の形態に係る業務プロセス定義変換装置に係る。
(Second embodiment)
Next, a second embodiment of the present invention will be described. 45 to 56 relate to the business process definition conversion apparatus according to the second embodiment of the present invention.

(第二の実施の形態の構成)
図45は、本実施の形態に係る業務プロセス定義編集システムの構成図である。図45に示すとおり、本システム450は業務プロセス定義編集部451と活動移動先シーケンスフロー特定部452から構成される。業務プロセス定義編集部451は、利用者の指示に応じて業務プロセス定義のグラフィック表現(たとえば図10のような表現)を表示する。そして活動、分岐、結合、シーケンスフローの追加・削除や、活動・分岐・結合とシーケンスフローの接続・分割などの指示に応じてグラフィック表現を変更し、利用者からの保存指示に応じてグラフィック表現の内容をデータ表現(たとえば図2に示すような表現)に反映させる。
(Configuration of the second embodiment)
FIG. 45 is a configuration diagram of the business process definition editing system according to the present embodiment. As shown in FIG. 45, the system 450 includes a business process definition editing unit 451 and an activity transfer destination sequence flow specifying unit 452. The business process definition editing unit 451 displays a graphic representation of the business process definition (for example, a representation as shown in FIG. 10) in response to a user instruction. Then, the graphic representation is changed according to instructions such as addition / deletion of activity, branch, combination, sequence flow, connection / division of activity / branch / join and sequence flow, etc., and graphic representation according to the save instruction from the user Is reflected in the data expression (for example, the expression shown in FIG. 2).

また、業務プロセス定義編集部451は、利用者から、業務プロセス定義のグラフィック表現上で、位置変更対象の活動の指定とともに移動先シーケンスフロー特定指示を受け付ける。そして、業務プロセス定義のグラフィック表現をデータ表現に反映させた上でそのデータ表現と指定された活動、業務プロセス定義に対応付けられている制約(たとえば図10および図13で示したもの)を、活動移動先シーケンスフロー特定部452に入力する。さらに、業務プロセス定義編集部451は、活動移動先シーケンスフロー特定部452から出力されたシーケンスフロー(群)のデータ表現を受理して、グラフィック表現を介して利用者に示す。   In addition, the business process definition editing unit 451 accepts a move destination sequence flow specifying instruction together with designation of an activity to be changed on the graphic representation of the business process definition from the user. Then, after reflecting the graphic representation of the business process definition in the data representation, the data representation and the designated activity, the constraints associated with the business process definition (for example, those shown in FIGS. 10 and 13), This is input to the activity movement destination sequence flow specifying unit 452. Further, the business process definition editing unit 451 receives the data representation of the sequence flow (group) output from the activity movement destination sequence flow specifying unit 452 and presents it to the user via the graphic representation.

(第二の実施の形態の動作)
次に、本実施の形態における処理の流れについて説明する。活動移動先シーケンスフロー特定部452は、位置変更対象の活動を業務プロセス定義中の単一のシーケンスフロー上に移動することを前提として、移動先のシーケンスフロー(群)を特定する。活動移動先シーケンスフロー特定部452の基本的な処理の流れの例を図46に示す。また、図46の処理のうち、制約のリストAを生成する処理(ステップS4602)の詳細な流れの例を図47に、シーケンスフローの集合Bの全要素のうち、制約Cを満たすものすべてを特定する処理(ステップS4605)の詳細な流れの例を図48に示す。
(Operation of the second embodiment)
Next, the flow of processing in the present embodiment will be described. The activity movement destination sequence flow specifying unit 452 specifies the sequence flow (group) of the movement destination on the assumption that the position change target activity is moved onto a single sequence flow in the business process definition. An example of the basic processing flow of the activity destination sequence flow specifying unit 452 is shown in FIG. In addition, FIG. 47 shows an example of a detailed flow of the processing for generating the constraint list A (step S4602) in the processing of FIG. 46, and all of the elements of the sequence flow set B that satisfy the constraint C are shown. FIG. 48 shows an example of a detailed flow of the specifying process (step S4605).

図46のステップS4601において、利用者によって入力された活動は、活動Xに格納され、ステップS4602において、その活動Xに対する制約のリストAが求められる。活動Xに関する制約は、先行する活動と後行する活動の組で表現する。この制約のリストAの算出手順については後述する。   In step S4601 of FIG. 46, the activity input by the user is stored in the activity X, and in step S4602, a list A of constraints for the activity X is obtained. The constraint relating to the activity X is expressed by a set of a preceding activity and a following activity. The calculation procedure of the restriction list A will be described later.

次に、ステップS4603において、入力の業務プロセス定義中の全シーケンスフローから活動Xに隣接するものを除いたもの全てを、シーケンスフローの集合Bに格納する。   Next, in step S4603, all of the sequence flows in the input business process definition except for those adjacent to the activity X are stored in the sequence flow set B.

ステップS4604において、制約のリストAの先頭要素を制約Cに格納し、シーケンスフローの集合Bの全要素のうち、制約Cを満たすシーケンスフローを抽出する(ステップS4605)。ステップS4605の詳細な手順に関しては図48で詳細に説明する。   In step S4604, the first element of the constraint list A is stored in the constraint C, and the sequence flow satisfying the constraint C is extracted from all the elements in the sequence flow set B (step S4605). The detailed procedure of step S4605 will be described in detail with reference to FIG.

次に、制約Cが制約のリストAの末尾要素であるか判別し(ステップS4606)、末尾要素でなければ、制約のリストAの次要素を読出して制約Cに格納してステップS4605からS4606の手順を繰り返す(ステップS4607)。制約Cが制約のリストAの末尾要素であれば、ステップS4608でBの全要素を出力して、処理を終了する。   Next, it is determined whether or not the constraint C is the last element of the constraint list A (step S4606). If the constraint C is not the tail element, the next element of the constraint list A is read and stored in the constraint C, and steps S4605 to S4606 are performed. The procedure is repeated (step S4607). If the constraint C is the last element of the constraint list A, all elements of B are output in step S4608, and the process ends.

図47は、図46のステップS4602の制約リストAを生成する処理の詳細な流れを説明するフローチャートである。   FIG. 47 is a flowchart for explaining the detailed flow of the process for generating the restriction list A in step S4602 of FIG.

まず、ステップS4701において制約のリストAを初期化し、次に、業務プロセス定義のデータ構造の実行順序テーブル(図13を参照)から先頭要素を読出し、リスク/コントロールのリストDに記憶する(ステップS4702)。次に、業務プロセス定義のデータ構造のリスクテーブルとコントロールテーブル(図13を参照)を参照して、リストDの各要素である先行情報および後行情報を、対応する活動名で置き換えたものを制約Eに代入する(ステップS4703)。   First, the constraint list A is initialized in step S4701, and then the head element is read from the execution order table (see FIG. 13) of the data structure of the business process definition and stored in the risk / control list D (step S4702). ). Next, referring to the risk table and control table (see FIG. 13) of the data structure of the business process definition, the preceding information and succeeding information that are each element of the list D are replaced with corresponding activity names. Substitute into constraint E (step S4703).

次に、制約Eの先行情報および後行情報の活動のいずれか一方が、入力の活動であるか判別し(ステップS4704)、入力の活動であれば制約のリストAに制約Eを追加し(ステップS4705)、制約Eのどちらも入力の活動でなければ、制約のリストAに追加することなく、処理をステップS4706に移す。   Next, it is determined whether any one of the preceding information and following information activities of the constraint E is an input activity (step S4704), and if it is an input activity, the constraint E is added to the constraint list A ( If neither of the constraints E is an input activity in step S4705), the process proceeds to step S4706 without being added to the constraint list A.

次に、ステップS4706において、リスク/コントロールのリストDが実行順序テーブルの末尾要素であるか判別し(ステップS4706)、末尾要素でなければ、末尾要素となるまで、ステップS4703以降の手順を繰り返す。リストDが末尾要素となった場合、制約のリストAの生成が終了し、処理は図46のステップS4603に渡される。   Next, in step S4706, it is determined whether the risk / control list D is the end element of the execution order table (step S4706). If it is not the end element, the procedure from step S4703 is repeated until it becomes the end element. When the list D becomes the last element, the generation of the restriction list A is finished, and the process is passed to step S4603 in FIG.

図48は、図46のステップS4605に示す、Bの全要素のうち制約Cを満たすもの全てを特定する動作を詳細に説明したフローチャートである。   FIG. 48 is a flowchart illustrating in detail the operation of identifying all elements of B that satisfy the constraint C shown in step S4605 of FIG.

まず、シーケンスフローの集合FをステップS4801で初期化し、ステップS4802でシーケンスフローの集合Bの先頭要素をシーケンスフローGに格納する。次いで、入力の活動が、入力の制約の先行活動であるかを判別し(ステップS4803)、入力の活動が制約の活動の先行活動であれば、シーケンスフローGの開始端の活動と、入力の制約の後行活動から構成する活動の組Hを作成する(ステップS4804)。一方、入力の活動が制約の活動の先行活動でなければ、入力の制約の先行活動とシーケンスフローGの終了端の活動からなる活動の組Hを作成する(ステップS4805)。   First, the sequence flow set F is initialized in step S4801, and the leading element of the sequence flow set B is stored in the sequence flow G in step S4802. Next, it is determined whether the input activity is a predecessor activity of the input constraint (step S4803). If the input activity is a predecessor activity of the constraint activity, the start end activity of the sequence flow G and the input activity are determined. A set H of activities composed of the following activities of the constraint is created (step S4804). On the other hand, if the input activity is not the preceding activity of the constraint activity, a set H of activities consisting of the preceding activity of the input constraint and the activity at the end of the sequence flow G is created (step S4805).

次いで、活動の組Hの第1の活動から業務プロセス定義のシーケンスフローをたどって、第2の活動に到達可能であるかを判別する(ステップS4806)。到達可能であれば、シーケンスフローの集合FにシーケンスフローGを追加する(ステップS4807)。次いで、シーケンスフローGが、シーケンスフローの集合Bの末尾要素であるかを判別し(ステップS4808)、末尾要素でなければ、末尾要素となるまでシーケンスフローGにシーケンスフローの集合Bの次要素を代入して(ステップS4809)、ステップS4803以降の手順を繰り返す。ステップS4808でシーケンスフローGが集合Bの末尾要素となった場合、シーケンスフローの集合Bにシーケンスフローの集合Fを代入して(ステップS4810)、図46のステップS4606に処理を渡す。   Next, it is determined whether the second activity can be reached by following the sequence flow of the business process definition from the first activity of the activity set H (step S4806). If reachable, the sequence flow G is added to the sequence flow set F (step S4807). Next, it is determined whether or not the sequence flow G is the last element of the sequence flow set B (step S4808). If the sequence flow G is not the last element, the next element of the sequence flow set B is added to the sequence flow G until it becomes the last element. Substituting (step S4809), the procedure after step S4803 is repeated. When the sequence flow G becomes the end element of the set B in step S4808, the sequence flow set F is substituted into the sequence flow set B (step S4810), and the process is passed to step S4606 in FIG.

(第二の実施の形態におけるシーケンスフローの出力例)
次に、上記処理に従ったシーケンスフローの具体的な出力例について図49および図50を参照して説明する。
(Example of sequence flow output in the second embodiment)
Next, a specific output example of the sequence flow according to the above process will be described with reference to FIGS. 49 and 50. FIG.

図49は、活動移動先シーケンスフロー特定部452に、図10の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合に、活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図46の処理の各ステップに対応付けて示したものである。図49に示すとおり、制約のリストを保持する変数Aには、活動aより活動bが後に実行されるという制約と、活動aより活動eが後に実行されるという制約が格納される(ステップS4602)。   49 shows the processing in the activity destination sequence flow specifying unit 452 when the activity a is input as the activity change destination sequence flow specifying unit 452 and the business process definition and constraint in FIG. The data generated in the process is shown in association with each step of the process of FIG. As shown in FIG. 49, the variable A holding the list of constraints stores a constraint that the activity b is executed after the activity a and a constraint that the activity e is executed after the activity a (step S4602). ).

次いでシーケンスフローの集合を保持する変数Bには、シーケンスフロー2、3、4、5、6および7の6つのシーケンスフローが格納される(ステップS4603)。そして、これらのうち第一の制約を満たすものとしてシーケンスフロー2が変数Bに格納される(ステップS4605)。シーケンスフロー2は第二の制約も満たすので、最終的にシーケンスフロー2が活動移動先シーケンスフロー特定部452から出力される(ステップS4608)。   Next, six sequence flows of sequence flows 2, 3, 4, 5, 6, and 7 are stored in the variable B that holds a set of sequence flows (step S4603). Then, the sequence flow 2 is stored in the variable B as satisfying the first constraint among these (step S4605). Since the sequence flow 2 also satisfies the second constraint, the sequence flow 2 is finally output from the activity transfer destination sequence flow specifying unit 452 (step S4608).

また、図50は、活動移動先シーケンスフロー特定部452に図11の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合に活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図46の処理の各ステップに対応付けて示したものである。図50に示すとおり、制約のリストを保持する変数Aには、活動aより活動dが後に実行されるという制約と、活動aより活動fが後に実行されるという制約が格納される(ステップS4602)。   FIG. 50 shows the processing in the activity transfer destination sequence flow specifying unit 452 when the activity process destination sequence flow specifying unit 452 receives the business process definition and constraints of FIG. 11 and the activity a as the activity to be changed. The data generated in the process is shown in association with each step of the process of FIG. As shown in FIG. 50, the variable A holding the list of constraints stores a constraint that the activity d is executed after the activity a and a constraint that the activity f is executed after the activity a (step S4602). ).

次いでシーケンスフローの集合を保持する変数Bには、シーケンスフロー2、3、4、5、6、7、8、9、10および11の10のシーケンスフローが格納される(ステップS4603)。そして、これらのうち第一の制約を満たすものとしてシーケンスフロー2、4および6が変数Bに格納される(ステップS4605)。これらのシーケンスフローは第二の制約も満たすので、最終的にシーケンスフロー2、4および6が活動移動先シーケンスフロー特定部452から出力される(ステップS4608)。   Next, 10 sequence flows of sequence flows 2, 3, 4, 5, 6, 7, 8, 9, 10, and 11 are stored in variable B that holds a set of sequence flows (step S4603). Then, the sequence flows 2, 4 and 6 are stored in the variable B as satisfying the first constraint among these (step S4605). Since these sequence flows also satisfy the second constraint, the sequence flows 2, 4 and 6 are finally output from the activity transfer destination sequence flow specifying unit 452 (step S4608).

なお、活動移動先シーケンスフロー特定部452に図12の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合の処理の過程は、図49に示したものと同一のものとなる。   The business process definition and constraints shown in FIG. 12 and the process when the activity a is input as the activity whose position is to be changed are the same as those shown in FIG. 49. It becomes.

(第三の実施の形態)
次に、本発明の第三の実施の形態に係る業務プロセス定義編集システムについて説明する。
(Third embodiment)
Next, a business process definition editing system according to a third embodiment of the present invention will be described.

本実施の形態に係る業務プロセス定義編集システムの構成は、第二の実施の形態におけるシステム構成と同一であるが、本実施の形態に係る活動移動先シーケンスフロー特定部452は、業務開始から終了に至る活動列を構成する活動群を変更しないという条件のもとで、活動列ごとに移動先のシーケンスフロー(群)を特定する点が異なっている。   The configuration of the business process definition editing system according to the present embodiment is the same as the system configuration of the second embodiment, but the activity transfer destination sequence flow specifying unit 452 according to the present embodiment ends from the start of the business. The difference is that the sequence flow (group) of the movement destination is specified for each activity column under the condition that the activity group constituting the activity sequence leading to is not changed.

(第三の実施の形態の動作)
次に、本実施の形態における処理の流れについて説明する。活動移動先シーケンスフロー特定部452の基本的な処理の流れの例を図51に示す。ここで、図51の処理のうち、制約のリストAを生成する処理(ステップS5102)の詳細は図47に示したものと同一である。また、シーケンスフロー列の集合Iを特定する処理(ステップS5103)の詳細な流れの例を図52に示し、また、図52の処理で、ノードJを開始地点としてKにシーケンスを追加する処理(ステップS5204)の詳細な流れの例を図53に示す。さらに、図51の処理のうちシーケンスフロー列Nを対象に、入力の活動が移動可能なシーケンスフローの集合を特定する処理(ステップS5107)の詳細な流れの例を図54に示す。
(Operation of the third embodiment)
Next, the flow of processing in the present embodiment will be described. An example of the basic processing flow of the activity destination sequence flow specifying unit 452 is shown in FIG. Here, the details of the process of generating the restriction list A (step S5102) in the process of FIG. 51 are the same as those shown in FIG. FIG. 52 shows an example of the detailed flow of the process (step S5103) for identifying the sequence flow sequence set I (step S5103). In the process of FIG. 52, the process of adding a sequence to K with node J as the start point ( An example of a detailed flow of step S5204) is shown in FIG. Further, FIG. 54 shows an example of a detailed flow of the process (step S5107) for identifying a set of sequence flows whose input activity can move, targeting the sequence flow sequence N in the process of FIG.

図51のステップS5101において、利用者によって入力された活動は、活動Xに格納され、ステップS5102において、その活動Xに対する制約のリストAが求められる。活動Xに関する制約は、先行する活動と後行する活動の組で表現する。この制約のリストAの算出手順については先の実施の形態において図47に関連して説明した通りである。   In step S5101, the activity input by the user is stored in activity X. In step S5102, a constraint list A for the activity X is obtained. The constraint relating to the activity X is expressed by a set of a preceding activity and a following activity. The calculation procedure of the restriction list A is as described in relation to FIG. 47 in the previous embodiment.

次いで、ステップS5103において、入力した業務プロセス定義の先頭活動から末尾活動に至るまでの全てのシーケンスフロー列を、シーケンスフロー列の集合Iに格納する一連の処理が実行される。ステップS5103の詳細な手順に関しては図52で説明する。   Next, in step S5103, a series of processes for storing all sequence flow sequences from the first activity to the last activity of the input business process definition in the sequence flow sequence set I is executed. The detailed procedure of step S5103 will be described with reference to FIG.

ステップS5103においてシーケンスフロー列の集合Iの要素が抽出されると、ステップS5104でシーケンスフロー列とシーケンスフロー集合の組の集合Mが初期化され、次いで、ステップS5105でシーケンスフロー列の集合Iの先頭要素が、シーケンスフロー列Nに代入される。   When the elements of the sequence flow sequence set I are extracted in step S5103, a set M of sequence flow sequence and sequence flow set sets is initialized in step S5104, and then in step S5105, the head of the sequence flow sequence set I is initialized. Elements are assigned to the sequence flow sequence N.

そして、シーケンスフロー列Nが、入力の活動を終了端・開始端にするシーケンスフローを含んでいるか否かが判別される(ステップS5106)。判定の結果、このようなシーケンスフローを含む場合には、シーケンスフロー列Nを対象に、活動Xが移動可能なシーケンスフローの集合を特定し、(N、特定した集合)の組を集合Mに追加する処理が実行される(ステップS5107)。ステップS5107の詳細な手順に関しては図54で説明する。   Then, it is determined whether or not the sequence flow sequence N includes a sequence flow in which the input activity is the end / start end (step S5106). As a result of the determination, when such a sequence flow is included, a sequence flow set to which the activity X can move is specified for the sequence flow sequence N, and a set of (N, specified set) is set to the set M. The adding process is executed (step S5107). The detailed procedure of step S5107 will be described with reference to FIG.

ステップS5107の処理が完了すると、シーケンスフロー列Nはシーケンスフロー列の集合Iの末尾要素であるか判別され(ステップS5108)、末尾要素でなければ、集合Iの次要素をNとして、ステップS5106以降の動作を繰り返す(ステップS5109)。一方、シーケンスフロー列Nが末尾要素であれば、ステップS5110で、Mの要素(シーケンスフロー列とシーケンスフロー集合の組)の第2要素(シーケンスフロー集合)の要素Oのうち、Mの他の要素で第1の要素にOを含むもの全ての第2要素に含まれているもののみを出力して、処理を終了する。   When the process of step S5107 is completed, it is determined whether the sequence flow sequence N is the end element of the set I of the sequence flow sequence (step S5108). If it is not the end element, the next element of the set I is set to N, and after step S5106 This operation is repeated (step S5109). On the other hand, if the sequence flow sequence N is the last element, in step S5110, the other elements of the second element (sequence flow set) of the elements of M (the combination of the sequence flow sequence and the sequence flow set) are the other elements of M. Only the elements included in the second element of all the elements including O in the first element are output, and the process ends.

図52は、図51のステップS5103の動作をより詳細に説明したフローチャートである。まず、ステップS5201およびステップS5202で、シーケンスフロー列の集合Iおよびシーケンスフロー列Kを初期化する。ステップS5203で業務プロセス定義の先頭活動をノードJに登録し、ステップS5204でノードJを開始点としてシーケンスフロー列Kにシーケンスフローを追加する処理が実行される。   FIG. 52 is a flowchart for explaining the operation of step S5103 of FIG. 51 in more detail. First, in step S5201 and step S5202, the sequence flow sequence set I and the sequence flow sequence K are initialized. In step S5203, the top activity of the business process definition is registered in the node J, and in step S5204, a process of adding a sequence flow to the sequence flow sequence K with the node J as a starting point is executed.

図53は、図52のステップS5204の動作をより詳細に説明したフローチャートである。まず、ステップS5301でノードJが業務プロセス定義の末尾活動であるかを判別し、ノードJが末尾活動であれば、ステップS5302でシーケンスフロー列Kをシーケンスフロー列の集合Iに追加し、処理を図51のステップS5103に戻す。   FIG. 53 is a flowchart for explaining the operation of step S5204 of FIG. 52 in more detail. First, in step S5301, it is determined whether the node J is the end activity of the business process definition. If the node J is the end activity, the sequence flow sequence K is added to the sequence flow sequence set I in step S5302, and the process is performed. Returning to step S5103 of FIG.

一方、ステップS5301でノードJが末尾活動でなければ、ステップS5303でノードJが分岐であるかを判別する。ノードJが分岐であれば、シーケンスフロー列Kの複製を分岐先のシーケンスフロー数であるn個だけ作成し、K1、K2、・・・、Knとする(ステップS5304)。次いで、ステップS5305で、Ki(i=1、2、…、n)の末尾要素として分岐を開始点とするi番目のシーケンスフローを追加し、ステップS5306で、そのi番目のシーケンスフローの終了端のノードを、Ji(j=1、2、…、n)に設定する。そして、ステップS5307でノードJ1、J2、…、Jnを開始地点としてK1、K2、…Knにシーケンスを追加し、処理を図51のステップS5103に戻す。   On the other hand, if node J is not the end activity in step S5301, it is determined in step S5303 whether node J is a branch. If the node J is a branch, n copies of the sequence flow sequence K, which is the number of sequence flows at the branch destination, are created and are set as K1, K2,..., Kn (step S5304). Next, in step S5305, the i-th sequence flow starting from a branch is added as the end element of Ki (i = 1, 2,..., N), and in step S5306, the end of the i-th sequence flow is added. Are set to Ji (j = 1, 2,..., N). In step S5307, the nodes J1, J2,..., Jn are used as starting points, a sequence is added to K1, K2,... Kn, and the process returns to step S5103 in FIG.

一方、ステップS5303において、ノードJが分岐でなければ、Kの末尾要素として活動または結合を開始端とするシーケンスフローを追加する(ステップS5308)。次いで、ステップS5309で追加したシーケンスフローの終了端のノードをノードJに設定し、ステップS5310でノードJを開始地点としてシーケンスフロー列Kにシーケンスを追加し、処理を図51のステップS5103に戻す。以上の処理により、図51のステップS5103においてシーケンスフロー列の集合Iが得られる。   On the other hand, if the node J is not a branch in step S5303, a sequence flow starting from activity or connection is added as the end element of K (step S5308). Next, the node at the end of the sequence flow added in step S5309 is set as the node J. In step S5310, the sequence is added to the sequence flow sequence K with the node J as the start point, and the process returns to step S5103 in FIG. Through the above processing, a sequence flow sequence set I is obtained in step S5103 of FIG.

図54は、図51のステップS5107の動作をより詳細に説明したフローチャートである。まず、ステップS5401で、入力のシーケンスフロー列中の全シーケンスフローから入力の活動に隣接するものを除いたものすべてを、シーケンスフローの集合Bに設定する。次いで、ステップS5402で、制約のリストAの先頭要素を制約Cに代入し、ステップS5403で、制約Cに含まれる2つの活動に隣接するすべてのシーケンスフローがシーケンスフローの集合Bに含まれるかを判別し、含まれる場合はステップS5404で、シーケンスフローの集合Bの全要素のうち、制約Cを満たすもの全てをシーケンスフローの集合Bとして処理をステップS5405に進め、含まれない場合は処理をステップS5405に進める。そして、ステップS5405で、制約Cが制約のリストAの末尾要素であるかを判別し、末尾要素でなければ、制約のリストAの次要素を制約Cとして、ステップS5403以降の動作を繰り返す(ステップS5406)。制約Cが制約のリストAの末尾要素となった場合、ステップS5407でシーケンスフローの集合Bの全要素を出力する。以上により、シーケンスフロー列Nを対象に、入力の活動が移動可能なシーケンスフローの集合を特定する処理が完了し、処理は図51のステップS5108に渡される。   FIG. 54 is a flowchart for explaining the operation of step S5107 of FIG. 51 in more detail. First, in step S5401, all the sequence flows in the input sequence flow sequence except for those adjacent to the input activity are set in the sequence flow set B. Next, in step S5402, the first element of the constraint list A is substituted into the constraint C. In step S5403, it is determined whether all sequence flows adjacent to the two activities included in the constraint C are included in the sequence flow set B. In step S5404, all elements of the sequence flow set B that satisfy the constraint C are processed as a sequence flow set B, and the process proceeds to step S5405. If not included, the process proceeds to step S5405. The process proceeds to S5405. In step S5405, it is determined whether the constraint C is the last element of the constraint list A. If the constraint C is not the last element, the next element in the constraint list A is set as the constraint C, and the operations after step S5403 are repeated (step S5405). S5406). When the constraint C becomes the last element of the constraint list A, all elements of the sequence flow set B are output in step S5407. Thus, the process for specifying the set of sequence flows to which the input activity can move is completed for the sequence flow sequence N, and the process is passed to step S5108 in FIG.

(第三の実施の形態におけるシーケンスフローの出力例)
次に、上記第三の実施の形態における処理に従ったシーケンスフローの具体的な出力例について図55および図56を参照して説明する。
(Example of sequence flow output in the third embodiment)
Next, a specific output example of the sequence flow according to the processing in the third embodiment will be described with reference to FIGS. 55 and 56. FIG.

図55は、活動移動先シーケンスフロー特定部452に、図10の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合に活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図51の処理の各ステップに対応付けて示したものである。図55に示すとおり、制約のリストを保持する変数Aには、活動aより活動bが後に実行されるという制約と、活動aより活動eが後に実行されるという制約が格納される(ステップS5102)。次いでシーケンスフロー列の集合Iには、以下の2つのシーケンスフローが格納される(ステップS5103)。   FIG. 55 shows the processing in the activity destination sequence flow specifying unit 452 when the activity process destination sequence flow specifying unit 452 receives the business process definition and constraints of FIG. 10 and the activity a as the activity to be changed. Data generated in the process is shown in association with each step of the processing of FIG. As shown in FIG. 55, the variable A holding the list of constraints stores a constraint that the activity b is executed after the activity a and a constraint that the activity e is executed after the activity a (step S5102). ). Next, the following two sequence flows are stored in the sequence flow sequence set I (step S5103).

(1)シーケンスフロー1、2、3および7からなるシーケンスフロー列(シーケンスフロー列1)
(2)シーケンスフロー1、4、5、6および7からなるシーケンスフロー列(シーケンスフロー列2)
(1) Sequence flow sequence consisting of sequence flows 1, 2, 3 and 7 (sequence flow sequence 1)
(2) Sequence flow sequence consisting of sequence flows 1, 4, 5, 6 and 7 (sequence flow sequence 2)

そして、(シーケンスフロー列とシーケンスフロー集合の組)の集合Mの要素として、シーケンスフロー列1に対してはシーケンスフロー2が、シーケンスフロー列2に対してはシーケンスフロー4、5、6および7が格納される(ステップS5107)。   Then, as an element of a set M of (a set of sequence flow sequence and sequence flow set), sequence flow 2 for sequence flow sequence 1 and sequence flows 4, 5, 6 and 7 for sequence flow sequence 2 Is stored (step S5107).

そして、シーケンスフロー列の集合Iの2つのシーケンスフロー列に含まれているにも関わらず、シーケンスフロー列2にのみ対応付けられたシーケンスフロー7が削除された結果、活動移動先シーケンスフロー特定部452からは、各シーケンスフロー列に対応して以下のシーケンスフロー群が出力される(ステップS5110)。   As a result of deletion of the sequence flow 7 associated only with the sequence flow sequence 2 despite being included in the two sequence flow sequences of the set I of sequence flow sequences, the activity movement destination sequence flow specifying unit From 452, the following sequence flow group is output corresponding to each sequence flow sequence (step S5110).

(1)シーケンスフロー列1に対応するシーケンスフロー群:シーケンスフロー2
(2)シーケンスフロー列2に対応するシーケンスフロー群:シーケンスフロー4、5および6
(1) Sequence flow group corresponding to sequence flow sequence 1: sequence flow 2
(2) Sequence flow group corresponding to sequence flow sequence 2: sequence flows 4, 5 and 6

また、図56は、活動移動先シーケンスフロー特定部452に図11の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合に活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図51の処理の各ステップに対応付けて示したものである。図56に示すとおり、制約のリストを保持する変数Aには、活動aより活動dが後に実行されるという制約と、活動aより活動fが後に実行されるという制約が格納される(ステップS5102)。次いでシーケンスフロー列の集合Iには以下の3つのシーケンスフロー列が格納される(ステップS5103)。   FIG. 56 shows the processing in the activity destination sequence flow specifying unit 452 when the activity process destination sequence flow specifying unit 452 receives the business process definition and constraints of FIG. 11 and the activity a as the activity to be changed. The data generated in the process is shown in association with each step of the process of FIG. As shown in FIG. 56, the variable A that holds the list of constraints stores a constraint that the activity d is executed after the activity a and a constraint that the activity f is executed after the activity a (step S5102). ). Next, the following three sequence flow sequences are stored in the sequence flow sequence set I (step S5103).

(1)シーケンスフロー1、2、4、8および11からなるシーケンスフロー列(シーケンスフロー列1)
(2)シーケンスフロー1、2、4、6、7、9、10および11からなるシーケンスフロー列(シーケンスフロー列2)
(3)シーケンスフロー1、3、5、9、10および11からなるシーケンスフロー列(シーケンスフロー列3)
(1) Sequence flow sequence consisting of sequence flows 1, 2, 4, 8 and 11 (sequence flow sequence 1)
(2) Sequence flow sequence consisting of sequence flows 1, 2, 4, 6, 7, 9, 10 and 11 (sequence flow sequence 2)
(3) Sequence flow sequence consisting of sequence flows 1, 3, 5, 9, 10 and 11 (sequence flow sequence 3)

そして、(シーケンスフロー列とシーケンスフロー集合の組)の集合Mの要素として、シーケンスフロー列1に対してはシーケンスフロー2、4、8および11が、シーケンスフロー列2に対してはシーケンスフロー2、4および6が、シーケンスフロー列3に対してはシーケンスフロー3、5、9、10および11が格納される(ステップS5107)。   Then, as an element of a set M of (sequence flow sequence and sequence flow set), sequence flow 2, 4, 8 and 11 are for sequence flow sequence 1, and sequence flow 2 is for sequence flow sequence 2. 4 and 6 are stored as sequence flows 3, 5, 9, 10 and 11 for the sequence flow column 3 (step S5107).

そして、シーケンスフロー列の集合Iの3つのシーケンスフロー列に含まれているにも関わらず、シーケンスフロー列1およびシーケンスフロー列3にのみ対応付けられたシーケンスフロー11が削除された結果、活動移動先シーケンスフロー特定部452からは、各シーケンスフロー列に対応して以下のシーケンスフロー群が出力される(ステップS5110)。   As a result of the deletion of the sequence flow 11 associated only with the sequence flow sequence 1 and the sequence flow sequence 3 despite being included in the three sequence flow sequences of the set I of the sequence flow sequence, the activity movement The following sequence flow group corresponding to each sequence flow sequence is output from the previous sequence flow specifying unit 452 (step S5110).

(1)シーケンスフロー列1に対応するシーケンスフロー群:シーケンスフロー2、4および8
(2)シーケンスフロー列2に対応するシーケンスフロー群:シーケンスフロー2、4および6
(3)シーケンスフロー列3に対応するシーケンスフロー群:シーケンスフロー3、5、9および10
(1) Sequence flow group corresponding to sequence flow sequence 1: sequence flows 2, 4 and 8
(2) Sequence flow group corresponding to sequence flow sequence 2: sequence flows 2, 4 and 6
(3) Sequence flow group corresponding to sequence flow sequence 3: sequence flows 3, 5, 9, and 10

なお、あるシーケンスフロー列で、移動先のシーケンスフローとして複数のシーケンスフロー列で特定されたシーケンスフローが選択される場合、そのシーケンスフローが特定された他のすべてのシーケンスフロー列でもそのシーケンスフローが選択されなければならない。図56では、この制約を、複数のシーケンスフロー列に対応するシーケンスフロー群に含まれるシーケンスフロー(シーケンスフロー2、シーケンスフロー4)を円で囲み、同一シーケンスフローに対応する円を破線で接続することで表記している。   When a sequence flow identified by a plurality of sequence flow sequences is selected as a destination sequence flow in a sequence flow sequence, the sequence flow is also displayed in all other sequence flow sequences in which the sequence flow is identified. Must be selected. In FIG. 56, this restriction is indicated by enclosing sequence flows (sequence flow 2 and sequence flow 4) included in sequence flow groups corresponding to a plurality of sequence flow sequences with circles, and connecting circles corresponding to the same sequence flow with broken lines. It is indicated by that.

また、活動移動先シーケンスフロー特定部452に図12の業務プロセス定義および制約と、位置変更対象の活動として活動aが入力された場合の処理の過程は、図55で示したものと同一のものとなる。   12 is the same as that shown in FIG. 55 when the activity process destination sequence flow specifying unit 452 receives the business process definition and restriction shown in FIG. It becomes.

以上の各実施の形態の説明から明らかなように、本発明の業務プロセス定義変更支援装置によれば、業務を構成する活動の順序関係に関する制約への適合性を損なわない範囲で、業務プロセス定義に対して実行可能な変更(活動の順序関係の変更)の選択肢を示すことができるので、前記制約を伴う業務プロセス定義の変更を支援することができる。   As is clear from the description of each of the embodiments described above, according to the business process definition change support device of the present invention, the business process definition is within a range that does not impair the conformity to the constraints related to the order relation of the activities constituting the business. Since it is possible to show options for change that can be performed (change in the order relation of activities), it is possible to support the change of the business process definition with the restriction.

以上、本発明の好ましい実施の形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific embodiments according to the present invention, and various modifications can be made within the scope of the gist of the present invention described in the claims. Deformation / change is possible.

本発明は、業務を構成する活動、分岐・結合、活動・分岐・結合実行の順序関係(シーケンスフロー)を含む業務プロセス定義、および業務プロセス定義を構成する各活動の実行の順序関係に関する制約を対象とした管理技術において有用である。   The present invention provides a business process definition including an activity that constitutes a business, a branch / join, an order relation (sequence flow) of the activity / branch / join execution, and a restriction on an execution order relation of each activity constituting the business process definition. Useful in targeted management technology.

業務プロセス定義の一例を示した図である。It is the figure which showed an example of the business process definition. 図1の業務プロセス定義を計算機プログラムで利用する場合のノードに関する情報およびアークに関する情報のデータ構造の例である。It is an example of the data structure of the information regarding a node when using the business process definition of FIG. 1 by a computer program, and the information regarding an arc. 図1の業務プロセス定義を計算機プログラムで利用する場合の活動、分岐・結合に関する情報、ノードに関する情報およびアークに関する情報のデータ構造の例である。It is an example of the data structure of the activity at the time of using the business process definition of FIG. 1 by a computer program, the information regarding a branch and coupling | bonding, the information regarding a node, and the information regarding an arc. 業務プロセス定義の他の一例を示した図である。It is the figure which showed another example of the business process definition. フォーク分岐を備えた業務プロセス定義の一例を示した図である。It is the figure which showed an example of the business process definition provided with the fork branch. 条件付き分岐を備えた業務プロセス定義の一例を示した図である。It is the figure which showed an example of the business process definition provided with the conditional branch. 業務プロセス定義の他の一例を示した図である。It is the figure which showed another example of the business process definition. 業務プロセス定義の他の一例を示した図である。It is the figure which showed another example of the business process definition. フォーク分岐を備えた業務プロセス定義の一例を示した図である。It is the figure which showed an example of the business process definition provided with the fork branch. 図6の業務プロセス定義を計算機プログラムで利用する場合のノードに関する情報およびアークに関する情報のデータ構造の例である。It is an example of the data structure of the information regarding a node when using the business process definition of FIG. 6 with a computer program, and the information regarding an arc. 図6の業務プロセス定義を計算機プログラムで利用する場合の活動、分岐・結合に関する情報、ノードに関する情報およびアークに関する情報のデータ構造の例である。FIG. 7 is an example of a data structure of activity, information on branching / joining, information on nodes, and information on arcs when the business process definition of FIG. 6 is used in a computer program. 図6の業務プロセス定義に制約情報を設定した図である。FIG. 7 is a diagram in which constraint information is set in the business process definition of FIG. 6. 図7の業務プロセス定義に制約情報を設定した図である。FIG. 8 is a diagram in which constraint information is set in the business process definition of FIG. 7. 図8の業務プロセス定義に制約情報を設定した図である。FIG. 9 is a diagram in which constraint information is set in the business process definition of FIG. 8. 図10の業務プロセス定義の制約情報を計算機プログラムで利用する場合のデータ構造の例である。11 is an example of a data structure when the constraint information of the business process definition in FIG. 10 is used in a computer program. 業務プロセス定義の一例を示した図である。It is the figure which showed an example of the business process definition. 図14の業務プロセス定義の変換結果を示した図である。It is the figure which showed the conversion result of the business process definition of FIG. 図14の業務プロセス定義の変換結果を示した図である。It is the figure which showed the conversion result of the business process definition of FIG. 図14の業務プロセス定義の変換結果を示した図である。It is the figure which showed the conversion result of the business process definition of FIG. 図15の業務プロセス定義の変換結果を示した図である。FIG. 16 is a diagram showing a conversion result of the business process definition of FIG. 15. 第一実施の形態に係る業務プロセス定義編集システムのブロック構成図である。It is a block block diagram of the business process definition editing system which concerns on 1st embodiment. 業務プロセス定義変換部122の基本的な処理の流れの例を示すフローチャートである。10 is a flowchart illustrating an example of a basic processing flow of a business process definition conversion unit 122; 業務プロセス定義変換部122の基本的な処理の流れの例を示すフローチャートである。10 is a flowchart illustrating an example of a basic processing flow of a business process definition conversion unit 122; 図20におけるステップS2002の処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of a process of step S2002 in FIG. 図20の処理で実行される操作1の詳細を示すフローチャートである。It is a flowchart which shows the detail of the operation 1 performed by the process of FIG. 図20の処理で実行される操作2の詳細を示すフローチャートである。It is a flowchart which shows the detail of the operation 2 performed by the process of FIG. 図21の処理で実行される操作3の詳細を示すフローチャートである。It is a flowchart which shows the detail of the operation 3 performed by the process of FIG. 図22の変数Lに代入される部分グラフの例を示す図である。It is a figure which shows the example of the subgraph substituted to the variable L of FIG. 図22におけるステップS2203終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2203 in FIG. 図22におけるステップS2204終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2204 in FIG. 図22におけるステップS2205終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2205 in FIG. 図20における操作1終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of the operation 1 in FIG. 図22におけるステップS2202において変数Lに代入される部分グラフの例を示す図である。It is a figure which shows the example of the subgraph substituted to the variable L in step S2202 in FIG. 変換例1における図22のステップS2205終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2205 of FIG. 変換例2における図20の操作1終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 1 in FIG. 20 in a conversion example 2; 変換例2における図20の操作1終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 1 in FIG. 20 in a conversion example 2; 変換例2における図20の操作1終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 1 in FIG. 20 in a conversion example 2; 変換例3における図20の操作1終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 1 in FIG. 20 in a conversion example 3; 変換例3における図20の操作1終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 1 in FIG. 20 in a conversion example 3; 変換例4における図20の操作2終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 2 in FIG. 20 in a conversion example 4; 変換例5における図24のステップS2403終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2403 of FIG. 変換例5における図24のステップS2407終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2407 of FIG. 変換例5における図24の処理終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of the process end of FIG. 24 in the conversion example 5. 変換例5における図24のステップS2104終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of completion | finish of step S2104 of FIG. 変換例5における図21の処理終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of the completion | finish of a process of FIG. 変換例5における図20の操作2終了時点での業務プロセス定義を示す図である。FIG. 21 is a diagram showing a business process definition at the end of operation 2 in FIG. 20 in a conversion example 5; 変換例5における図20の処理終了時点での業務プロセス定義を示す図である。It is a figure which shows the business process definition at the time of the completion | finish of a process of FIG. 第二の実施の形態に係る業務プロセス定義編集システムのブロック構成図である。It is a block block diagram of the business process definition edit system which concerns on 2nd embodiment. 活動移動先シーケンスフロー特定部452の基本的な処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the basic process of the activity movement destination sequence flow specific | specification part 452. 図46のステップS4602の処理の詳細な流れを説明するフローチャートである。It is a flowchart explaining the detailed flow of a process of step S4602 of FIG. 図46のステップS4605の動作を詳細に説明するフローチャートである。It is a flowchart explaining in detail the operation of step S4605 of FIG. 図10の業務プロセス定義および制約に対する、活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図46の処理の各ステップに対応付けて示した図である。FIG. 47 is a diagram showing data generated in the course of processing in the activity transfer destination sequence flow specifying unit 452 in association with each step of the processing in FIG. 46 for the business process definition and constraints in FIG. 10. 図11の業務プロセス定義および制約に対する、活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図46の処理の各ステップに対応付けて示した図である。FIG. 47 is a diagram showing data generated in the course of processing in the activity transfer destination sequence flow specifying unit 452 with respect to the business process definition and restriction in FIG. 11 in association with each step of the processing in FIG. 46. 第三の実施の形態における活動移動先シーケンスフロー特定部452の基本的な処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the basic process of the activity movement destination sequence flow specific | specification part 452 in 3rd embodiment. 図51のステップS5103の動作をより詳細に説明したフローチャートである。FIG. 52 is a flowchart for explaining the operation of step S5103 of FIG. 51 in more detail. 図52のステップS5204の動作をより詳細に説明したフローチャートである。FIG. 53 is a flowchart for explaining the operation of step S5204 of FIG. 52 in more detail. 図51のステップS5107の動作をより詳細に説明したフローチャートである。FIG. 52 is a flowchart for explaining the operation of step S5107 of FIG. 51 in more detail. 第三の実施の形態における図10の業務プロセス定義および制約に対する、活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図51の処理の各ステップに対応付けて示したものである。The data generated in the course of processing in the activity transfer destination sequence flow specifying unit 452 for the business process definition and constraints in FIG. 10 in the third embodiment is shown in association with each step of the processing in FIG. Is. 第三の実施の形態における図11の業務プロセス定義および制約に対する、活動移動先シーケンスフロー特定部452での処理の過程で生成されるデータを、図51の処理の各ステップに対応付けて示したものである。Data generated in the course of processing in the activity transfer destination sequence flow specifying unit 452 for the business process definition and constraints in FIG. 11 in the third embodiment is shown in association with each step of the processing in FIG. Is.

符号の説明Explanation of symbols

120:業務プロセス定義編集システム
121:業務プロセス定義編集部
122:業務プロセス定義変換部
450:業務プロセス定義編集システム
451:業務プロセス定義編集部
452:活動移動先シーケンスフロー特定部
120: Business process definition editing system 121: Business process definition editing unit 122: Business process definition conversion unit 450: Business process definition editing system 451: Business process definition editing unit 452: Activity transfer destination sequence flow specifying unit

Claims (12)

業務を構成する活動、分岐・結合、活動および分岐・結合実行の順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義で実行可能な活動列に含まれる2つ以上の活動からなる第一の活動列、並びに、第一の活動列の全要素または一部要素からなる第二の活動列を入力する手段と、
前記入力された業務プロセス定義が、該業務プロセス定義で実行可能な活動ノード列で、前記第一の活動列の全要素を実行するものすべてとして定義される活動ノード列集合の各要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものが、前記活動ノード列集合に含まれない活動ノード列で実行されることが無い、という条件を満足するか否かを判定する手段と、
前記条件を満足する場合、活動ノード列集合の要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものを出力する手段と、
を備えたことを特徴とする業務プロセス定義変換装置。
A business process definition including a business process definition including a sequence flow indicating an activity, a branch / join, an activity and a sequence flow indicating a branch / join execution, and two or more activities included in an activity column executable in the business process definition. Means for entering one activity sequence and a second activity sequence comprising all or part of the first activity sequence;
An activity in which the input business process definition is an element of an activity node sequence set that is defined as an activity node sequence that can be executed in the business process definition and that executes all elements of the first activity sequence. Whether or not an activity node in the node sequence that executes an element of the second activity sequence satisfies a condition that it is not executed in an activity node sequence that is not included in the activity node sequence set Means for determining
Means for outputting, when the condition is satisfied, an activity node in an activity node sequence that is an element of an activity node sequence set that executes an element of the second activity sequence;
A business process definition conversion device characterized by comprising:
前記入力された業務プロセス定義が請求項1記載の条件を満足しない場合において、前記入力された業務プロセス定義を変換する手段であって、
(1)変換後の業務プロセス定義が請求項1記載の条件を満たし、
(2)変換後の業務プロセス定義で実行可能な活動列の集合は、前記入力された業務プロセス定義で実行可能な活動列の集合と同一であり、
(3)前記入力された業務プロセス定義で実行可能な活動列で実行される分岐および結合は、前記活動列と同一の活動列で変換後の業務プロセス定義で実行可能なものでも実行されるが、それ以外の分岐または結合は実行されないものであり、
(4)前記入力された業務プロセス定義で実行可能な活動列で実行される分岐が実行済の活動の結果を利用する場合、前記分岐に対応する変換後の業務プロセス定義中の分岐は、前記分岐が結果を利用した活動と同一の活動が実行された後に実行される、
各条件(1)〜(4)の全てを満足するよう前記入力された業務プロセス定義を変換するものと、
前記変換された業務プロセス定義で実行可能な活動ノード列で前記第一の活動列の全要素を実行するものに含まれる活動ノードで、前記第二の活動列の要素を実行するものと、前記変換された業務プロセス定義とを出力する手段と、
を更に備えたことを特徴とする請求項1記載の業務プロセス定義変換装置。
Means for converting the input business process definition when the input business process definition does not satisfy the condition of claim 1;
(1) The business process definition after conversion satisfies the conditions described in claim 1,
(2) The set of activity sequences that can be executed in the business process definition after conversion is the same as the set of activity sequences that can be executed in the input business process definition,
(3) The branch and combination executed in the activity sequence that can be executed in the input business process definition are executed even in the activity sequence that is the same as the activity sequence and that can be executed in the converted business process definition. , Otherwise no branch or join is performed,
(4) When the branch executed in the activity sequence executable in the input business process definition uses the result of the executed activity, the branch in the business process definition after conversion corresponding to the branch is The branch is executed after the same activity as the activity using the result is executed,
Converting the input business process definition to satisfy all of the conditions (1) to (4);
Executing an element of the second activity sequence at an activity node included in an activity node sequence that can be executed in the converted business process definition and executing all elements of the first activity sequence; Means for outputting the converted business process definition;
The business process definition conversion device according to claim 1, further comprising:
前記入力された業務プロセス定義を構成するすべての分岐・結合が排他的分岐・排他的結合である場合において、
前記入力された業務プロセス定義において前記第二の活動列に含まれる活動を実行する第二の活動ノードと、前記第一の活動列に含まれる活動のうち第二の活動ノードを含む活動ノード列の一部でのみ実行されるものを実行する第一の活動ノードとを引数として、活動ノード列における前記第一の活動ノードと前記第二の活動ノードの前後位置を判断する手段と、
前記判断において、活動ノード列で第一の活動ノードが第二の活動ノードよりも後に出現する場合に、
(1)処理対象の業務プロセス定義において第二の活動ノードから第一の活動ノードに至るノード列に含まれる排他的分岐で、その分岐を開始端とするシーケンスフローの一部が第一の活動ノードに到達できず、かつ、そのノード列において第二の活動ノードとの間に位置するノード数が最小のものを操作対象分岐として特定し、
(2)第二の活動ノードから操作対象分岐に至るノードおよびノードを開始端とするシーケンスフローからなる部分グラフ(操作対象分岐および操作対象分岐を終了端とするシーケンスフローを除く)を操作対象グラフとして特定し、
(3)操作対象分岐を開始端とするシーケンスフローごとに、操作対象グラフのコピーを生成し、そのシーケンスフローの開始端を操作対象グラフコピーの末尾ノードに変更し、
(4)操作対象グラフ中のノードを終了端とする元のシーケンスフローごとに、操作対象分岐のコピーを生成し、元のシーケンスフローの終了端を操作対象分岐コピーに変更し、操作対象分岐コピーを開始端とするシーケンスフローを生成し、その終了端を、元のシーケンスフローの終了端であった元の操作対象グラフ中のノードをコピーして生成された、操作対象グラフコピー中のノードとし、
(5)元の操作対象分岐、元の操作対象グラフ、及び両者を接続するシーケンスフローを削除する、
各操作(1)〜(5)を順次実行する手段と、
前記判断において、活動ノード列で第一の活動ノードが第二の活動ノードよりも前に出現する場合に、
(6)処理対象の業務プロセス定義において第一の活動ノードから第二の活動ノードに至るノード列に含まれる排他的結合で、その結合を終了端とするシーケンスフローの一部に第一の活動ノードから到達できず、かつ、そのノード列において第二の活動ノードとの間に位置するノード数が最小のものを操作対象結合として特定し、
(7)操作対象結合から第二の活動ノードに至るノードおよびノードを終了端とするシーケンスフロー(操作対象結合および操作対象結合を開始端とするシーケンスフローは除く)からなる部分グラフを操作対象グラフとして特定し、
(8)操作対象結合を終了端とするシーケンスフローごとに、操作対象グラフのコピーを生成し、そのシーケンスフローの終了端を操作対象グラフコピーの先頭ノードに変更し、
(9)操作対象グラフ中のノードを開始端とする元のシーケンスフローごとに、操作対象結合のコピーを生成し、元のシーケンスフローの開始端を操作対象結合コピーに変更し、操作対象結合コピーを終了端とするシーケンスフローを生成し、その開始端を、元のシーケンスフローの開始端であった元の操作対象グラフ中のノードをコピーして生成された、操作対象グラフコピー中のノードとし、
(10)元の操作対象結合、操作対象グラフ、及び両者を接続するシーケンスフローを削除する、
各操作(6)〜(10)を順次実行する手段と、
を備えたことを特徴とする請求項2記載の業務プロセス定義変換装置。
In the case where all branches / joins constituting the input business process definition are exclusive branches / exclusive joins,
A second activity node that executes an activity included in the second activity column in the input business process definition, and an activity node column that includes a second activity node among the activities included in the first activity column Means for determining the front and back positions of the first activity node and the second activity node in an activity node sequence with a first activity node that executes what is executed only in a part of
In the determination, when the first activity node appears after the second activity node in the activity node sequence,
(1) An exclusive branch included in the node sequence from the second activity node to the first activity node in the business process definition to be processed, and a part of the sequence flow starting from that branch is the first activity A node that cannot reach the node and has the smallest number of nodes located between the node and the second active node in the node sequence is specified as an operation target branch.
(2) An operation target graph including a node from the second activity node to the operation target branch and a partial graph composed of a sequence flow starting from the node (excluding a sequence flow starting from the operation target branch and the operation target branch) Identified as
(3) Generate a copy of the operation target graph for each sequence flow starting from the operation target branch, and change the start end of the sequence flow to the end node of the operation target graph copy.
(4) A copy of the operation target branch is generated for each original sequence flow whose end is the node in the operation target graph, the end of the original sequence flow is changed to the operation target branch copy, and the operation target branch is copied. Generate a sequence flow that starts with, and set its end to be the node in the operation target graph copy generated by copying the node in the original operation target graph that was the end of the original sequence flow. ,
(5) Delete the original operation target branch, the original operation target graph, and the sequence flow connecting both.
Means for sequentially executing the operations (1) to (5);
In the determination, if the first activity node appears before the second activity node in the activity node row,
(6) The exclusive activity included in the node sequence from the first activity node to the second activity node in the business process definition to be processed, and the first activity as part of the sequence flow whose termination ends. Specify the operation target combination that cannot be reached from the node and has the smallest number of nodes located between the node and the second active node in the node sequence,
(7) The operation target graph is a subgraph consisting of a node from the operation target connection to the second activity node and a sequence flow that ends with the node (excluding a sequence flow starting with the operation target connection and the operation target connection). Identified as
(8) Generate a copy of the operation target graph for each sequence flow whose operation target combination ends, change the end of the sequence flow to the first node of the operation target graph copy,
(9) For each original sequence flow starting from a node in the operation target graph, a copy of the operation target join is generated, the start end of the original sequence flow is changed to the operation target join copy, and the operation target join copy Generate a sequence flow that ends with, and set its start end as the node in the operation target graph copy that was generated by copying the node in the original operation target graph that was the start end of the original sequence flow. ,
(10) Delete the original operation target combination, the operation target graph, and the sequence flow connecting both.
Means for sequentially executing the operations (6) to (10);
The business process definition conversion device according to claim 2, further comprising:
業務プロセス定義および活動ノードの集合を出力する手段であって、
(1)処理対象の業務プロセス定義を入力された業務プロセス定義とし、
(2)処理対象の業務プロセス定義で第二の活動列を構成する活動を実行する活動ノードのうち本処理ですでに出力されたもの及び(3)で処理対象から除外されたものを除くものと定義される第二の活動ノードが、入力された業務プロセス定義で第二の活動ノードを含むすべての活動ノード列が第一の活動列に含まれるすべての活動を実行する、という条件を満たすか判定し、満たすすべての活動ノードを出力し、
(3)(2)における条件を満たさない第二の活動ノードが無い場合、処理対象の業務プロセス定義を出力して処理を終了すると共に、(2)における条件を満たさない第二の活動ノードがある場合、その活動ノードが、入力された業務プロセス定義で第二の活動ノードを含むいずれの活動ノード列も、第一の活動列に含まれるすべての活動を実行しない、という条件を満たすか判定し、満たすすべての活動ノードを処理対象から除外し、
(4)(3)における条件を満たさない第二の活動ノードが無い場合、処理対象の業務プロセス定義を出力して処理を終了し、(3)における条件を満たさない第二の活動ノードがある場合、その活動ノードを対象にして、
(4−1)第一の活動列を構成する活動のうち第二の活動ノードを含む活動ノード列の一部のみで実行されるものを特定し、その活動ノード列でその活動を実行する活動ノードとして定義される第一の活動ノードを特定し、
(4−2)活動ノード列で第一の活動ノードが第二の活動ノードよりも後に出現する場合、処理対象の業務プロセス定義に対して請求項3記載の操作(1)〜(5)を実行し、
(4−3)活動ノード列で第一の活動ノードが第二の活動ノードよりも前に出現する場合、処理対象の業務プロセス定義に対して請求項3記載の操作(6)〜(10)を実行する、
各処理を順次実行し、
(5)処理対象の業務プロセス定義を変換後の業務プロセス定義として、(2)に処理を戻す、
一連の処理を実行することにより、業務プロセス定義・活動ノードの集合を出力する手段、
を備えたことを特徴とする請求項1、2または3記載の業務プロセス定義変換装置。
A means for outputting a set of business process definitions and activity nodes,
(1) The business process definition to be processed is the input business process definition,
(2) Among the activity nodes that execute the activities that make up the second activity column in the business process definition to be processed, those that have already been output in this processing and those that are excluded from the processing target in (3) The second activity node defined as follows the condition that all activity node columns that contain the second activity node in the entered business process definition execute all activities that are included in the first activity column Output all active nodes that satisfy,
(3) If there is no second activity node that does not satisfy the condition in (2), the business process definition to be processed is output and the process ends, and the second activity node that does not satisfy the condition in (2) If there is, determine whether the activity node satisfies the condition that any activity node column that includes the second activity node in the entered business process definition does not execute all the activities included in the first activity column All active nodes that satisfy it are excluded from processing,
(4) If there is no second activity node that does not satisfy the condition in (3), the business process definition to be processed is output and the process ends, and there is a second activity node that does not satisfy the condition in (3) If that activity node is targeted,
(4-1) An activity that specifies an activity that is executed only in a part of an activity node sequence including the second activity node among activities that constitute the first activity sequence, and executes the activity in the activity node sequence Identify the first active node defined as a node,
(4-2) When the first activity node appears after the second activity node in the activity node row, the operations (1) to (5) according to claim 3 are performed on the business process definition to be processed. Run,
(4-3) The operations (6) to (10) according to claim 3, wherein when the first activity node appears before the second activity node in the activity node row, the business process definition to be processed is defined. Run the
Execute each process sequentially,
(5) Return the processing to (2) as the business process definition after conversion as the business process definition to be processed.
A means for outputting a set of business process definitions and activity nodes by executing a series of processes,
4. The business process definition conversion apparatus according to claim 1, 2 or 3, further comprising:
第二の活動ノードに対応して特定された第一の活動ノードのうち、第二の活動ノードとの間に位置するノード数の少ないものから順に、請求項3記載の操作(1)〜(5)または操作(6)〜(10)を実行することを特徴とする請求項3または4記載の業務プロセス定義変換装置。 The operations (1) to (1) according to claim 3, wherein the first activity nodes identified corresponding to the second activity nodes are sequentially operated in descending order of the number of nodes located between the second activity nodes. 5. The business process definition conversion apparatus according to claim 3 or 4, characterized in that the operation (5) or operations (6) to (10) are executed. 請求項3記載の操作(1)〜(5)における操作対象グラフが、請求項3で定義された操作対象グラフを構成するノードに加え、そのノードを開始端とするすべてのシーケンスフローの終了端が、操作対象グラフに含まれるノードである、という条件を満たす0個以上のノード、及びそのノードを開始端とするシーケンスフローから構成され、
請求項3記載の操作(6)〜(10)における操作対象グラフが、請求項3で定義された操作対象グラフを構成するノードに加え、そのノードを終了端とするすべてのシーケンスフローの開始端が、操作対象グラフに含まれるノードである、という条件を満たす0個以上のノード、及びそのノードを終了端とするシーケンスフローから構成される、
ことを特徴とする請求項3、4または5記載の業務プロセス定義変換装置。
The operation target graph in the operations (1) to (5) according to claim 3 is the node constituting the operation target graph defined in claim 3, and the end ends of all sequence flows starting from that node. Is composed of zero or more nodes satisfying the condition that they are nodes included in the operation target graph, and a sequence flow starting from that node.
The operation target graph in the operations (6) to (10) according to claim 3 is a node constituting the operation target graph defined in claim 3, and the start ends of all sequence flows having that node as an end end. Is composed of zero or more nodes that satisfy the condition that they are nodes included in the operation target graph, and a sequence flow that ends with the nodes.
The business process definition conversion apparatus according to claim 3, 4 or 5.
業務プロセス定義を入力する手段であって、その業務プロセスが、
(1)すべての分岐に対してその分岐を経由するすべての活動ノード列のみが経由する結合が存在し、
(2)すべての結合に対してその結合を経由するすべての活動ノード列のみが経由する分岐が存在する、
という条件を満たす手段と、
入力されたフォーク分岐を含む業務プロセス定義をフォーク分岐を含まない業務プロセス定義に変換する手段であって、
(3)排他分岐領域を含まないフォーク分岐領域を活動ノードで代替する操作を、1回以上任意回数実行し、
(4)排他分岐領域を含むフォーク分岐領域を、そのフォーク分岐領域中の排他分岐領域をその排他分岐領域中の各分岐先の部分グラフに置き換えたものを、各分岐先の部分グラフとする排他分岐領域に置換する操作を、0回以上任意回数実行する、
という条件を満たす手段と、
請求項1、2、3、4、5または6記載の処理を実行した後に、
(5)フォーク分岐領域を代替した活動ノードを、対応するフォーク分岐領域に置換し、
(6)出力される活動ノードにフォーク分岐領域を代替した活動ノードが含まれる場合、フォーク分岐領域を代替した活動ノードを、対応するフォーク分岐領域中の活動ノードで入力された第二の活動列に含まれる活動を実行するものに置換する手段と、
を備えたことを特徴とする請求項1、2、3、4、5または6記載の業務プロセス定義変換装置。
A means for inputting a business process definition, and the business process is
(1) For all branches, there is a connection through which all the active node sequences that pass through the branch pass.
(2) For every connection, there is a branch through which only all active node sequences that pass through the connection.
Means satisfying the condition,
A means for converting an input business process definition including a fork branch into a business process definition not including a fork branch,
(3) An operation for replacing a fork branch area not including an exclusive branch area with an active node is executed one or more times, and
(4) Exclusion of a fork branch area including an exclusive branch area by replacing the exclusive branch area in the fork branch area with a subgraph of each branch destination in the exclusive branch area as a subgraph of each branch destination Execute the operation to replace the branch area any number of times 0 or more,
Means satisfying the condition,
After executing the processing according to claim 1, 2, 3, 4, 5 or 6,
(5) Replace the active node that replaces the fork branch area with the corresponding fork branch area,
(6) If an activity node that replaces the fork branch area is included in the output activity node, the second activity sequence that is input at the activity node in the corresponding fork branch area is replaced with the activity node that replaced the fork branch area. Means to replace the activities included in
The business process definition conversion device according to claim 1, further comprising:
業務を構成する活動、分岐・結合、および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力する手段と、
前記入力された業務プロセス定義に含まれるシーケンスフローのうち、該シーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するものを出力する手段と、
を備えたことを特徴とする業務プロセス定義変換装置。
Business process definition including a business process, a branch / join, and a business process definition including a sequence flow indicating a direct execution order relation of the activity, a restriction on an order relation of the activities constituting the business process definition, and a position change target A means of entering activities;
Among the sequence flows included in the input business process definition, when the input activity is moved on the sequence flow, the post-transfer business process definition is input among the input constraints. A means to output something that fits all things related to the activity;
A business process definition conversion device characterized by comprising:
業務を構成する活動、分岐・結合、および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力する手段と、
前記入力された業務プロセス定義に含まれる業務先頭の活動から業務末尾の活動に至るシーケンスフロー列ごとに、その列に含まれるシーケンスフローのうち、そのシーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するシーケンスフローを特定する手段と、
前記特定されたシーケンスフローのうち、そのシーケンスフローを含むすべてのシーケンスフロー列で特定されたものを出力する手段と、
を備えたことを特徴とする業務プロセス定義変換装置。
Business process definition including a business process, a branch / join, and a business process definition including a sequence flow indicating a direct execution order relation of the activity, a restriction on an order relation of the activities constituting the business process definition, and a position change target A means of entering activities;
For each sequence flow column from the business start activity to the business end activity included in the input business process definition, the input activity is moved onto the sequence flow among the sequence flows included in the column. Means for identifying a sequence flow in which the business process definition after movement matches all of the input constraints related to the input activities;
Means for outputting one specified in all sequence flow sequences including the sequence flow among the specified sequence flows;
A business process definition conversion device characterized by comprising:
前記活動の順序関係に関する制約は、
活動で発生し得る誤りであるリスクと、活動の一環として誤りを発見して対処する行為の記述である発見的コントロールまたは誤りを未然に防止する行為の記述である予防的コントロールとの間の順序関係に関する制約として表現され、
前記リスクと前記発見的および/または予防的コントロールの順序関係に関する制約、およびリスク・コントロールと前記活動との対応関係から特定される、
ことを特徴とする請求項8または9記載の業務プロセス定義変換装置。
The restrictions on the order relationship of the activities are as follows:
The order between risk, which is an error that can occur in an activity, and preventive control, which is a description of an action that discovers and addresses the error as part of the activity, or a description of an action that proactively prevents the error Expressed as a relationship constraint,
Identified from constraints on the order relationship between the risk and the heuristic and / or preventive control, and the correspondence between the risk control and the activity,
10. The business process definition conversion apparatus according to claim 8 or 9, wherein
業務を構成する活動、分岐・結合、活動および分岐・結合実行の順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義で実行可能な活動列に含まれる2つ以上の活動からなる第一の活動列、並びに、第一の活動列の全要素または一部要素からなる第二の活動列を入力するステップと、
前記入力された業務プロセス定義が、該業務プロセス定義で実行可能な活動ノード列で、前記第一の活動列の全要素を実行するものすべてとして定義される活動ノード列集合の各要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものが、前記活動ノード列集合に含まれない活動ノード列で実行されることが無い、という条件を満足するか否かを判定するステップと、
前記条件を満足する場合、活動ノード列集合の要素である活動ノード列中の活動ノードで、前記第二の活動列の要素を実行するものを出力するステップと、
を備えたことを特徴とする業務プロセス定義変換プログラム。
A business process definition including a business process definition including a sequence flow indicating an activity, a branch / join, an activity and a sequence flow indicating a branch / join execution, and two or more activities included in an activity column executable in the business process definition. Entering one activity sequence and a second activity sequence consisting of all or part of the first activity sequence;
An activity in which the input business process definition is an element of an activity node sequence set that is defined as an activity node sequence that can be executed in the business process definition and that executes all elements of the first activity sequence. Whether or not an activity node in the node sequence that executes an element of the second activity sequence satisfies a condition that it is not executed in an activity node sequence that is not included in the activity node sequence set Determining
If the condition is satisfied, outputting an activity node in the activity node sequence that is an element of the activity node sequence set that executes the element of the second activity sequence;
A business process definition conversion program characterized by comprising:
業務を構成する活動、分岐・結合、および前記活動の直接的な実行順序関係を示すシーケンスフローを含む業務プロセス定義、前記業務プロセス定義を構成する活動の順序関係に関する制約、並びに、位置変更対象の活動を入力するステップと、
前記入力された業務プロセス定義に含まれるシーケンスフローのうち、該シーケンスフロー上に前記入力された活動が移動される場合に、移動後の業務プロセス定義が前記入力された制約のうち前記入力された活動に関するものすべてに適合するものを出力するステップと、
を備えたことを特徴とする業務プロセス定義変換プログラム。
Business process definition including a business process, a branch / join, and a business process definition including a sequence flow indicating a direct execution order relation of the activity, a restriction on an order relation of the activities constituting the business process definition, and a position change target Entering an activity;
Among the sequence flows included in the input business process definition, when the input activity is moved on the sequence flow, the post-transfer business process definition is input among the input constraints. Outputting what fits everything related to the activity;
A business process definition conversion program characterized by comprising:
JP2008072595A 2008-03-19 2008-03-19 Business process definition conversion device and program Expired - Fee Related JP5109741B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008072595A JP5109741B2 (en) 2008-03-19 2008-03-19 Business process definition conversion device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008072595A JP5109741B2 (en) 2008-03-19 2008-03-19 Business process definition conversion device and program

Publications (2)

Publication Number Publication Date
JP2009230289A true JP2009230289A (en) 2009-10-08
JP5109741B2 JP5109741B2 (en) 2012-12-26

Family

ID=41245633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008072595A Expired - Fee Related JP5109741B2 (en) 2008-03-19 2008-03-19 Business process definition conversion device and program

Country Status (1)

Country Link
JP (1) JP5109741B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962733A (en) * 1995-08-22 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> Flow adding device
JP2005285101A (en) * 2004-03-02 2005-10-13 Ricoh Co Ltd Process management apparatus, process editing apparatus, process management program, process editing program, storage medium, process management method and process editing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962733A (en) * 1995-08-22 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> Flow adding device
JP2005285101A (en) * 2004-03-02 2005-10-13 Ricoh Co Ltd Process management apparatus, process editing apparatus, process management program, process editing program, storage medium, process management method and process editing method

Also Published As

Publication number Publication date
JP5109741B2 (en) 2012-12-26

Similar Documents

Publication Publication Date Title
US7058588B2 (en) Dependency-based work flow integration and reduction
KR0145003B1 (en) Lsi design automation system
US7469235B2 (en) System, method and program to estimate cost of a product and/or service
CN1176426A (en) Method and apparatus for sequencing computer instruction execution in data processing system
CN112650766B (en) Database data operation method, system and server
US20170017475A1 (en) Information processing apparatus and compile method
JP6694447B2 (en) Big data calculation method and system, program, and recording medium
JPH06139212A (en) Method for evaluating data division pattern for distributed storage type parallel computer, parallel program generating method using the same, and method for estimating program execution time for the same
US5970244A (en) Method of performing a reverse analysis of a program and its apparatus
JP2004328433A (en) Communication controller, communication control method, communication control program, data structure for communication control
JPH04257928A (en) Method and device for allocating processor in parallel computer and compiler
CN109656950A (en) Recursive query method, apparatus, server and storage medium
US5742827A (en) Method of automatically forming program specifications and apparatus therefor
CN114238078A (en) Method for extracting dependency relationship between programs based on high-order function
JP5109741B2 (en) Business process definition conversion device and program
JP2020004384A (en) Variable embedding method and processing system
JP2004325880A (en) Design method of optical system
Urschler Automatic structuring of programs
JP7350650B2 (en) Optimization device, optimization method, and computer program
JP7037048B2 (en) Search program and search method
JP2009048259A (en) Program conversion method and program for conversion
JP4860240B2 (en) Translation method and execution notification instruction embedding method
WO2022178917A1 (en) Parallel flexible skyline service discovery method based on quality-of-service perception
JPH04191933A (en) Method and device for converting program language
Wever et al. Automatic machine learning: Hierarchical planning versus evolutionary optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120924

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5109741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees